00001 #ifndef OBJECT_H_
00002 #define OBJECT_H_
00003
00004 #include "../Traceable.h"
00005 #include "../math/Point3D.h"
00006 #include <string>
00007
00008 namespace rcrt
00009 {
00010
00011 class Material;
00012
00016 class Object : public Traceable
00017 {
00018 protected:
00019 std::string name;
00020 Material* material;
00021
00022 public:
00023 Object(std::string n, Material* mat=0);
00024
00025 virtual ~Object();
00026 virtual const std::string& getName() const;
00027
00028 Material* getMaterial();
00029 void setMaterial(Material* m);
00030 };
00031
00032 }
00033
00034 #endif