#ifndef OSG_LIGHTSOURCE #define OSG_LIGHTSOURCE 1 #include #include #include namespace osg { /** Leaf Node for defining a light in the scene.*/ class SG_EXPORT LightSource : public Node { public: LightSource(); virtual Object* clone() const { return new LightSource(); } virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast(obj)!=NULL; } virtual const char* className() const { return "LightSource"; } virtual void accept(NodeVisitor& nv) { nv.apply(*this); } /** Set the attached light.*/ inline void setLight(Light* light) { _light = light; } /** Get the attached light.*/ inline Light* getLight() { return _light.get(); } /** Get the const attached light.*/ inline const Light* getLight() const { return _light.get(); } protected: virtual ~LightSource(); virtual const bool computeBound() const; ref_ptr _light; }; }; #endif