OpenSceneGraph/include/osg/LightSource

43 lines
1.0 KiB
Plaintext
Raw Normal View History

2001-01-11 00:32:10 +08:00
#ifndef OSG_LIGHTSOURCE
#define OSG_LIGHTSOURCE 1
#include <osg/MemoryAdapter>
2001-01-11 00:32:10 +08:00
#include <osg/NodeVisitor>
#include <osg/Light>
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<const LightSource*>(obj)!=NULL; }
2001-01-11 00:32:10 +08:00
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; }
2001-01-11 00:32:10 +08:00
/** Get the attached light.*/
inline Light* getLight() { return _light.get(); }
/** Get the const attached light.*/
inline const Light* getLight() const { return _light.get(); }
2001-01-11 00:32:10 +08:00
protected:
virtual ~LightSource();
virtual const bool computeBound() const;
2001-01-11 00:32:10 +08:00
ref_ptr<Light> _light;
};
};
#endif