|
virtual void | setMotion (PxD6Axis::Enum axis, PxD6Motion::Enum type)=0 |
| Set the motion type around the specified axis. More...
|
|
virtual PxD6Motion::Enum | getMotion (PxD6Axis::Enum axis) const =0 |
| Get the motion type around the specified axis. More...
|
|
virtual PxReal | getTwistAngle () const =0 |
| get the twist angle of the joint, in the range (-2*Pi, 2*Pi] More...
|
|
PX_DEPRECATED PX_FORCE_INLINE PxReal | getTwist () const |
| get the twist angle of the joint More...
|
|
virtual PxReal | getSwingYAngle () const =0 |
| get the swing angle of the joint from the Y axis More...
|
|
virtual PxReal | getSwingZAngle () const =0 |
| get the swing angle of the joint from the Z axis More...
|
|
virtual void | setDistanceLimit (const PxJointLinearLimit &limit)=0 |
| Set the distance limit for the joint. More...
|
|
virtual PxJointLinearLimit | getDistanceLimit () const =0 |
| Get the distance limit for the joint. More...
|
|
PX_DEPRECATED PX_FORCE_INLINE void | setLinearLimit (const PxJointLinearLimit &limit) |
|
PX_DEPRECATED PX_FORCE_INLINE PxJointLinearLimit | getLinearLimit () const |
|
virtual void | setLinearLimit (PxD6Axis::Enum axis, const PxJointLinearLimitPair &limit)=0 |
| Set the linear limit for a given linear axis. More...
|
|
virtual PxJointLinearLimitPair | getLinearLimit (PxD6Axis::Enum axis) const =0 |
| Get the linear limit for a given linear axis. More...
|
|
virtual void | setTwistLimit (const PxJointAngularLimitPair &limit)=0 |
| Set the twist limit for the joint. More...
|
|
virtual PxJointAngularLimitPair | getTwistLimit () const =0 |
| Get the twist limit for the joint. More...
|
|
virtual void | setSwingLimit (const PxJointLimitCone &limit)=0 |
| Set the swing cone limit for the joint. More...
|
|
virtual PxJointLimitCone | getSwingLimit () const =0 |
| Get the cone limit for the joint. More...
|
|
virtual void | setPyramidSwingLimit (const PxJointLimitPyramid &limit)=0 |
| Set a pyramidal swing limit for the joint. More...
|
|
virtual PxJointLimitPyramid | getPyramidSwingLimit () const =0 |
| Get the pyramidal swing limit for the joint. More...
|
|
virtual void | setDrive (PxD6Drive::Enum index, const PxD6JointDrive &drive)=0 |
| Set the drive parameters for the specified drive type. More...
|
|
virtual PxD6JointDrive | getDrive (PxD6Drive::Enum index) const =0 |
| Get the drive parameters for the specified drive type. More...
|
|
virtual void | setDrivePosition (const PxTransform &pose, bool autowake=true)=0 |
| Set the drive goal pose. More...
|
|
virtual PxTransform | getDrivePosition () const =0 |
| Get the drive goal pose. More...
|
|
virtual void | setDriveVelocity (const PxVec3 &linear, const PxVec3 &angular, bool autowake=true)=0 |
| Set the target goal velocity for drive. More...
|
|
virtual void | getDriveVelocity (PxVec3 &linear, PxVec3 &angular) const =0 |
| Get the target goal velocity for joint drive. More...
|
|
virtual void | setProjectionLinearTolerance (PxReal tolerance)=0 |
| Set the linear tolerance threshold for projection. Projection is enabled if PxConstraintFlag::ePROJECTION is set for the joint. More...
|
|
virtual PxReal | getProjectionLinearTolerance () const =0 |
| Get the linear tolerance threshold for projection. More...
|
|
virtual void | setProjectionAngularTolerance (PxReal tolerance)=0 |
| Set the angular tolerance threshold for projection. Projection is enabled if PxConstraintFlag::ePROJECTION is set for the joint. More...
|
|
virtual PxReal | getProjectionAngularTolerance () const =0 |
| Get the angular tolerance threshold for projection. More...
|
|
virtual const char * | getConcreteTypeName () const |
| Returns string name of PxD6Joint, used for serialization. More...
|
|
virtual void | setActors (PxRigidActor *actor0, PxRigidActor *actor1)=0 |
| Set the actors for this joint. More...
|
|
virtual void | getActors (PxRigidActor *&actor0, PxRigidActor *&actor1) const =0 |
| Get the actors for this joint. More...
|
|
virtual void | setLocalPose (PxJointActorIndex::Enum actor, const PxTransform &localPose)=0 |
| Set the joint local pose for an actor. More...
|
|
virtual PxTransform | getLocalPose (PxJointActorIndex::Enum actor) const =0 |
| get the joint local pose for an actor. More...
|
|
virtual PxTransform | getRelativeTransform () const =0 |
| get the relative pose for this joint More...
|
|
virtual PxVec3 | getRelativeLinearVelocity () const =0 |
| get the relative linear velocity of the joint More...
|
|
virtual PxVec3 | getRelativeAngularVelocity () const =0 |
| get the relative angular velocity of the joint More...
|
|
virtual void | setBreakForce (PxReal force, PxReal torque)=0 |
| set the break force for this joint. More...
|
|
virtual void | getBreakForce (PxReal &force, PxReal &torque) const =0 |
| get the break force for this joint. More...
|
|
virtual void | setConstraintFlags (PxConstraintFlags flags)=0 |
| set the constraint flags for this joint. More...
|
|
virtual void | setConstraintFlag (PxConstraintFlag::Enum flag, bool value)=0 |
| set a constraint flags for this joint to a specified value. More...
|
|
virtual PxConstraintFlags | getConstraintFlags () const =0 |
| get the constraint flags for this joint. More...
|
|
virtual void | setInvMassScale0 (PxReal invMassScale)=0 |
| set the inverse mass scale for actor0. More...
|
|
virtual PxReal | getInvMassScale0 () const =0 |
| get the inverse mass scale for actor0. More...
|
|
virtual void | setInvInertiaScale0 (PxReal invInertiaScale)=0 |
| set the inverse inertia scale for actor0. More...
|
|
virtual PxReal | getInvInertiaScale0 () const =0 |
| get the inverse inertia scale for actor0. More...
|
|
virtual void | setInvMassScale1 (PxReal invMassScale)=0 |
| set the inverse mass scale for actor1. More...
|
|
virtual PxReal | getInvMassScale1 () const =0 |
| get the inverse mass scale for actor1. More...
|
|
virtual void | setInvInertiaScale1 (PxReal invInertiaScale)=0 |
| set the inverse inertia scale for actor1. More...
|
|
virtual PxReal | getInvInertiaScale1 () const =0 |
| get the inverse inertia scale for actor1. More...
|
|
virtual PxConstraint * | getConstraint () const =0 |
| Retrieves the PxConstraint corresponding to this joint. 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 void | release ()=0 |
| Deletes the joint. More...
|
|
virtual PxScene * | getScene () const =0 |
| Retrieves the scene which this joint belongs to. 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 D6 joint is a general constraint between two actors.
It allows the application to individually define the linear and rotational degrees of freedom, and also to configure a variety of limits and driven degrees of freedom.
By default all degrees of freedom are locked. So to create a prismatic joint with free motion along the x-axis:
Or a Revolute joint with motion free allowed around the x-axis:
Degrees of freedom may also be set to limited instead of locked.
There are two different kinds of linear limits available. The first kind is a single limit value for all linear degrees of freedom, which may act as a linear, circular, or spherical limit depending on which degrees of freedom are limited. This is similar to a distance limit. Then, the second kind supports a pair of limit values for each linear axis, which can be used to implement a traditional prismatic joint for example.
If the twist degree of freedom is limited, is supports upper and lower limits. The two swing degrees of freedom are limited with a cone limit.
- See also
- PxD6JointCreate() PxJoint