00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef OSGSIM_LIGHTPOINTSPRITEDRAWABLE
00015 #define OSGSIM_LIGHTPOINTSPRITEDRAWABLE 1
00016
00017 #include <osgSim/Export>
00018
00019 #include <osg/Drawable>
00020 #include "LightPointDrawable.h"
00021 #include <osg/PointSprite>
00022
00023 namespace osgSim {
00024
00025
00026 class OSGSIM_EXPORT LightPointSpriteDrawable : public osgSim::LightPointDrawable
00027 {
00028 public :
00029
00030 LightPointSpriteDrawable();
00031
00033 LightPointSpriteDrawable(const LightPointSpriteDrawable&,const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY);
00034
00035 virtual osg::Object* cloneType() const { return new LightPointSpriteDrawable(); }
00036 virtual osg::Object* clone(const osg::CopyOp&) const { return new LightPointSpriteDrawable(); }
00037 virtual bool isSameKindAs(const osg::Object* obj) const { return dynamic_cast<const LightPointSpriteDrawable*>(obj)!=NULL; }
00038 virtual const char* className() const { return "LightPointSpriteDrawable"; }
00039
00040
00042 virtual void drawImplementation(osg::State& state) const;
00043
00044
00045 protected:
00046
00047 virtual ~LightPointSpriteDrawable() {}
00048
00049 osg::ref_ptr<osg::PointSprite> _sprite;
00050
00051 };
00052
00053 }
00054
00055 #endif
00056