include/octree.h
branchpyrit
changeset 95 ca7d4c665531
parent 94 4c8abb8977dc
child 98 64638385798a
--- a/include/octree.h	Thu May 08 09:21:25 2008 +0200
+++ b/include/octree.h	Sat May 10 14:29:37 2008 +0200
@@ -61,7 +61,7 @@
 	void makeChildren() { children = new OctreeNode[8]; assert(!isLeaf()); }; // this also cleans leaf bit
 	OctreeNode *getChild(const int num) { assert(!isLeaf()); return children + num; };
 
-	void addShape(Shape* aShape) { getShapes()->push_back(aShape); };
+	void addShape(const Shape* aShape) { getShapes()->push_back(aShape); };
 	ShapeList *getShapes() { return (ShapeList*)((size_t)shapes & ~(size_t)1); };
 	void setShapes(ShapeList *const ashapes) { shapes = ashapes; assert(!isLeaf()); setLeaf(); };
 
@@ -80,8 +80,8 @@
 	Octree() : Container(), root(NULL), max_depth(10), built(false) {};
 	Octree(int maxdepth) : Container(), root(NULL), max_depth(maxdepth), built(false) {};
 	~Octree() { if (root) delete root; };
-	void addShape(Shape* aShape) { Container::addShape(aShape); built = false; };
-	Shape *nearest_intersection(const Shape *origin_shape, const Ray &ray,
+	void addShape(const Shape* aShape) { Container::addShape(aShape); built = false; };
+	const Shape *nearest_intersection(const Shape *origin_shape, const Ray &ray,
 		Float &nearest_distance);
 	void optimize() { build(); };
 	void build();