00001 #ifndef X3DTK_X3D_X3DLIGHTNODE 00002 #define X3DTK_X3D_X3DLIGHTNODE 00003 00004 #include "X3DTypes.h" 00005 #include "X3D_X3DChildNode.h" 00006 00007 namespace X3DTK { 00008 namespace X3D { 00009 00018 class X3DLightNode : public X3DChildNode 00019 { 00020 public: 00022 X3DLightNode(); 00024 X3DLightNode(const SFFloat &ambientIntensity, 00025 const SFColor &color, 00026 const SFFloat &intensity, 00027 const SFBool &on); 00029 virtual ~X3DLightNode(); 00030 00032 void setAmbientIntensity(const SFFloat &ambientIntensity); 00034 void setColor(const SFColor &color); 00036 void setIntensity(const SFFloat &intensity); 00038 void setOn(const SFBool &on); 00039 00041 inline const SFFloat &getAmbientIntensity() const {return _ambientIntensity;}; 00043 inline const SFColor &getColor() const {return _color;}; 00045 inline const SFFloat &getIntensity() const {return _intensity;}; 00047 inline const SFBool &getOn() const {return _on;}; 00048 00050 virtual void load(const X3DFileElement *element); 00052 virtual SFString &write(SFString &output) const; 00053 00054 protected: 00056 X3DLightNode(const X3DLightNode &N); 00057 00058 private: 00060 SFFloat _ambientIntensity; 00062 SFColor _color; 00064 SFFloat _intensity; 00066 SFBool _on; 00067 }; 00068 00069 } 00070 } 00071 00072 #endif