include/container.h
branchpyrit
changeset 91 9d66d323c354
parent 84 6f7fe14782c2
child 92 9af5c039b678
equal deleted inserted replaced
90:f6a72eb99631 91:9d66d323c354
     1 /*
     1 /*
     2  * container.h: Container class
     2  * container.h: Container class
     3  *
     3  *
     4  * This file is part of Pyrit Ray Tracer.
     4  * This file is part of Pyrit Ray Tracer.
     5  *
     5  *
     6  * Copyright 2007  Radek Brich
     6  * Copyright 2007, 2008  Radek Brich
     7  *
     7  *
     8  * Permission is hereby granted, free of charge, to any person obtaining a copy
     8  * Permission is hereby granted, free of charge, to any person obtaining a copy
     9  * of this software and associated documentation files (the "Software"), to deal
     9  * of this software and associated documentation files (the "Software"), to deal
    10  * in the Software without restriction, including without limitation the rights
    10  * in the Software without restriction, including without limitation the rights
    11  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    11  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    46 	virtual ~Container() {};
    46 	virtual ~Container() {};
    47 	virtual void addShape(Shape* aShape);
    47 	virtual void addShape(Shape* aShape);
    48 	//void addShapeNoExtend(Shape* aShape) { shapes.push_back(aShape); };
    48 	//void addShapeNoExtend(Shape* aShape) { shapes.push_back(aShape); };
    49 	virtual Shape *nearest_intersection(const Shape *origin_shape, const Ray &ray,
    49 	virtual Shape *nearest_intersection(const Shape *origin_shape, const Ray &ray,
    50 		Float &nearest_distance);
    50 		Float &nearest_distance);
    51 	virtual void packet_intersection(const Shape **origin_shapes, const RayPacket &rays,
       
    52 		Float *nearest_distances, Shape **nearest_shapes);
       
    53 
    51 
    54 	virtual void optimize() {};
    52 	virtual void optimize() {};
    55 
    53 
    56 	ShapeList & getShapes() { return shapes; };
    54 	ShapeList & getShapes() { return shapes; };
    57 
    55 
    58 	virtual ostream & dump(ostream &st);
    56 	virtual ostream & dump(ostream &st);
       
    57 
       
    58 #ifndef NO_SSE
       
    59 	virtual void packet_intersection(const Shape **origin_shapes, const RayPacket &rays,
       
    60 		Float *nearest_distances, Shape **nearest_shapes);
       
    61 #endif
    59 };
    62 };
    60 
    63 
    61 #endif
    64 #endif