00001
00002
00003
00005
00006
00011
00016
00021
00023
00024 #ifndef X3DLIGHTNODE
00025 #define X3DLIGHTNODE
00026
00027 #include "X3DTypes.h"
00028 #include "X3DChildNode.h"
00029
00030 namespace X3DTK {
00031 namespace X3D {
00032
00037
00038 class X3DLightNode : public X3DChildNode
00039 {
00040 public:
00042 X3DLightNode();
00044 X3DLightNode(SFFloat ambientIntensity,
00045 const SFColor &color,
00046 SFFloat intensity,
00047 SFBool on);
00049 virtual SFNode clone() const;
00051 virtual ~X3DLightNode();
00052
00054 void setAmbientIntensity(SFFloat ambientIntensity);
00056 void setColor(const SFColor &color);
00058 void setIntensity(SFFloat intensity);
00060 void setOn(SFBool on);
00061
00063 inline SFFloat getAmbientIntensity() const {return _ambientIntensity;};
00065 inline const SFColor &getColor() const {return _color;};
00067 inline SFFloat getIntensity() const {return _intensity;};
00069 inline SFBool getOn() const {return _on;};
00070
00072 virtual void load(const X3DFileElement *element);
00074 virtual SFString write() const;
00075
00076 protected:
00078 X3DLightNode(const X3DLightNode &N);
00079
00080 private:
00082 SFFloat _ambientIntensity;
00084 SFColor _color;
00086 SFFloat _intensity;
00088 SFBool _on;
00089 };
00090
00091 }
00092 }
00093
00094 #endif