include/container.h
author Radek Brich <radek.brich@devl.cz>
Wed, 12 Dec 2007 19:59:19 +0100
branchpyrit
changeset 35 fb170fccb19f
parent 34 28f6e8b9d5d1
child 44 3763b26244f0
permissions -rw-r--r--
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