include/container.h
author Radek Brich <radek.brich@devl.cz>
Thu, 13 Dec 2007 00:08:11 +0100
branchpyrit
changeset 36 b490093b0ac3
parent 34 28f6e8b9d5d1
child 44 3763b26244f0
permissions -rw-r--r--
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