Public Member Functions |
| 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 | ~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 | 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 | handleBox (const Domain &domain, Particle *P, double dt) |
virtual void | handleDisk (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 domain operator which accepts different domain shapes as the parameter. It can be derived to implement operators that require particles interacting with domains. Refer to David McAllister's Particle System API (http://www.particlesystems.org)