15#ifndef OSGPARTICLE_MODULARPROGRAM
16#define OSGPARTICLE_MODULARPROGRAM 1
64 typedef std::vector<osg::ref_ptr<Operator> > Operator_vector;
66 Operator_vector _operators;
73 return static_cast<int>(_operators.size());
78 _operators.push_back(o);
83 return _operators[i].get();
88 return _operators[i].get();
93 _operators.erase(_operators.begin()+i);
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
Operator * getOperator(int i)
Get a pointer to an operator in the list.
Definition ModularProgram:81
virtual ~ModularProgram()
Definition ModularProgram:58
void execute(double dt)
Execute the program on the particle system. Must be overridden in descendant classes.
void removeOperator(int i)
Remove an operator from the list.
Definition ModularProgram:91
META_Node(osgParticle, ModularProgram)
void addOperator(Operator *o)
Add an operator to the list.
Definition ModularProgram:76
ModularProgram & operator=(const ModularProgram &)
Definition ModularProgram:59
int numOperators() const
Get the number of operators.
Definition ModularProgram:71
ModularProgram(const ModularProgram ©, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY)
An abstract base class used by ModularProgram to perform operations on particles before they are upda...
Definition Operator:35
#define OSGPARTICLE_EXPORT
Definition Export:40