00001 #ifndef DYNAMICOBJECT_H_ 00002 #define DYNAMICOBJECT_H_ 00003 00004 #include "SolidObject.h" 00005 #include <vector> 00006 #include "../BIH.hpp" 00007 00008 namespace rcrt 00009 { 00010 00018 class DynamicObject : public rcrt::SolidObject 00019 { 00020 private: 00021 BIH<Primitive> localTree; 00022 00023 public: 00024 DynamicObject(std::string name); 00025 virtual ~DynamicObject(); 00026 00027 void setPrimitives(std::vector<Primitive*>* prList); 00028 00032 virtual void setWorldMatrix(const Matrix4D& mat); 00033 virtual Intersection intersect(Ray& r) const; 00034 virtual const AABB& getBoundingBox() const; 00035 virtual const Point3D& getCentroid() const; 00036 }; 00037 00038 } 00039 00040 #endif /*DYNAMICOBJECT_H_*/