00001 #ifndef X3DTK_X3D_DIRECTIONALLIGHT 00002 #define X3DTK_X3D_DIRECTIONALLIGHT 00003 00004 #include "X3DTypes.h" 00005 #include "X3D_X3DLightNode.h" 00006 00007 namespace X3DTK { 00008 namespace X3D { 00009 00018 class DirectionalLight : public X3DLightNode 00019 { 00020 public: 00022 DirectionalLight(); 00024 DirectionalLight(const SFFloat &ambientIntensity, 00025 const SFColor &color, 00026 const SFVec3f &direction, 00027 const SFFloat &intensity, 00028 const SFBool &on); 00030 virtual SFAbstractNode clone() const; 00032 virtual ~DirectionalLight(); 00033 00035 void setDirection(const SFVec3f &direction); 00036 00038 inline const SFVec3f &getDirection() const {return _direction;}; 00039 00041 virtual void load(const X3DFileElement *element); 00043 virtual SFString &write(SFString &output) const; 00044 00045 protected: 00047 DirectionalLight(const DirectionalLight &N); 00048 00049 private: 00051 SFVec3f _direction; 00052 }; 00053 00054 } 00055 } 00056 00057 #endif