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(); 00023 00025 void setAttenuation(const SFVec3f &attenuation); 00027 void setBeamWidth(const SFFloat &beamWidth); 00029 void setCutOffAngle(const SFFloat &cutOffAngle); 00031 void setDirection(const SFVec3f &direction); 00033 void setLocation(const SFVec3f &location); 00035 void setRadius(const SFFloat &radius); 00036 00038 inline const SFVec3f &getAttenuation() const {return _attenuation;}; 00040 inline const SFFloat &getBeamWidth() const {return _beamWidth;}; 00042 inline const SFFloat &getCutOffAngle() const {return _cutOffAngle;}; 00044 inline const SFVec3f &getDirection() const {return _direction;}; 00046 inline const SFVec3f &getLocation() const {return _location;}; 00048 inline const SFFloat &getRadius() const {return _radius;}; 00049 00050 private: 00052 SFVec3f _attenuation; 00054 SFFloat _beamWidth; 00056 SFFloat _cutOffAngle; 00058 SFVec3f _direction; 00060 SFVec3f _location; 00062 SFFloat _radius; 00063 }; 00064 00065 } 00066 } 00067 00068 #endif