|
openscenegraph
|
Classes | |
| struct | Domain |
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. More... | |
| void | addLineSegmentDomain (const osg::Vec3 &v1, const osg::Vec3 &v2) |
| Add a line segment domain. More... | |
| void | addTriangleDomain (const osg::Vec3 &v1, const osg::Vec3 &v2, const osg::Vec3 &v3) |
| Add a triangle domain. More... | |
| void | addRectangleDomain (const osg::Vec3 &corner, const osg::Vec3 &w, const osg::Vec3 &h) |
| Add a rectangle domain. More... | |
| void | addPlaneDomain (const osg::Plane &plane) |
| Add a plane domain. More... | |
| void | addSphereDomain (const osg::Vec3 &c, float r) |
| Add a sphere domain. More... | |
| void | addBoxDomain (const osg::Vec3 &min, const osg::Vec3 &max) |
| Add a box domain. More... | |
| void | addDiskDomain (const osg::Vec3 &c, const osg::Vec3 &n, float r1, float r2=0.0f) |
| Add a disk domain. More... | |
| void | addDomain (const Domain &domain) |
| Add a domain object directly, used by the .osg wrappers and serializers. More... | |
| const Domain & | getDomain (unsigned int i) const |
| Get a domain object directly, used by the .osg wrappers and serializers. More... | |
| void | removeDomain (unsigned int i) |
| Remove a domain at specific index. More... | |
| void | removeAllDomains () |
| Remove all existing domains. More... | |
| unsigned int | getNumDomains () const |
| Get number of domains. More... | |
| void | operate (Particle *P, double dt) |
| Apply the acceleration to a particle. Do not call this method manually. More... | |
| void | beginOperate (Program *prg) |
| Perform some initializations. Do not call this method manually. More... | |
| void | endOperate () |
| Perform some post-operations. Do not call this method manually. More... | |
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. More... | |
| void | setEnabled (bool v) |
| Enable or disable this operator. More... | |
| virtual void | operateParticles (ParticleSystem *ps, double dt) |
Public Member Functions inherited from osg::Object | |
| 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 |
| template<typename T > | |
| BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject bool | getUserValue (const std::string &name, T &value) const |
Public Member Functions inherited from osg::Referenced | |
| 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 &, Particle *, double) |
| virtual void | handleLineSegment (const Domain &, Particle *, double) |
| virtual void | handleTriangle (const Domain &, Particle *, double) |
| virtual void | handleRectangle (const Domain &, Particle *, double) |
| virtual void | handlePlane (const Domain &, Particle *, double) |
| virtual void | handleSphere (const Domain &, Particle *, double) |
| virtual void | handleBox (const Domain &, Particle *, double) |
| virtual void | handleDisk (const Domain &, Particle *, double) |
| 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 &) |
Protected Member Functions inherited from osg::Object | |
| virtual | ~Object () |
Protected Member Functions inherited from osg::Referenced | |
| virtual | ~Referenced () |
| void | signalObserversAndDelete (bool signalDelete, bool doDelete) const |
| void | deleteUsingDeleteHandler () const |
Protected Attributes | |
| std::vector< Domain > | _domains |
| std::vector< Domain > | _backupDomains |
Protected Attributes inherited from osg::Object | |
| std::string | _name |
| DataVariance | _dataVariance |
| osg::UserDataContainer * | _userDataContainer |
Protected Attributes inherited from osg::Referenced | |
| OpenThreads::AtomicPtr | _observerSet |
| OpenThreads::Atomic | _refCount |
Additional Inherited Members | |
Public Types inherited from osg::Object | |
| enum | DataVariance { DYNAMIC, STATIC, UNSPECIFIED } |
Static Public Member Functions inherited from osg::Referenced | |
| static OpenThreads::Mutex * | getGlobalReferencedMutex () |
| static void | setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting) |
| static bool | getThreadSafeReferenceCounting () |
| static void | setDeleteHandler (DeleteHandler *handler) |
| static DeleteHandler * | getDeleteHandler () |
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)
|
inline |
|
inline |
|
inlineprotectedvirtual |
|
inline |
Add a box domain.
References _domains, osgParticle::DomainOperator::Domain::BOX_DOMAIN, osgParticle::DomainOperator::Domain::v1, and osgParticle::DomainOperator::Domain::v2.
|
inline |
Add a disk domain.
References _domains, osgParticle::DomainOperator::Domain::DISK_DOMAIN, osgParticle::DomainOperator::Domain::plane, osgParticle::DomainOperator::Domain::r1, osgParticle::DomainOperator::Domain::r2, osg::Plane::set(), osgParticle::DomainOperator::Domain::v1, and osgParticle::DomainOperator::Domain::v2.
|
inline |
Add a domain object directly, used by the .osg wrappers and serializers.
|
inline |
Add a line segment domain.
References _domains, osgParticle::DomainOperator::Domain::LINE_DOMAIN, osgParticle::DomainOperator::Domain::r1, osgParticle::DomainOperator::Domain::v1, and osgParticle::DomainOperator::Domain::v2.
|
inline |
Add a plane domain.
References _domains, osgParticle::DomainOperator::Domain::plane, osgParticle::DomainOperator::Domain::PLANE_DOMAIN, and osg::Plane::set().
|
inline |
Add a point domain.
References _domains, osgParticle::DomainOperator::Domain::POINT_DOMAIN, and osgParticle::DomainOperator::Domain::v1.
|
inline |
Add a rectangle domain.
References _domains, computeNewBasis(), osgParticle::DomainOperator::Domain::plane, osgParticle::DomainOperator::Domain::RECT_DOMAIN, osgParticle::DomainOperator::Domain::s1, osgParticle::DomainOperator::Domain::s2, osg::Plane::set(), osgParticle::DomainOperator::Domain::v1, osgParticle::DomainOperator::Domain::v2, and osgParticle::DomainOperator::Domain::v3.
|
inline |
Add a sphere domain.
References _domains, osgParticle::DomainOperator::Domain::r1, osgParticle::DomainOperator::Domain::SPHERE_DOMAIN, and osgParticle::DomainOperator::Domain::v1.
|
inline |
Add a triangle domain.
References _domains, computeNewBasis(), osgParticle::DomainOperator::Domain::plane, osgParticle::DomainOperator::Domain::s1, osgParticle::DomainOperator::Domain::s2, osg::Plane::set(), osgParticle::DomainOperator::Domain::TRI_DOMAIN, osgParticle::DomainOperator::Domain::v1, osgParticle::DomainOperator::Domain::v2, and osgParticle::DomainOperator::Domain::v3.
|
virtual |
Perform some initializations. Do not call this method manually.
Reimplemented from osgParticle::Operator.
Reimplemented in osgParticle::SinkOperator.
|
inlineprotected |
References osg::Vec3f::set(), osg::Vec3f::x(), osg::Vec3f::y(), and osg::Vec3f::z().
Referenced by addRectangleDomain(), and addTriangleDomain().
|
virtual |
Perform some post-operations. Do not call this method manually.
Reimplemented from osgParticle::Operator.
|
inline |
Get a domain object directly, used by the .osg wrappers and serializers.
|
inline |
Get number of domains.
|
inlineprotectedvirtual |
Reimplemented in osgParticle::SinkOperator.
|
inlineprotectedvirtual |
Reimplemented in osgParticle::SinkOperator, and osgParticle::BounceOperator.
|
inlineprotectedvirtual |
Reimplemented in osgParticle::SinkOperator.
|
inlineprotectedvirtual |
Reimplemented in osgParticle::SinkOperator, and osgParticle::BounceOperator.
|
inlineprotectedvirtual |
Reimplemented in osgParticle::SinkOperator.
|
inlineprotectedvirtual |
Reimplemented in osgParticle::SinkOperator, and osgParticle::BounceOperator.
|
inlineprotectedvirtual |
Reimplemented in osgParticle::SinkOperator, and osgParticle::BounceOperator.
|
inlineprotectedvirtual |
Reimplemented in osgParticle::SinkOperator, and osgParticle::BounceOperator.
|
inlineprotected |
References osgParticle::Operator::className(), and OSG_NOTICE.
| osgParticle::DomainOperator::META_Object | ( | osgParticle | , |
| DomainOperator | |||
| ) |
|
virtual |
Apply the acceleration to a particle. Do not call this method manually.
Implements osgParticle::Operator.
|
inlineprotected |
|
inline |
Remove all existing domains.
|
inline |
Remove a domain at specific index.
|
protected |
|
protected |
1.8.6