Public Member Functions |
| BounceOperator () |
| BounceOperator (const BounceOperator ©, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) |
| META_Object (osgParticle, BounceOperator) |
void | setFriction (float f) |
| Set the friction.
|
float | getFriction () const |
| Get the friction.
|
void | setResilience (float r) |
| Set the resilience.
|
float | getResilience () const |
| Get the velocity cutoff factor.
|
void | setCutoff (float v) |
| Set the velocity cutoff factor.
|
float | getCutoff () const |
| Get the velocity cutoff factor.
|
Public Member Functions inherited from osgParticle::DomainOperator |
| DomainOperator () |
| DomainOperator (const DomainOperator ©, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) |
| META_Object (osgParticle, DomainOperator) |
void | addPointDomain (const osg::Vec3 &p) |
| Add a point domain.
|
void | addLineSegmentDomain (const osg::Vec3 &v1, const osg::Vec3 &v2) |
| Add a line segment domain.
|
void | addTriangleDomain (const osg::Vec3 &v1, const osg::Vec3 &v2, const osg::Vec3 &v3) |
| Add a triangle domain.
|
void | addRectangleDomain (const osg::Vec3 &corner, const osg::Vec3 &w, const osg::Vec3 &h) |
| Add a rectangle domain.
|
void | addPlaneDomain (const osg::Plane &plane) |
| Add a plane domain.
|
void | addSphereDomain (const osg::Vec3 &c, float r) |
| Add a sphere domain.
|
void | addBoxDomain (const osg::Vec3 &min, const osg::Vec3 &max) |
| Add a box domain.
|
void | addDiskDomain (const osg::Vec3 &c, const osg::Vec3 &n, float r1, float r2=0.0f) |
| Add a disk domain.
|
void | addDomain (const Domain &domain) |
| Add a domain object directly, used by the .osg wrappers and serializers.
|
const Domain & | getDomain (unsigned int i) const |
| Get a domain object directly, used by the .osg wrappers and serializers.
|
void | removeDomain (unsigned int i) |
| Remove a domain at specific index.
|
void | removeAllDomains () |
| Remove all existing domains.
|
unsigned int | getNumDomains () const |
| Get number of domains.
|
void | operate (Particle *P, double dt) |
| Apply the acceleration to a particle. Do not call this method manually.
|
void | beginOperate (Program *prg) |
| Perform some initializations. Do not call this method manually.
|
void | endOperate () |
| Perform some post-operations. Do not call this method manually.
|
Public Member Functions inherited from osgParticle::Operator |
| Operator () |
| Operator (const Operator ©, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) |
virtual const char * | libraryName () const |
virtual const char * | className () const |
virtual bool | isSameKindAs (const osg::Object *obj) const |
bool | isEnabled () const |
| Get whether this operator is enabled.
|
void | setEnabled (bool v) |
| Enable or disable this operator.
|
virtual void | operateParticles (ParticleSystem *ps, double dt) |
| Object () |
| Object (bool threadSafeRefUnref) |
| Object (const Object &, const CopyOp ©op=CopyOp::SHALLOW_COPY) |
virtual Object * | cloneType () const =0 |
virtual Object * | clone (const CopyOp &) const =0 |
virtual void | setThreadSafeRefUnref (bool threadSafe) |
virtual void | setName (const std::string &name) |
void | setName (const char *name) |
const std::string & | getName () const |
void | setDataVariance (DataVariance dv) |
DataVariance | getDataVariance () const |
virtual void | computeDataVariance () |
void | setUserDataContainer (osg::UserDataContainer *udc) |
osg::UserDataContainer * | getUserDataContainer () |
const osg::UserDataContainer * | getUserDataContainer () const |
osg::UserDataContainer * | getOrCreateUserDataContainer () |
virtual void | setUserData (Referenced *obj) |
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) |
virtual void | resizeGLObjectBuffers (unsigned int) |
virtual void | releaseGLObjects (osg::State *=0) 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 |
Protected Member Functions |
virtual | ~BounceOperator () |
BounceOperator & | operator= (const BounceOperator &) |
virtual void | handleTriangle (const Domain &domain, Particle *P, double dt) |
virtual void | handleRectangle (const Domain &domain, Particle *P, double dt) |
virtual void | handlePlane (const Domain &domain, Particle *P, double dt) |
virtual void | handleSphere (const Domain &domain, Particle *P, double dt) |
virtual void | handleDisk (const Domain &domain, Particle *P, double dt) |
Protected Member Functions inherited from osgParticle::DomainOperator |
virtual | ~DomainOperator () |
DomainOperator & | operator= (const DomainOperator &) |
virtual void | handlePoint (const Domain &domain, Particle *P, double dt) |
virtual void | handleLineSegment (const Domain &domain, Particle *P, double dt) |
virtual void | handleBox (const Domain &domain, Particle *P, double dt) |
void | computeNewBasis (const osg::Vec3 &, const osg::Vec3 &, osg::Vec3 &, osg::Vec3 &) |
void | ignore (const std::string &func) |
Protected Member Functions inherited from osgParticle::Operator |
virtual | ~Operator () |
Operator & | operator= (const Operator &) |
virtual | ~Object () |
virtual | ~Referenced () |
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const |
void | deleteUsingDeleteHandler () const |
A bounce operator can affect the particle's velocity to make it rebound. Refer to David McAllister's Particle System API (http://www.particlesystems.org)