00001 #ifndef X3DTK_X3D_SPOTLIGHT 00002 #define X3DTK_X3D_SPOTLIGHT 00003 00004 #include "X3DTypes.h" 00005 #include "X3D_X3DLightNode.h" 00006 00007 namespace X3DTK { 00008 namespace X3D { 00009 00018 class SpotLight : public X3DLightNode 00019 { 00020 public: 00022 SpotLight(); 00024 virtual ~SpotLight(); 00025 00027 void setAttenuation(const SFVec3f &attenuation); 00029 void setBeamWidth(const SFFloat &beamWidth); 00031 void setCutOffAngle(const SFFloat &cutOffAngle); 00033 void setDirection(const SFVec3f &direction); 00035 void setLocation(const SFVec3f &location); 00037 void setRadius(const SFFloat &radius); 00038 00040 inline const SFVec3f &getAttenuation() const {return _attenuation;}; 00042 inline const SFFloat &getBeamWidth() const {return _beamWidth;}; 00044 inline const SFFloat &getCutOffAngle() const {return _cutOffAngle;}; 00046 inline const SFVec3f &getDirection() const {return _direction;}; 00048 inline const SFVec3f &getLocation() const {return _location;}; 00050 inline const SFFloat &getRadius() const {return _radius;}; 00051 00052 private: 00054 SFVec3f _attenuation; 00056 SFFloat _beamWidth; 00058 SFFloat _cutOffAngle; 00060 SFVec3f _direction; 00062 SFVec3f _location; 00064 SFFloat _radius; 00065 }; 00066 00067 } 00068 } 00069 00070 #endif