35#include "foundation/PxTransform.h"
36#include "PxRigidActor.h"
37#include "PxConstraint.h"
38#include "common/PxBase.h"
59 eSPHERICAL = PxConcreteType::eFIRST_PHYSX_EXTENSION,
72PX_DEFINE_TYPEINFO(
PxJoint, PxConcreteType::eUNDEFINED)
74PX_DEFINE_TYPEINFO(
PxGearJoint, PxJointConcreteType::eGEAR)
75PX_DEFINE_TYPEINFO(
PxD6Joint, PxJointConcreteType::eD6)
78PX_DEFINE_TYPEINFO(
PxFixedJoint, PxJointConcreteType::eFIXED)
Base class for objects that can be members of a PxCollection.
Definition PxBase.h:73
virtual bool isKindOf(const char *superClass) const
Returns whether a given type name matches with the type of this instance.
Definition PxBase.h:179
A plugin class for implementing constraints.
Definition PxConstraint.h:100
A D6 joint is a general constraint between two actors.
Definition PxD6Joint.h:224
a joint that maintains an upper or lower bound (or both) on the distance between two points on differ...
Definition PxDistanceJoint.h:82
A fixed joint permits no relative movement between two bodies. ie the bodies are glued together.
Definition PxFixedJoint.h:65
A joint that connects two existing revolute joints and constrains their relative angular velocity and...
Definition PxGearJoint.h:63
a base interface providing common functionality for PhysX joints
Definition PxJoint.h:105
virtual PxTransform getRelativeTransform() const =0
get the relative pose for this joint
virtual PxReal getInvInertiaScale0() const =0
get the inverse inertia scale for actor0.
virtual PxVec3 getRelativeLinearVelocity() const =0
get the relative linear velocity of the joint
virtual void setConstraintFlags(PxConstraintFlags flags)=0
set the constraint flags for this joint.
virtual void getActors(PxRigidActor *&actor0, PxRigidActor *&actor1) const =0
Get the actors for this joint.
virtual void setInvMassScale0(PxReal invMassScale)=0
set the inverse mass scale for actor0.
virtual const char * getName() const =0
Retrieves the name string set with setName().
virtual void setInvInertiaScale0(PxReal invInertiaScale)=0
set the inverse inertia scale for actor0.
virtual PxScene * getScene() const =0
Retrieves the scene which this joint belongs to.
virtual void release()=0
Deletes the joint.
virtual void setConstraintFlag(PxConstraintFlag::Enum flag, bool value)=0
set a constraint flags for this joint to a specified value.
virtual PxReal getInvMassScale1() const =0
get the inverse mass scale for actor1.
virtual PxConstraintFlags getConstraintFlags() const =0
get the constraint flags for this joint.
virtual void setBreakForce(PxReal force, PxReal torque)=0
set the break force for this joint.
virtual void setInvInertiaScale1(PxReal invInertiaScale)=0
set the inverse inertia scale for actor1.
virtual void setLocalPose(PxJointActorIndex::Enum actor, const PxTransform &localPose)=0
Set the joint local pose for an actor.
virtual PxConstraint * getConstraint() const =0
Retrieves the PxConstraint corresponding to this joint.
virtual void getBreakForce(PxReal &force, PxReal &torque) const =0
get the break force for this joint.
PX_INLINE PxJoint(PxBaseFlags baseFlags)
Deserialization constructor.
Definition PxJoint.h:374
PX_INLINE PxJoint(PxType concreteType, PxBaseFlags baseFlags)
Constructor.
Definition PxJoint.h:369
virtual PxVec3 getRelativeAngularVelocity() const =0
get the relative angular velocity of the joint
virtual PxReal getInvMassScale0() const =0
get the inverse mass scale for actor0.
void * userData
user can assign this to whatever, usually to create a 1:1 relationship with a user object.
Definition PxJoint.h:350
virtual PxTransform getLocalPose(PxJointActorIndex::Enum actor) const =0
get the joint local pose for an actor.
static void getBinaryMetaData(PxOutputStream &stream)
Put class meta data in stream, used for serialization.
Definition ExtMetaData.cpp:129
virtual void setActors(PxRigidActor *actor0, PxRigidActor *actor1)=0
Set the actors for this joint.
virtual void setName(const char *name)=0
Sets a name string for the object that can be retrieved with getName().
virtual void setInvMassScale1(PxReal invMassScale)=0
set the inverse mass scale for actor1.
virtual bool isKindOf(const char *name) const
Returns whether a given type name matches with the type of this instance.
Definition PxJoint.h:379
virtual PxReal getInvInertiaScale1() const =0
get the inverse inertia scale for actor1.
Output stream class for I/O.
Definition PxIO.h:114
A prismatic joint permits relative translational movement between two bodies along an axis,...
Definition PxPrismaticJoint.h:87
A joint that connects an existing revolute joint to an existing prismatic joint, and constrains their...
Definition PxRackAndPinionJoint.h:64
A joint which behaves in a similar way to a hinge or axle.
Definition PxRevoluteJoint.h:99
PxRigidActor represents a base class shared between dynamic and static rigid bodies in the physics SD...
Definition PxRigidActor.h:53
A scene is a collection of bodies and constraints which can interact.
Definition PxScene.h:178
A joint which behaves in a similar way to a ball and socket.
Definition PxSphericalJoint.h:89
PxReal stiffness
the spring strength of the drive: that is, the force proportional to the position error
Definition PxJoint.h:394
PxReal damping
the damping strength of the drive: that is, the force proportional to the velocity error
Definition PxJoint.h:395
3 Element vector class.
Definition PxVec3.h:50
PX_C_EXPORT void PX_CALL_CONV PxSetJointGlobalFrame(physx::PxJoint &joint, const physx::PxVec3 *wsAnchor, const physx::PxVec3 *wsAxis)
Helper function to setup a joint's global frame.
Definition ExtJoint.cpp:65
#define PX_CALL_CONV
Definition PxPreprocessor.h:299
#define PX_INLINE
Definition PxPreprocessor.h:320
Sorts an array of objects in ascending order, assuming that the predicate implements the < operator:
Definition PxBoxController.h:39
Enum
Definition PxConstraint.h:57
an enumeration for specifying one or other of the actors referenced by a joint
Definition PxJoint.h:91
an enumeration of PhysX' built-in joint types
Definition PxJoint.h:56