|
| ParticleSystem () |
|
| ParticleSystem (const ParticleSystem ©, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) |
|
| META_Object (osgParticle, ParticleSystem) |
|
Alignment | getParticleAlignment () const |
| Get the alignment type of particles.
|
|
void | setParticleAlignment (Alignment a) |
| Set the alignment type of particles.
|
|
const osg::Vec3 & | getAlignVectorX () const |
| Get the X-axis alignment vector.
|
|
void | setAlignVectorX (const osg::Vec3 &v) |
| Set the X-axis alignment vector.
|
|
const osg::Vec3 & | getAlignVectorY () const |
| Get the Y-axis alignment vector.
|
|
void | setAlignVectorY (const osg::Vec3 &v) |
| Set the Y-axis alignment vector.
|
|
void | setAlignVectors (const osg::Vec3 &X, const osg::Vec3 &Y) |
| Set the alignment vectors.
|
|
void | setParticleScaleReferenceFrame (ParticleScaleReferenceFrame rf) |
|
ParticleScaleReferenceFrame | getParticleScaleReferenceFrame () const |
|
const osg::BoundingBox & | getDefaultBoundingBox () const |
| Get the default bounding box.
|
|
void | setDefaultBoundingBox (const osg::BoundingBox &bbox) |
|
bool | getUseVertexArray () const |
| Return true if we use vertex arrays for rendering particles.
|
|
void | setUseVertexArray (bool v) |
|
bool | getUseShaders () const |
| Return true if shaders are required.
|
|
void | setUseShaders (bool v) |
|
bool | getDoublePassRendering () const |
| Get the double pass rendering flag.
|
|
void | setDoublePassRendering (bool v) |
|
bool | getFrozen () const |
| Return true if the particle system is frozen.
|
|
bool | isFrozen () const |
|
void | setFrozen (bool v) |
|
int | numParticles () const |
| Get the number of allocated particles (alive + dead).
|
|
int | numDeadParticles () const |
| Get the number of dead particles.
|
|
bool | areAllParticlesDead () const |
| Get whether all particles are dead.
|
|
Particle * | getParticle (int i) |
| Get a pointer to the i-th particle.
|
|
const Particle * | getParticle (int i) const |
| Get a const pointer to the i-th particle.
|
|
virtual Particle * | createParticle (const Particle *ptemplate) |
| Create a new particle from the specified template (or the default one if ptemplate is null).
|
|
virtual void | destroyParticle (int i) |
| Destroy the i-th particle.
|
|
virtual void | reuseParticle (int i) |
| Reuse the i-th particle.
|
|
unsigned int | getLastFrameNumber () const |
| Get the last frame number.
|
|
double & | getDeltaTime (double currentTime) |
| Get the unique delta time for emitters and updaters to use.
|
|
Particle & | getDefaultParticleTemplate () |
| Get a reference to the default particle template.
|
|
const Particle & | getDefaultParticleTemplate () const |
| Get a const reference to the default particle template.
|
|
void | setDefaultParticleTemplate (const Particle &p) |
| Set the default particle template (particle is copied).
|
|
bool | getFreezeOnCull () const |
| Get whether the particle system can freeze when culled.
|
|
void | setFreezeOnCull (bool v) |
| Set whether the particle system can freeze when culled (default is true)
|
|
void | setDefaultAttributes (const std::string &texturefile="", bool emissive_particles=true, bool lighting=false, int texture_unit=0) |
|
void | setDefaultAttributesUsingShaders (const std::string &texturefile="", bool emissive_particles=true, int texture_unit=0) |
|
int | getLevelOfDetail () const |
| (EXPERIMENTAL) Get the level of detail.
|
|
void | setLevelOfDetail (int v) |
|
SortMode | getSortMode () const |
| Get the sort mode.
|
|
void | setSortMode (SortMode mode) |
|
double | getVisibilityDistance () const |
| Get the visibility distance.
|
|
void | setVisibilityDistance (double distance) |
|
virtual void | update (double dt, osg::NodeVisitor &nv) |
| Update the particles. Don't call this directly, use a ParticleSystemUpdater instead.
|
|
virtual void | drawImplementation (osg::RenderInfo &renderInfo) const |
|
virtual osg::BoundingBox | computeBoundingBox () const |
|
ReadWriterMutex * | getReadWriteMutex () const |
|
virtual void | resizeGLObjectBuffers (unsigned int maxSize) |
|
virtual void | releaseGLObjects (osg::State *state=0) const |
|
virtual osg::VertexArrayState * | createVertexArrayStateImplementation (osg::RenderInfo &renderInfo) const |
|
void | adjustEstimatedMaxNumOfParticles (int delta) |
|
void | setEstimatedMaxNumOfParticles (int num) |
|
int | getEstimatedMaxNumOfParticles () const |
|
| Drawable () |
|
| Drawable (const Drawable &drawable, const CopyOp ©op=CopyOp::SHALLOW_COPY) |
|
| META_Node (osg, Drawable) |
|
virtual Drawable * | asDrawable () |
|
virtual const Drawable * | asDrawable () const |
|
virtual void | computeDataVariance () |
|
MatrixList | getWorldMatrices (const osg::Node *haltTraversalAtNode=0) const |
|
void | setInitialBound (const osg::BoundingBox &bbox) |
|
const BoundingBox & | getInitialBound () const |
|
const BoundingSphere & | getBound () const |
|
const BoundingBox & | getBoundingBox () const |
|
virtual BoundingSphere | computeBound () const |
|
void | setComputeBoundingBoxCallback (ComputeBoundingBoxCallback *callback) |
|
ComputeBoundingBoxCallback * | getComputeBoundingBoxCallback () |
|
const ComputeBoundingBoxCallback * | getComputeBoundingBoxCallback () const |
|
virtual void | setShape (Shape *shape) |
|
template<class T > |
void | setShape (const ref_ptr< T > &shape) |
|
Shape * | getShape () |
|
const Shape * | getShape () const |
|
void | setSupportsDisplayList (bool flag) |
|
bool | getSupportsDisplayList () const |
|
void | setUseDisplayList (bool flag) |
|
bool | getUseDisplayList () const |
|
GLuint & | getDisplayList (unsigned int contextID) const |
|
virtual void | setUseVertexBufferObjects (bool flag) |
|
bool | getUseVertexBufferObjects () const |
|
void | setUseVertexArrayObject (bool flag) |
|
bool | getUseVertexArrayObject () const |
|
virtual void | dirtyGLObjects () |
|
virtual unsigned int | getGLObjectSizeHint () const |
|
void | draw (RenderInfo &renderInfo) const |
|
void | drawInner (RenderInfo &renderInfo) const |
|
virtual void | compileGLObjects (RenderInfo &renderInfo) const |
|
void | setCreateVertexArrayStateCallback (CreateVertexArrayStateCallback *cb) |
|
CreateVertexArrayStateCallback * | getCreateVertexArrayStateCallback () |
|
const CreateVertexArrayStateCallback * | getCreateVertexArrayStateCallback () const |
|
VertexArrayState * | createVertexArrayState (RenderInfo &renderInfo) const |
|
void | setVertexArrayStateList (VertexArrayStateList &vasl) |
|
VertexArrayStateList & | getVertexArrayStateList () |
|
const VertexArrayStateList & | getVertexArrayStateList () const |
|
virtual void | setThreadSafeRefUnref (bool threadSafe) |
|
virtual void | setDrawCallback (DrawCallback *dc) |
|
DrawCallback * | getDrawCallback () |
|
const DrawCallback * | getDrawCallback () const |
|
virtual bool | supports (const AttributeFunctor &) const |
|
virtual void | accept (AttributeFunctor &) |
|
virtual bool | supports (const ConstAttributeFunctor &) const |
|
virtual void | accept (ConstAttributeFunctor &) const |
|
virtual bool | supports (const PrimitiveFunctor &) const |
|
virtual void | accept (PrimitiveFunctor &) const |
|
virtual bool | supports (const PrimitiveIndexFunctor &) const |
|
virtual void | accept (PrimitiveIndexFunctor &) const |
|
| Node () |
|
| Node (const Node &, const CopyOp ©op=CopyOp::SHALLOW_COPY) |
|
virtual Object * | cloneType () const |
|
virtual Object * | clone (const CopyOp ©op) const |
|
virtual bool | isSameKindAs (const Object *obj) const |
|
virtual const char * | libraryName () const |
|
virtual const char * | className () const |
|
virtual Node * | asNode () |
|
virtual const Node * | asNode () const |
|
virtual Geometry * | asGeometry () |
|
virtual const Geometry * | asGeometry () const |
|
virtual Group * | asGroup () |
|
virtual const Group * | asGroup () const |
|
virtual Transform * | asTransform () |
|
virtual const Transform * | asTransform () const |
|
virtual Switch * | asSwitch () |
|
virtual const Switch * | asSwitch () const |
|
virtual Geode * | asGeode () |
|
virtual const Geode * | asGeode () const |
|
virtual osgTerrain::Terrain * | asTerrain () |
|
virtual const osgTerrain::Terrain * | asTerrain () const |
|
virtual void | accept (NodeVisitor &nv) |
|
virtual void | ascend (NodeVisitor &nv) |
|
virtual void | traverse (NodeVisitor &) |
|
const ParentList & | getParents () const |
|
ParentList | getParents () |
|
Group * | getParent (unsigned int i) |
|
const Group * | getParent (unsigned int i) const |
|
unsigned int | getNumParents () const |
|
NodePathList | getParentalNodePaths (osg::Node *haltTraversalAtNode=0) const |
|
MatrixList | getWorldMatrices (const osg::Node *haltTraversalAtNode=0) const |
|
void | setUpdateCallback (Callback *nc) |
|
template<class T > |
void | setUpdateCallback (const ref_ptr< T > &nc) |
|
Callback * | getUpdateCallback () |
|
const Callback * | getUpdateCallback () const |
|
void | addUpdateCallback (Callback *nc) |
|
template<class T > |
void | addUpdateCallback (const ref_ptr< T > &nc) |
|
void | removeUpdateCallback (Callback *nc) |
|
template<class T > |
void | removeUpdateCallback (const ref_ptr< T > &nc) |
|
unsigned int | getNumChildrenRequiringUpdateTraversal () const |
|
void | setEventCallback (Callback *nc) |
|
template<class T > |
void | setEventCallback (const ref_ptr< T > &nc) |
|
Callback * | getEventCallback () |
|
const Callback * | getEventCallback () const |
|
void | addEventCallback (Callback *nc) |
|
template<class T > |
void | addEventCallback (const ref_ptr< T > &nc) |
|
void | removeEventCallback (Callback *nc) |
|
template<class T > |
void | removeEventCallback (const ref_ptr< T > &nc) |
|
unsigned int | getNumChildrenRequiringEventTraversal () const |
|
void | setCullCallback (Callback *nc) |
|
template<class T > |
void | setCullCallback (const ref_ptr< T > &nc) |
|
Callback * | getCullCallback () |
|
const Callback * | getCullCallback () const |
|
void | addCullCallback (Callback *nc) |
|
template<class T > |
void | addCullCallback (const ref_ptr< T > &nc) |
|
void | removeCullCallback (Callback *nc) |
|
template<class T > |
void | removeCullCallback (const ref_ptr< T > &nc) |
|
void | setCullingActive (bool active) |
|
bool | getCullingActive () const |
|
unsigned int | getNumChildrenWithCullingDisabled () const |
|
bool | isCullingActive () const |
|
unsigned int | getNumChildrenWithOccluderNodes () const |
|
bool | containsOccluderNodes () const |
|
void | setNodeMask (NodeMask nm) |
|
NodeMask | getNodeMask () const |
|
void | setStateSet (osg::StateSet *stateset) |
|
template<class T > |
void | setStateSet (const osg::ref_ptr< T > &stateset) |
|
osg::StateSet * | getOrCreateStateSet () |
|
osg::StateSet * | getStateSet () |
|
const osg::StateSet * | getStateSet () const |
|
void | setDescriptions (const DescriptionList &descriptions) |
|
DescriptionList & | getDescriptions () |
|
const DescriptionList & | getDescriptions () const |
|
const std::string & | getDescription (unsigned int i) const |
|
std::string & | getDescription (unsigned int i) |
|
unsigned int | getNumDescriptions () const |
|
void | addDescription (const std::string &desc) |
|
void | setInitialBound (const osg::BoundingSphere &bsphere) |
|
const BoundingSphere & | getInitialBound () const |
|
void | dirtyBound () |
|
const BoundingSphere & | getBound () const |
|
void | setComputeBoundingSphereCallback (ComputeBoundingSphereCallback *callback) |
|
template<class T > |
void | setComputeBoundingSphereCallback (const ref_ptr< T > &callback) |
|
ComputeBoundingSphereCallback * | getComputeBoundingSphereCallback () |
|
const ComputeBoundingSphereCallback * | getComputeBoundingSphereCallback () const |
|
| Object () |
|
| Object (bool threadSafeRefUnref) |
|
| Object (const Object &, const CopyOp ©op=CopyOp::SHALLOW_COPY) |
|
std::string | getCompoundClassName () const |
|
virtual NodeVisitor * | asNodeVisitor () |
|
virtual const NodeVisitor * | asNodeVisitor () const |
|
virtual StateSet * | asStateSet () |
|
virtual const StateSet * | asStateSet () const |
|
virtual StateAttribute * | asStateAttribute () |
|
virtual const StateAttribute * | asStateAttribute () const |
|
virtual Uniform * | asUniform () |
|
virtual const Uniform * | asUniform () const |
|
virtual Camera * | asCamera () |
|
virtual const Camera * | asCamera () const |
|
virtual Callback * | asCallback () |
|
virtual const Callback * | asCallback () const |
|
virtual CallbackObject * | asCallbackObject () |
|
virtual const CallbackObject * | asCallbackObject () const |
|
virtual UserDataContainer * | asUserDataContainer () |
|
virtual const UserDataContainer * | asUserDataContainer () const |
|
virtual ValueObject * | asValueObject () |
|
virtual const ValueObject * | asValueObject () const |
|
virtual Image * | asImage () |
|
virtual const Image * | asImage () const |
|
virtual void | setName (const std::string &name) |
|
void | setName (const char *name) |
|
const std::string & | getName () const |
|
void | setDataVariance (DataVariance dv) |
|
DataVariance | getDataVariance () const |
|
void | setUserDataContainer (osg::UserDataContainer *udc) |
|
template<class T > |
void | setUserDataContainer (const ref_ptr< T > &udc) |
|
osg::UserDataContainer * | getUserDataContainer () |
|
const osg::UserDataContainer * | getUserDataContainer () const |
|
osg::UserDataContainer * | getOrCreateUserDataContainer () |
|
virtual void | setUserData (Referenced *obj) |
|
template<class T > |
void | setUserData (const ref_ptr< T > &ud) |
|
virtual Referenced * | getUserData () |
|
virtual const Referenced * | getUserData () const |
|
template<typename T > |
bool | getUserValue (const std::string &name, T &value) const |
|
template<typename T > |
void | setUserValue (const std::string &name, const T &value) |
|
template<typename T > |
BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool | getUserValue (const std::string &name, T &value) const |
|
| Referenced () |
|
| Referenced (bool threadSafeRefUnref) |
|
| Referenced (const Referenced &) |
|
Referenced & | operator= (const Referenced &) |
|
bool | getThreadSafeRefUnref () const |
|
OpenThreads::Mutex * | getRefMutex () const |
|
int | ref () const |
|
int | unref () const |
|
int | unref_nodelete () const |
|
int | referenceCount () const |
|
ObserverSet * | getObserverSet () const |
|
ObserverSet * | getOrCreateObserverSet () const |
|
void | addObserver (Observer *observer) const |
|
void | removeObserver (Observer *observer) const |
|
The heart of this class library; its purpose is to hold a set of particles and manage particle creation, update, rendering and destruction. You can add this drawable to any Geode as you usually do with other Drawable classes. Each instance of ParticleSystem is a separate set of particles; it provides the interface for creating particles and iterating through them (see the Emitter and Program classes).