|
| virtual void | setMotion (PxD6Axis::Enum axis, PxD6Motion::Enum type)=0 |
| | Set the motion type around the specified axis.
|
| |
| virtual PxD6Motion::Enum | getMotion (PxD6Axis::Enum axis) const =0 |
| | Get the motion type around the specified axis.
|
| |
|
virtual PxReal | getTwistAngle () const =0 |
| | get the twist angle of the joint, in the range (-2*Pi, 2*Pi]
|
| |
| PX_DEPRECATED PX_FORCE_INLINE PxReal | getTwist () const |
| | get the twist angle of the joint
|
| |
|
virtual PxReal | getSwingYAngle () const =0 |
| | get the swing angle of the joint from the Y axis
|
| |
|
virtual PxReal | getSwingZAngle () const =0 |
| | get the swing angle of the joint from the Z axis
|
| |
| virtual void | setDistanceLimit (const PxJointLinearLimit &limit)=0 |
| | Set the distance limit for the joint.
|
| |
| virtual PxJointLinearLimit | getDistanceLimit () const =0 |
| | Get the distance limit for the joint.
|
| |
| 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.
|
| |
| virtual PxJointLinearLimitPair | getLinearLimit (PxD6Axis::Enum axis) const =0 |
| | Get the linear limit for a given linear axis.
|
| |
| virtual void | setTwistLimit (const PxJointAngularLimitPair &limit)=0 |
| | Set the twist limit for the joint.
|
| |
| virtual PxJointAngularLimitPair | getTwistLimit () const =0 |
| | Get the twist limit for the joint.
|
| |
| virtual void | setSwingLimit (const PxJointLimitCone &limit)=0 |
| | Set the swing cone limit for the joint.
|
| |
| virtual PxJointLimitCone | getSwingLimit () const =0 |
| | Get the cone limit for the joint.
|
| |
| virtual void | setPyramidSwingLimit (const PxJointLimitPyramid &limit)=0 |
| | Set a pyramidal swing limit for the joint.
|
| |
| virtual PxJointLimitPyramid | getPyramidSwingLimit () const =0 |
| | Get the pyramidal swing limit for the joint.
|
| |
| virtual void | setDrive (PxD6Drive::Enum index, const PxD6JointDrive &drive)=0 |
| | Set the drive parameters for the specified drive type.
|
| |
| virtual PxD6JointDrive | getDrive (PxD6Drive::Enum index) const =0 |
| | Get the drive parameters for the specified drive type.
|
| |
| virtual void | setDrivePosition (const PxTransform &pose, bool autowake=true)=0 |
| | Set the drive goal pose.
|
| |
| virtual PxTransform | getDrivePosition () const =0 |
| | Get the drive goal pose.
|
| |
| virtual void | setDriveVelocity (const PxVec3 &linear, const PxVec3 &angular, bool autowake=true)=0 |
| | Set the target goal velocity for drive.
|
| |
| virtual void | getDriveVelocity (PxVec3 &linear, PxVec3 &angular) const =0 |
| | Get the target goal velocity for joint drive.
|
| |
| virtual PX_DEPRECATED void | setProjectionLinearTolerance (PxReal tolerance)=0 |
| | Set the linear tolerance threshold for projection. Projection is enabled if PxConstraintFlag::ePROJECTION is set for the joint.
|
| |
| virtual PX_DEPRECATED PxReal | getProjectionLinearTolerance () const =0 |
| | Get the linear tolerance threshold for projection.
|
| |
| virtual PX_DEPRECATED void | setProjectionAngularTolerance (PxReal tolerance)=0 |
| | Set the angular tolerance threshold for projection. Projection is enabled if PxConstraintFlag::ePROJECTION is set for the joint.
|
| |
| virtual PX_DEPRECATED PxReal | getProjectionAngularTolerance () const =0 |
| | Get the angular tolerance threshold for projection.
|
| |
| virtual const char * | getConcreteTypeName () const |
| | Returns string name of PxD6Joint, used for serialization.
|
| |
| virtual void | setActors (PxRigidActor *actor0, PxRigidActor *actor1)=0 |
| | Set the actors for this joint.
|
| |
| virtual void | getActors (PxRigidActor *&actor0, PxRigidActor *&actor1) const =0 |
| | Get the actors for this joint.
|
| |
| virtual void | setLocalPose (PxJointActorIndex::Enum actor, const PxTransform &localPose)=0 |
| | Set the joint local pose for an actor.
|
| |
| virtual PxTransform | getLocalPose (PxJointActorIndex::Enum actor) const =0 |
| | get the joint local pose for an actor.
|
| |
| virtual PxTransform | getRelativeTransform () const =0 |
| | get the relative pose for this joint
|
| |
| virtual PxVec3 | getRelativeLinearVelocity () const =0 |
| | get the relative linear velocity of the joint
|
| |
| virtual PxVec3 | getRelativeAngularVelocity () const =0 |
| | get the relative angular velocity of the joint
|
| |
| virtual void | setBreakForce (PxReal force, PxReal torque)=0 |
| | set the break force for this joint.
|
| |
| virtual void | getBreakForce (PxReal &force, PxReal &torque) const =0 |
| | get the break force for this joint.
|
| |
| virtual void | setConstraintFlags (PxConstraintFlags flags)=0 |
| | set the constraint flags for this joint.
|
| |
| virtual void | setConstraintFlag (PxConstraintFlag::Enum flag, bool value)=0 |
| | set a constraint flags for this joint to a specified value.
|
| |
| virtual PxConstraintFlags | getConstraintFlags () const =0 |
| | get the constraint flags for this joint.
|
| |
| virtual void | setInvMassScale0 (PxReal invMassScale)=0 |
| | set the inverse mass scale for actor0.
|
| |
| virtual PxReal | getInvMassScale0 () const =0 |
| | get the inverse mass scale for actor0.
|
| |
| virtual void | setInvInertiaScale0 (PxReal invInertiaScale)=0 |
| | set the inverse inertia scale for actor0.
|
| |
| virtual PxReal | getInvInertiaScale0 () const =0 |
| | get the inverse inertia scale for actor0.
|
| |
| virtual void | setInvMassScale1 (PxReal invMassScale)=0 |
| | set the inverse mass scale for actor1.
|
| |
| virtual PxReal | getInvMassScale1 () const =0 |
| | get the inverse mass scale for actor1.
|
| |
| virtual void | setInvInertiaScale1 (PxReal invInertiaScale)=0 |
| | set the inverse inertia scale for actor1.
|
| |
| virtual PxReal | getInvInertiaScale1 () const =0 |
| | get the inverse inertia scale for actor1.
|
| |
| virtual PxConstraint * | getConstraint () const =0 |
| | Retrieves the PxConstraint corresponding to this joint.
|
| |
| virtual void | setName (const char *name)=0 |
| | Sets a name string for the object that can be retrieved with getName().
|
| |
| virtual const char * | getName () const =0 |
| | Retrieves the name string set with setName().
|
| |
| virtual void | release ()=0 |
| | Deletes the joint.
|
| |
| virtual PxScene * | getScene () const =0 |
| | Retrieves the scene which this joint belongs to.
|
| |
|
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.
|
| |
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:
...
...
@ eX
motion along the X axis
Definition PxD6Joint.h:68
Or a Revolute joint with motion free allowed around the x-axis:
...
...
@ eTWIST
motion around the X axis
Definition PxD6Joint.h:71
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