Main Page   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 
00002 //                            X3D_PointLight.h                                //
00004 
00005 #ifndef POINTLIGHT
00006 #define POINTLIGHT
00007 
00008 #include "X3DTypes.h"
00009 #include "X3D_X3DLightNode.h"
00010 
00011 namespace X3DTK {
00012 namespace X3D {
00013 
00018 
00019 class PointLight : public X3DLightNode
00020 {
00021 public:
00023   PointLight();
00025   PointLight(const SFFloat       &ambientIntensity,
00026              const SFVec3f &attenuation,
00027              const SFColor &color,
00028              const SFFloat       &intensity,
00029              const SFVec3f &location,
00030              const SFBool        &on,
00031              const SFFloat       &radius);
00033   virtual SFAbstractNode clone() const;
00035   virtual ~PointLight();
00036 
00038   void setAttenuation(const SFVec3f &attenuation);
00040   void setLocation(const SFVec3f &location);
00042   void setRadius(const SFFloat &radius);
00043 
00045   inline const SFVec3f &getAttenuation() const {return _attenuation;};
00047   inline const SFVec3f &getLocation() const {return _location;};
00049   inline const SFFloat getRadius() const {return _radius;};
00050 
00052   virtual void load(const X3DFileElement *element);
00054   virtual SFString &write(SFString &output) 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 Dec 4 13:25:48 2003 for X3DToolKit by doxygen1.2.18