// // Vrml 97 library // Copyright (C) 1998 Chris Morley // // %W% %G% // VrmlNodePointLight.h #ifndef _VRMLNODEPOINTLIGHT_ #define _VRMLNODEPOINTLIGHT_ #include "VrmlNodeLight.h" #include "VrmlSFFloat.h" #include "VrmlSFVec3f.h" class VrmlNodePointLight : public VrmlNodeLight { public: // Define the fields of pointLight nodes static VrmlNodeType *defineType(VrmlNodeType *t = 0); virtual VrmlNodeType *nodeType() const; VrmlNodePointLight(VrmlScene *); virtual ~VrmlNodePointLight(); virtual VrmlNode *cloneMe() const; virtual VrmlNodePointLight* toPointLight() const; // Bindable/scoped nodes must notify the scene of their existence. virtual void addToScene( VrmlScene *s, const char *relUrl ); virtual ostream& printFields(ostream& os, int indent); virtual void renderScoped(Viewer *); virtual void setField(const char *fieldName, const VrmlField &fieldValue); virtual const VrmlSFVec3f& getAttenuation() const; //LarryD Mar 04/99 virtual const VrmlSFVec3f& getLocation() const; //LarryD Mar 04/99 virtual float getRadius(){ return d_radius.get(); } //LarryD Mar 04/99 protected: VrmlSFVec3f d_attenuation; VrmlSFVec3f d_location; VrmlSFFloat d_radius; }; #endif // _VRMLNODEPOINTLIGHT_