15#ifndef OSGPARTICLE_EMITTER
16#define OSGPARTICLE_EMITTER 1
40 virtual const char*
libraryName()
const {
return "osgParticle"; }
41 virtual const char*
className()
const {
return "Emitter"; }
52 inline const Particle& getParticleTemplate()
const;
55 inline void setParticleTemplate(
const Particle& p);
58 inline bool getUseDefaultTemplate()
const;
64 inline void setUseDefaultTemplate(
bool v);
70 inline void process(
double dt);
The osgParticle library is a NodeKit that extends the core scene graph to support particle effects.
Definition AccelOperator:27
Copy Op(erator) used to control whether shallow or deep copy is used during copy construction and clo...
Definition CopyOp:41
@ SHALLOW_COPY
Definition CopyOp:47
Visitor for type safe operations on osg::Nodes.
Definition NodeVisitor:82
virtual void apply(Drawable &drawable)
void pushOntoNodePath(Node *node)
Method called by osg::Node::accept() method before a call to the NodeVisitor::apply(....
Definition NodeVisitor:287
bool validNodeMask(const osg::Node &node) const
Method to called by Node and its subclass' Node::accept() method, if the result is true it is used to...
Definition NodeVisitor:221
void popFromNodePath()
Method called by osg::Node::accept() method after a call to NodeVisitor::apply(..).
Definition NodeVisitor:293
Base class/standard interface for objects which require IO support, cloning and reference counting.
Definition Object:61
int _estimatedMaxNumOfParticles
Definition Emitter:77
virtual void accept(osg::NodeVisitor &nv)
Visitor Pattern : calls the apply method of a NodeVisitor with this node's type.
Definition Emitter:43
bool _usedeftemp
Definition Emitter:74
int getEstimatedMaxNumOfParticles() const
Definition Emitter:48
void setParticleTemplate(const Particle &p)
Set the particle template (particle is copied).
Definition Emitter:87
virtual ~Emitter()
Definition Emitter:67
virtual bool isSameKindAs(const osg::Object *obj) const
return true if this and obj are of the same kind of object.
Definition Emitter:42
virtual void emitParticles(double dt)=0
Emitter(const Emitter ©, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY)
Particle _ptemp
Definition Emitter:75
const Particle & getParticleTemplate() const
Get the particle template.
Definition Emitter:82
void setParticleSystem(ParticleSystem *ps)
Set the destination particle system.
virtual const char * libraryName() const
return the name of the node's library.
Definition Emitter:40
void process(double dt)
Definition Emitter:103
Emitter & operator=(const Emitter &)
Definition Emitter:68
void setEstimatedMaxNumOfParticles(int num)
bool getUseDefaultTemplate() const
Return whether the particle system's default template should be used.
Definition Emitter:93
virtual const char * className() const
return the name of the node's class type.
Definition Emitter:41
void setUseDefaultTemplate(bool v)
Set whether the default particle template should be used.
Definition Emitter:98
Implementation of a particle.
Definition Particle:47
The heart of this class library; its purpose is to hold a set of particles and manage particle creati...
Definition ParticleSystem:54
#define OSGPARTICLE_EXPORT
Definition Export:40