Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

PointLight.h

Go to the documentation of this file.
00001 
00002 //                            PointLight.h                              //
00004 
00005 #ifndef POINTLIGHT
00006 #define POINTLIGHT
00007 
00008 #include "X3DTypes.h"
00009 #include "X3DLightNode.h"
00010 
00011 namespace X3DTK {
00012 namespace X3D {
00013 
00018 
00019 class PointLight : public X3DLightNode
00020 {
00021 public:
00023   PointLight();
00025   PointLight(SFFloat       ambientIntensity,
00026              const SFVec3f &attenuation,
00027              const SFColor &color,
00028              SFFloat       intensity,
00029              const SFVec3f &location,
00030              SFBool        on,
00031              SFFloat       radius);
00033   virtual SFNode clone() const;
00035   virtual ~PointLight();
00036 
00038   void setAttenuation(const SFVec3f &attenuation);
00040   void setLocation(const SFVec3f &location);
00042   void setRadius(SFFloat radius);
00043 
00045   inline const SFVec3f &getAttenuation() const {return _attenuation;};
00047   inline const SFVec3f &getLocation() const {return _location;};
00049   inline SFFloat getRadius() const {return _radius;};
00050 
00052   virtual void load(const X3DFileElement *element);
00054   virtual SFString write() const;
00055 
00056 protected:
00058   PointLight(const PointLight &N);
00059 
00060 private:
00062   SFVec3f _attenuation;
00064   SFVec3f _location;
00066   SFFloat _radius;
00067 };
00068 
00069 }
00070 }
00071 
00072 #endif

Generated on Thu Oct 9 13:50:54 2003 for X3DToolKit by doxygen1.2.18