include/container.h
branchpyrit
changeset 92 9af5c039b678
parent 91 9d66d323c354
child 94 4c8abb8977dc
equal deleted inserted replaced
91:9d66d323c354 92:9af5c039b678
    40 {
    40 {
    41 protected:
    41 protected:
    42 	BBox bbox;
    42 	BBox bbox;
    43 public:
    43 public:
    44 	ShapeList shapes;
    44 	ShapeList shapes;
       
    45 
    45 	Container(): bbox(), shapes() {};
    46 	Container(): bbox(), shapes() {};
    46 	virtual ~Container() {};
    47 	virtual ~Container() {};
       
    48 
    47 	virtual void addShape(Shape* aShape);
    49 	virtual void addShape(Shape* aShape);
    48 	//void addShapeNoExtend(Shape* aShape) { shapes.push_back(aShape); };
    50 	//void addShapeNoExtend(Shape* aShape) { shapes.push_back(aShape); };
    49 	virtual Shape *nearest_intersection(const Shape *origin_shape, const Ray &ray,
    51 	virtual Shape *nearest_intersection(const Shape *origin_shape, const Ray &ray,
    50 		Float &nearest_distance);
    52 		Float &nearest_distance);
    51 
    53 
    53 
    55 
    54 	ShapeList & getShapes() { return shapes; };
    56 	ShapeList & getShapes() { return shapes; };
    55 
    57 
    56 	virtual ostream & dump(ostream &st);
    58 	virtual ostream & dump(ostream &st);
    57 
    59 
    58 #ifndef NO_SSE
    60 #ifndef NO_SIMD
    59 	virtual void packet_intersection(const Shape **origin_shapes, const RayPacket &rays,
    61 	virtual void packet_intersection(const Shape* const* origin_shapes, const RayPacket &rays,
    60 		Float *nearest_distances, Shape **nearest_shapes);
    62 		Float *nearest_distances, Shape** nearest_shapes);
    61 #endif
    63 #endif
    62 };
    64 };
    63 
    65 
    64 #endif
    66 #endif