00001 00020 #ifndef VRML1SPOTLIGHT_HH_ 00021 #define VRML1SPOTLIGHT_HH_ 00022 00023 #include "Node.hh" 00024 #include "Attribute.hh" 00025 #include "SFVec3f.hh" 00026 00027 namespace vrml1 00028 { 00029 00030 class SpotLight : public vrml1::Node 00031 { 00032 public: 00033 SpotLight(); 00034 00035 void setOn(bool on); 00036 bool on() const; 00037 00038 void setIntensity(float intensity); 00039 float intensity() const; 00040 00041 void setColor(SFColor color); 00042 SFColor color() const; 00043 00044 void setLocation(SFVec3f location); 00045 SFVec3f location() const; 00046 00047 void setDirection(SFVec3f direction); 00048 SFVec3f direction() const; 00049 00050 void setDropOffRate(float dropOffRate); 00051 float dropOffRate() const; 00052 00053 void setCutOffAngle(float cutOffAngle); 00054 float cutOffAngle() const; 00055 00056 virtual void setAttribute(Attribute *A); 00057 00058 private: 00059 bool m_on; 00060 float m_intensity; 00061 SFColor m_color; 00062 SFVec3f m_location; 00063 SFVec3f m_direction; 00064 float m_dropOffRate; 00065 float m_cutOffAngle; 00066 }; 00067 00068 } 00069 00070 #endif /*VRML1SPOTLIGHT_HH_*/