|
RavEngine
|
Public Member Functions | |
| NpArticulationReducedCoordinate (PxBaseFlags baseFlags) | |
| void | preExportDataReset () |
| virtual void | exportExtraData (PxSerializationContext &stream) |
| void | importExtraData (PxDeserializationContext &context) |
| void | resolveReferences (PxDeserializationContext &context) |
| virtual void | requiresObjects (PxProcessPxBaseCallback &c) |
| virtual void | release () |
| Releases the articulation, and all its links and corresponding joints. | |
| virtual PxScene * | getScene () const |
| Returns the scene which this articulation belongs to. | |
| virtual void | setSleepThreshold (PxReal threshold) |
| Sets the mass-normalized energy threshold below which the articulation may go to sleep. | |
| virtual PxReal | getSleepThreshold () const |
| Returns the mass-normalized energy below which the articulation may go to sleep. | |
| virtual void | setStabilizationThreshold (PxReal threshold) |
| Sets the mass-normalized kinetic energy threshold below which the articulation may participate in stabilization. | |
| virtual PxReal | getStabilizationThreshold () const |
| Returns the mass-normalized kinetic energy below which the articulation may participate in stabilization. | |
| virtual void | setWakeCounter (PxReal wakeCounterValue) |
| Sets the wake counter for the articulation in seconds. | |
| virtual PxReal | getWakeCounter () const |
| Returns the wake counter of the articulation in seconds. | |
| virtual void | setSolverIterationCounts (PxU32 positionIters, PxU32 velocityIters) |
| Sets the solver iteration counts for the articulation. | |
| virtual void | getSolverIterationCounts (PxU32 &positionIters, PxU32 &velocityIters) const |
| Returns the solver iteration counts. | |
| virtual bool | isSleeping () const |
| Returns true if this articulation is sleeping. | |
| virtual void | wakeUp () |
| Wakes up the articulation if it is sleeping. | |
| virtual void | putToSleep () |
| Forces the articulation to sleep. | |
| virtual void | setMaxCOMLinearVelocity (const PxReal maxLinearVelocity) |
| Sets the limit on the magnitude of the linear velocity of the articulation's center of mass. | |
| virtual PxReal | getMaxCOMLinearVelocity () const |
| Gets the limit on the magnitude of the linear velocity of the articulation's center of mass. | |
| virtual void | setMaxCOMAngularVelocity (const PxReal maxAngularVelocity) |
| Sets the limit on the magnitude of the angular velocity at the articulation's center of mass. | |
| virtual PxReal | getMaxCOMAngularVelocity () const |
| Gets the limit on the magnitude of the angular velocity at the articulation's center of mass. | |
| virtual PxU32 | getNbLinks () const |
| Returns the number of links in the articulation. | |
| virtual PxU32 | getLinks (PxArticulationLink **userBuffer, PxU32 bufferSize, PxU32 startIndex) const |
| Returns the set of links in the articulation in the order that they were added to the articulation using createLink. | |
| virtual PxU32 | getNbShapes () const |
| Returns the number of shapes in the articulation. | |
| virtual PxBounds3 | getWorldBounds (float inflation=1.01f) const |
| Returns the axis-aligned bounding box enclosing the articulation. | |
| virtual PxAggregate * | getAggregate () const |
| Returns the aggregate the articulation might be a part of. | |
| virtual void | setName (const char *name) |
| Sets a name string for the articulation that can be retrieved with getName(). | |
| virtual const char * | getName () const |
| Returns the name string set with setName(). | |
| virtual PxArticulationLink * | createLink (PxArticulationLink *parent, const PxTransform &pose) |
| Adds a link to the articulation with default attribute values. | |
| virtual void | setArticulationFlags (PxArticulationFlags flags) |
| Sets flags on the articulation. | |
| virtual void | setArticulationFlag (PxArticulationFlag::Enum flag, bool value) |
| Raises or clears a flag on the articulation. | |
| virtual PxArticulationFlags | getArticulationFlags () const |
| Returns the articulation's flags. | |
| virtual PxU32 | getDofs () const |
| Returns the total number of joint degrees-of-freedom (DOFs) of the articulation. | |
| virtual PxArticulationCache * | createCache () const |
| Creates an articulation cache that can be used to read and write internal articulation data. | |
| virtual PxU32 | getCacheDataSize () const |
| Returns the size of the articulation cache in bytes. | |
| virtual void | zeroCache (PxArticulationCache &cache) const |
| Zeroes all data in the articulation cache, except user-provided and scratch memory, and cache version. | |
| virtual void | applyCache (PxArticulationCache &cache, const PxArticulationCacheFlags flags, bool autowake) |
| Applies the data in the cache to the articulation. | |
| virtual void | copyInternalStateToCache (PxArticulationCache &cache, const PxArticulationCacheFlags flags) const |
| Copies internal data of the articulation to the cache. | |
| virtual void | packJointData (const PxReal *maximum, PxReal *reduced) const |
| Converts maximal-coordinate joint DOF data to reduced coordinates. | |
| virtual void | unpackJointData (const PxReal *reduced, PxReal *maximum) const |
| Converts reduced-coordinate joint DOF data to maximal coordinates. | |
| virtual void | commonInit () const |
| Prepares common articulation data based on articulation pose for inverse dynamics calculations. | |
| virtual void | computeGeneralizedGravityForce (PxArticulationCache &cache) const |
| Computes the joint DOF forces required to counteract gravitational forces for the given articulation pose. | |
| virtual void | computeCoriolisAndCentrifugalForce (PxArticulationCache &cache) const |
| Computes the joint DOF forces required to counteract Coriolis and centrifugal forces for the given articulation state. | |
| virtual void | computeGeneralizedExternalForce (PxArticulationCache &cache) const |
| Computes the joint DOF forces required to counteract external spatial forces applied to articulation links. | |
| virtual void | computeJointAcceleration (PxArticulationCache &cache) const |
| Computes the joint accelerations for the given articulation state and joint forces. | |
| virtual void | computeJointForce (PxArticulationCache &cache) const |
| Computes the joint forces for the given articulation state and joint accelerations, not considering gravity. | |
| virtual void | computeDenseJacobian (PxArticulationCache &cache, PxU32 &nRows, PxU32 &nCols) const |
| Compute the dense Jacobian for the articulation in world space, including the DOFs of a potentially floating base. | |
| virtual void | computeCoefficientMatrix (PxArticulationCache &cache) const |
| Computes the coefficient matrix for contact forces. | |
| virtual bool | computeLambda (PxArticulationCache &cache, PxArticulationCache &rollBackCache, const PxReal *const jointTorque, const PxU32 maxIter) const |
| Computes the lambda values when the test impulse is 1. | |
| virtual void | computeGeneralizedMassMatrix (PxArticulationCache &cache) const |
| Compute the joint-space inertia matrix that maps joint accelerations to joint forces: forces = M * accelerations. | |
| virtual void | addLoopJoint (PxConstraint *joint) |
| Adds a loop joint to the articulation system for inverse dynamics. | |
| virtual void | removeLoopJoint (PxConstraint *constraint) |
| Removes a loop joint from the articulation for inverse dynamics. | |
| virtual PxU32 | getNbLoopJoints () const |
| Returns the number of loop joints in the articulation for inverse dynamics. | |
| virtual PxU32 | getLoopJoints (PxConstraint **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const |
| Returns the set of loop constraints (i.e. joints) in the articulation. | |
| virtual PxU32 | getCoefficientMatrixSize () const |
| Returns the required size of the coefficient matrix in the articulation. | |
| virtual void | setRootGlobalPose (const PxTransform &pose, bool autowake=true) |
| Sets the root link transform (world to actor frame). | |
| virtual PxTransform | getRootGlobalPose () const |
| Returns the root link transform (world to actor frame). | |
| virtual void | setRootLinearVelocity (const PxVec3 &velocity, bool autowake=true) |
| Sets the root link linear center-of-mass velocity. | |
| virtual void | setRootAngularVelocity (const PxVec3 &velocity, bool autowake=true) |
| Sets the root link angular velocity. | |
| virtual PxVec3 | getRootLinearVelocity () const |
| Gets the root link center-of-mass linear velocity. | |
| virtual PxVec3 | getRootAngularVelocity () const |
| Gets the root link angular velocity. | |
| virtual PxSpatialVelocity | getLinkAcceleration (const PxU32 linkId) |
| Returns the (classical) link acceleration in world space for the given low-level link index. | |
| virtual PxU32 | getGpuArticulationIndex () |
| Returns the GPU articulation index. | |
| virtual const char * | getConcreteTypeName () const |
| Returns string name of dynamic type. | |
| virtual PxArticulationSpatialTendon * | createSpatialTendon () |
| Creates a spatial tendon to attach to the articulation with default attribute values. | |
| virtual PxU32 | getSpatialTendons (PxArticulationSpatialTendon **userBuffer, PxU32 bufferSize, PxU32 startIndex) const |
| Returns the spatial tendons attached to the articulation. | |
| virtual PxU32 | getNbSpatialTendons () |
| Returns the number of spatial tendons in the articulation. | |
| NpArticulationSpatialTendon * | getSpatialTendon (const PxU32 index) const |
| virtual PxArticulationFixedTendon * | createFixedTendon () |
| Creates a fixed tendon to attach to the articulation with default attribute values. | |
| virtual PxU32 | getFixedTendons (PxArticulationFixedTendon **userBuffer, PxU32 bufferSize, PxU32 startIndex) const |
| Returns the fixed tendons attached to the articulation. | |
| virtual PxU32 | getNbFixedTendons () |
| Returns the number of fixed tendons in the articulation. | |
| NpArticulationFixedTendon * | getFixedTendon (const PxU32 index) const |
| virtual PxArticulationSensor * | createSensor (PxArticulationLink *link, const PxTransform &relativePose) |
| Creates a force sensor attached to a link of the articulation. | |
| virtual void | releaseSensor (PxArticulationSensor &sensor) |
| virtual PxU32 | getSensors (PxArticulationSensor **userBuffer, PxU32 bufferSize, PxU32 startIndex) const |
| Returns the sensors attached to the articulation. | |
| virtual PxU32 | getNbSensors () |
| Returns the number of sensors in the articulation. | |
| NpArticulationSensor * | getSensor (const PxU32 index) const |
| virtual void | updateKinematic (PxArticulationKinematicFlags flags) |
| Update link velocities and/or positions in the articulation. | |
| PX_FORCE_INLINE PxArray< NpArticulationSpatialTendon * > & | getSpatialTendons () |
| PX_FORCE_INLINE PxArray< NpArticulationFixedTendon * > & | getFixedTendons () |
| PX_FORCE_INLINE PxArray< NpArticulationSensor * > & | getSensors () |
| virtual bool | isKindOf (const char *name) const |
| Returns whether a given type name matches with the type of this instance. | |
| PxArticulationJointReducedCoordinate * | createArticulationJoint (PxArticulationLink &parent, const PxTransform &parentFrame, PxArticulationLink &child, const PxTransform &childFrame) |
| PX_INLINE void | incrementShapeCount () |
| PX_INLINE void | decrementShapeCount () |
| PX_INLINE void | addToLinkList (NpArticulationLink &link) |
| PX_INLINE bool | removeLinkFromList (NpArticulationLink &link) |
| PX_FORCE_INLINE NpArticulationLink *const * | getLinks () |
| NpArticulationLink * | getRoot () |
| void | setAggregate (PxAggregate *a) |
| void | wakeUpInternal (bool forceWakeUp, bool autowake) |
| void | autoWakeInternal () |
| void | setGlobalPose () |
| PX_FORCE_INLINE Sc::ArticulationCore & | getCore () |
| PX_FORCE_INLINE const Sc::ArticulationCore & | getCore () const |
| PX_INLINE void | scSetSolverIterationCounts (PxU16 v) |
| PX_INLINE void | scSetSleepThreshold (const PxReal v) |
| PX_INLINE void | scSetFreezeThreshold (const PxReal v) |
| PX_INLINE void | scSetWakeCounter (PxReal counter) |
| PX_FORCE_INLINE void | scSetArticulationFlags (PxArticulationFlags flags) |
| PX_FORCE_INLINE void | scWakeUpInternal (PxReal wakeCounter) |
| PX_FORCE_INLINE void | scSetMaxLinearVelocity (PxReal maxLinearVelocity) |
| PX_FORCE_INLINE void | scSetMaxAngularVelocity (PxReal maxAngularVelocity) |
| void | recomputeLinkIDs () |
Public Member Functions inherited from physx::PxBase | |
| template<class T > | |
| T * | is () |
| template<class T > | |
| const T * | is () const |
| PX_FORCE_INLINE PxType | getConcreteType () const |
| Returns concrete type of object. | |
| PX_FORCE_INLINE void | setBaseFlag (PxBaseFlag::Enum flag, bool value) |
| Set PxBaseFlag | |
| PX_FORCE_INLINE void | setBaseFlags (PxBaseFlags inFlags) |
| Set PxBaseFlags | |
| PX_FORCE_INLINE PxBaseFlags | getBaseFlags () const |
| Returns PxBaseFlags. | |
| virtual bool | isReleasable () const |
| Whether the object is subordinate. | |
Public Member Functions inherited from physx::NpBase | |
| NpBase (const PxEMPTY) | |
| NpBase (NpType::Enum type) | |
| PX_INLINE bool | isAPIWriteForbidden () const |
| PX_INLINE bool | isAPIWriteForbiddenExceptSplitSim () const |
| PX_FORCE_INLINE NpType::Enum | getNpType () const |
| PX_FORCE_INLINE void | setNpScene (NpScene *scene) |
| PX_FORCE_INLINE NpScene * | getNpScene () const |
| PX_FORCE_INLINE PxU32 | getBaseIndex () const |
| PX_FORCE_INLINE void | setBaseIndex (PxU32 index) |
Public Member Functions inherited from physx::PxUserAllocated | |
| PX_INLINE void * | operator new (size_t, void *address) |
| PX_INLINE void | operator delete (void *, void *) |
| template<typename Alloc > | |
| PX_INLINE void * | operator new (size_t size, Alloc alloc, const char *fileName, int line) |
| template<typename Alloc > | |
| PX_INLINE void * | operator new (size_t size, size_t, Alloc alloc, const char *fileName, int line) |
| template<typename Alloc > | |
| PX_INLINE void * | operator new[] (size_t size, Alloc alloc, const char *fileName, int line) |
| template<typename Alloc > | |
| PX_INLINE void * | operator new[] (size_t size, size_t, Alloc alloc, const char *fileName, int line) |
| template<typename Alloc > | |
| PX_INLINE void | operator delete (void *ptr, Alloc alloc, const char *fileName, int line) |
| template<typename Alloc > | |
| PX_INLINE void | operator delete[] (void *ptr, Alloc alloc, const char *fileName, int line) |
| PX_INLINE void | operator delete (void *ptr) |
| PX_INLINE void | operator delete[] (void *ptr) |
Static Public Member Functions | |
| static NpArticulationReducedCoordinate * | createObject (PxU8 *&address, PxDeserializationContext &context) |
| static void | getBinaryMetaData (PxOutputStream &stream) |
| static PX_FORCE_INLINE size_t | getCoreOffset () |
Static Public Member Functions inherited from physx::NpBase | |
| static void | getBinaryMetaData (PxOutputStream &stream) |
Public Attributes | |
| PX_CATCH_UNDEFINED_ENABLE_DEBUG_VISUALIZATION Sc::ArticulationCore | mCore |
| NpArticulationLinkArray | mArticulationLinks |
| PxU32 | mNumShapes |
| NpAggregate * | mAggregate |
| const char * | mName |
| PxU32 | mCacheVersion |
| bool | mTopologyChanged |
Public Attributes inherited from physx::PxArticulationReducedCoordinate | |
| void * | userData |
| user can assign this to whatever, usually to create a 1:1 relationship with a user object. | |
Friends | |
| class | NpScene |
Additional Inherited Members | |
Protected Member Functions inherited from physx::PxArticulationReducedCoordinate | |
| PX_INLINE | PxArticulationReducedCoordinate (PxType concreteType, PxBaseFlags baseFlags) |
| PX_INLINE | PxArticulationReducedCoordinate (PxBaseFlags baseFlags) |
Protected Member Functions inherited from physx::PxBase | |
| PX_INLINE | PxBase (PxType concreteType, PxBaseFlags baseFlags) |
| Constructor setting concrete type and base flags. | |
| PX_INLINE | PxBase (PxBaseFlags baseFlags) |
| Deserialization constructor setting base flags. | |
| virtual | ~PxBase () |
| Destructor. | |
| template<class T > | |
| bool | typeMatch () const |
Protected Attributes inherited from physx::PxBase | |
| PxType | mConcreteType |
| PxBaseFlags | mBaseFlags |
| PxU32 | mBuiltInRefCount |
Protected Attributes inherited from physx::NpBase | |
| PxU32 | mFreeSlot |
|
virtual |
Adds a loop joint to the articulation system for inverse dynamics.
| [in] | joint | The joint to add. |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Applies the data in the cache to the articulation.
This call wakes the articulation if it is sleeping, and the autowake parameter is true (default) or:
| [in] | cache | The articulation data. |
| [in] | flags | Indicate which data in the cache to apply to the articulation. |
| [in] | autowake | If true, the call wakes up the articulation and increases the wake counter to PxSceneDesc::wakeCounterResetValue if the counter value is below the reset value. |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Prepares common articulation data based on articulation pose for inverse dynamics calculations.
Usage:
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Computes the coefficient matrix for contact forces.
| [out] | cache | Out: PxArticulationCache::coefficientMatrix. |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Computes the joint DOF forces required to counteract Coriolis and centrifugal forces for the given articulation state.
| [in,out] | cache | In: PxArticulationCache::jointVelocity; Out: PxArticulationCache::jointForce. |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Compute the dense Jacobian for the articulation in world space, including the DOFs of a potentially floating base.
This computes the dense representation of an inherently sparse matrix. Multiplication with this matrix maps joint space velocities to world-space linear and angular (i.e. spatial) velocities of the centers of mass of the links.
| [out] | cache | Sets cache.denseJacobian matrix. The matrix is indexed [nCols * row + column]. |
| [out] | nRows | Set to number of rows in matrix, which corresponds to nbLinks() * 6, minus 6 if PxArticulationFlag::eFIX_BASE is true. |
| [out] | nCols | Set to number of columns in matrix, which corresponds to the number of joint DOFs, plus 6 in the case PxArticulationFlag::eFIX_BASE is false. |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Computes the joint DOF forces required to counteract external spatial forces applied to articulation links.
| [in,out] | cache | In: PxArticulationCache::externalForces; Out: PxArticulationCache::jointForce. |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Computes the joint DOF forces required to counteract gravitational forces for the given articulation pose.
| [out] | cache | Out: PxArticulationCache::jointForce. |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Compute the joint-space inertia matrix that maps joint accelerations to joint forces: forces = M * accelerations.
commonInit() must be called before the computation, and after setting the articulation pose via applyCache().
| [out] | cache | Out: PxArticulationCache::massMatrix. |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Computes the joint accelerations for the given articulation state and joint forces.
| [in,out] | cache | In: PxArticulationCache::jointForce and PxArticulationCache::jointVelocity; Out: PxArticulationCache::jointAcceleration. |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Computes the joint forces for the given articulation state and joint accelerations, not considering gravity.
| [in,out] | cache | In: PxArticulationCache::jointAcceleration and PxArticulationCache::jointVelocity; Out: PxArticulationCache::jointForce. |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Computes the lambda values when the test impulse is 1.
| [out] | cache | Out: PxArticulationCache::lambda. |
| [in] | initialState | The initial state of the articulation system. |
| [in] | jointTorque | M(q)*qddot + C(q,qdot) + g(q) <- calculate by summing joint forces obtained with computeJointForce and computeGeneralizedGravityForce. |
| [in] | maxIter | Maximum number of solver iterations to run. If the system converges, fewer iterations may be used. |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Copies internal data of the articulation to the cache.
| [in] | cache | The articulation data. |
| [in] | flags | Indicate which data to copy from the articulation to the cache. |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Creates an articulation cache that can be used to read and write internal articulation data.
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Creates a fixed tendon to attach to the articulation with default attribute values.
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Adds a link to the articulation with default attribute values.
| [in] | parent | The parent link in the articulation. Must be NULL if (and only if) this is the root link. |
| [in] | pose | The initial pose of the new link. Must be a valid transform. |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Creates a force sensor attached to a link of the articulation.
| [in] | link | The link to attach the sensor to. |
| [in] | relativePose | The sensor frame's relative pose to the link's body frame, i.e. the transform body frame -> sensor frame. The link body frame is at the center of mass and aligned with the principal axes of inertia, see PxRigidBody::getCMassLocalPose. |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Creates a spatial tendon to attach to the articulation with default attribute values.
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Returns the aggregate the articulation might be a part of.
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Returns the articulation's flags.
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Returns the size of the articulation cache in bytes.
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Returns the required size of the coefficient matrix in the articulation.
Implements physx::PxArticulationReducedCoordinate.
|
inlinevirtual |
Returns string name of dynamic type.
Implements physx::PxBase.
|
virtual |
Returns the total number of joint degrees-of-freedom (DOFs) of the articulation.
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Returns the fixed tendons attached to the articulation.
The order of the tendons in the buffer is not necessarily identical to the order in which the tendons were added to the articulation.
| [in] | userBuffer | The buffer into which to write the array of pointers to the tendons. |
| [in] | bufferSize | The size of the buffer. If this is not large enough to contain all the pointers to tendons, only as many as will fit are written. Use getNbFixedTendons to size for all attached tendons. |
| [in] | startIndex | Index of first tendon pointer to be retrieved. |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Returns the GPU articulation index.
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Returns the (classical) link acceleration in world space for the given low-level link index.
| [in] | linkId | The low-level link index, see PxArticulationLink::getLinkIndex. |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Returns the set of links in the articulation in the order that they were added to the articulation using createLink.
| [in] | userBuffer | Buffer into which to write the array of articulation link pointers. |
| [in] | bufferSize | The size of the buffer. If the buffer is not large enough to contain all the pointers to links, only as many as will fit are written. |
| [in] | startIndex | Index of first link pointer to be retrieved. |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Returns the set of loop constraints (i.e. joints) in the articulation.
| [in] | userBuffer | Target buffer for the constraint pointers. |
| [in] | bufferSize | The size of the buffer. If this is not large enough to contain all the pointers to the constraints, only as many as will fit are written. Use getNbLoopJoints() to size the buffer for retrieving all constraints. |
| [in] | startIndex | Index of first constraint pointer to be retrieved. |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Gets the limit on the magnitude of the angular velocity at the articulation's center of mass.
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Gets the limit on the magnitude of the linear velocity of the articulation's center of mass.
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Returns the name string set with setName().
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Returns the number of fixed tendons in the articulation.
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Returns the number of links in the articulation.
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Returns the number of loop joints in the articulation for inverse dynamics.
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Returns the number of sensors in the articulation.
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Returns the number of shapes in the articulation.
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Returns the number of spatial tendons in the articulation.
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Gets the root link angular velocity.
For performance, prefer PxArticulationCache::rootLinkData to get the root link velocity in a batch query.
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Returns the root link transform (world to actor frame).
For performance, prefer PxArticulationCache::rootLinkData to get the root link transform in a batch query.
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Gets the root link center-of-mass linear velocity.
Implements physx::PxArticulationReducedCoordinate.
|
inlinevirtual |
Returns the scene which this articulation belongs to.
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Returns the sensors attached to the articulation.
The order of the sensors in the buffer is not necessarily identical to the order in which the sensors were added to the articulation.
| [in] | userBuffer | The buffer into which to write the array of pointers to the sensors. |
| [in] | bufferSize | The size of the buffer. If this is not large enough to contain all the pointers to sensors, only as many as will fit are written. Use getNbSensors to size for all attached sensors. |
| [in] | startIndex | Index of first sensor pointer to be retrieved. |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Returns the mass-normalized energy below which the articulation may go to sleep.
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Returns the solver iteration counts.
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Returns the spatial tendons attached to the articulation.
The order of the tendons in the buffer is not necessarily identical to the order in which the tendons were added to the articulation.
| [in] | userBuffer | The buffer into which to write the array of pointers to the tendons. |
| [in] | bufferSize | The size of the buffer. If this is not large enough to contain all the pointers to tendons, only as many as will fit are written. Use getNbSpatialTendons to size for all attached tendons. |
| [in] | startIndex | Index of first tendon pointer to be retrieved. |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Returns the mass-normalized kinetic energy below which the articulation may participate in stabilization.
Articulations whose kinetic energy divided by their mass is above this threshold will not participate in stabilization.
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Returns the wake counter of the articulation in seconds.
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Returns the axis-aligned bounding box enclosing the articulation.
| [in] | inflation | Scale factor for computed world bounds. Box extents are multiplied by this value. |
Implements physx::PxArticulationReducedCoordinate.
|
inlinevirtual |
Returns whether a given type name matches with the type of this instance.
Reimplemented from physx::PxBase.
|
virtual |
Returns true if this articulation is sleeping.
When an actor does not move for a period of time, it is no longer simulated in order to save time. This state is called sleeping. However, because the object automatically wakes up when it is either touched by an awake object, or a sleep-affecting property is changed by the user, the entire sleep mechanism should be transparent to the user.
An articulation can only go to sleep if all links are ready for sleeping. An articulation is guaranteed to be awake if at least one of the following holds:
If an articulation is sleeping, the following state is guaranteed:
When an articulation gets inserted into a scene, it will be considered asleep if all the points above hold, else it will be treated as awake.
If an articulation is asleep after the call to PxScene::fetchResults() returns, it is guaranteed that the poses of the links were not changed. You can use this information to avoid updating the transforms of associated objects.
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Converts maximal-coordinate joint DOF data to reduced coordinates.
| [in] | maximum | The maximal-coordinate joint DOF data, N = (getNbLinks() - 1) * 6 |
| [out] | reduced | The reduced-coordinate joint DOF data, N = getDofs() |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Forces the articulation to sleep.
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Releases the articulation, and all its links and corresponding joints.
Attached sensors and tendons are released automatically when the articulation is released.
!!AL TODO: Order should not matter in this case. Optimize by having a path which does not restrict release to leaf links or
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Removes a loop joint from the articulation for inverse dynamics.
| [in] | joint | The joint to remove. |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Raises or clears a flag on the articulation.
| [in] | flag | The articulation flag. |
| [in] | value | The value to set the flag to. |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Sets flags on the articulation.
| [in] | flags | The articulation flags. |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Sets the limit on the magnitude of the angular velocity at the articulation's center of mass.
| [in] | maxAngularVelocity | The maximal angular velocity magnitude. Range: [0, PX_MAX_F32); Default: PX_MAX_F32. |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Sets the limit on the magnitude of the linear velocity of the articulation's center of mass.
| [in] | maxLinearVelocity | The maximal linear velocity magnitude. Range: [0, PX_MAX_F32); Default: PX_MAX_F32. |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Sets a name string for the articulation that can be retrieved with getName().
This is for debugging and is not used by the SDK. The string is not copied by the SDK, only the pointer is stored.
| [in] | name | String to set the articulation's name to. |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Sets the root link angular velocity.
| [in] | angularVelocity | The new root link angular velocity. |
| [in] | autowake | If true and the articulation is in a scene, the call wakes up the articulation and increases the wake counter to PxSceneDesc::wakeCounterResetValue if the counter value is below the reset value. |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Sets the root link transform (world to actor frame).
| [in] | pose | The new root link transform. |
| [in] | autowake | If true and the articulation is in a scene, the call wakes up the articulation and increases the wake counter to PxSceneDesc::wakeCounterResetValue if the counter value is below the reset value. |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Sets the root link linear center-of-mass velocity.
| [in] | linearVelocity | The new root link center-of-mass linear velocity. |
| [in] | autowake | If true and the articulation is in a scene, the call wakes up the articulation and increases the wake counter to PxSceneDesc::wakeCounterResetValue if the counter value is below the reset value. |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Sets the mass-normalized energy threshold below which the articulation may go to sleep.
The articulation will sleep if the energy of each link is below this threshold.
| [in] | threshold | Energy below which the articulation may go to sleep. Range: [0, PX_MAX_F32) |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Sets the solver iteration counts for the articulation.
The solver iteration count determines how accurately contacts, drives, and limits are resolved. Setting a higher position iteration count may therefore help in scenarios where the articulation is subject to many constraints; for example, a manipulator articulation with drives and joint limits that is grasping objects, or several such articulations interacting through contacts. Other situations where higher position iterations may improve simulation fidelity are: large mass ratios within the articulation or between the articulation and an object in contact with it; or strong drives in the articulation being used to manipulate a light object.
If intersecting bodies are being depenetrated too violently, increase the number of velocity iterations. More velocity iterations will drive the relative exit velocity of the intersecting objects closer to the correct value given the restitution.
| [in] | minPositionIters | Number of position iterations the solver should perform for this articulation. Range: [1,255] |
| [in] | minVelocityIters | Number of velocity iterations the solver should perform for this articulation. Range: [1,255] |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Sets the mass-normalized kinetic energy threshold below which the articulation may participate in stabilization.
Articulations whose kinetic energy divided by their mass is above this threshold will not participate in stabilization.
This value has no effect if PxSceneFlag::eENABLE_STABILIZATION was not enabled on the PxSceneDesc.
Default: 0.01 * PxTolerancesScale::speed * PxTolerancesScale::speed
| [in] | threshold | Energy below which the articulation may participate in stabilization. Range: [0,inf) |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Sets the wake counter for the articulation in seconds.
Default: 0.4s (which corresponds to 20 frames for a time step of 0.02s)
| [in] | wakeCounterValue | Wake counter value in seconds. Range: [0, PX_MAX_F32) |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Converts reduced-coordinate joint DOF data to maximal coordinates.
| [in] | reduced | The reduced-coordinate joint DOF data, N = getDofs(). |
| [out] | maximum | The maximal-coordinate joint DOF data, N = (getNbLinks() - 1) * 6. |
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Update link velocities and/or positions in the articulation.
For performance, prefer the PxArticulationCache API that performs batch articulation state updates.
If the application updates the root state (position and velocity) or joint state via any combination of the non-cache API calls
the application needs to call this method after the state setting in order to update the link states for the next simulation frame or querying.
Use
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Wakes up the articulation if it is sleeping.
Implements physx::PxArticulationReducedCoordinate.
|
virtual |
Zeroes all data in the articulation cache, except user-provided and scratch memory, and cache version.
Implements physx::PxArticulationReducedCoordinate.