equal
deleted
inserted
replaced
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 |