Public Types 
enum  { PROPERTY_TEXTURE = 0x0200,
PROPERTY_PRODUCE_CAUSTICS = 0x0201
} 
Public Methods 
 DECLARE_ABSTRACT_CLASS (Primitive,Object3D) 
 Primitive () 
virtual  ~Primitive () 
virtual void  setProperty (int nProperty,const Variant &value) 
virtual void  getProperty (int nProperty,Variant &vValue)const 
virtual void  acceptOperation (Visitor *pVisitor) 
void  setTexture (Texture *new_texture) 
Texture*  getTexture () 
PhotonMap*  getPhotonMap ()const 
PhotonMap*  createPhotonMap () 
virtual Color  getColor (Intersection *intersection) 
 Determines the color of the Object at the given Intersection point. More...

virtual Texture*  getTexture (Intersection *intersection) 
 Determines the texture at the instersection point. More...

virtual Finish*  getFinish (Intersection *intersection) 
 Determines the finish at the intersection point. More...

virtual Vector3  getNormalVector (Intersection *intersection) 
 Calculate the normal vector of the primitive at the given Intersection point. More...

virtual Vector3  getBumpmappedNormalVector (Intersection *intersection) 
 Calculate the normal vector of the primitive at the given Intersection point. More...

virtual bool  intersect (Ray *pRay,IntersectionList *intersectionList) 
 Intersect a Ray with the Primitive. More...

virtual bool  getBounds (Bounds &bounds)const 
 Query for the bounding box of the primitive. More...

Public Attributes 
bool  produce_caustics 
Protected Attributes 
<Texture>  texture 
PhotonMap*  photons 
Static Protected Attributes 
const Color  DefaultColor 