a tree structure of bodies connected by joints that is treated as a unit by the dynamics solver
More...
|
virtual void | release ()=0 |
| Releases the PxBase instance, please check documentation of release in derived class. More...
|
|
virtual void | setArticulationFlags (PxArticulationFlags flags)=0 |
| Sets flags on the articulation. More...
|
|
virtual void | setArticulationFlag (PxArticulationFlag::Enum flag, bool value)=0 |
| Raises or clears a flag on the articulation. More...
|
|
virtual PxArticulationFlags | getArticulationFlags () const =0 |
| return PxArticulationFlags More...
|
|
virtual PxU32 | getDofs () const =0 |
| returns the total Dofs of the articulation More...
|
|
virtual PxArticulationCache * | createCache () const =0 |
| create an articulation cache More...
|
|
virtual PxU32 | getCacheDataSize () const =0 |
| Get the size of the articulation cache. More...
|
|
virtual void | zeroCache (PxArticulationCache &cache)=0 |
| zero all data in the articulation cache beside the cache version More...
|
|
virtual void | applyCache (PxArticulationCache &cache, const PxArticulationCacheFlags flag, bool autowake=true)=0 |
| apply the user defined data in the cache to the articulation system More...
|
|
virtual void | copyInternalStateToCache (PxArticulationCache &cache, const PxArticulationCacheFlags flag) const =0 |
| copy the internal data of the articulation to the cache More...
|
|
virtual void | releaseCache (PxArticulationCache &cache) const =0 |
| release an articulation cache More...
|
|
virtual void | packJointData (const PxReal *maximum, PxReal *reduced) const =0 |
| reduce the maximum data format to the reduced internal data More...
|
|
virtual void | unpackJointData (const PxReal *reduced, PxReal *maximum) const =0 |
| turn the reduced internal data to maximum joint data format More...
|
|
virtual void | commonInit () const =0 |
| initialize all the common data for inverse dynamics More...
|
|
virtual void | computeGeneralizedGravityForce (PxArticulationCache &cache) const =0 |
| determine the statically balance of the joint force of gravity for entire articulation. External force, joint velocity and joint acceleration are set to zero, the joint force returned will be purely determined by gravity. More...
|
|
virtual void | computeCoriolisAndCentrifugalForce (PxArticulationCache &cache) const =0 |
| determine coriolise and centrifugal force. External force, gravity and joint acceleration are set to zero, the joint force return will be coriolise and centrifugal force for each joint. More...
|
|
virtual void | computeGeneralizedExternalForce (PxArticulationCache &cache) const =0 |
| determine joint force change caused by external force. Gravity, joint acceleration and joint velocity are all set to zero. More...
|
|
virtual void | computeJointAcceleration (PxArticulationCache &cache) const =0 |
| determine the joint acceleration for each joint This is purely calculates the change in joint acceleration due to change in the joint force More...
|
|
virtual void | computeJointForce (PxArticulationCache &cache) const =0 |
| determine the joint force This is purely calculates the change in joint force due to change in the joint acceleration This means gravity and joint velocity will be zero More...
|
|
virtual void | computeDenseJacobian (PxArticulationCache &cache, PxU32 &nRows, PxU32 &nCols) const =0 |
| compute the dense Jacobian for the entire articulation in world space More...
|
|
virtual void | computeCoefficientMatrix (PxArticulationCache &cache) const =0 |
| compute the coefficient matrix for contact force. More...
|
|
virtual bool | computeLambda (PxArticulationCache &cache, PxArticulationCache &initialState, const PxReal *const jointTorque, const PxU32 maxIter) const =0 |
| compute the lambda value when the test impulse is 1 More...
|
|
virtual void | computeGeneralizedMassMatrix (PxArticulationCache &cache) const =0 |
| compute the joint-space inertia matrix More...
|
|
virtual void | addLoopJoint (PxJoint *joint)=0 |
| add loop joint to the articulation system for inverse dynamic More...
|
|
virtual void | removeLoopJoint (PxJoint *joint)=0 |
| remove loop joint from the articulation system More...
|
|
virtual PxU32 | getNbLoopJoints () const =0 |
| returns the number of loop joints in the articulation More...
|
|
virtual PxU32 | getLoopJoints (PxJoint **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 |
| returns the set of loop constraints in the articulation More...
|
|
virtual PxU32 | getCoefficientMatrixSize () const =0 |
| returns the required size of coeffient matrix in the articulation. The coefficient matrix is number of constraint(loop joints) by total dofs. Constraint Torque = transpose(K) * lambda(). Lambda is a vector of number of constraints More...
|
|
virtual void | teleportRootLink (const PxTransform &pose, bool autowake)=0 |
| teleport root link to a new location More...
|
|
virtual PxSpatialVelocity | getLinkVelocity (const PxU32 linkId)=0 |
| return the link velocity in world space with the associated low-level link index(getLinkIndex()). More...
|
|
virtual PxSpatialVelocity | getLinkAcceleration (const PxU32 linkId)=0 |
| return the link acceleration in world space with the associated low-level link index(getLinkIndex()) More...
|
|
virtual PxScene * | getScene () const =0 |
| Retrieves the scene which this articulation belongs to. More...
|
|
virtual void | setSolverIterationCounts (PxU32 minPositionIters, PxU32 minVelocityIters=1)=0 |
| Sets the solver iteration counts for the articulation. More...
|
|
virtual void | getSolverIterationCounts (PxU32 &minPositionIters, PxU32 &minVelocityIters) const =0 |
| Retrieves the solver iteration counts. More...
|
|
virtual bool | isSleeping () const =0 |
| Returns true if this articulation is sleeping. More...
|
|
virtual void | setSleepThreshold (PxReal threshold)=0 |
| Sets the mass-normalized energy threshold below which an articulation may go to sleep. More...
|
|
virtual PxReal | getSleepThreshold () const =0 |
| Returns the mass-normalized energy below which an articulation may go to sleep. More...
|
|
virtual void | setStabilizationThreshold (PxReal threshold)=0 |
| Sets the mass-normalized kinetic energy threshold below which an articulation may participate in stabilization. More...
|
|
virtual PxReal | getStabilizationThreshold () const =0 |
| Returns the mass-normalized kinetic energy below which an articulation may participate in stabilization. More...
|
|
virtual void | setWakeCounter (PxReal wakeCounterValue)=0 |
| Sets the wake counter for the articulation. More...
|
|
virtual PxReal | getWakeCounter () const =0 |
| Returns the wake counter of the articulation. More...
|
|
virtual void | wakeUp ()=0 |
| Wakes up the articulation if it is sleeping. More...
|
|
virtual void | putToSleep ()=0 |
| Forces the articulation to sleep. More...
|
|
virtual PxArticulationLink * | createLink (PxArticulationLink *parent, const PxTransform &pose)=0 |
| adds a link to the articulation with default attribute values. More...
|
|
virtual PxU32 | getNbLinks () const =0 |
| returns the number of links in the articulation More...
|
|
virtual PxU32 | getLinks (PxArticulationLink **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 |
| returns the set of links in the articulation More...
|
|
virtual void | setName (const char *name)=0 |
| Sets a name string for the object that can be retrieved with getName(). More...
|
|
virtual const char * | getName () const =0 |
| Retrieves the name string set with setName(). More...
|
|
virtual PxBounds3 | getWorldBounds (float inflation=1.01f) const =0 |
| Retrieves the axis aligned bounding box enclosing the articulation. More...
|
|
virtual PxAggregate * | getAggregate () const =0 |
| Retrieves the aggregate the articulation might be a part of. More...
|
|
virtual PxArticulationImpl * | getImpl ()=0 |
|
virtual const PxArticulationImpl * | getImpl () const =0 |
|
virtual | ~PxArticulationBase () |
|
virtual PxArticulationJointBase * | createArticulationJoint (PxArticulationLink &parent, const PxTransform &parentFrame, PxArticulationLink &child, const PxTransform &childFrame)=0 |
|
virtual void | releaseArticulationJoint (PxArticulationJointBase *joint)=0 |
|
virtual const char * | getConcreteTypeName () const =0 |
| Returns string name of dynamic type. More...
|
|
template<class T > |
T * | is () |
|
template<class T > |
const T * | is () const |
|
PX_FORCE_INLINE PxType | getConcreteType () const |
| Returns concrete type of object. More...
|
|
PX_FORCE_INLINE void | setBaseFlag (PxBaseFlag::Enum flag, bool value) |
| Set PxBaseFlag. More...
|
|
PX_FORCE_INLINE void | setBaseFlags (PxBaseFlags inFlags) |
| Set PxBaseFlags. More...
|
|
PX_FORCE_INLINE PxBaseFlags | getBaseFlags () const |
| Returns PxBaseFlags. More...
|
|
virtual bool | isReleasable () const |
| Whether the object is subordinate. More...
|
|
a tree structure of bodies connected by joints that is treated as a unit by the dynamics solver
Articulations are more expensive to simulate than the equivalent collection of PxRigidDynamic and PxJoint structures, but because the dynamics solver treats each articulation as a single object, they are much less prone to separation and have better support for actuation. An articulation may have at most 64 links.
- See also
- PxArticulationJoint PxArticulationLink PxPhysics.createArticulation