+−#ifndef CONTAINER_H +−#define CONTAINER_H +− +−#include <vector> +− +−#include "scene.h" +− +−using namespace std; +− +−class Container +−{ +−protected: +− BBox bbox; +−public: +− ShapeList shapes; +− Container(): bbox(), shapes() {}; +− virtual ~Container() {}; +− virtual void addShape(Shape* aShape); +− //void addShapeNoExtend(Shape* aShape) { shapes.push_back(aShape); }; +− virtual Shape *nearest_intersection(const Shape *origin_shape, const Ray &ray, +− Float &nearest_distance); +− virtual void optimize() {}; +−}; +− +−#endif