|
RavEngine
|
A tree structure of bodies connected by joints that is treated as a unit by the dynamics solver. Parametrized in reduced (joint) coordinates. More...
#include <PxArticulationReducedCoordinate.h>
Public Member Functions | |
| virtual PxScene * | getScene () const =0 |
| Returns the scene which this articulation belongs to. | |
| virtual void | setSolverIterationCounts (PxU32 minPositionIters, PxU32 minVelocityIters=1)=0 |
| Sets the solver iteration counts for the articulation. | |
| virtual void | getSolverIterationCounts (PxU32 &minPositionIters, PxU32 &minVelocityIters) const =0 |
| Returns the solver iteration counts. | |
| virtual bool | isSleeping () const =0 |
| Returns true if this articulation is sleeping. | |
| virtual void | setSleepThreshold (PxReal threshold)=0 |
| Sets the mass-normalized energy threshold below which the articulation may go to sleep. | |
| virtual PxReal | getSleepThreshold () const =0 |
| Returns the mass-normalized energy below which the articulation may go to sleep. | |
| virtual void | setStabilizationThreshold (PxReal threshold)=0 |
| Sets the mass-normalized kinetic energy threshold below which the articulation may participate in stabilization. | |
| virtual PxReal | getStabilizationThreshold () const =0 |
| Returns the mass-normalized kinetic energy below which the articulation may participate in stabilization. | |
| virtual void | setWakeCounter (PxReal wakeCounterValue)=0 |
| Sets the wake counter for the articulation in seconds. | |
| virtual PxReal | getWakeCounter () const =0 |
| Returns the wake counter of the articulation in seconds. | |
| virtual void | wakeUp ()=0 |
| Wakes up the articulation if it is sleeping. | |
| virtual void | putToSleep ()=0 |
| Forces the articulation to sleep. | |
| virtual void | setMaxCOMLinearVelocity (const PxReal maxLinearVelocity)=0 |
| Sets the limit on the magnitude of the linear velocity of the articulation's center of mass. | |
| virtual PxReal | getMaxCOMLinearVelocity () const =0 |
| Gets the limit on the magnitude of the linear velocity of the articulation's center of mass. | |
| virtual void | setMaxCOMAngularVelocity (const PxReal maxAngularVelocity)=0 |
| Sets the limit on the magnitude of the angular velocity at the articulation's center of mass. | |
| virtual PxReal | getMaxCOMAngularVelocity () const =0 |
| Gets the limit on the magnitude of the angular velocity at the articulation's center of mass. | |
| virtual PxArticulationLink * | createLink (PxArticulationLink *parent, const PxTransform &pose)=0 |
| Adds a link to the articulation with default attribute values. | |
| virtual void | release ()=0 |
| Releases the articulation, and all its links and corresponding joints. | |
| virtual PxU32 | getNbLinks () const =0 |
| Returns the number of links in the articulation. | |
| virtual PxU32 | getLinks (PxArticulationLink **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 |
| Returns the set of links in the articulation in the order that they were added to the articulation using createLink. | |
| virtual PxU32 | getNbShapes () const =0 |
| Returns the number of shapes in the articulation. | |
| virtual void | setName (const char *name)=0 |
| Sets a name string for the articulation that can be retrieved with getName(). | |
| virtual const char * | getName () const =0 |
| Returns the name string set with setName(). | |
| virtual PxBounds3 | getWorldBounds (float inflation=1.01f) const =0 |
| Returns the axis-aligned bounding box enclosing the articulation. | |
| virtual PxAggregate * | getAggregate () const =0 |
| Returns the aggregate the articulation might be a part of. | |
| virtual void | setArticulationFlags (PxArticulationFlags flags)=0 |
| Sets flags on the articulation. | |
| virtual void | setArticulationFlag (PxArticulationFlag::Enum flag, bool value)=0 |
| Raises or clears a flag on the articulation. | |
| virtual PxArticulationFlags | getArticulationFlags () const =0 |
| Returns the articulation's flags. | |
| virtual PxU32 | getDofs () const =0 |
| Returns the total number of joint degrees-of-freedom (DOFs) of the articulation. | |
| virtual PxArticulationCache * | createCache () const =0 |
| Creates an articulation cache that can be used to read and write internal articulation data. | |
| virtual PxU32 | getCacheDataSize () const =0 |
| Returns the size of the articulation cache in bytes. | |
| virtual void | zeroCache (PxArticulationCache &cache) const =0 |
| 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=true)=0 |
| Applies the data in the cache to the articulation. | |
| virtual void | copyInternalStateToCache (PxArticulationCache &cache, const PxArticulationCacheFlags flags) const =0 |
| Copies internal data of the articulation to the cache. | |
| virtual void | packJointData (const PxReal *maximum, PxReal *reduced) const =0 |
| Converts maximal-coordinate joint DOF data to reduced coordinates. | |
| virtual void | unpackJointData (const PxReal *reduced, PxReal *maximum) const =0 |
| Converts reduced-coordinate joint DOF data to maximal coordinates. | |
| virtual void | commonInit () const =0 |
| Prepares common articulation data based on articulation pose for inverse dynamics calculations. | |
| virtual void | computeGeneralizedGravityForce (PxArticulationCache &cache) const =0 |
| Computes the joint DOF forces required to counteract gravitational forces for the given articulation pose. | |
| virtual void | computeCoriolisAndCentrifugalForce (PxArticulationCache &cache) const =0 |
| Computes the joint DOF forces required to counteract Coriolis and centrifugal forces for the given articulation state. | |
| virtual void | computeGeneralizedExternalForce (PxArticulationCache &cache) const =0 |
| Computes the joint DOF forces required to counteract external spatial forces applied to articulation links. | |
| virtual void | computeJointAcceleration (PxArticulationCache &cache) const =0 |
| Computes the joint accelerations for the given articulation state and joint forces. | |
| virtual void | computeJointForce (PxArticulationCache &cache) const =0 |
| 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 =0 |
| Compute the dense Jacobian for the articulation in world space, including the DOFs of a potentially floating base. | |
| virtual void | computeCoefficientMatrix (PxArticulationCache &cache) const =0 |
| Computes the coefficient matrix for contact forces. | |
| virtual bool | computeLambda (PxArticulationCache &cache, PxArticulationCache &initialState, const PxReal *const jointTorque, const PxU32 maxIter) const =0 |
| Computes the lambda values when the test impulse is 1. | |
| virtual void | computeGeneralizedMassMatrix (PxArticulationCache &cache) const =0 |
| Compute the joint-space inertia matrix that maps joint accelerations to joint forces: forces = M * accelerations. | |
| virtual void | addLoopJoint (PxConstraint *joint)=0 |
| Adds a loop joint to the articulation system for inverse dynamics. | |
| virtual void | removeLoopJoint (PxConstraint *joint)=0 |
| Removes a loop joint from the articulation for inverse dynamics. | |
| virtual PxU32 | getNbLoopJoints () const =0 |
| Returns the number of loop joints in the articulation for inverse dynamics. | |
| virtual PxU32 | getLoopJoints (PxConstraint **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 |
| Returns the set of loop constraints (i.e. joints) in the articulation. | |
| virtual PxU32 | getCoefficientMatrixSize () const =0 |
| Returns the required size of the coefficient matrix in the articulation. | |
| virtual void | setRootGlobalPose (const PxTransform &pose, bool autowake=true)=0 |
| Sets the root link transform (world to actor frame). | |
| virtual PxTransform | getRootGlobalPose () const =0 |
| Returns the root link transform (world to actor frame). | |
| virtual void | setRootLinearVelocity (const PxVec3 &linearVelocity, bool autowake=true)=0 |
| Sets the root link linear center-of-mass velocity. | |
| virtual PxVec3 | getRootLinearVelocity (void) const =0 |
| Gets the root link center-of-mass linear velocity. | |
| virtual void | setRootAngularVelocity (const PxVec3 &angularVelocity, bool autowake=true)=0 |
| Sets the root link angular velocity. | |
| virtual PxVec3 | getRootAngularVelocity (void) const =0 |
| Gets the root link angular velocity. | |
| virtual PxSpatialVelocity | getLinkAcceleration (const PxU32 linkId)=0 |
| Returns the (classical) link acceleration in world space for the given low-level link index. | |
| virtual PxU32 | getGpuArticulationIndex ()=0 |
| Returns the GPU articulation index. | |
| virtual PxArticulationSpatialTendon * | createSpatialTendon ()=0 |
| Creates a spatial tendon to attach to the articulation with default attribute values. | |
| virtual PxArticulationFixedTendon * | createFixedTendon ()=0 |
| Creates a fixed tendon to attach to the articulation with default attribute values. | |
| virtual PxArticulationSensor * | createSensor (PxArticulationLink *link, const PxTransform &relativePose)=0 |
| Creates a force sensor attached to a link of the articulation. | |
| virtual PxU32 | getSpatialTendons (PxArticulationSpatialTendon **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 |
| Returns the spatial tendons attached to the articulation. | |
| virtual PxU32 | getNbSpatialTendons ()=0 |
| Returns the number of spatial tendons in the articulation. | |
| virtual PxU32 | getFixedTendons (PxArticulationFixedTendon **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 |
| Returns the fixed tendons attached to the articulation. | |
| virtual PxU32 | getNbFixedTendons ()=0 |
| Returns the number of fixed tendons in the articulation. | |
| virtual PxU32 | getSensors (PxArticulationSensor **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 |
| Returns the sensors attached to the articulation. | |
| virtual PxU32 | getNbSensors ()=0 |
| Returns the number of sensors in the articulation. | |
| virtual void | updateKinematic (PxArticulationKinematicFlags flags)=0 |
| Update link velocities and/or positions in the articulation. | |
Public Member Functions inherited from physx::PxBase | |
| virtual const char * | getConcreteTypeName () const =0 |
| Returns string name of dynamic type. | |
| 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 Attributes | |
| void * | userData |
| user can assign this to whatever, usually to create a 1:1 relationship with a user object. | |
Protected Member Functions | |
| 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. | |
| virtual bool | isKindOf (const char *superClass) const |
| Returns whether a given type name matches with the type of this instance. | |
| template<class T > | |
| bool | typeMatch () const |
Additional Inherited Members | |
Protected Attributes inherited from physx::PxBase | |
| PxType | mConcreteType |
| PxBaseFlags | mBaseFlags |
| PxU32 | mBuiltInRefCount |
A tree structure of bodies connected by joints that is treated as a unit by the dynamics solver. Parametrized in reduced (joint) coordinates.
|
pure virtual |
Adds a loop joint to the articulation system for inverse dynamics.
| [in] | joint | The joint to add. |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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. |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Prepares common articulation data based on articulation pose for inverse dynamics calculations.
Usage:
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Computes the coefficient matrix for contact forces.
| [out] | cache | Out: PxArticulationCache::coefficientMatrix. |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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. |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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. |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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. |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Computes the joint DOF forces required to counteract gravitational forces for the given articulation pose.
| [out] | cache | Out: PxArticulationCache::jointForce. |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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. |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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. |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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. |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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. |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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. |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Creates an articulation cache that can be used to read and write internal articulation data.
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Creates a fixed tendon to attach to the articulation with default attribute values.
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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. |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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. |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Creates a spatial tendon to attach to the articulation with default attribute values.
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Returns the aggregate the articulation might be a part of.
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Returns the articulation's flags.
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Returns the size of the articulation cache in bytes.
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Returns the required size of the coefficient matrix in the articulation.
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Returns the total number of joint degrees-of-freedom (DOFs) of the articulation.
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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. |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Returns the GPU articulation index.
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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. |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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. |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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. |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Gets the limit on the magnitude of the angular velocity at the articulation's center of mass.
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Gets the limit on the magnitude of the linear velocity of the articulation's center of mass.
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Returns the name string set with setName().
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Returns the number of fixed tendons in the articulation.
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Returns the number of links in the articulation.
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Returns the number of loop joints in the articulation for inverse dynamics.
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Returns the number of sensors in the articulation.
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Returns the number of shapes in the articulation.
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Returns the number of spatial tendons in the articulation.
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Gets the root link angular velocity.
For performance, prefer PxArticulationCache::rootLinkData to get the root link velocity in a batch query.
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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.
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Gets the root link center-of-mass linear velocity.
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Returns the scene which this articulation belongs to.
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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. |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Returns the mass-normalized energy below which the articulation may go to sleep.
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Returns the solver iteration counts.
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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. |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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.
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Returns the wake counter of the articulation in seconds.
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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. |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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.
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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() |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Forces the articulation to sleep.
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Releases the articulation, and all its links and corresponding joints.
Attached sensors and tendons are released automatically when the articulation is released.
Implements physx::PxBase.
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Removes a loop joint from the articulation for inverse dynamics.
| [in] | joint | The joint to remove. |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Raises or clears a flag on the articulation.
| [in] | flag | The articulation flag. |
| [in] | value | The value to set the flag to. |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Sets flags on the articulation.
| [in] | flags | The articulation flags. |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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. |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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. |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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. |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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. |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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. |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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. |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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) |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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] |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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) |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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) |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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. |
Implemented in physx::NpArticulationReducedCoordinate.
|
pure 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
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Wakes up the articulation if it is sleeping.
Implemented in physx::NpArticulationReducedCoordinate.
|
pure virtual |
Zeroes all data in the articulation cache, except user-provided and scratch memory, and cache version.
Implemented in physx::NpArticulationReducedCoordinate.