new space partitioning structure: octree
realtime_bunny updated to use octree
plus other files updated to be container type independent (only user programs are supposed to include and use special containers)
/*
 * Pyrit Ray Tracer
 * file: container.h
 *
 * Radek Brich, 2006-2007
 */
#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