Classes | |
class | PxSerializer |
Serialization interface class. More... | |
class | PxSerializerDefaultAdapter< T > |
Default PxSerializer implementation. More... | |
struct | PxConverterReportMode |
class | PxBinaryConverter |
Binary converter for serialized streams. More... | |
class | PxBroadPhaseExt |
class | PxCollectionExt |
struct | PxConstraintExtIDs |
Unique identifiers for extensions classes which implement a constraint based on PxConstraint. More... | |
struct | PxD6Axis |
Used to specify one of the degrees of freedom of a D6 joint. More... | |
struct | PxD6Motion |
Used to specify the range of motions allowed for a degree of freedom in a D6 joint. More... | |
struct | PxD6Drive |
Used to specify which axes of a D6 joint are driven. More... | |
struct | PxD6JointDriveFlag |
flags for configuring the drive model of a PxD6Joint More... | |
class | PxD6JointDrive |
parameters for configuring the drive model of a PxD6Joint More... | |
class | PxD6Joint |
A D6 joint is a general constraint between two actors. More... | |
class | PxDefaultAllocator |
default implementation of the allocator interface required by the SDK More... | |
class | PxDefaultCpuDispatcher |
A default implementation for a CPU task dispatcher. More... | |
class | PxGroupsMask |
64-bit mask used for collision filtering. More... | |
struct | PxFilterOp |
Collision filtering operations. More... | |
class | PxDefaultMemoryOutputStream |
default implementation of a memory write stream More... | |
class | PxDefaultMemoryInputData |
default implementation of a memory read stream More... | |
class | PxDefaultFileOutputStream |
default implementation of a file write stream More... | |
class | PxDefaultFileInputData |
default implementation of a file read stream More... | |
struct | PxDistanceJointFlag |
flags for configuring the drive of a PxDistanceJoint More... | |
class | PxDistanceJoint |
a joint that maintains an upper or lower bound (or both) on the distance between two points on different objects More... | |
class | PxFixedJoint |
A fixed joint permits no relative movement between two bodies. ie the bodies are glued together. More... | |
struct | PxJointConcreteType |
an enumeration of PhysX' built-in joint types More... | |
struct | PxJointActorIndex |
an enumeration for specifying one or other of the actors referenced by a joint More... | |
class | PxJoint |
a base interface providing common functionality for PhysX joints More... | |
class | PxSpring |
class | PxJointLimitParameters |
Describes the parameters for a joint limit. More... | |
class | PxJointLinearLimit |
Describes a one-sided linear limit. More... | |
class | PxJointLinearLimitPair |
Describes a two-sided limit. More... | |
class | PxJointAngularLimitPair |
class | PxJointLimitCone |
Describes an elliptical conical joint limit. Note that very small or highly elliptical limit cones may result in jitter. More... | |
class | PxJointLimitPyramid |
Describes a pyramidal joint limit. More... | |
class | PxMassProperties |
Utility class to compute and manipulate mass and inertia tensor properties. More... | |
struct | PxPrismaticJointFlag |
Flags specific to the prismatic joint. More... | |
class | PxPrismaticJoint |
A prismatic joint permits relative translational movement between two bodies along an axis, but no relative rotational movement. More... | |
class | RaycastCCDManager |
Raycast-CCD manager. More... | |
struct | PxRepXObject |
Helper class containing the mapping of id to object, and type name. More... | |
struct | PxRepXInstantiationArgs |
Arguments required to instantiate a serializable object from RepX. More... | |
struct | PxRevoluteJointFlag |
Flags specific to the Revolute Joint. More... | |
class | PxRevoluteJoint |
A joint which behaves in a similar way to a hinge or axle. More... | |
class | PxRigidActorExt |
utility functions for use with PxRigidActor and subclasses More... | |
class | PxRigidBodyExt |
utility functions for use with PxRigidBody and subclasses More... | |
class | PxSceneQueryExt |
utility functions for use with PxScene, related to scene queries. More... | |
class | PxSerialization |
Utility functions for serialization. More... | |
class | PxShapeExt |
utility functions for use with PxShape More... | |
struct | PxSphericalJointFlag |
Flags specific to the spherical joint. More... | |
class | PxSphericalJoint |
A joint which behaves in a similar way to a ball and socket. More... | |
class | PxMeshOverlapUtil |
Utility class to find mesh triangles touched by a specified geometry object. More... | |
Macros | |
#define | PX_NEW_SERIALIZER_ADAPTER(x) |
Preprocessor Macro to simplify adapter creation. More... | |
#define | PX_DELETE_SERIALIZER_ADAPTER(x) { PxSerializer* s = x; if (s) { s->~PxSerializer(); PxGetFoundation().getAllocatorCallback().deallocate(s); } } |
Preprocessor Macro to simplify adapter deletion. More... | |
#define | PX_BINARY_SERIAL_VERSION 0 |
Typedefs | |
typedef PxFlags< PxD6JointDriveFlag::Enum, PxU32 > | PxD6JointDriveFlags |
typedef FILE * | PxFileHandle |
typedef PxFlags< PxDistanceJointFlag::Enum, PxU16 > | PxDistanceJointFlags |
typedef PxFlags< PxPrismaticJointFlag::Enum, PxU16 > | PxPrismaticJointFlags |
typedef PxFlags< PxRevoluteJointFlag::Enum, PxU16 > | PxRevoluteJointFlags |
typedef PxQueryHit | PxSceneQueryHit |
typedef PxQueryFilterData | PxSceneQueryFilterData |
typedef PxQueryFilterCallback | PxSceneQueryFilterCallback |
typedef PxQueryCache | PxSceneQueryCache |
typedef PxHitFlag | PxSceneQueryFlag |
typedef PxHitFlags | PxSceneQueryFlags |
typedef PxFlags< PxSphericalJointFlag::Enum, PxU16 > | PxSphericalJointFlags |
Functions | |
PxU32 | PxFindFaceIndex (const PxConvexMeshGeometry &convexGeom, const PxTransform &geomPose, const PxVec3 &impactPos, const PxVec3 &unitDir) |
Computes closest polygon of the convex hull geometry for a given impact point and impact direction. When doing sweeps against a scene, one might want to delay the rather expensive computation of the hit face index for convexes until it is clear the information is really needed and then use this method to get the corresponding face index. More... | |
PxD6Joint * | PxD6JointCreate (PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1) |
Create a D6 joint. More... | |
PxJoint * | PxD6JointCreate_Fixed (PxPhysics &physics, PxRigidActor *actor0, const PxVec3 &localPos0, PxRigidActor *actor1, const PxVec3 &localPos1, bool useD6) |
Helper function to create a fixed joint, using either a PxD6Joint or PxFixedJoint. More... | |
PxJoint * | PxD6JointCreate_Distance (PxPhysics &physics, PxRigidActor *actor0, const PxVec3 &localPos0, PxRigidActor *actor1, const PxVec3 &localPos1, float maxDist, bool useD6) |
Helper function to create a distance joint, using either a PxD6Joint or PxDistanceJoint. More... | |
PxJoint * | PxD6JointCreate_Prismatic (PxPhysics &physics, PxRigidActor *actor0, const PxVec3 &localPos0, PxRigidActor *actor1, const PxVec3 &localPos1, const PxVec3 &axis, float minLimit, float maxLimit, bool useD6) |
Helper function to create a prismatic joint, using either a PxD6Joint or PxPrismaticJoint. More... | |
PxJoint * | PxD6JointCreate_Revolute (PxPhysics &physics, PxRigidActor *actor0, const PxVec3 &localPos0, PxRigidActor *actor1, const PxVec3 &localPos1, const PxVec3 &axis, float minLimit, float maxLimit, bool useD6) |
Helper function to create a revolute joint, using either a PxD6Joint or PxRevoluteJoint. More... | |
PxJoint * | PxD6JointCreate_Spherical (PxPhysics &physics, PxRigidActor *actor0, const PxVec3 &localPos0, PxRigidActor *actor1, const PxVec3 &localPos1, const PxVec3 &axis, float limit1, float limit2, bool useD6) |
Helper function to create a spherical joint, using either a PxD6Joint or PxSphericalJoint. More... | |
PxJoint * | PxD6JointCreate_GenericCone (float &apiroty, float &apirotz, PxPhysics &physics, PxRigidActor *actor0, const PxVec3 &localPos0, PxRigidActor *actor1, const PxVec3 &localPos1, float minLimit1, float maxLimit1, float minLimit2, float maxLimit2, bool useD6) |
Helper function to create a spherical joint, using either a PxD6Joint or PxSphericalJoint. More... | |
PxJoint * | PxD6JointCreate_Pyramid (PxPhysics &physics, PxRigidActor *actor0, const PxVec3 &localPos0, PxRigidActor *actor1, const PxVec3 &localPos1, const PxVec3 &axis, float minLimit1, float maxLimit1, float minLimit2, float maxLimit2) |
Helper function to create a D6 joint with pyramidal swing limits. More... | |
PX_FORCE_INLINE void * | platformAlignedAlloc (size_t size) |
PX_FORCE_INLINE void | platformAlignedFree (void *ptr) |
PxDefaultCpuDispatcher * | PxDefaultCpuDispatcherCreate (PxU32 numThreads, PxU32 *affinityMasks=NULL) |
Create default dispatcher, extensions SDK needs to be initialized first. More... | |
PxFilterFlags | PxDefaultSimulationFilterShader (PxFilterObjectAttributes attributes0, PxFilterData filterData0, PxFilterObjectAttributes attributes1, PxFilterData filterData1, PxPairFlags &pairFlags, const void *constantBlock, PxU32 constantBlockSize) |
Implementation of a simple filter shader that emulates PhysX 2.8.x filtering. More... | |
bool | PxGetGroupCollisionFlag (const PxU16 group1, const PxU16 group2) |
Determines if collision detection is performed between a pair of groups. More... | |
void | PxSetGroupCollisionFlag (const PxU16 group1, const PxU16 group2, const bool enable) |
Specifies if collision should be performed by a pair of groups. More... | |
PxU16 | PxGetGroup (const PxActor &actor) |
Retrieves the value set with PxSetGroup() More... | |
void | PxSetGroup (PxActor &actor, const PxU16 collisionGroup) |
Sets which collision group this actor is part of. More... | |
void | PxGetFilterOps (PxFilterOp::Enum &op0, PxFilterOp::Enum &op1, PxFilterOp::Enum &op2) |
Retrieves filtering operation. See comments for PxGroupsMask. More... | |
void | PxSetFilterOps (const PxFilterOp::Enum &op0, const PxFilterOp::Enum &op1, const PxFilterOp::Enum &op2) |
Setups filtering operations. See comments for PxGroupsMask. More... | |
bool | PxGetFilterBool () |
Retrieves filtering's boolean value. See comments for PxGroupsMask. More... | |
void | PxSetFilterBool (const bool enable) |
Setups filtering's boolean value. See comments for PxGroupsMask. More... | |
void | PxGetFilterConstants (PxGroupsMask &c0, PxGroupsMask &c1) |
Gets filtering constant K0 and K1. See comments for PxGroupsMask. More... | |
void | PxSetFilterConstants (const PxGroupsMask &c0, const PxGroupsMask &c1) |
Setups filtering's K0 and K1 value. See comments for PxGroupsMask. More... | |
PxGroupsMask | PxGetGroupsMask (const PxActor &actor) |
Gets 64-bit mask used for collision filtering. See comments for PxGroupsMask. More... | |
void | PxSetGroupsMask (PxActor &actor, const PxGroupsMask &mask) |
Sets 64-bit mask used for collision filtering. See comments for PxGroupsMask. More... | |
PxDistanceJoint * | PxDistanceJointCreate (PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1) |
Create a distance Joint. More... | |
PX_C_EXPORT bool PX_CALL_CONV | PxInitExtensions (physx::PxPhysics &physics, physx::PxPvd *pvd) |
Initialize the PhysXExtensions library. More... | |
PX_C_EXPORT void PX_CALL_CONV | PxCloseExtensions () |
Shut down the PhysXExtensions library. More... | |
PxFixedJoint * | PxFixedJointCreate (PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1) |
Create a fixed joint. More... | |
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. More... | |
PxPrismaticJoint * | PxPrismaticJointCreate (PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1) |
Create a prismatic joint. More... | |
PxRevoluteJoint * | PxRevoluteJointCreate (PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1) |
Create a revolute joint. More... | |
PxRigidDynamic * | PxCreateDynamic (PxPhysics &sdk, const PxTransform &transform, const PxGeometry &geometry, PxMaterial &material, PxReal density, const PxTransform &shapeOffset=PxTransform(PxIdentity)) |
simple method to create a PxRigidDynamic actor with a single PxShape. More... | |
PxRigidDynamic * | PxCreateDynamic (PxPhysics &sdk, const PxTransform &transform, PxShape &shape, PxReal density) |
simple method to create a PxRigidDynamic actor with a single PxShape. More... | |
PxRigidDynamic * | PxCreateKinematic (PxPhysics &sdk, const PxTransform &transform, const PxGeometry &geometry, PxMaterial &material, PxReal density, const PxTransform &shapeOffset=PxTransform(PxIdentity)) |
simple method to create a kinematic PxRigidDynamic actor with a single PxShape. More... | |
PxRigidDynamic * | PxCreateKinematic (PxPhysics &sdk, const PxTransform &transform, PxShape &shape, PxReal density) |
simple method to create a kinematic PxRigidDynamic actor with a single PxShape. More... | |
PxRigidStatic * | PxCreateStatic (PxPhysics &sdk, const PxTransform &transform, const PxGeometry &geometry, PxMaterial &material, const PxTransform &shapeOffset=PxTransform(PxIdentity)) |
simple method to create a PxRigidStatic actor with a single PxShape. More... | |
PxRigidStatic * | PxCreateStatic (PxPhysics &sdk, const PxTransform &transform, PxShape &shape) |
simple method to create a PxRigidStatic actor with a single PxShape. More... | |
PxShape * | PxCloneShape (PxPhysics &physicsSDK, const PxShape &shape, bool isExclusive) |
create a shape by copying attributes from another shape More... | |
PxRigidStatic * | PxCloneStatic (PxPhysics &physicsSDK, const PxTransform &transform, const PxRigidActor &actor) |
create a static body by copying attributes from another rigid actor More... | |
PxRigidDynamic * | PxCloneDynamic (PxPhysics &physicsSDK, const PxTransform &transform, const PxRigidDynamic &body) |
create a dynamic body by copying attributes from an existing body More... | |
PxRigidStatic * | PxCreatePlane (PxPhysics &sdk, const PxPlane &plane, PxMaterial &material) |
create a plane actor. The plane equation is n.x + d = 0 More... | |
void | PxScaleRigidActor (PxRigidActor &actor, PxReal scale, bool scaleMassProps=true) |
scale a rigid actor by a uniform scale More... | |
PX_C_EXPORT bool PX_CALL_CONV | PxBuildSmoothNormals (physx::PxU32 nbTris, physx::PxU32 nbVerts, const physx::PxVec3 *verts, const physx::PxU32 *dFaces, const physx::PxU16 *wFaces, physx::PxVec3 *normals, bool flip) |
Builds smooth vertex normals over a mesh. More... | |
PxSphericalJoint * | PxSphericalJointCreate (PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1) |
Create a spherical joint. More... | |
bool | PxComputeTriangleMeshPenetration (PxVec3 &direction, PxReal &depth, const PxGeometry &geom, const PxTransform &geomPose, const PxTriangleMeshGeometry &meshGeom, const PxTransform &meshPose, PxU32 maxIter, PxU32 *usedIter=NULL) |
Computes an approximate minimum translational distance (MTD) between a geometry object and a mesh. More... | |
bool | PxComputeHeightFieldPenetration (PxVec3 &direction, PxReal &depth, const PxGeometry &geom, const PxTransform &geomPose, const PxHeightFieldGeometry &heightFieldGeom, const PxTransform &heightFieldPose, PxU32 maxIter, PxU32 *usedIter=NULL) |
Computes an approximate minimum translational distance (MTD) between a geometry object and a heightfield. More... | |
#define PX_BINARY_SERIAL_VERSION 0 |
PX_BINARY_SERIAL_VERSION is used to specify the binary data format compatibility additionally to the physics sdk version. The binary format version is defined as "PX_PHYSICS_VERSION_MAJOR.PX_PHYSICS_VERSION_MINOR.PX_PHYSICS_VERSION_BUGFIX-PX_BINARY_SERIAL_VERSION". The following binary format versions are compatible with the current physics version: (no compatible versions)
The PX_BINARY_SERIAL_VERSION for a given PhysX release is typically 0. If incompatible modifications are made to a customer specific branch the number should be increased.
#define PX_DELETE_SERIALIZER_ADAPTER | ( | x | ) | { PxSerializer* s = x; if (s) { s->~PxSerializer(); PxGetFoundation().getAllocatorCallback().deallocate(s); } } |
Preprocessor Macro to simplify adapter deletion.
#define PX_NEW_SERIALIZER_ADAPTER | ( | x | ) |
Preprocessor Macro to simplify adapter creation.
Note: that the allocator used for creation needs to match with the one used in PX_DELETE_SERIALIZER_ADAPTER.
typedef PxFlags<PxDistanceJointFlag::Enum, PxU16> PxDistanceJointFlags |
typedef FILE* PxFileHandle |
typedef PxFlags<PxPrismaticJointFlag::Enum, PxU16> PxPrismaticJointFlags |
typedef PxFlags<PxRevoluteJointFlag::Enum, PxU16> PxRevoluteJointFlags |
typedef PxQueryCache PxSceneQueryCache |
typedef PxHitFlag PxSceneQueryFlag |
typedef PxHitFlags PxSceneQueryFlags |
typedef PxQueryHit PxSceneQueryHit |
typedef PxFlags<PxSphericalJointFlag::Enum, PxU16> PxSphericalJointFlags |
PX_FORCE_INLINE void* platformAlignedAlloc | ( | size_t | size | ) |
Referenced by PxDefaultAllocator::allocate().
PX_FORCE_INLINE void platformAlignedFree | ( | void * | ptr | ) |
Referenced by PxDefaultAllocator::deallocate().
PX_C_EXPORT bool PX_CALL_CONV PxBuildSmoothNormals | ( | physx::PxU32 | nbTris, |
physx::PxU32 | nbVerts, | ||
const physx::PxVec3 * | verts, | ||
const physx::PxU32 * | dFaces, | ||
const physx::PxU16 * | wFaces, | ||
physx::PxVec3 * | normals, | ||
bool | flip | ||
) |
Builds smooth vertex normals over a mesh.
To use 32bit indices pass a pointer in dFaces and set wFaces to zero. Alternatively pass a pointer to wFaces and set dFaces to zero.
[in] | nbTris | Number of triangles |
[in] | nbVerts | Number of vertices |
[in] | verts | Array of vertices |
[in] | dFaces | Array of dword triangle indices, or null |
[in] | wFaces | Array of word triangle indices, or null |
[out] | normals | Array of computed normals (assumes nbVerts vectors) |
[in] | flip | Flips the normals or not |
PxRigidDynamic* PxCloneDynamic | ( | PxPhysics & | physicsSDK, |
const PxTransform & | transform, | ||
const PxRigidDynamic & | body | ||
) |
create a dynamic body by copying attributes from an existing body
The following properties are copied:
The following are not copied and retain their default values:
[in] | physicsSDK | PxPhysics - the physics SDK used to allocate the rigid static |
[in] | body | the rigid dynamic to clone. |
[in] | transform | the transform of the new dynamic |
create a shape by copying attributes from another shape
The function clones a PxShape. The following properties are copied:
The following are not copied and retain their default values:
[in] | physicsSDK | - the physics SDK used to allocate the shape |
[in] | shape | the shape from which to take the attributes. |
[in] | isExclusive | whether the new shape should be an exclusive or shared shape. |
PxRigidStatic* PxCloneStatic | ( | PxPhysics & | physicsSDK, |
const PxTransform & | transform, | ||
const PxRigidActor & | actor | ||
) |
create a static body by copying attributes from another rigid actor
The function clones a PxRigidDynamic or PxRigidStatic as a PxRigidStatic. A uniform scale is applied. The following properties are copied:
The following are not copied and retain their default values:
[in] | physicsSDK | - the physics SDK used to allocate the rigid static |
[in] | actor | the rigid actor from which to take the attributes. |
[in] | transform | the transform of the new static. |
PX_C_EXPORT void PX_CALL_CONV PxCloseExtensions | ( | ) |
Shut down the PhysXExtensions library.
This function should be called to cleanly shut down the PhysXExtensions library before application exit.
bool PxComputeHeightFieldPenetration | ( | PxVec3 & | direction, |
PxReal & | depth, | ||
const PxGeometry & | geom, | ||
const PxTransform & | geomPose, | ||
const PxHeightFieldGeometry & | heightFieldGeom, | ||
const PxTransform & | heightFieldPose, | ||
PxU32 | maxIter, | ||
PxU32 * | usedIter = NULL |
||
) |
Computes an approximate minimum translational distance (MTD) between a geometry object and a heightfield.
This iterative function computes an approximate vector that can be used to depenetrate a geom object from a heightfield. Returned depenetration vector should be applied to 'geom', to get out of the heightfield.
The function works best when the amount of overlap between the geom object and the mesh is small. If the geom object's center goes inside the heightfield, backface culling usually kicks in, no overlap is detected, and the function does not compute an MTD vector.
The function early exits if no overlap is detected after a depenetration attempt. This means that if maxIter = N, the code will attempt at most N iterations but it might exit earlier if depenetration has been successful. Usually N = 4 gives good results.
[out] | direction | Computed MTD unit direction |
[out] | depth | Penetration depth. Always positive or zero. |
[in] | geom | The geometry object |
[in] | geomPose | Pose for the geometry object |
[in] | heightFieldGeom | The heightfield geometry |
[in] | heightFieldPose | Pose for the heightfield |
[in] | maxIter | Max number of iterations before returning. |
[out] | usedIter | Number of depenetrations attempts performed during the call. Will not be returned if the pointer is NULL. |
bool PxComputeTriangleMeshPenetration | ( | PxVec3 & | direction, |
PxReal & | depth, | ||
const PxGeometry & | geom, | ||
const PxTransform & | geomPose, | ||
const PxTriangleMeshGeometry & | meshGeom, | ||
const PxTransform & | meshPose, | ||
PxU32 | maxIter, | ||
PxU32 * | usedIter = NULL |
||
) |
Computes an approximate minimum translational distance (MTD) between a geometry object and a mesh.
This iterative function computes an approximate vector that can be used to depenetrate a geom object from a triangle mesh. Returned depenetration vector should be applied to 'geom', to get out of the mesh.
The function works best when the amount of overlap between the geom object and the mesh is small. If the geom object's center goes inside the mesh, backface culling usually kicks in, no overlap is detected, and the function does not compute an MTD vector.
The function early exits if no overlap is detected after a depenetration attempt. This means that if maxIter = N, the code will attempt at most N iterations but it might exit earlier if depenetration has been successful. Usually N = 4 gives good results.
[out] | direction | Computed MTD unit direction |
[out] | depth | Penetration depth. Always positive or zero. |
[in] | geom | The geometry object |
[in] | geomPose | Pose for the geometry object |
[in] | meshGeom | The mesh geometry |
[in] | meshPose | Pose for the mesh |
[in] | maxIter | Max number of iterations before returning. |
[out] | usedIter | Number of depenetrations attempts performed during the call. Will not be returned if the pointer is NULL. |
PxRigidDynamic* PxCreateDynamic | ( | PxPhysics & | sdk, |
const PxTransform & | transform, | ||
const PxGeometry & | geometry, | ||
PxMaterial & | material, | ||
PxReal | density, | ||
const PxTransform & | shapeOffset = PxTransform(PxIdentity) |
||
) |
simple method to create a PxRigidDynamic actor with a single PxShape.
[in] | sdk | the PxPhysics object |
[in] | transform | the global pose of the new object |
[in] | geometry | the geometry of the new object's shape, which must be a sphere, capsule, box or convex |
[in] | material | the material for the new object's shape |
[in] | density | the density of the new object. Must be greater than zero. |
[in] | shapeOffset | an optional offset for the new shape, defaults to identity |
PxRigidDynamic* PxCreateDynamic | ( | PxPhysics & | sdk, |
const PxTransform & | transform, | ||
PxShape & | shape, | ||
PxReal | density | ||
) |
simple method to create a PxRigidDynamic actor with a single PxShape.
[in] | sdk | the PxPhysics object |
[in] | transform | the transform of the new object |
[in] | shape | the shape of the new object |
[in] | density | the density of the new object. Must be greater than zero. |
PxRigidDynamic* PxCreateKinematic | ( | PxPhysics & | sdk, |
const PxTransform & | transform, | ||
const PxGeometry & | geometry, | ||
PxMaterial & | material, | ||
PxReal | density, | ||
const PxTransform & | shapeOffset = PxTransform(PxIdentity) |
||
) |
simple method to create a kinematic PxRigidDynamic actor with a single PxShape.
[in] | sdk | the PxPhysics object |
[in] | transform | the global pose of the new object |
[in] | geometry | the geometry of the new object's shape |
[in] | material | the material for the new object's shape |
[in] | density | the density of the new object. Must be greater than zero if the object is to participate in simulation. |
[in] | shapeOffset | an optional offset for the new shape, defaults to identity |
PxRigidDynamic* PxCreateKinematic | ( | PxPhysics & | sdk, |
const PxTransform & | transform, | ||
PxShape & | shape, | ||
PxReal | density | ||
) |
simple method to create a kinematic PxRigidDynamic actor with a single PxShape.
[in] | sdk | the PxPhysics object |
[in] | transform | the global pose of the new object |
[in] | density | the density of the new object. Must be greater than zero if the object is to participate in simulation. |
[in] | shape | the shape of the new object |
PxRigidStatic* PxCreatePlane | ( | PxPhysics & | sdk, |
const PxPlane & | plane, | ||
PxMaterial & | material | ||
) |
create a plane actor. The plane equation is n.x + d = 0
[in] | sdk | the PxPhysics object |
[in] | plane | a plane of the form n.x + d = 0 |
[in] | material | the material for the new object's shape |
PxRigidStatic* PxCreateStatic | ( | PxPhysics & | sdk, |
const PxTransform & | transform, | ||
const PxGeometry & | geometry, | ||
PxMaterial & | material, | ||
const PxTransform & | shapeOffset = PxTransform(PxIdentity) |
||
) |
simple method to create a PxRigidStatic actor with a single PxShape.
[in] | sdk | the PxPhysics object |
[in] | transform | the global pose of the new object |
[in] | geometry | the geometry of the new object's shape |
[in] | material | the material for the new object's shape |
[in] | shapeOffset | an optional offset for the new shape, defaults to identity |
PxRigidStatic * PxCreateStatic | ( | PxPhysics & | sdk, |
const PxTransform & | transform, | ||
PxShape & | shape | ||
) |
simple method to create a PxRigidStatic actor with a single PxShape.
[in] | sdk | the PxPhysics object |
[in] | transform | the global pose of the new object |
[in] | shape | the new object's shape |
PxD6Joint* PxD6JointCreate | ( | PxPhysics & | physics, |
PxRigidActor * | actor0, | ||
const PxTransform & | localFrame0, | ||
PxRigidActor * | actor1, | ||
const PxTransform & | localFrame1 | ||
) |
Create a D6 joint.
[in] | physics | The physics SDK |
[in] | actor0 | An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame |
[in] | localFrame0 | The position and orientation of the joint relative to actor0 |
[in] | actor1 | An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame |
[in] | localFrame1 | The position and orientation of the joint relative to actor1 |
PxJoint* PxD6JointCreate_Distance | ( | PxPhysics & | physics, |
PxRigidActor * | actor0, | ||
const PxVec3 & | localPos0, | ||
PxRigidActor * | actor1, | ||
const PxVec3 & | localPos1, | ||
float | maxDist, | ||
bool | useD6 | ||
) |
Helper function to create a distance joint, using either a PxD6Joint or PxDistanceJoint.
This helper function only supports a maximum distance constraint, because PxD6Joint does not support a minimum distance constraint (contrary to PxDistanceJoint).
The distance is computed between the joint frames' world-space positions. The joint frames' orientations are irrelevant here so the function sets them to identity.
[in] | physics | The physics SDK |
[in] | actor0 | An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame |
[in] | localPos0 | The position of the joint relative to actor0 |
[in] | actor1 | An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame |
[in] | localPos1 | The position of the joint relative to actor1 |
[in] | maxDist | The maximum allowed distance |
[in] | useD6 | True to use a PxD6Joint, false to use a PxDistanceJoint; |
PxJoint* PxD6JointCreate_Fixed | ( | PxPhysics & | physics, |
PxRigidActor * | actor0, | ||
const PxVec3 & | localPos0, | ||
PxRigidActor * | actor1, | ||
const PxVec3 & | localPos1, | ||
bool | useD6 | ||
) |
Helper function to create a fixed joint, using either a PxD6Joint or PxFixedJoint.
For fixed joints it is important that the joint frames have the same orientation. This helper function uses an identity rotation for both. It is also important that the joint frames have an equivalent position in world space. The function does not check this, so it is up to users to ensure that this is the case.
[in] | physics | The physics SDK |
[in] | actor0 | An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame |
[in] | localPos0 | The position of the joint relative to actor0 |
[in] | actor1 | An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame |
[in] | localPos1 | The position of the joint relative to actor1 |
[in] | useD6 | True to use a PxD6Joint, false to use a PxFixedJoint; |
PxJoint* PxD6JointCreate_GenericCone | ( | float & | apiroty, |
float & | apirotz, | ||
PxPhysics & | physics, | ||
PxRigidActor * | actor0, | ||
const PxVec3 & | localPos0, | ||
PxRigidActor * | actor1, | ||
const PxVec3 & | localPos1, | ||
float | minLimit1, | ||
float | maxLimit1, | ||
float | minLimit2, | ||
float | maxLimit2, | ||
bool | useD6 | ||
) |
Helper function to create a spherical joint, using either a PxD6Joint or PxSphericalJoint.
This function supports a cone limit shape, defined by two pairs of angular limit values. This can be used to create an asymmetric cone. If the angular limit values are symmetric (i.e. minLimit1=-maxLimit1 and minLimit2=-maxLimit2) then the cone axis is the X axis in actor0's space. If the limits are not symmetric, the function rotates the cone axis accordingly so that limits remain symmetric for PhysX. If this happens, the initial joint frames will be different for both actors. By default minLimit1/maxLimit1 are limits around the joint's Y axis, and minLimit2/maxLimit2 are limits around the joint's Z axis.
The function creates hard limits, and uses PhysX's default contact distance parameter.
Limits are expressed in radians. Allowed range is ]-PI;PI[.
The cone axis is equivalent to the twist axis for the D6 joint. The twist motion is not limited.
The returned apiroty and apirotz values can later be added to retrieved Y and Z swing angle values (from the joint), to remap angle values to the given input range.
[out] | apiroty | Amount of rotation around Y used to setup actor0's joint frame |
[out] | apirotz | Amount of rotation around Z used to setup actor0's joint frame |
[in] | physics | The physics SDK |
[in] | actor0 | An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame |
[in] | localPos0 | The position of the joint relative to actor0 |
[in] | actor1 | An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame |
[in] | localPos1 | The position of the joint relative to actor1 |
[in] | minLimit1 | Min angular limit along the joint frame's second axis (first axis = cone axis) |
[in] | maxLimit1 | Max angular limit along the joint frame's second axis (first axis = cone axis) |
[in] | minLimit2 | Min angular limit along the joint frame's third axis (first axis = cone axis) |
[in] | maxLimit2 | Max angular limit along the joint frame's third axis (first axis = cone axis) |
[in] | useD6 | True to use a PxD6Joint, false to use a PxSphericalJoint; |
PxJoint* PxD6JointCreate_Prismatic | ( | PxPhysics & | physics, |
PxRigidActor * | actor0, | ||
const PxVec3 & | localPos0, | ||
PxRigidActor * | actor1, | ||
const PxVec3 & | localPos1, | ||
const PxVec3 & | axis, | ||
float | minLimit, | ||
float | maxLimit, | ||
bool | useD6 | ||
) |
Helper function to create a prismatic joint, using either a PxD6Joint or PxPrismaticJoint.
This function enforces that the joint frames have the same orientation, which is a local frame whose X is the desired translation axis. This orientation is computed by the function, so users only have to define the desired translation axis (typically 1;0;0 or 0;1;0 or 0;0;1).
The translation can be limited. Limits are enforced if minLimit<maxLimit. If minLimit=maxLimit the axis is locked. If minLimit>maxLimit the limits are not enforced and the axis is free. The limit values are computed relative to the position of actor0's joint frame.
The function creates hard limits, and uses PhysX's default contact distance parameter.
[in] | physics | The physics SDK |
[in] | actor0 | An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame |
[in] | localPos0 | The position of the joint relative to actor0 |
[in] | actor1 | An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame |
[in] | localPos1 | The position of the joint relative to actor1 |
[in] | axis | The axis along which objects are allowed to move, expressed in the actors' local space |
[in] | minLimit | The minimum allowed position along the axis |
[in] | maxLimit | The maximum allowed position along the axis |
[in] | useD6 | True to use a PxD6Joint, false to use a PxPrismaticJoint; |
PxJoint* PxD6JointCreate_Pyramid | ( | PxPhysics & | physics, |
PxRigidActor * | actor0, | ||
const PxVec3 & | localPos0, | ||
PxRigidActor * | actor1, | ||
const PxVec3 & | localPos1, | ||
const PxVec3 & | axis, | ||
float | minLimit1, | ||
float | maxLimit1, | ||
float | minLimit2, | ||
float | maxLimit2 | ||
) |
Helper function to create a D6 joint with pyramidal swing limits.
This function supports a pyramid limit shape, defined by two pairs of angular limit values. This can be used to create an asymmetric pyramid. If the angular limit values are symmetric (i.e. minLimit1=-maxLimit1 and minLimit2=-maxLimit2) then the pyramid axis is the X axis in actor0's space. By default minLimit1/maxLimit1 are limits around the joint's Y axis, and minLimit2/maxLimit2 are limits around the joint's Z axis.
The function creates hard limits, and uses PhysX's default contact distance parameter.
Limits are expressed in radians. Allowed range is ]-PI;PI[.
The pyramid axis is equivalent to the twist axis for the D6 joint. The twist motion is not limited.
[in] | physics | The physics SDK |
[in] | actor0 | An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame |
[in] | localPos0 | The position of the joint relative to actor0 |
[in] | actor1 | An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame |
[in] | localPos1 | The position of the joint relative to actor1 |
[in] | axis | The pyramid axis, expressed in the actors' local space |
[in] | minLimit1 | Min angular limit along the joint frame's second axis (first axis = pyramid axis) |
[in] | maxLimit1 | Max angular limit along the joint frame's second axis (first axis = pyramid axis) |
[in] | minLimit2 | Min angular limit along the joint frame's third axis (first axis = pyramid axis) |
[in] | maxLimit2 | Max angular limit along the joint frame's third axis (first axis = pyramid axis) |
PxJoint* PxD6JointCreate_Revolute | ( | PxPhysics & | physics, |
PxRigidActor * | actor0, | ||
const PxVec3 & | localPos0, | ||
PxRigidActor * | actor1, | ||
const PxVec3 & | localPos1, | ||
const PxVec3 & | axis, | ||
float | minLimit, | ||
float | maxLimit, | ||
bool | useD6 | ||
) |
Helper function to create a revolute joint, using either a PxD6Joint or PxRevoluteJoint.
This function enforces that the joint frames have the same orientation, which is a local frame whose X is the desired rotation axis. This orientation is computed by the function, so users only have to define the desired rotation axis (typically 1;0;0 or 0;1;0 or 0;0;1).
The rotation can be limited. Limits are enforced if minLimit<maxLimit. If minLimit=maxLimit the axis is locked. If minLimit>maxLimit the limits are not enforced and the axis is free. The limit values are computed relative to the rotation of actor0's joint frame.
The function creates hard limits, and uses PhysX's default contact distance parameter.
Limits are expressed in radians. Allowed range is ]-2*PI;+2*PI[
[in] | physics | The physics SDK |
[in] | actor0 | An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame |
[in] | localPos0 | The position of the joint relative to actor0 |
[in] | actor1 | An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame |
[in] | localPos1 | The position of the joint relative to actor1 |
[in] | axis | The axis around which objects are allowed to move, expressed in the actors' local space |
[in] | minLimit | The minimum allowed rotation along the axis |
[in] | maxLimit | The maximum allowed rotation along the axis |
[in] | useD6 | True to use a PxD6Joint, false to use a PxRevoluteJoint; |
PxJoint* PxD6JointCreate_Spherical | ( | PxPhysics & | physics, |
PxRigidActor * | actor0, | ||
const PxVec3 & | localPos0, | ||
PxRigidActor * | actor1, | ||
const PxVec3 & | localPos1, | ||
const PxVec3 & | axis, | ||
float | limit1, | ||
float | limit2, | ||
bool | useD6 | ||
) |
Helper function to create a spherical joint, using either a PxD6Joint or PxSphericalJoint.
This function supports a cone limit shape, defined by a cone axis and two angular limit values.
This function enforces that the joint frames have the same orientation, which is a local frame whose X is the desired cone axis. This orientation is computed by the function, so users only have to define the desired cone axis (typically 1;0;0 or 0;1;0 or 0;0;1).
The rotations can be limited. Limits are enforced if limit1>0 and limit2>0. Otherwise the motion is free. The limit values define an ellipse, which is the cross-section of the cone limit shape.
The function creates hard limits, and uses PhysX's default contact distance parameter.
Limits are expressed in radians. Allowed range is ]0;PI[. Limits are symmetric around the cone axis.
The cone axis is equivalent to the twist axis for the D6 joint. The twist motion is not limited.
[in] | physics | The physics SDK |
[in] | actor0 | An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame |
[in] | localPos0 | The position of the joint relative to actor0 |
[in] | actor1 | An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame |
[in] | localPos1 | The position of the joint relative to actor1 |
[in] | axis | The cone axis, expressed in the actors' local space |
[in] | limit1 | Max angular limit for the ellipse along the joint frame's second axis (first axis = cone axis) |
[in] | limit2 | Max angular limit for the ellipse along the joint frame's third axis (first axis = cone axis) |
[in] | useD6 | True to use a PxD6Joint, false to use a PxSphericalJoint; |
PxDefaultCpuDispatcher* PxDefaultCpuDispatcherCreate | ( | PxU32 | numThreads, |
PxU32 * | affinityMasks = NULL |
||
) |
Create default dispatcher, extensions SDK needs to be initialized first.
[in] | numThreads | Number of worker threads the dispatcher should use. |
[in] | affinityMasks | Array with affinity mask for each thread. If not defined, default masks will be used. |
PxFilterFlags PxDefaultSimulationFilterShader | ( | PxFilterObjectAttributes | attributes0, |
PxFilterData | filterData0, | ||
PxFilterObjectAttributes | attributes1, | ||
PxFilterData | filterData1, | ||
PxPairFlags & | pairFlags, | ||
const void * | constantBlock, | ||
PxU32 | constantBlockSize | ||
) |
Implementation of a simple filter shader that emulates PhysX 2.8.x filtering.
This shader provides the following logic:
Filter mask logic: Given the two PxFilterData structures fd0 and fd1 of two collision objects, the pair passes the filter if the following conditions are met:
1) Collision groups of the pair are enabled 2) Collision filtering equation is satisfied
PxDistanceJoint* PxDistanceJointCreate | ( | PxPhysics & | physics, |
PxRigidActor * | actor0, | ||
const PxTransform & | localFrame0, | ||
PxRigidActor * | actor1, | ||
const PxTransform & | localFrame1 | ||
) |
Create a distance Joint.
[in] | physics | The physics SDK |
[in] | actor0 | An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame |
[in] | localFrame0 | The position and orientation of the joint relative to actor0 |
[in] | actor1 | An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame |
[in] | localFrame1 | The position and orientation of the joint relative to actor1 |
PxU32 PxFindFaceIndex | ( | const PxConvexMeshGeometry & | convexGeom, |
const PxTransform & | geomPose, | ||
const PxVec3 & | impactPos, | ||
const PxVec3 & | unitDir | ||
) |
Computes closest polygon of the convex hull geometry for a given impact point and impact direction. When doing sweeps against a scene, one might want to delay the rather expensive computation of the hit face index for convexes until it is clear the information is really needed and then use this method to get the corresponding face index.
[in] | convexGeom | The convex mesh geometry. |
[in] | geomPose | Pose for the geometry object. |
[in] | impactPos | Impact position. |
[in] | unitDir | Normalized impact direction. |
PxFixedJoint* PxFixedJointCreate | ( | PxPhysics & | physics, |
PxRigidActor * | actor0, | ||
const PxTransform & | localFrame0, | ||
PxRigidActor * | actor1, | ||
const PxTransform & | localFrame1 | ||
) |
Create a fixed joint.
[in] | physics | The physics SDK |
[in] | actor0 | An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame |
[in] | localFrame0 | The position and orientation of the joint relative to actor0 |
[in] | actor1 | An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame |
[in] | localFrame1 | The position and orientation of the joint relative to actor1 |
bool PxGetFilterBool | ( | ) |
Retrieves filtering's boolean value. See comments for PxGroupsMask.
void PxGetFilterConstants | ( | PxGroupsMask & | c0, |
PxGroupsMask & | c1 | ||
) |
Gets filtering constant K0 and K1. See comments for PxGroupsMask.
[out] | c0 | the filtering constants, as a mask. See PxGroupsMask. |
[out] | c1 | the filtering constants, as a mask. See PxGroupsMask. |
void PxGetFilterOps | ( | PxFilterOp::Enum & | op0, |
PxFilterOp::Enum & | op1, | ||
PxFilterOp::Enum & | op2 | ||
) |
Retrieves filtering operation. See comments for PxGroupsMask.
[out] | op0 | First filter operator. |
[out] | op1 | Second filter operator. |
[out] | op2 | Third filter operator. |
PxU16 PxGetGroup | ( | const PxActor & | actor | ) |
Retrieves the value set with PxSetGroup()
[in] | actor | The actor |
bool PxGetGroupCollisionFlag | ( | const PxU16 | group1, |
const PxU16 | group2 | ||
) |
Determines if collision detection is performed between a pair of groups.
[in] | group1 | First Group |
[in] | group2 | Second Group |
PxGroupsMask PxGetGroupsMask | ( | const PxActor & | actor | ) |
Gets 64-bit mask used for collision filtering. See comments for PxGroupsMask.
[in] | actor | The actor |
PX_C_EXPORT bool PX_CALL_CONV PxInitExtensions | ( | physx::PxPhysics & | physics, |
physx::PxPvd * | pvd | ||
) |
Initialize the PhysXExtensions library.
This should be called before calling any functions or methods in extensions which may require allocation.
PxPrismaticJoint* PxPrismaticJointCreate | ( | PxPhysics & | physics, |
PxRigidActor * | actor0, | ||
const PxTransform & | localFrame0, | ||
PxRigidActor * | actor1, | ||
const PxTransform & | localFrame1 | ||
) |
Create a prismatic joint.
[in] | physics | The physics SDK |
[in] | actor0 | An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame |
[in] | localFrame0 | The position and orientation of the joint relative to actor0 |
[in] | actor1 | An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame |
[in] | localFrame1 | The position and orientation of the joint relative to actor1 |
PxRevoluteJoint* PxRevoluteJointCreate | ( | PxPhysics & | physics, |
PxRigidActor * | actor0, | ||
const PxTransform & | localFrame0, | ||
PxRigidActor * | actor1, | ||
const PxTransform & | localFrame1 | ||
) |
Create a revolute joint.
[in] | physics | The physics SDK |
[in] | actor0 | An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame |
[in] | localFrame0 | The position and orientation of the joint relative to actor0 |
[in] | actor1 | An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame |
[in] | localFrame1 | The position and orientation of the joint relative to actor1 |
void PxScaleRigidActor | ( | PxRigidActor & | actor, |
PxReal | scale, | ||
bool | scaleMassProps = true |
||
) |
scale a rigid actor by a uniform scale
The geometry and relative positions of the actor are multiplied by the given scale value. If the actor is a rigid body or an articulation link and the scaleMassProps value is true, the mass properties are scaled assuming the density is constant: the center of mass is linearly scaled, the mass is multiplied by the cube of the scale, and the inertia tensor by the fifth power of the scale.
[in] | actor | a rigid actor |
[in] | scale | the scale by which to multiply the actor. Must be >0. |
[in] | scaleMassProps | whether to scale the mass properties |
void PxSetFilterBool | ( | const bool | enable | ) |
Setups filtering's boolean value. See comments for PxGroupsMask.
[in] | enable | Boolean value for filter. |
void PxSetFilterConstants | ( | const PxGroupsMask & | c0, |
const PxGroupsMask & | c1 | ||
) |
Setups filtering's K0 and K1 value. See comments for PxGroupsMask.
[in] | c0 | The new group mask. See PxGroupsMask. |
[in] | c1 | The new group mask. See PxGroupsMask. |
void PxSetFilterOps | ( | const PxFilterOp::Enum & | op0, |
const PxFilterOp::Enum & | op1, | ||
const PxFilterOp::Enum & | op2 | ||
) |
Setups filtering operations. See comments for PxGroupsMask.
[in] | op0 | Filter op 0. |
[in] | op1 | Filter op 1. |
[in] | op2 | Filter op 2. |
void PxSetGroup | ( | PxActor & | actor, |
const PxU16 | collisionGroup | ||
) |
Sets which collision group this actor is part of.
[in] | actor | The actor |
[in] | collisionGroup | Collision group this actor belongs to |
void PxSetGroupCollisionFlag | ( | const PxU16 | group1, |
const PxU16 | group2, | ||
const bool | enable | ||
) |
Specifies if collision should be performed by a pair of groups.
[in] | group1 | First Group |
[in] | group2 | Second Group |
[in] | enable | True to enable collision between the groups |
void PxSetGroupsMask | ( | PxActor & | actor, |
const PxGroupsMask & | mask | ||
) |
Sets 64-bit mask used for collision filtering. See comments for PxGroupsMask.
[in] | actor | The actor |
[in] | mask | The group mask to set for the actor. |
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.
This replaces the following functions from previous SDK versions:
void NxJointDesc::setGlobalAnchor(const NxVec3& wsAnchor); void NxJointDesc::setGlobalAxis(const NxVec3& wsAxis);
The function sets the joint's localPose using world-space input parameters.
[in] | wsAnchor | Global frame anchor point. Range: position vector |
[in] | wsAxis | Global frame axis. Range: direction vector |
[in,out] | joint | Joint having its global frame set. |
PxSphericalJoint* PxSphericalJointCreate | ( | PxPhysics & | physics, |
PxRigidActor * | actor0, | ||
const PxTransform & | localFrame0, | ||
PxRigidActor * | actor1, | ||
const PxTransform & | localFrame1 | ||
) |
Create a spherical joint.
[in] | physics | The physics SDK |
[in] | actor0 | An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame |
[in] | localFrame0 | The position and orientation of the joint relative to actor0 |
[in] | actor1 | An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame |
[in] | localFrame1 | The position and orientation of the joint relative to actor1 |