The heart of this class library; its purpose is to hold a set of particles and manage particle creation, update, rendering and destruction.
More...
|
| 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. More...
|
|
void | setParticleAlignment (Alignment a) |
| Set the alignment type of particles. More...
|
|
const osg::Vec3 & | getAlignVectorX () const |
| Get the X-axis alignment vector. More...
|
|
void | setAlignVectorX (const osg::Vec3 &v) |
| Set the X-axis alignment vector. More...
|
|
const osg::Vec3 & | getAlignVectorY () const |
| Get the Y-axis alignment vector. More...
|
|
void | setAlignVectorY (const osg::Vec3 &v) |
| Set the Y-axis alignment vector. More...
|
|
void | setAlignVectors (const osg::Vec3 &X, const osg::Vec3 &Y) |
| Set the alignment vectors. More...
|
|
void | setParticleScaleReferenceFrame (ParticleScaleReferenceFrame rf) |
| Set whether the particles should be scaled relative to world coordaintes or local coordinates. More...
|
|
ParticleScaleReferenceFrame | getParticleScaleReferenceFrame () const |
| Get whether the particles should be scaled relative to world coordaintes or local coordinates. More...
|
|
const osg::BoundingBox & | getDefaultBoundingBox () const |
| Get the default bounding box. More...
|
|
void | setDefaultBoundingBox (const osg::BoundingBox &bbox) |
| Set the default bounding box. More...
|
|
bool | getUseVertexArray () const |
| Return true if we use vertex arrays for rendering particles. More...
|
|
void | setUseVertexArray (bool v) |
| Set to use vertex arrays for rendering particles. More...
|
|
bool | getUseShaders () const |
| Return true if shaders are required. More...
|
|
void | setUseShaders (bool v) |
| Set to use GLSL shaders for rendering particles. More...
|
|
bool | getDoublePassRendering () const |
| Get the double pass rendering flag. More...
|
|
void | setDoublePassRendering (bool v) |
| Set the double pass rendering flag. More...
|
|
bool | getFrozen () const |
| Return true if the particle system is frozen. More...
|
|
bool | isFrozen () const |
|
void | setFrozen (bool v) |
| Set or reset the frozen state. More...
|
|
int | numParticles () const |
| Get the number of allocated particles (alive + dead). More...
|
|
int | numDeadParticles () const |
| Get the number of dead particles. More...
|
|
bool | areAllParticlesDead () const |
| Get whether all particles are dead. More...
|
|
Particle * | getParticle (int i) |
| Get a pointer to the i-th particle. More...
|
|
const Particle * | getParticle (int i) const |
| Get a const pointer to the i-th particle. More...
|
|
virtual Particle * | createParticle (const Particle *ptemplate) |
| Create a new particle from the specified template (or the default one if ptemplate is null). More...
|
|
virtual void | destroyParticle (int i) |
| Destroy the i-th particle. More...
|
|
virtual void | reuseParticle (int i) |
| Reuse the i-th particle. More...
|
|
unsigned int | getLastFrameNumber () const |
| Get the last frame number. More...
|
|
double & | getDeltaTime (double currentTime) |
| Get the unique delta time for emitters and updaters to use. More...
|
|
Particle & | getDefaultParticleTemplate () |
| Get a reference to the default particle template. More...
|
|
const Particle & | getDefaultParticleTemplate () const |
| Get a const reference to the default particle template. More...
|
|
void | setDefaultParticleTemplate (const Particle &p) |
| Set the default particle template (particle is copied). More...
|
|
bool | getFreezeOnCull () const |
| Get whether the particle system can freeze when culled. More...
|
|
void | setFreezeOnCull (bool v) |
| Set whether the particle system can freeze when culled (default is true) More...
|
|
void | setDefaultAttributes (const std::string &texturefile="", bool emissive_particles=true, bool lighting=false, int texture_unit=0) |
| A useful method to set the most common StateAttribute 's in one call. More...
|
|
void | setDefaultAttributesUsingShaders (const std::string &texturefile="", bool emissive_particles=true, int texture_unit=0) |
| A useful method to set the most common StateAttribute and use GLSL shaders to draw particles. More...
|
|
int | getLevelOfDetail () const |
| (EXPERIMENTAL) Get the level of detail. More...
|
|
void | setLevelOfDetail (int v) |
| (EXPERIMENTAL) Set the level of detail. More...
|
|
SortMode | getSortMode () const |
| Get the sort mode. More...
|
|
void | setSortMode (SortMode mode) |
| Set the sort mode. More...
|
|
double | getVisibilityDistance () const |
| Get the visibility distance. More...
|
|
void | setVisibilityDistance (double distance) |
| Set the visibility distance which allows the particles to be rendered only when depth is inside the distance. More...
|
|
virtual void | update (double dt, osg::NodeVisitor &nv) |
| Update the particles. Don't call this directly, use a ParticleSystemUpdater instead. More...
|
|
virtual void | drawImplementation (osg::RenderInfo &renderInfo) const |
| drawImplementation(RenderInfo&) is a pure virtual method for the actual implementation of OpenGL drawing calls, such as vertex arrays and primitives, that must be implemented in concrete subclasses of the Drawable base class, examples include osg::Geometry and osg::ShapeDrawable. More...
|
|
virtual osg::BoundingBox | computeBound () const |
| Compute the bounding box around Drawables's geometry. More...
|
|
ReadWriterMutex * | getReadWriteMutex () const |
|
| Drawable () |
|
| Drawable (const Drawable &drawable, const CopyOp ©op=CopyOp::SHALLOW_COPY) |
| Copy constructor using CopyOp to manage deep vs shallow copy. More...
|
|
virtual bool | isSameKindAs (const Object *obj) const |
|
virtual const char * | libraryName () const |
| return the name of the object's library. More...
|
|
virtual const char * | className () const |
| return the name of the object's class type. More...
|
|
virtual Geometry * | asGeometry () |
| Convert 'this' into a Geometry pointer if Drawable is a Geometry, otherwise return 0. More...
|
|
virtual const Geometry * | asGeometry () const |
| Convert 'const this' into a const Geometry pointer if Drawable is a Geometry, otherwise return 0. More...
|
|
virtual void | computeDataVariance () |
| Compute the DataVariance based on an assessment of callback etc. More...
|
|
const ParentList & | getParents () const |
| Get the parent list of drawable. More...
|
|
ParentList | getParents () |
| Get the a copy of parent list of node. More...
|
|
Node * | getParent (unsigned int i) |
| Get a single parent of Drawable. More...
|
|
const Node * | getParent (unsigned int i) const |
| Get a single const parent of Drawable. More...
|
|
unsigned int | getNumParents () const |
| Get the number of parents of node. More...
|
|
MatrixList | getWorldMatrices (const osg::Node *haltTraversalAtNode=0) const |
| Get the list of matrices that transform this node from local coordinates to world coordinates. More...
|
|
void | setStateSet (StateSet *stateset) |
| Set the StateSet attached to the Drawable. More...
|
|
StateSet * | getStateSet () |
| Get the attached StateSet. More...
|
|
const StateSet * | getStateSet () const |
| Get the attached const StateSet. More...
|
|
StateSet * | getOrCreateStateSet () |
| Get the attached const StateSet, if one is not already attached create one, attach it to the drawable and return a pointer to it. More...
|
|
void | setInitialBound (const osg::BoundingBox &bbox) |
| Set the initial bounding volume to use when computing the overall bounding volume. More...
|
|
const BoundingBox & | getInitialBound () const |
| Set the initial bounding volume to use when computing the overall bounding volume. More...
|
|
void | dirtyBound () |
| Dirty the bounding box, forcing a computeBound() on the next call to getBound(). More...
|
|
const BoundingBox & | getBound () const |
| Get BoundingBox of Drawable. More...
|
|
void | setComputeBoundingBoxCallback (ComputeBoundingBoxCallback *callback) |
| Set the compute bound callback to override the default computeBound. More...
|
|
ComputeBoundingBoxCallback * | getComputeBoundingBoxCallback () |
| Get the compute bound callback. More...
|
|
const ComputeBoundingBoxCallback * | getComputeBoundingBoxCallback () const |
| Get the const compute bound callback. More...
|
|
void | setShape (Shape *shape) |
| Set the Shape of the Drawable . More...
|
|
Shape * | getShape () |
| Get the Shape of the Drawable. More...
|
|
const Shape * | getShape () const |
| Get the const Shape of the const Drawable. More...
|
|
void | setSupportsDisplayList (bool flag) |
| Set the drawable so that it can or cannot be used in conjunction with OpenGL display lists. More...
|
|
bool | getSupportsDisplayList () const |
| Get whether display lists are supported for this drawable instance. More...
|
|
void | setUseDisplayList (bool flag) |
| When set to true, force the draw method to use OpenGL Display List for rendering. More...
|
|
bool | getUseDisplayList () const |
| Return whether OpenGL display lists are being used for rendering. More...
|
|
GLuint & | getDisplayList (unsigned int contextID) const |
| Return OpenGL display list for specified contextID. More...
|
|
virtual void | setUseVertexBufferObjects (bool flag) |
| When set to true, ignore the setUseDisplayList() settings, and hints to the drawImplementation method to use OpenGL vertex buffer objects for rendering. More...
|
|
bool | getUseVertexBufferObjects () const |
| Return whether OpenGL vertex buffer objects should be used when supported by OpenGL driver. More...
|
|
virtual void | dirtyDisplayList () |
| Force a recompile on next draw() of any OpenGL display list associated with this geoset. More...
|
|
virtual unsigned int | getGLObjectSizeHint () const |
| Return the estimated size of GLObjects (display lists/vertex buffer objects) that are associated with this drawable. More...
|
|
void | draw (RenderInfo &renderInfo) const |
| Draw OpenGL primitives. More...
|
|
virtual void | compileGLObjects (RenderInfo &renderInfo) const |
| Immediately compile this Drawable into an OpenGL Display List/VertexBufferObjects. More...
|
|
virtual void | setThreadSafeRefUnref (bool threadSafe) |
| Set whether to use a mutex to ensure ref() and unref() are thread safe. More...
|
|
virtual void | resizeGLObjectBuffers (unsigned int maxSize) |
| Resize any per context GLObject buffers to specified size. More...
|
|
virtual void | releaseGLObjects (State *state=0) const |
| If State is non-zero, this function releases OpenGL objects for the specified graphics context. More...
|
|
virtual void | setUpdateCallback (UpdateCallback *ac) |
| Set the UpdateCallback which allows users to attach customize the updating of an object during the update traversal. More...
|
|
UpdateCallback * | getUpdateCallback () |
| Get the non const UpdateCallback. More...
|
|
const UpdateCallback * | getUpdateCallback () const |
| Get the const UpdateCallback. More...
|
|
bool | requiresUpdateTraversal () const |
| Return whether this Drawable has update callbacks associated with it, and therefore must be traversed. More...
|
|
virtual void | setEventCallback (EventCallback *ac) |
| Set the EventCallback which allows users to attach customize the updating of an object during the Event traversal. More...
|
|
EventCallback * | getEventCallback () |
| Get the non const EventCallback. More...
|
|
const EventCallback * | getEventCallback () const |
| Get the const EventCallback. More...
|
|
bool | requiresEventTraversal () const |
| Return whether this Drawable has event callbacks associated with it, and therefore must be traversed. More...
|
|
virtual void | setCullCallback (CullCallback *cc) |
| Set the CullCallback which allows users to customize the culling of Drawable during the cull traversal. More...
|
|
CullCallback * | getCullCallback () |
| Get the non const CullCallback. More...
|
|
const CullCallback * | getCullCallback () const |
| Get the const CullCallback. More...
|
|
virtual void | setDrawCallback (DrawCallback *dc) |
| Set the DrawCallback which allows users to attach customize the drawing of existing Drawable object. More...
|
|
DrawCallback * | getDrawCallback () |
| Get the non const DrawCallback. More...
|
|
const DrawCallback * | getDrawCallback () const |
| Get the const DrawCallback. More...
|
|
virtual bool | supports (const AttributeFunctor &) const |
| Return true if the Drawable subclass supports accept(AttributeFunctor&). More...
|
|
virtual void | accept (AttributeFunctor &) |
| accept an AttributeFunctor and call its methods to tell it about the internal attributes that this Drawable has. More...
|
|
virtual bool | supports (const ConstAttributeFunctor &) const |
| Return true if the Drawable subclass supports accept(ConstAttributeFunctor&). More...
|
|
virtual void | accept (ConstAttributeFunctor &) const |
| Accept an AttributeFunctor and call its methods to tell it about the internal attributes that this Drawable has. More...
|
|
virtual bool | supports (const PrimitiveFunctor &) const |
| Return true if the Drawable subclass supports accept(PrimitiveFunctor&). More...
|
|
virtual void | accept (PrimitiveFunctor &) const |
| Accept a PrimitiveFunctor and call its methods to tell it about the internal primitives that this Drawable has. More...
|
|
virtual bool | supports (const PrimitiveIndexFunctor &) const |
| Return true if the Drawable subclass supports accept(PrimitiveIndexFunctor&). More...
|
|
virtual void | accept (PrimitiveIndexFunctor &) const |
| Accept a PrimitiveIndexFunctor and call its methods to tell it about the internal primitives that this Drawable has. More...
|
|
| Object () |
| Construct an object. More...
|
|
| Object (bool threadSafeRefUnref) |
|
| Object (const Object &, const CopyOp ©op=CopyOp::SHALLOW_COPY) |
| Copy constructor, optional CopyOp object can be used to control shallow vs deep copying of dynamic data. More...
|
|
virtual Object * | cloneType () const =0 |
| Clone the type of an object, with Object* return type. More...
|
|
virtual Object * | clone (const CopyOp &) const =0 |
| Clone an object, with Object* return type. More...
|
|
virtual void | setName (const std::string &name) |
| Set the name of object using C++ style string. More...
|
|
void | setName (const char *name) |
| Set the name of object using a C style string. More...
|
|
const std::string & | getName () const |
| Get the name of object. More...
|
|
void | setDataVariance (DataVariance dv) |
| Set the data variance of this object. More...
|
|
DataVariance | getDataVariance () const |
| Get the data variance of this object. More...
|
|
void | setUserDataContainer (osg::UserDataContainer *udc) |
| set the UserDataContainer object. More...
|
|
osg::UserDataContainer * | getUserDataContainer () |
| get the UserDataContainer attached to this object. More...
|
|
const osg::UserDataContainer * | getUserDataContainer () const |
| get the const UserDataContainer attached to this object. More...
|
|
osg::UserDataContainer * | getOrCreateUserDataContainer () |
| Convinience method that returns the UserDataContainer, and if one doesn't already exist creates and assigns a DefaultUserDataContainer to the Object and then return this new UserDataContainer. More...
|
|
virtual void | setUserData (Referenced *obj) |
| Set user data, data must be subclassed from Referenced to allow automatic memory handling. More...
|
|
virtual Referenced * | getUserData () |
| Get user data. More...
|
|
virtual const Referenced * | getUserData () const |
| Get const user data. More...
|
|
template<typename T > |
bool | getUserValue (const std::string &name, T &value) const |
| Convinience method that casts the named UserObject to osg::TemplateValueObject<T> and gets the value. More...
|
|
template<typename T > |
void | setUserValue (const std::string &name, const T &value) |
| Convinience method that creates the osg::TemplateValueObject<T> to store the specified value and adds it as a named UserObject. More...
|
|
template<typename T > |
BoolValueObject
UCharValueObject
UShortValueObject
UIntValueObject
DoubleValueObject
Vec3fValueObject
Vec2dValueObject
Vec4dValueObject
PlaneValueObject
MatrixdValueObject bool | getUserValue (const std::string &name, T &value) const |
| provide implementation of osg::Object::getUserValue(..) template More...
|
|
| Referenced () |
|
| Referenced (bool threadSafeRefUnref) |
|
| Referenced (const Referenced &) |
|
Referenced & | operator= (const Referenced &) |
|
bool | getThreadSafeRefUnref () const |
| Get whether a mutex is used to ensure ref() and unref() are thread safe. More...
|
|
OpenThreads::Mutex * | getRefMutex () const |
| Get the mutex used to ensure thread safety of ref()/unref(). More...
|
|
int | ref () const |
| Increment the reference count by one, indicating that this object has another pointer which is referencing it. More...
|
|
int | unref () const |
| Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. More...
|
|
int | unref_nodelete () const |
| Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. More...
|
|
int | referenceCount () const |
| Return the number of pointers currently referencing this object. More...
|
|
ObserverSet * | getObserverSet () const |
| Get the ObserverSet if one is attached, otherwise return NULL. More...
|
|
ObserverSet * | getOrCreateObserverSet () const |
| Get the ObserverSet if one is attached, otherwise create an ObserverSet, attach it, then return this newly created ObserverSet. More...
|
|
void | addObserver (Observer *observer) const |
| Add a Observer that is observing this object, notify the Observer when this object gets deleted. More...
|
|
void | removeObserver (Observer *observer) const |
| Remove Observer that is observing this object. More...
|
|