include/container.h
author Radek Brich <radek.brich@devl.cz>
Fri, 07 Dec 2007 14:56:39 +0100
branchpyrit
changeset 25 b8232edee786
parent 24 d0d76e8a5203
child 34 28f6e8b9d5d1
permissions -rw-r--r--
tuned ray-triangle intersection, now there are three algorithms to choose from: Plucker, Barycentric and Barycentric with preprocessing (Wald) methods in Vector and Shape (and derivates) made const

#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