new virtual Shape::intersect_bbox
implementation of triangle-AABB intersection
octree building updated and simplified with help of this new method
octree made default for Python, it's currently much faster than kd-tree (both building and traversal)
/*
* 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