RavEngine
Loading...
Searching...
No Matches
physx::PxGearJoint Class Referenceabstract

A joint that connects two existing revolute joints and constrains their relative angular velocity and position with respect to each other. More...

#include <PxGearJoint.h>

Inheritance diagram for physx::PxGearJoint:
[legend]
Collaboration diagram for physx::PxGearJoint:
[legend]

Public Member Functions

virtual bool setHinges (const PxBase *hinge0, const PxBase *hinge1)=0
 Set the hinge/revolute joints connected by the gear joint.
 
virtual void setGearRatio (float ratio)=0
 Set the desired gear ratio.
 
virtual float getGearRatio () const =0
 Get the gear ratio.
 
virtual const char * getConcreteTypeName () const
 Returns string name of dynamic type.
 
- Public Member Functions inherited from physx::PxJoint
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.
 
- 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.
 

Protected Member Functions

PX_INLINE PxGearJoint (PxType concreteType, PxBaseFlags baseFlags)
 
PX_INLINE PxGearJoint (PxBaseFlags baseFlags)
 
virtual bool isKindOf (const char *name) const
 Returns whether a given type name matches with the type of this instance.
 
- Protected Member Functions inherited from physx::PxJoint
PX_INLINE PxJoint (PxType concreteType, PxBaseFlags baseFlags)
 Constructor.
 
PX_INLINE PxJoint (PxBaseFlags baseFlags)
 Deserialization constructor.
 
- 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
 

Additional Inherited Members

- Static Public Member Functions inherited from physx::PxJoint
static void getBinaryMetaData (PxOutputStream &stream)
 Put class meta data in stream, used for serialization.
 
- Public Attributes inherited from physx::PxJoint
void * userData
 user can assign this to whatever, usually to create a 1:1 relationship with a user object.
 
- Protected Attributes inherited from physx::PxBase
PxType mConcreteType
 
PxBaseFlags mBaseFlags
 
PxU32 mBuiltInRefCount
 

Detailed Description

A joint that connects two existing revolute joints and constrains their relative angular velocity and position with respect to each other.

See also
PxGearJointCreate PxJoint

Member Function Documentation

◆ getConcreteTypeName()

virtual const char * physx::PxGearJoint::getConcreteTypeName ( ) const
inlinevirtual

Returns string name of dynamic type.

Returns
Class name of most derived type of this object.

Implements physx::PxBase.

◆ getGearRatio()

virtual float physx::PxGearJoint::getGearRatio ( ) const
pure virtual

Get the gear ratio.

Returns
Current ratio

◆ isKindOf()

virtual bool physx::PxGearJoint::isKindOf ( const char *  name) const
inlineprotectedvirtual

Returns whether a given type name matches with the type of this instance.

Reimplemented from physx::PxJoint.

◆ setGearRatio()

virtual void physx::PxGearJoint::setGearRatio ( float  ratio)
pure virtual

Set the desired gear ratio.

For two gears with n0 and n1 teeth respectively, the gear ratio is n0/n1.

Note
You may need to use a negative gear ratio if the joint frames of involved actors are not oriented in the same direction.
Calling this function resets the internal positional error correction term.
Parameters
[in]ratioDesired ratio between the two hinges.

◆ setHinges()

virtual bool physx::PxGearJoint::setHinges ( const PxBase *  hinge0,
const PxBase *  hinge1 
)
pure virtual

Set the hinge/revolute joints connected by the gear joint.

The passed joints can be either PxRevoluteJoint, PxD6Joint or PxArticulationJointReducedCoordinate. The joints must define degrees of freedom around the twist axis. They cannot be null.

Note that these joints are only used to compute the positional error correction term, used to adjust potential drift between jointed actors. The gear joint can run without calling this function, but in that case some visible overlap may develop over time between the teeth of the gear meshes.

Note
Calling this function resets the internal positional error correction term.
Parameters
[in]hinge0The first hinge joint
[in]hinge1The second hinge joint
Returns
true if success

The documentation for this class was generated from the following file: