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

X3D_PointLight.h

Go to the documentation of this file.
00001 #ifndef X3DTK_X3D_POINTLIGHT
00002 #define X3DTK_X3D_POINTLIGHT
00003 
00004 #include "X3DTypes.h"
00005 #include "X3D_X3DLightNode.h"
00006 
00007 namespace X3DTK {
00008 namespace X3D {
00009 
00018 class PointLight : public X3DLightNode
00019 {
00020 public:
00022   PointLight();
00024   PointLight(const SFFloat       &ambientIntensity,
00025              const SFVec3f &attenuation,
00026              const SFColor &color,
00027              const SFFloat       &intensity,
00028              const SFVec3f &location,
00029              const SFBool        &on,
00030              const SFFloat       &radius);
00032   virtual SFAbstractNode clone() const;
00034   virtual ~PointLight();
00035 
00037   void setAttenuation(const SFVec3f &attenuation);
00039   void setLocation(const SFVec3f &location);
00041   void setRadius(const SFFloat &radius);
00042 
00044   inline const SFVec3f &getAttenuation() const {return _attenuation;};
00046   inline const SFVec3f &getLocation() const {return _location;};
00048   inline const SFFloat getRadius() const {return _radius;};
00049 
00051   virtual void load(const X3DFileElement *element);
00053   virtual SFString &write(SFString &output) const;
00054 
00055 protected:
00057   PointLight(const PointLight &N);
00058 
00059 private:
00061   SFVec3f _attenuation;
00063   SFVec3f _location;
00065   SFFloat _radius;
00066 };
00067 
00068 }
00069 }
00070 
00071 #endif

Generated on Wed Apr 7 12:15:22 2004 for X3DToolKit by doxygen 1.3.3