16#ifndef AGXOSG_RENDERTASKDRAWABLE
17#define AGXOSG_RENDERTASKDRAWABLE
20#include <osg/Drawable>
31class ParticleDrawableCallback;
41 void setDrawable(osg::Drawable *drawable ) { m_drawable = drawable; }
50 virtual const char*
className()
const {
return "RenderTaskDrawable"; }
54# if OSG_VERSION_GREATER_OR_EQUAL(3,4,0)
55 virtual osg::BoundingSphere computeBound()
const;
56 virtual osg::BoundingBox computeBoundingBox()
const;
65 friend class ParticleDrawableCallback;
RenderTaskDrawable(const RenderTaskDrawable &c, const osg::CopyOp ©Op)
virtual const char * className() const
agx::observer_ptr< agx::Task > m_renderTask
void setDrawable(osg::Drawable *drawable)
Set the drawable that will be drawn for each particle.
virtual ~RenderTaskDrawable()
virtual osg::Object * clone(const osg::CopyOp ©op) const
RenderTaskDrawable(agx::Task *renderTask)
virtual osg::Object * cloneType() const
virtual osg::BoundingBox computeBound() const
Compute the bounding box around Drawables's geometry.
virtual const char * libraryName() const
virtual bool isSameKindAs(const osg::Object *obj) const
osg::ref_ptr< osg::Drawable > m_drawable
osg::Drawable * getDrawable()
Return the drawable that will be drawn for each particle.
virtual void drawImplementation(osg::RenderInfo &renderInfo) const
The actual draw method for the particle system.
A representation of a generic task.
Smart pointer for observed objects, that automatically set pointers to them to null when they deleted...
The agxOSG namespace provides functionality for visualizing AGX simulations with OpenSceneGraph.