src/rcrt/Traceable.h

Go to the documentation of this file.
00001 #ifndef TRACEABLE_H_
00002 #define TRACEABLE_H_
00003 
00004 #include "math/Point3D.h"
00005 #include "primitives/Axis.hpp"
00006 
00007 namespace rcrt
00008 {
00009 
00010 class AABB;
00011 
00012 class Intersection;
00013 
00014 class Ray;
00015 
00016 }
00017 
00018 namespace rcrt
00019 {
00020 
00025 class Traceable
00026 {
00027 public:
00028         Traceable();
00029         virtual ~Traceable();
00030         
00035         virtual Intersection intersect(Ray& r) const =0;
00036         
00040         virtual const AABB& getBoundingBox() const =0;
00041         
00045         virtual const Point3D& getCentroid() const =0;
00046         
00053         virtual void clipPlane(Axis axis, float plane, AABB& lBox, AABB& rBox) const;
00054 };
00055 
00056 }
00057 
00058 #endif /*TRACEABLE_H_*/

Generated on Thu Jan 31 19:26:20 2008 for RenderingCompetitionRayTracer by  doxygen 1.5.3