Helper functions#

PxParticleAndDiffuseBuffer * ExtGpu::PxCreateAndPopulateParticleAndDiffuseBuffer(const ExtGpu::PxParticleAndDiffuseBufferDesc &desc, PxCudaContextManager *cudaContextManager)

Creates and populates a particle buffer that includes support for diffuse particles.

PxParticleBuffer * ExtGpu::PxCreateAndPopulateParticleBuffer(const ExtGpu::PxParticleBufferDesc &desc, PxCudaContextManager *cudaContextManager)

Creates and populates a particle buffer.

PxParticleClothBuffer * ExtGpu::PxCreateAndPopulateParticleClothBuffer(const ExtGpu::PxParticleBufferDesc &desc, const PxParticleClothDesc &clothDesc, PxPartitionedParticleCloth &output, PxCudaContextManager *cudaContextManager)

Creates and populates a particle cloth buffer.

PxParticleRigidBuffer * ExtGpu::PxCreateAndPopulateParticleRigidBuffer(const ExtGpu::PxParticleBufferDesc &desc, const ExtGpu::PxParticleRigidDesc &rigidDesc, PxCudaContextManager *cudaContextManager)

Creates and populates a particle rigid buffer.

PxParticleAttachmentBuffer * ExtGpu::PxCreateParticleAttachmentBuffer(PxParticleBuffer &particleBuffer, PxParticleSystem &particleSystem)

Creates a particle attachment buffer.

PxParticleClothBufferHelper * ExtGpu::PxCreateParticleClothBufferHelper(const PxU32 maxCloths, const PxU32 maxTriangles, const PxU32 maxSprings, const PxU32 maxParticles, PxCudaContextManager *cudaContextManager)

Creates a PxParticleClothBufferHelper helper.

PxParticleRigidBufferHelper * ExtGpu::PxCreateParticleRigidBufferHelper(PxU32 maxRigids, PxU32 maxParticles, PxCudaContextManager *cudaContextManager)

Creates a PxParticleRigidBufferHelper .

PxParticleVolumeBufferHelper * ExtGpu::PxCreateParticleVolumeBufferHelper(PxU32 maxVolumes, PxU32 maxTriangles, PxCudaContextManager *cudaContextManager)

Creates a PxParticleVolumeBufferHelper .

PxArticulationLinkCookie PxAddArticulationLink(PxArticulationCookie articulation, const PxArticulationLinkCookie *parent, const PxArticulationLinkDataRC &data)

Add a link to the articulation.

void PxApplyArticulationCache(PxArticulationHandle articulation, PxArticulationCache &cache, PxArticulationCacheFlags flag)

Apply the user defined data in the cache to the articulation system.

physx::PxDeformableVolumeMesh * PxAssembleDeformableVolumeMesh(physx::PxTetrahedronMeshData &simulationMesh, physx::PxDeformableVolumeSimulationData &simulationData, physx::PxTetrahedronMeshData &collisionMesh, physx::PxDeformableVolumeCollisionData &collisionData, physx::PxCollisionMeshMappingData &mappingData, physx::PxInsertionCallback &insertionCallback)

Bundles all data required for deformable volume simulation.

physx::PxDeformableVolumeMesh * PxAssembleSoftBodyMesh(physx::PxTetrahedronMeshData &simulationMesh, physx::PxDeformableVolumeSimulationData &simulationData, physx::PxTetrahedronMeshData &collisionMesh, physx::PxDeformableVolumeCollisionData &collisionData, physx::PxCollisionMeshMappingData &mappingData, physx::PxInsertionCallback &insertionCallback)

Deprecated.

physx::PxDeformableVolumeMesh * PxAssembleSoftBodyMesh_Sim(physx::PxSimulationTetrahedronMeshData &simulationMesh, physx::PxCollisionTetrahedronMeshData &collisionMesh, physx::PxCollisionMeshMappingData &mappingData, physx::PxInsertionCallback &insertionCallback)

Deprecated.

void PxAssert(const char *exp, const char *file, int line, bool &ignore)

Built-in assert function.

PxU32 PxBatchConstraints(const PxSolverConstraintDesc *solverConstraintDescs, PxU32 nbConstraints, PxSolverBody *solverBodies, PxU32 nbBodies, PxConstraintBatchHeader *outBatchHeaders, PxSolverConstraintDesc *outOrderedConstraintDescs, PxArticulationHandle *articulations=NULL, PxU32 nbArticulations=0)

Groups together sets of independent PxSolverConstraintDesc objects to be solved using SIMD SOA approach.

PxU32 PxBatchConstraintsTGS(const PxSolverConstraintDesc *solverConstraintDescs, PxU32 nbConstraints, PxTGSSolverBodyVel *solverBodies, PxU32 nbBodies, PxConstraintBatchHeader *outBatchHeaders, PxSolverConstraintDesc *outOrderedConstraintDescs, PxArticulationHandle *articulations=NULL, PxU32 nbArticulations=0)

Groups together sets of independent PxSolverConstraintDesc objects to be solved using SIMD SOA approach.

PxArticulationCookie PxBeginCreateArticulationRC(const PxArticulationDataRC &data)

Begin creation of an immediate-mode reduced-coordinate articulation.

PxReal PxBiLerp(const PxReal f00, const PxReal f10, const PxReal f01, const PxReal f11, const PxReal tx, const PxReal ty)

Performs bilinear interpolation.

uint32_t PxBitCount(uint32_t v)

bool 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.

float PxCeil(float a)

T PxClamp(T v, T lo, T hi)

Clamps v to the range [hi,lo].

PxRigidDynamic * PxCloneDynamic(PxPhysics &physicsSDK, const PxTransform &transform, const PxRigidDynamic &body)

create a dynamic body by copying attributes from an existing body

PxShape * PxCloneShape(PxPhysics &physicsSDK, const PxShape &shape, bool isExclusive)

create a shape by copying attributes from another shape

PxRigidStatic * PxCloneStatic(PxPhysics &physicsSDK, const PxTransform &transform, const PxRigidActor &actor)

create a static body by copying attributes from another rigid actor

void PxCloseExtensions()

Shut down the PhysXExtensions library.

void PxCloseVehicleExtension()

Shut down the PhysX Vehicle library.

PxF32 PxComputeAngle(const PxVec3 &v0, const PxVec3 &v1)

Compute the angle between two non-unit vectors.

void PxComputeBarycentric(const PxVec3 &a, const PxVec3 &b, const PxVec3 &c, const PxVec3 &p, PxVec4 &bary)

Computes the barycentric coordinates for a point inside a triangle.

void PxComputeBarycentric(const PxVec3 &a, const PxVec3 &b, const PxVec3 &c, const PxVec3 &d, const PxVec3 &p, PxVec4 &bary)

Computes the barycentric coordinates for a point inside a tetrahedron.

void PxComputeBasisVectors(const PxVec3 &dir, PxVec3 &right, PxVec3 &up)

Compute two normalized vectors (right and up) that are perpendicular to an input normalized vector (dir).

void PxComputeBasisVectors(const PxVec3 &p0, const PxVec3 &p1, PxVec3 &dir, PxVec3 &right, PxVec3 &up)

Compute three normalized vectors (dir, right and up) that are parallel to (dir) and perpendicular to (right, up) the normalized direction vector (p1 - p0)/||p1 - p0||.

physx::PxCollisionTetrahedronMeshData * PxComputeCollisionData(const physx::PxCookingParams &params, const physx::PxTetrahedronMeshDesc &collisionMeshDesc)

Computes data to accelerate collision detection of tetrahedral meshes.

uint32_t PxComputeHash(const void *ptr)

uint32_t PxComputeHash(const uint64_t key)

uint32_t PxComputeHash(const uint32_t key)

uint32_t PxComputeHash(const int32_t key)

uint32_t PxComputeHash(const PxPair< F, S > &p)

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.

bool PxComputeHullPolygons(const physx::PxCookingParams &params, const physx::PxSimpleTriangleMesh &mesh, physx::PxAllocatorCallback &inCallback, physx::PxU32 &nbVerts, physx::PxVec3 *&vertices, physx::PxU32 &nbIndices, physx::PxU32 *&indices, physx::PxU32 &nbPolygons, physx::PxHullPolygon *&hullPolygons)

Compute hull polygons from given vertices and triangles.

physx::PxCollisionMeshMappingData * PxComputeModelsMapping(const physx::PxCookingParams &params, physx::PxTetrahedronMeshData &simulationMesh, const physx::PxTetrahedronMeshData &collisionMesh, const physx::PxDeformableVolumeCollisionData &collisionData, const physx::PxBoundedData *vertexToTet=NULL)

Computes the mapping between collision and simulation mesh.

physx::PxSimulationTetrahedronMeshData * PxComputeSimulationData(const physx::PxCookingParams &params, const physx::PxTetrahedronMeshDesc &simulationMeshDesc)

Computes data to accelerate collision detection of tetrahedral meshes.

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.

void PxComputeUnconstrainedVelocities(PxArticulationHandle articulation, const PxVec3 &gravity, PxReal dt, PxReal invLengthScale)

Computes unconstrained velocities for a given articulation.

void PxComputeUnconstrainedVelocitiesTGS(PxArticulationHandle articulation, const PxVec3 &gravity, PxReal dt, PxReal totalDt, PxReal invDt, PxReal invTotalDt, PxReal invLengthScale)

Computes unconstrained velocities for a given articulation.

PxVec4 PxConfigureDeformableVolumeKinematicTarget(const PxVec3 &target, bool isActive)

Sets up a deformable volume kinematic target such that it is properly set as active or inactive.

PxVec4 PxConfigureDeformableVolumeKinematicTarget(const PxVec4 &target, bool isActive)

Adjusts a deformable volume kinematic target such that it is properly set as active or inactive.

PxVec4 PxConfigureSoftBodyKinematicTarget(const PxVec4 &target, bool isActive)

Deprecated.

PxVec4 PxConfigureSoftBodyKinematicTarget(const PxVec3 &target, bool isActive)

Deprecated.

void PxConstructSolverBodies(const PxRigidBodyData *inRigidData, PxSolverBodyData *outSolverBodyData, PxU32 nbBodies, const PxVec3 &gravity, PxReal dt, bool gyroscopicForces=false)

Constructs a PxSolverBodyData structure based on rigid body properties.

void PxConstructSolverBodiesTGS(const PxRigidBodyData *inRigidData, PxTGSSolverBodyVel *outSolverBodyVel, PxTGSSolverBodyTxInertia *outSolverBodyTxInertia, PxTGSSolverBodyData *outSolverBodyData, PxU32 nbBodies, const PxVec3 &gravity, PxReal dt, bool gyroscopicForces=false)

Constructs a PxSolverBodyData structure based on rigid body properties.

void PxConstructStaticSolverBody(const PxTransform &globalPose, PxSolverBodyData &solverBodyData)

Constructs a PxSolverBodyData structure for a static body at a given pose.

void PxConstructStaticSolverBodyTGS(const PxTransform &globalPose, PxTGSSolverBodyVel &solverBodyVel, PxTGSSolverBodyTxInertia &solverBodyTxInertia, PxTGSSolverBodyData &solverBodyData)

Constructs a PxSolverBodyData structure for a static body at a given pose.

PxContactJoint * PxContactJointCreate(PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)

Create a contact joint for articulation inverse dynamics computations.

bool PxCookBVH(const physx::PxBVHDesc &desc, physx::PxOutputStream &stream)

Cooks a bounding volume hierarchy.

bool PxCookConvexMesh(const physx::PxCookingParams &params, const physx::PxConvexMeshDesc &desc, physx::PxOutputStream &stream, physx::PxConvexMeshCookingResult::Enum *condition=NULL)

Cooks a convex mesh.

bool PxCookDeformableVolumeMesh(const physx::PxCookingParams &params, const physx::PxTetrahedronMeshDesc &simulationMeshDesc, const physx::PxTetrahedronMeshDesc &collisionMeshDesc, const physx::PxDeformableVolumeSimulationDataDesc &simulationDataDesc, physx::PxOutputStream &stream)

Cooks a deformable volume mesh.

bool PxCookHeightField(const physx::PxHeightFieldDesc &desc, physx::PxOutputStream &stream)

Cooks a heightfield.

bool PxCookSoftBodyMesh(const physx::PxCookingParams &params, const physx::PxTetrahedronMeshDesc &simulationMeshDesc, const physx::PxTetrahedronMeshDesc &collisionMeshDesc, const physx::PxDeformableVolumeSimulationDataDesc &simulationDataDesc, physx::PxOutputStream &stream)

Deprecated.

bool PxCookTetrahedronMesh(const physx::PxCookingParams &params, const physx::PxTetrahedronMeshDesc &meshDesc, physx::PxOutputStream &stream)

Cooks a tetrahedron mesh.

bool PxCookTriangleMesh(const physx::PxCookingParams &params, const physx::PxTriangleMeshDesc &desc, physx::PxOutputStream &stream, physx::PxTriangleMeshCookingResult::Enum *condition=NULL)

Cooks a triangle mesh.

void PxCopyInternalStateToArticulationCache(PxArticulationHandle articulation, PxArticulationCache &cache, PxArticulationCacheFlags flag)

Copy the internal data of the articulation to the cache.

PxAABBManager * PxCreateAABBManager(PxBroadPhase &broadphase)

AABB manager factory function.

PxArticulationCache * PxCreateArticulationCache(PxArticulationHandle articulation)

Creates an articulation cache.

physx::PxBVH * PxCreateBVH(const physx::PxBVHDesc &desc, physx::PxInsertionCallback &insertionCallback)

Cooks and creates a bounding volume hierarchy without going through a stream.

physx::PxBVH * PxCreateBVH(const physx::PxBVHDesc &desc)

Cooks and creates a bounding volume hierarchy without going through a stream.

physx::PxBVH * PxCreateBVHInternal(const physx::PxBVHInternalData &data)

PxBatchQueryExt * PxCreateBatchQueryExt(const PxScene &scene, PxQueryFilterCallback *queryFilterCallback, PxRaycastBuffer *raycastBuffers, const PxU32 maxNbRaycasts, PxRaycastHit *raycastTouches, const PxU32 maxNbRaycastTouches, PxSweepBuffer *sweepBuffers, const PxU32 maxNbSweeps, PxSweepHit *sweepTouches, const PxU32 maxNbSweepTouches, PxOverlapBuffer *overlapBuffers, const PxU32 maxNbOverlaps, PxOverlapHit *overlapTouches, const PxU32 maxNbOverlapTouches)

Create a PxBatchQueryExt with user-supplied result and touch buffers.

PxBatchQueryExt * PxCreateBatchQueryExt(const PxScene &scene, PxQueryFilterCallback *queryFilterCallback, const PxU32 maxNbRaycasts, const PxU32 maxNbRaycastTouches, const PxU32 maxNbSweeps, const PxU32 maxNbSweepTouches, const PxU32 maxNbOverlaps, const PxU32 maxNbOverlapTouches)

Create a PxBatchQueryExt without the need for pre-allocated result or touch buffers.

PxBroadPhase * PxCreateBroadPhase(const PxBroadPhaseDesc &desc)

Broadphase factory function.

physx::PxCollection * PxCreateCollection()

Creates a collection object.

bool PxCreateContactConstraints(PxConstraintBatchHeader *batchHeaders, PxU32 nbHeaders, PxSolverContactDesc *contactDescs, PxConstraintAllocator &allocator, PxReal invDt, PxReal bounceThreshold, PxReal frictionOffsetThreshold, PxReal correlationDistance, PxSpatialVector *Z=NULL)

Creates a set of contact constraint blocks.

bool PxCreateContactConstraintsTGS(PxConstraintBatchHeader *batchHeaders, PxU32 nbHeaders, PxTGSSolverContactDesc *contactDescs, PxConstraintAllocator &allocator, PxReal invDt, PxReal invTotalDt, PxReal bounceThreshold, PxReal frictionOffsetThreshold, PxReal correlationDistance)

Creates a set of contact constraint blocks.

physx::PxControllerManager * PxCreateControllerManager(physx::PxScene &scene, bool lockingEnabled=false)

Creates the controller manager.

physx::PxConvexMesh * PxCreateConvexMesh(const physx::PxCookingParams &params, const physx::PxConvexMeshDesc &desc)

Cooks and creates a convex mesh without going through a stream.

physx::PxConvexMesh * PxCreateConvexMesh(const physx::PxCookingParams &params, const physx::PxConvexMeshDesc &desc, physx::PxInsertionCallback &insertionCallback, physx::PxConvexMeshCookingResult::Enum *condition=NULL)

Cooks and creates a convex mesh without going through a stream.

physx::PxCudaContextManager * PxCreateCudaContextManager(physx::PxFoundation &foundation, const physx::PxCudaContextManagerDesc &desc, physx::PxProfilerCallback *profilerCallback=NULL, bool launchSynchronous=false)

Allocate a CUDA Context manager, complete with heaps.

PxCustomSceneQuerySystem * PxCreateCustomSceneQuerySystem(PxSceneQueryUpdateMode::Enum sceneQueryUpdateMode, PxU64 contextID, const PxCustomSceneQuerySystemAdapter &adapter, bool usesTreeOfPruners=false)

Creates a custom scene query system.

physx::PxDeformableVolumeMesh * PxCreateDeformableVolumeMesh(const physx::PxCookingParams &params, const physx::PxTetrahedronMeshDesc &simulationMeshDesc, const physx::PxTetrahedronMeshDesc &collisionMeshDesc, const physx::PxDeformableVolumeSimulationDataDesc &simulationDataDesc, physx::PxInsertionCallback &insertionCallback)

Cooks and creates a deformable volume mesh without going through a stream.

physx::PxDeformableVolumeMesh * PxCreateDeformableVolumeMesh(const physx::PxCookingParams &params, const physx::PxTetrahedronMeshDesc &simulationMeshDesc, const physx::PxTetrahedronMeshDesc &collisionMeshDesc, const physx::PxDeformableVolumeSimulationDataDesc &simulationDataDesc)

Cooks and creates a deformable volume mesh without going through a stream.

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 .

PxRigidDynamic * PxCreateDynamic(PxPhysics &sdk, const PxTransform &transform, PxShape &shape, PxReal density)

simple method to create a PxRigidDynamic actor with a single PxShape .

PxSceneQuerySystem * PxCreateExternalSceneQuerySystem(const PxSceneQueryDesc &desc, PxU64 contextID)

Creates an external scene query system.

physx::PxFoundation * PxCreateFoundation(physx::PxU32 version, physx::PxAllocatorCallback &allocator, physx::PxErrorCallback &errorCallback)

Creates an instance of the foundation class.

physx::PxHeightField * PxCreateHeightField(const physx::PxHeightFieldDesc &desc, physx::PxInsertionCallback &insertionCallback)

Cooks and creates a heightfield mesh and inserts it into PxPhysics .

physx::PxHeightField * PxCreateHeightField(const physx::PxHeightFieldDesc &desc)

Cooks and creates a heightfield mesh and inserts it into PxPhysics .

bool PxCreateJointConstraints(PxConstraintBatchHeader *batchHeaders, PxU32 nbHeaders, PxSolverConstraintPrepDesc *jointDescs, PxConstraintAllocator &allocator, PxSpatialVector *Z, PxReal dt, PxReal invDt)

Creates a set of joint constraint blocks.

bool PxCreateJointConstraintsTGS(PxConstraintBatchHeader *batchHeaders, PxU32 nbHeaders, PxTGSSolverConstraintPrepDesc *jointDescs, PxConstraintAllocator &allocator, PxReal dt, PxReal totalDt, PxReal invDt, PxReal invTotalDt, PxReal lengthScale)

Creates a set of joint constraint blocks.

bool PxCreateJointConstraintsWithImmediateShaders(PxConstraintBatchHeader *batchHeaders, PxU32 nbBatchHeaders, PxImmediateConstraint *constraints, PxSolverConstraintPrepDesc *jointDescs, PxConstraintAllocator &allocator, PxReal dt, PxReal invDt, PxSpatialVector *Z=NULL)

Creates a set of joint constraint blocks.

bool PxCreateJointConstraintsWithImmediateShadersTGS(PxConstraintBatchHeader *batchHeaders, PxU32 nbBatchHeaders, PxImmediateConstraint *constraints, PxTGSSolverConstraintPrepDesc *jointDescs, PxConstraintAllocator &allocator, PxReal dt, PxReal totalDt, PxReal invDt, PxReal invTotalDt, PxReal lengthScale)

Creates a set of joint constraint blocks.

bool PxCreateJointConstraintsWithShaders(PxConstraintBatchHeader *batchHeaders, PxU32 nbBatchHeaders, PxConstraint **constraints, PxSolverConstraintPrepDesc *jointDescs, PxConstraintAllocator &allocator, PxReal dt, PxReal invDt, PxSpatialVector *Z=NULL)

Creates a set of joint constraint blocks.

bool PxCreateJointConstraintsWithShadersTGS(PxConstraintBatchHeader *batchHeaders, PxU32 nbBatchHeaders, PxConstraint **constraints, PxTGSSolverConstraintPrepDesc *jointDescs, PxConstraintAllocator &allocator, PxReal dt, PxReal totalDt, PxReal invDt, PxReal invTotalDt, PxReal lengthScale)

Creates a set of joint constraint blocks.

PxRigidDynamic * PxCreateKinematic(PxPhysics &sdk, const PxTransform &transform, PxShape &shape, PxReal density)

simple method to create a kinematic PxRigidDynamic actor with a single PxShape .

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 .

physx::PxOmniPvd * PxCreateOmniPvd(physx::PxFoundation &foundation)

Creates an instance of the OmniPvd object.

ExtGpu::PxParticleClothCooker * PxCreateParticleClothCooker(PxU32 vertexCount, physx::PxVec4 *inVertices, PxU32 triangleIndexCount, PxU32 *inTriangleIndices, PxU32 constraintTypeFlags=ExtGpu::PxParticleClothConstraint::eTYPE_ALL, PxVec3 verticalDirection=PxVec3(0.0f, 1.0f, 0.0f), PxReal bendingConstraintMaxAngle=20.0f *PxTwoPi/360.0f)

Creates a PxParticleClothCooker.

physx::PxParticleClothPreProcessor * PxCreateParticleClothPreProcessor(physx::PxCudaContextManager *cudaContextManager)

Create a particle cloth preprocessor.

physx::PxPhysics * PxCreatePhysics(physx::PxU32 version, physx::PxFoundation &foundation, const physx::PxTolerancesScale &scale, bool trackOutstandingAllocations=false, physx::PxPvd *pvd=NULL, physx::PxOmniPvd *omniPvd=NULL)

Creates an instance of the physics SDK.

PxRigidStatic * PxCreatePlane(PxPhysics &sdk, const PxPlane &plane, PxMaterial &material)

create a plane actor.

PxPvd * PxCreatePvd(PxFoundation &foundation)

Create a pvd instance.

physx::PxRepXObject PxCreateRepXObject(const TDataType *inType)

Inline helper template function to create PxRepXObject form TDataType type using inType pointer as a PxSerialObjectId id.

physx::PxRepXObject PxCreateRepXObject(const TDataType *inType, const physx::PxSerialObjectId inId)

Inline helper template function to create PxRepXObject from TDataType type supporting PxTypeInfo<TDataType>::name.

physx::PxRepXObject PxCreateRepXObject(const physx::PxBase *inType, const physx::PxSerialObjectId inId)

Inline helper function to create PxRepXObject from a PxBase instance.

PxPoissonSampler * PxCreateShapeSampler(const PxGeometry &geometry, const PxTransform &transform, const PxBounds3 &worldBounds, PxReal initialSamplingRadius, PxI32 numSampleAttemptsAroundPoint=30)

Creates a shape sampler.

physx::PxDeformableVolumeMesh * PxCreateSoftBodyMesh(const physx::PxCookingParams &params, const physx::PxTetrahedronMeshDesc &simulationMeshDesc, const physx::PxTetrahedronMeshDesc &collisionMeshDesc, const physx::PxDeformableVolumeSimulationDataDesc &simulationDataDesc)

Deprecated.

physx::PxDeformableVolumeMesh * PxCreateSoftBodyMesh(const physx::PxCookingParams &params, const physx::PxTetrahedronMeshDesc &simulationMeshDesc, const physx::PxTetrahedronMeshDesc &collisionMeshDesc, const physx::PxDeformableVolumeSimulationDataDesc &simulationDataDesc, physx::PxInsertionCallback &insertionCallback)

Deprecated.

PxRigidStatic * PxCreateStatic(PxPhysics &sdk, const PxTransform &transform, PxShape &shape)

simple method to create a PxRigidStatic actor with a single PxShape .

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 .

physx::PxTetrahedronMesh * PxCreateTetrahedronMesh(const physx::PxCookingParams &params, const physx::PxTetrahedronMeshDesc &meshDesc, physx::PxInsertionCallback &insertionCallback)

Cooks and creates a tetrahedron mesh without going through a stream.

physx::PxTetrahedronMesh * PxCreateTetrahedronMesh(const physx::PxCookingParams &params, const physx::PxTetrahedronMeshDesc &meshDesc)

Cooks and creates a tetrahedron mesh without going through a stream.

physx::PxTriangleMesh * PxCreateTriangleMesh(const physx::PxCookingParams &params, const physx::PxTriangleMeshDesc &desc)

Cooks and creates a triangle mesh without going through a stream.

physx::PxTriangleMesh * PxCreateTriangleMesh(const physx::PxCookingParams &params, const physx::PxTriangleMeshDesc &desc, physx::PxInsertionCallback &insertionCallback, physx::PxTriangleMeshCookingResult::Enum *condition=NULL)

Cooks and creates a triangle mesh without going through a stream.

physx::PxTriangleMesh * PxCreateTriangleMeshInternal(const physx::PxTriangleMeshInternalData &data)

PxTriangleMeshPoissonSampler * PxCreateTriangleMeshSampler(const PxU32 *triangles, PxU32 numTriangles, const PxVec3 *vertices, PxU32 numVertices, PxReal initialSamplingRadius, PxI32 numSampleAttemptsAroundPoint=30)

Creates a triangle mesh sampler.

void ** PxCudaRegisterFatBinary(void *)

Internally used callback to register cuda modules at load time.

void PxCudaRegisterFunction(int moduleIndex, const char *functionName)

Internally used callback to register function names of cuda kernels.

PxD6Joint * PxD6JointCreate(PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)

Create a D6 joint.

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 .

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 .

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 .

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 .

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.

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 .

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 .

void PxDebugBreak()

void PxDecFoundationRefCount()

Decrement the ref count of PxFoundation .

PxDefaultCpuDispatcher * PxDefaultCpuDispatcherCreate(PxU32 numThreads, PxU32 *affinityMasks=NULL, PxDefaultCpuDispatcherWaitForWorkMode::Enum mode=PxDefaultCpuDispatcherWaitForWorkMode::eWAIT_FOR_WORK, PxU32 yieldProcessorCount=0)

Create default dispatcher, extensions SDK needs to be initialized first.

PxPvdTransport * PxDefaultPvdFileTransportCreate(const char *name)

Create a default file transport.

PxPvdTransport * PxDefaultPvdSocketTransportCreate(const char *host, int port, unsigned int timeoutInMilliseconds)

Create a default socket transport.

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.

PxF32 PxDegToRad(const PxF32 a)

Converts degrees to radians.

PxVec3 PxDiagonalize(const PxMat33 &m, PxQuat &axes)

void PxDisableFPExceptions()

Disables floating point exceptions for the scalar and SIMD unit.

PxDistanceJoint * PxDistanceJointCreate(PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)

Create a distance Joint.

PxVec3 PxEllipseClamp(const PxVec3 &point, const PxVec3 &radii)

Compute the closest point on an 2d ellipse to a given 2d point.

void PxEnableFPExceptions()

Enables floating point exceptions for the scalar and SIMD unit.

PxArticulationHandle PxEndCreateArticulationRC(PxArticulationCookie articulation, PxArticulationLinkHandle *linkHandles, PxU32 bufferSize)

End creation of an immediate-mode reduced-coordinate articulation.

bool PxEquals(float a, float b, float eps)

bool PxExtractIsosurfaceFromSDF(const PxTriangleMesh &triangleMesh, PxArray< PxVec3 > &isosurfaceVertices, PxArray< PxU32 > &isosurfaceTriangleIndices)

Extracts an isosurface from the SDF of a mesh if it the SDF is available.

bool PxFilterObjectIsKinematic(PxFilterObjectAttributes attr)

Specifies whether the collision object belongs to a kinematic rigid body.

bool PxFilterObjectIsTrigger(PxFilterObjectAttributes attr)

Specifies whether the collision object is a trigger shape.

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.

bool PxFindOverlap(PxReportCallback< PxGeomIndexPair > &callback, const PxBVH &bvh0, const PxBVH &bvh1)

BVH-vs-BVH overlap test.

PxFixedJoint * PxFixedJointCreate(PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)

Create a fixed joint.

float PxFloor(float a)

PxGearJoint * PxGearJointCreate(PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)

Create a gear Joint.

bool PxGenerateContacts(const PxGeometry *const *geom0, const PxGeometry *const *geom1, const PxTransform *pose0, const PxTransform *pose1, PxCache *contactCache, PxU32 nbPairs, PxContactRecorder &contactRecorder, PxReal contactDistance, PxReal meshContactMargin, PxReal toleranceLength, PxCacheAllocator &allocator)

Performs contact generation for a given pair of geometries at the specified poses.

PxAggregateFilterHint PxGetAggregateFilterHint(PxAggregateType::Enum type, bool enableSelfCollision)

PxU32 PxGetAggregateSelfCollisionBit(PxAggregateFilterHint hint)

PxAggregateType::Enum PxGetAggregateType(PxAggregateFilterHint hint)

PxU32 PxGetAllLinkData(const PxArticulationHandle articulation, PxArticulationLinkDerivedDataRC *data)

Retrieves non-mutable link data from an articulation handle (all links).

physx::PxAllocatorCallback * PxGetAllocatorCallback()

Get the allocator callback.

bool PxGetBVHInternalData(PxBVHInternalData &data, const PxBVH &bvh, bool takeOwnership)

PxBpFilterGroup PxGetBroadPhaseDynamicFilterGroup(PxU32 id)

Retrieves a filter group for dynamic objects.

PxBpFilterGroup PxGetBroadPhaseKinematicFilterGroup(PxU32 id)

Retrieves a filter group for kinematic objects.

PxBpFilterGroup PxGetBroadPhaseStaticFilterGroup()

Retrieves the filter group for static objects.

physx::PxAllocatorCallback * PxGetBroadcastAllocator(bool *reportAllocationNames=NULL)

Get the broadcasting allocator callback.

physx::PxErrorCallback * PxGetBroadcastError()

Get the broadcasting error callback.

physx::PxKernelIndex * PxGetCudaFunctionTable()

Access to the loaded cuda functions (kernels)

physx::PxU32 PxGetCudaFunctionTableSize()

Number of loaded cuda functions (kernels)

void ** PxGetCudaModuleTable()

Access to the registered cuda modules.

physx::PxU32 PxGetCudaModuleTableSize()

Number of registered cuda modules.

physx::PxErrorCallback * PxGetErrorCallback()

Get the error callback.

bool PxGetFilterBool()

Retrieves filtering's boolean value.

void PxGetFilterConstants(PxGroupsMask &c0, PxGroupsMask &c1)

Gets filtering constant K0 and K1.

PxFilterObjectType::Enum PxGetFilterObjectType(PxFilterObjectAttributes attr)

Extract filter object type from the filter attributes of a collision pair object.

void PxGetFilterOps(PxFilterOp::Enum &op0, PxFilterOp::Enum &op1, PxFilterOp::Enum &op2)

Retrieves filtering operation.

bool PxGetFluid(physx::PxU32 phase)

physx::PxFoundation & PxGetFoundation()

Retrieves the Foundation SDK after it has been created.

PxU16 PxGetGroup(const PxActor &actor)

Retrieves the value set with PxSetGroup()

physx::PxU32 PxGetGroup(physx::PxU32 phase)

bool PxGetGroupCollisionFlag(const PxU16 group1, const PxU16 group2)

Determines if collision detection is performed between a pair of groups.

PxGroupsMask PxGetGroupsMask(const PxActor &actor)

Gets 64-bit mask used for collision filtering.

bool PxGetJointData(const PxArticulationLinkHandle &link, PxArticulationJointDataRC &data)

Retrieves joint data from a link handle.

bool PxGetLinkData(const PxArticulationLinkHandle &link, PxArticulationLinkDerivedDataRC &data)

Retrieves non-mutable link data from a link handle.

bool PxGetMutableLinkData(const PxArticulationLinkHandle &link, PxArticulationLinkMutableDataRC &data)

Retrieves mutable link data from a link handle.

PxU32 PxGetNextIndex3(PxU32 i)

Compute (i+1)%3.

physx::PxPhysics & PxGetPhysics()

Retrieves the Physics SDK after it has been created.

physx::PxPhysicsGpu * PxGetPhysicsGpu()

physx::PxProfilerCallback * PxGetProfilerCallback()

Get the callback that will be used for all profiling.

PxQuat PxGetRotXQuat(float angle)

Returns a rotation quaternion around the X axis.

PxQuat PxGetRotYQuat(float angle)

Returns a rotation quaternion around the Y axis.

PxQuat PxGetRotZQuat(float angle)

Returns a rotation quaternion around the Z axis.

bool PxGetSelfCollide(physx::PxU32 phase)

bool PxGetSelfCollideFilter(physx::PxU32 phase)

physx::PxInsertionCallback * PxGetStandaloneInsertionCallback()

Gets standalone object insertion interface.

int PxGetSuggestedCudaDeviceOrdinal(physx::PxErrorCallback &errc)

Ask the NVIDIA control panel which GPU has been selected for use by PhysX.

bool PxGetTriangleMeshInternalData(PxTriangleMeshInternalData &data, const PxTriangleMesh &mesh, bool takeOwnership)

physx::PxU32 PxGetWarnOnceTimeStamp()

Get the warn once timestamp.

uint32_t PxILog2(uint32_t num)

void PxIncFoundationRefCount()

Increment the ref count of PxFoundation .

bool PxInitExtensions(physx::PxPhysics &physics, physx::PxPvd *pvd)

Initialize the PhysXExtensions library.

bool PxInitVehicleExtension(physx::PxFoundation &foundation)

Initialize the PhysX Vehicle library.

void PxIntegrateSolverBodies(PxSolverBodyData *solverBodyData, PxSolverBody *solverBody, PxVec3 *linearMotionVelocity, PxVec3 *angularMotionState, PxU32 nbBodiesToIntegrate, PxReal dt)

Integrates a rigid body, returning the new velocities and transforms.

void PxIntegrateSolverBodiesTGS(PxTGSSolverBodyVel *solverBody, const PxTGSSolverBodyTxInertia *txInertia, PxTransform *poses, PxU32 nbBodiesToIntegrate, PxReal dt)

Integrates a rigid body, returning the new velocities and transforms.

void PxIntegrateTransform(const PxTransform &curTrans, const PxVec3 &linvel, const PxVec3 &angvel, PxReal timeStep, PxTransform &result)

integrate transform.

bool PxIsFinite(double f)

returns true if the passed number is a finite floating point number as opposed to INF, NAN, etc.

bool PxIsFinite(float f)

returns true if the passed number is a finite floating point number as opposed to INF, NAN, etc.

physx::PxFoundation * PxIsFoundationValid()

Similar to PxGetFoundation() except it handles the case if the foundation was not created already.

bool PxIsPowerOfTwo(uint32_t x)

PxU32 PxLargestAxis(const PxVec3 &v)

return Returns 0 if v.x is largest element of v, 1 if v.y is largest element, 2 if v.z is largest element.

float PxLerp(float a, float b, float t)

Performs linear interpolation between two values.

char PxLittleEndian()

void PxMarkSerializedMemory(void *ptr, PxU32 byteSize)

Mark a specified amount of memory with 0xcd pattern.

void PxMedian3(T *elements, int32_t first, int32_t last, Predicate &compare)

void * PxMemCopy(void *dest, const void *src, PxU32 count)

Copies the bytes of one memory block to another.

void * PxMemMove(void *dest, const void *src, PxU32 count)

Copies the bytes of one memory block to another.

void * PxMemSet(void *dest, PxI32 c, PxU32 count)

Sets the bytes of the provided buffer to the specified value.

void * PxMemZero(void *dest, PxU32 count)

Sets the bytes of the provided buffer to zero.

uint32_t PxNextPowerOfTwo(uint32_t x)

PxVec3 PxOptimizeBoundingBox(PxMat33 &basis)

computes a oriented bounding box around the scaled basis.

int32_t PxPartition(T *elements, int32_t first, int32_t last, Predicate &compare)

PxPlane PxPlaneEquationFromTransform(const PxTransform &pose)

creates a plane equation from a transform, such as the actor transform for a PxPlaneGeometry

float PxPow(float x, float y)

void PxPrintString(const char *)

Prints the string literally (does not consume % specifier), trying to make sure it's visible to the app programmer.

PxPrismaticJoint * PxPrismaticJointCreate(PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)

Create a prismatic joint.

PxRackAndPinionJoint * PxRackAndPinionJointCreate(PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)

Create a rack & pinion Joint.

void PxReleaseArticulation(PxArticulationHandle articulation)

Releases an immediate-mode reduced-coordinate articulation.

void PxReleaseArticulationCache(PxArticulationCache &cache)

Release an articulation cache.

PxRevoluteJoint * PxRevoluteJointCreate(PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)

Create a revolute joint.

PxU32 PxSDFIdx(PxU32 i, PxU32 j, PxU32 k, PxU32 nbX, PxU32 nbY)

Computes the 1D index for a 3D grid point.

PxReal PxSDFSample(const PxReal *sdf, const PxVec3 &localPos, const PxVec3 &sdfBoxLower, const PxVec3 &sdfBoxHigher, const PxReal sdfDx, const PxReal invSdfDx, const PxU32 dimX, const PxU32 dimY, const PxU32 dimZ, PxReal tolerance)

Samples the signed distance field (SDF) at a given local position.

void PxScaleRigidActor(PxRigidActor &actor, PxReal scale, bool scaleMassProps=true)

scale a rigid actor by a uniform scale

PxReal PxSdfSample(const PxReal *sdf, const PxVec3 &localPos, const PxVec3 &sdfBoxLower, const PxVec3 &sdfBoxHigher, const PxReal sdfDx, const PxReal invSdfDx, const PxU32 dimX, const PxU32 dimY, const PxU32 dimZ, PxVec3 &gradient, PxReal tolerance=PX_MAX_F32)

Samples the signed distance field (SDF) at a given local position with gradient computation (deprecated).

void PxSeparateSwingTwist(const PxQuat &q, PxQuat &swing, PxQuat &twist)

Compute from an input quaternion q a pair of quaternions (swing, twist) such that q = swing * twist with the caveats that swing.x = twist.y = twist.z = 0.

void PxSetFilterBool(const bool enable)

Setups filtering's boolean value.

void PxSetFilterConstants(const PxGroupsMask &c0, const PxGroupsMask &c1)

Setups filtering's K0 and K1 value.

void PxSetFilterOps(const PxFilterOp::Enum &op0, const PxFilterOp::Enum &op1, const PxFilterOp::Enum &op2)

Setups filtering operations.

void PxSetFoundationInstance(physx::PxFoundation &foundation)

void PxSetGroup(PxActor &actor, const PxU16 collisionGroup)

Sets which collision group this actor is part of.

void PxSetGroupCollisionFlag(const PxU16 group1, const PxU16 group2, const bool enable)

Specifies if collision should be performed by a pair of groups.

void PxSetGroupsMask(PxActor &actor, const PxGroupsMask &mask)

Sets 64-bit mask used for collision filtering.

bool PxSetJointData(const PxArticulationLinkHandle &link, const PxArticulationJointDataRC &data)

Sets joint data for given link.

void PxSetJointGlobalFrame(physx::PxJoint &joint, const physx::PxVec3 *wsAnchor, const physx::PxVec3 *wsAxis)

Helper function to setup a joint's global frame.

bool PxSetMutableLinkData(const PxArticulationLinkHandle &link, const PxArticulationLinkMutableDataRC &data)

Sets mutable link data for given link.

void PxSetPhysXCommonDelayLoadHook(const physx::PxDelayLoadHook *hook)

Sets delay load hook instance for PhysXCommon dll.

void PxSetPhysXCookingDelayLoadHook(const physx::PxDelayLoadHook *hook)

Sets delay load hook instance for PhysXCooking dll.

void PxSetPhysXDelayLoadHook(const physx::PxDelayLoadHook *hook)

Sets delay load hook instance for PhysX dll.

void PxSetPhysXGpuFoundationInstance(physx::PxFoundation &foundation)

Sets PhysXFoundation instance.

void PxSetPhysXGpuLoadHook(const PxGpuLoadHook *hook)

Sets GPU load hook instance for PhysX dll.

void PxSetPhysXGpuProfilerCallback(physx::PxProfilerCallback *profilerCallback)

Sets profiler callback to PhysX GPU.

void PxSetProfilerCallback(physx::PxProfilerCallback *profiler)

Set the callback that will be used for all profiling.

void PxSetRotX(PxMat33 &m, PxReal angle)

Sets a rotation matrix around the X axis.

void PxSetRotY(PxMat33 &m, PxReal angle)

Sets a rotation matrix around the Y axis.

void PxSetRotZ(PxMat33 &m, PxReal angle)

Sets a rotation matrix around the Z axis.

PxQuat PxShortestRotation(const PxVec3 &from, const PxVec3 &target)

finds the shortest rotation between two vectors.

float PxSign(float a)

float PxSign2(float a, float eps=FLT_EPSILON)

PxQuat PxSlerp(const PxReal t, const PxQuat &left, const PxQuat &right)

Spherical linear interpolation of two quaternions.

void PxSmallSort(T *elements, int32_t first, int32_t last, Predicate &compare)

void PxSolveConstraints(const PxConstraintBatchHeader *batchHeaders, PxU32 nbBatchHeaders, const PxSolverConstraintDesc *solverConstraintDescs, const PxSolverBody *solverBodies, PxVec3 *linearMotionVelocity, PxVec3 *angularMotionVelocity, PxU32 nbSolverBodies, PxU32 nbPositionIterations, PxU32 nbVelocityIterations, float dt=0.0f, float invDt=0.0f, PxU32 nbSolverArticulations=0, PxArticulationHandle *solverArticulations=NULL, PxSpatialVector *Z=NULL, PxSpatialVector *deltaV=NULL)

Iteratively solves the set of constraints defined by the provided PxConstraintBatchHeader and PxSolverConstraintDesc structures.

void PxSolveConstraintsTGS(const PxConstraintBatchHeader *batchHeaders, PxU32 nbBatchHeaders, const PxSolverConstraintDesc *solverConstraintDescs, PxTGSSolverBodyVel *solverBodies, PxTGSSolverBodyTxInertia *txInertias, PxU32 nbSolverBodies, PxU32 nbPositionIterations, PxU32 nbVelocityIterations, float dt, float invDt, PxU32 nbSolverArticulations=0, PxArticulationHandle *solverArticulations=NULL, PxSpatialVector *Z=NULL, PxSpatialVector *deltaV=NULL)

Iteratively solves the set of constraints defined by the provided PxConstraintBatchHeader and PxSolverConstraintDesc structures.

PxSphericalJoint * PxSphericalJointCreate(PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)

Create a spherical joint.

void PxSwap(T &x, T &y)

PxU32 PxTlsAlloc()

void PxTlsFree(PxU32 index)

void * PxTlsGet(PxU32 index)

size_t PxTlsGetValue(PxU32 index)

PxU32 PxTlsSet(PxU32 index, void *value)

PxU32 PxTlsSetValue(PxU32 index, size_t value)

PxU16 PxTo16(PxU32 value)

PxU32 PxTo32(PxU64 value)

PxU8 PxTo8(PxU16 value)

PxU8 PxTo8(PxI32 value)

PxU8 PxTo8(PxU32 value)

PxI8 PxToI8(PxU32 value)

PxU32 PxToU32(PxI32 value)

PxTransform PxTransformFromPlaneEquation(const PxPlane &plane)

creates a transform from a plane equation, suitable for an actor transform for a PxPlaneGeometry

PxTransform PxTransformFromSegment(const PxVec3 &p0, const PxVec3 &p1, PxReal *halfHeight=NULL)

creates a transform from the endpoints of a segment, suitable for an actor transform for a PxCapsuleGeometry

PxReal PxTriLerp(const PxReal f000, const PxReal f100, const PxReal f010, const PxReal f110, const PxReal f001, const PxReal f101, const PxReal f011, const PxReal f111, const PxReal tx, const PxReal ty, const PxReal tz)

Performs trilinear interpolation.

A PxUnionCast(B b)

void PxUpdateArticulationBodies(PxArticulationHandle articulation, PxReal dt)

Updates bodies for a given articulation.

void PxUpdateArticulationBodiesTGS(PxArticulationHandle articulation, PxReal dt)

Updates bodies for a given articulation.

bool PxValidateConvexMesh(const physx::PxCookingParams &params, const physx::PxConvexMeshDesc &desc)

Verifies if the convex mesh is valid.

bool PxValidateTriangleMesh(const physx::PxCookingParams &params, const physx::PxTriangleMeshDesc &desc)

Verifies if the triangle mesh is valid.

bool PxVehicleAccelerationIntentCompute(const PxVehicleAxleDescription &poweredVehicleAxleDesc, const PxVehicleArrayData< const PxVehicleWheelActuationState > &poweredVehicleActuationStates)

Compute the intention to accelerate by inspecting the actuation states of the wheels of a powered vehicle.

void PxVehicleAckermannSteerUpdate(const PxReal steer, const PxVehicleSteerCommandResponseParams &steerResponseParams, const PxVehicleSizedArrayData< const PxVehicleAckermannParams > &ackermannParams, PxVehicleArrayData< PxReal > &steerResponseStates)

Account for Ackermann correction by modifying the per wheel steer response multipliers to engineer an asymmetric steer response across axles.

void PxVehicleAntiRollForceUpdate(const PxVehicleArrayData< const PxVehicleSuspensionParams > &suspensionParams, const PxVehicleSizedArrayData< const PxVehicleAntiRollForceParams > &antiRollParams, const PxVehicleArrayData< const PxVehicleSuspensionState > &suspensionStates, const PxVehicleArrayData< const PxVehicleSuspensionComplianceState > &complianceStates, const PxVehicleRigidBodyState &rigidBodyState, PxVehicleAntiRollTorque &antiRollTorque)

Compute the accumulated anti-roll torque to apply to the vehicle's rigid body.

void PxVehicleAutoBoxUpdate(const PxVehicleEngineParams &engineParams, const PxVehicleGearboxParams &gearboxParams, const PxVehicleAutoboxParams &autoboxParams, const PxVehicleEngineState &engineState, const PxVehicleGearboxState &gearboxState, const PxReal dt, PxU32 &targetGearCommand, PxVehicleAutoboxState &autoboxState, PxReal &throttle)

void PxVehicleBrakeCommandResponseUpdate(const PxReal *brakeCommands, const PxU32 nbBrakeCommands, const PxReal longitudinalSpeed, const PxU32 wheelId, const PxVehicleSizedArrayData< const PxVehicleBrakeCommandResponseParams > &brakeResponseParams, PxReal &brakeResponseState)

Compute the brake torque response to an array of brake commands.

void PxVehicleClutchCommandResponseLinearUpdate(const PxReal clutchCommand, const PxVehicleClutchCommandResponseParams &clutchResponseParams, PxVehicleClutchCommandResponseState &clutchResponse)

Propagate the input clutch command to the clutch response state.

PxReal PxVehicleClutchStrengthCompute(const PxVehicleClutchCommandResponseState &clutchResponseState, const PxVehicleGearboxParams &gearboxParams, const PxVehicleGearboxState &gearboxState)

Compute the coupling strength of the clutch.

PxQuat PxVehicleComputeRotation(const PxVehicleFrame &frame, const PxReal roll, const PxReal pitch, const PxReal yaw)

PxF32 PxVehicleComputeSign(const PxReal f)

bool PxVehicleComputeSprungMasses(const PxU32 nbSprungMasses, const PxVec3 *sprungMassCoordinates, const PxReal totalMass, const PxVehicleAxes::Enum gravityDirection, PxReal *sprungMasses)

Compute the sprung masses of the suspension springs given (i) the number of sprung masses, (ii) coordinates of the sprung masses in the rigid body frame, (iii) the center of mass offset of the rigid body, (iv) the total mass of the rigid body, and (v) the direction of gravity.

PxVec3 PxVehicleComputeSuspensionDirection(const PxVehicleSuspensionParams &suspensionParams, const PxTransform &rigidBodyPose)

Compute suspension travel direction in the world frame.

void PxVehicleComputeSuspensionRaycast(const PxVehicleFrame &frame, const PxVehicleWheelParams &wheelParams, const PxVehicleSuspensionParams &suspensionParams, const PxF32 steerAngle, const PxTransform &rigidBodyPose, PxVec3 &start, PxVec3 &dir, PxReal &dist)

Compute the start point, direction and length of a suspension scene raycast.

void PxVehicleComputeSuspensionSweep(const PxVehicleFrame &frame, const PxVehicleSuspensionParams &suspensionParams, const PxReal steerAngle, const PxTransform &rigidBodyPose, PxTransform &start, PxVec3 &dir, PxReal &dist)

Compute the start pose, direction and length of a suspension scene sweep.

PxVec3 PxVehicleComputeTranslation(const PxVehicleFrame &frame, const PxReal lng, const PxReal lat, const PxReal vrt)

PxQuat PxVehicleComputeWheelLocalOrientation(const PxVehicleFrame &frame, const PxVehicleSuspensionParams &suspensionParams, const PxReal camberAngle, const PxReal toeAngle, const PxReal steerAngle, const PxReal rotationAngle)

Compute the quaternion of a wheel in the rigid body frame.

PxTransform PxVehicleComputeWheelLocalPose(const PxVehicleFrame &frame, const PxVehicleSuspensionParams &suspensionParams, const PxVehicleSuspensionState &suspensionState, const PxVehicleSuspensionComplianceState &suspensionComplianceState, const PxReal steerAngle, const PxVehicleWheelRigidBody1dState &wheelState)

Compute the pose of the wheel in the rigid body frame.

PxTransform PxVehicleComputeWheelLocalPose(const PxVehicleFrame &frame, const PxVehicleSuspensionParams &suspensionParams, const PxVehicleSuspensionState &suspensionState, const PxReal camberAngle, const PxReal toeAngle, const PxReal steerAngle, const PxReal rotationAngle)

Compute the pose of the wheel in the rigid body frame.

PxQuat PxVehicleComputeWheelOrientation(const PxVehicleFrame &frame, const PxVehicleSuspensionParams &suspensionParams, const PxReal camberAngle, const PxReal toeAngle, const PxReal steerAngle, const PxQuat &rigidBodyOrientation, const PxReal rotationAngle)

Compute the quaternion of a wheel in the world frame.

PxTransform PxVehicleComputeWheelPose(const PxVehicleFrame &frame, const PxVehicleSuspensionParams &suspensionParams, const PxVehicleSuspensionState &suspensionState, const PxReal camberAngle, const PxReal toeAngle, const PxReal steerAngle, const PxTransform &rigidBodyPose, const PxReal rotationAngle)

Compute the pose of the wheel in the world frame.

PxTransform PxVehicleComputeWheelPose(const PxVehicleFrame &frame, const PxVehicleSuspensionParams &suspensionParams, const PxVehicleSuspensionState &suspensionState, const PxVehicleSuspensionComplianceState &suspensionComplianceState, const PxReal steerAngle, const PxTransform &rigidBodyPose, const PxVehicleWheelRigidBody1dState &wheelState)

Compute the pose of the wheel in the world frame.

PxTransform PxVehicleComputeWheelPoseForSuspensionQuery(const PxVehicleFrame &frame, const PxVehicleSuspensionParams &suspensionParams, const PxReal steerAngle, const PxTransform &rigidBodyPose)

Compute the start pose of a suspension query.

void PxVehicleConstraintsCreate(const PxVehicleAxleDescription &axleDescription, PxPhysics &physics, PxRigidBody &physxActor, PxVehiclePhysXConstraints &vehicleConstraints)

Instantiate the PhysX custom constraints.

void PxVehicleConstraintsDestroy(PxVehiclePhysXConstraints &vehicleConstraints)

Destroy the PhysX custom constraints.

void PxVehicleConstraintsDirtyStateUpdate(PxVehiclePhysXConstraints &vehicleConstraints)

To ensure the constraints are processed by the PhysX scene they are marked as dirty prior to each simulate step.

void PxVehicleDifferentialStateUpdate(const PxVehicleAxleDescription &axleDescription, const PxVehicleFourWheelDriveDifferentialParams &diffParams, const PxVehicleArrayData< const PxVehicleWheelRigidBody1dState > &wheelStates, const PxReal dt, PxVehicleDifferentialState &diffState, PxVehicleWheelConstraintGroupState &wheelConstraintGroupState)

Compute the fraction of available torque to be delivered to each wheel and gather a list of all wheels connected to the differential.

void PxVehicleDifferentialStateUpdate(const PxVehicleAxleDescription &axleDescription, const PxVehicleMultiWheelDriveDifferentialParams &diffParams, PxVehicleDifferentialState &diffState)

Compute the fraction of available torque to be delivered to each wheel and gather a list of all wheels connected to the differential.

void PxVehicleDifferentialStateUpdate(const PxVehicleFourWheelDriveDifferentialLegacyParams &diffParams, const PxVehicleArrayData< const PxVehicleWheelRigidBody1dState > &wheelStates, PxVehicleDifferentialState &diffState)

Compute the fraction of available torque to be delivered to each wheel and gather a list of all wheels connected to the differential.

void PxVehicleDifferentialStateUpdate(const PxVehicleAxleDescription &axleDescription, const PxVehicleArrayData< const PxVehicleWheelParams > &wheelParams, const PxVehicleTankDriveDifferentialParams &diffParams, const PxReal thrustCommand0, PxReal thrustCommand1, PxVehicleDifferentialState &diffState, PxVehicleWheelConstraintGroupState &wheelConstraintGroupState)

Compute the fraction of available torque to be delivered to each wheel and gather a list of all wheels connected to the differential.

void PxVehicleDirectDriveActuationStateUpdate(const PxReal brakeTorque, const PxReal driveTorque, PxVehicleWheelActuationState &actuationState)

Determine the actuation state of a wheel given the brake torque, handbrake torque and drive torque applied to it.

void PxVehicleDirectDriveThrottleCommandResponseUpdate(const PxReal throttle, const PxVehicleDirectDriveTransmissionCommandState &transmissionCommands, const PxReal longitudinalSpeed, const PxU32 wheelId, const PxVehicleDirectDriveThrottleCommandResponseParams &throttleResponseParams, PxReal &throttleResponseState)

Compute the drive torque response to a throttle command.

void PxVehicleDirectDriveUpdate(const PxVehicleWheelParams &wheelParams, const PxVehicleWheelActuationState &actuationState, const PxReal brakeTorque, const PxReal driveTorque, const PxVehicleTireForce &tireForce, const PxF32 dt, PxVehicleWheelRigidBody1dState &wheelRigidBody1dState)

Forward integrate the angular speed of a wheel given the brake and drive torque applied to it.

PxReal PxVehicleEngineDampingRateCompute(const PxVehicleEngineParams &engineParams, const PxVehicleGearboxParams &gearboxParams, const PxVehicleGearboxState &gearboxState, const PxVehicleClutchCommandResponseState &clutchResponseState, const PxVehicleEngineDriveThrottleCommandResponseState &throttleResponseState)

Compute the damping rate of the engine.

void PxVehicleEngineDriveActuationStateUpdate(const PxVehicleAxleDescription &axleDescription, const PxVehicleGearboxParams &gearboxParams, const PxVehicleArrayData< const PxReal > &brakeResponseStates, const PxVehicleEngineDriveThrottleCommandResponseState &throttleResponseState, const PxVehicleGearboxState &gearboxState, const PxVehicleDifferentialState &diffState, const PxVehicleClutchCommandResponseState &clutchResponseState, PxVehicleArrayData< PxVehicleWheelActuationState > &actuationStates)

Determine the actuation state of all wheels on a vehicle.

void PxVehicleEngineDriveThrottleCommandResponseLinearUpdate(const PxVehicleCommandState &commands, PxVehicleEngineDriveThrottleCommandResponseState &throttleResponse)

Propagate the input throttle command to the throttle response state.

PxReal PxVehicleEngineDriveTorqueCompute(const PxVehicleEngineParams &engineParams, const PxVehicleEngineState &engineState, const PxVehicleEngineDriveThrottleCommandResponseState &throttleCommandResponseState)

Compute the drive torque to deliver to the engine.

void PxVehicleEngineDrivetrainUpdate(const PxVehicleAxleDescription &axleDescription, const PxVehicleArrayData< const PxVehicleWheelParams > &wheelParams, const PxVehicleEngineParams &engineParams, const PxVehicleClutchParams &clutchParams, const PxVehicleGearboxParams &gearboxParams, const PxVehicleArrayData< const PxReal > &brakeResponseStates, const PxVehicleArrayData< const PxVehicleWheelActuationState > &actuationStates, const PxVehicleArrayData< const PxVehicleTireForce > &tireForces, const PxVehicleGearboxState &gearboxState, const PxVehicleEngineDriveThrottleCommandResponseState &throttleResponse, const PxVehicleClutchCommandResponseState &clutchResponse, const PxVehicleDifferentialState &diffState, const PxVehicleWheelConstraintGroupState *constraintGroupState, const PxReal dt, PxVehicleArrayData< PxVehicleWheelRigidBody1dState > &wheelRigidbody1dStates, PxVehicleEngineState &engineState, PxVehicleClutchSlipState &clutchState)

Forward integrate the angular speed of the vehicle's wheels and engine, given the state of clutch, differential and gearbox.

void PxVehicleGearCommandResponseUpdate(const PxU32 targetGearCommand, const PxVehicleGearboxParams &gearboxParams, PxVehicleGearboxState &gearboxState)

Propagate input gear commands to the gearbox state.

PxReal PxVehicleGearRatioCompute(const PxVehicleGearboxParams &gearboxParams, const PxVehicleGearboxState &gearboxState)

Compute the gear ratio delivered by the gearbox in the current gear.

void PxVehicleGearboxUpdate(const PxVehicleGearboxParams &gearboxParams, const PxF32 dt, PxVehicleGearboxState &gearboxState)

Update the current gear of the gearbox.

bool PxVehicleIsWheelOnGround(const PxVehicleSuspensionState &suspState)

Check if the suspension could place the wheel on the ground or not.

void PxVehicleLegacyDifferentialTorqueRatiosCompute(const PxVehicleFourWheelDriveDifferentialLegacyParams &diffParams, const PxVehicleArrayData< const PxVehicleWheelRigidBody1dState > &wheelOmegas, const PxU32 nbWheels, PxReal *diffTorqueRatios)

Compute the fraction of available torque that is delivered to each wheel through the differential.

void PxVehicleLegacyDifferentialWheelSpeedContributionsCompute(const PxVehicleFourWheelDriveDifferentialLegacyParams &diffParams, const PxU32 nbWheels, PxReal *diffAveWheelSpeedContributions)

Compute the contribution that each wheel makes to the averaged wheel speed at the clutch plate connected to the wheels driven by the differential.

PxReal PxVehicleLinearResponseCompute(const PxReal command, const PxU32 wheelId, const PxVehicleCommandResponseParams &responseParams)

Compute the linear response to a command.

PxReal PxVehicleNonLinearResponseCompute(const PxReal command, const PxReal longitudinalSpeed, const PxU32 wheelId, const PxVehicleCommandResponseParams &responseParams)

Compute the non-linear response to a command.

void PxVehiclePhysXActorConfigure(const PxVehiclePhysXRigidActorParams &rigidActorParams, const PxTransform &rigidActorCmassLocalPose, PxRigidBody &rigidBody)

Configure an actor so that it is ready for vehicle simulation.

void PxVehiclePhysXActorCreate(const PxVehicleFrame &vehicleFrame, const PxVehiclePhysXRigidActorParams &rigidActorParams, const PxTransform &rigidActorCmassLocalPose, const PxVehiclePhysXRigidActorShapeParams &rigidActorShapeParams, const PxVehiclePhysXWheelParams &wheelParams, const PxVehiclePhysXWheelShapeParams &wheelShapeParams, PxPhysics &physics, const PxCookingParams &params, PxVehiclePhysXActor &vehiclePhysXActor)

Create a PxRigidDynamic instance, instantiate it with desired properties and populate it with PxShape instances.

void PxVehiclePhysXActorDestroy(PxVehiclePhysXActor &vehiclePhysXActor)

Release the PxRigidDynamic , PxArticulationReducedCoordinate , PxArticulationLink and PxShape instances instantiated by PxVehiclePhysXActorCreate or PxVehiclePhysXArticulationLinkCreate.

void PxVehiclePhysXArticulationLinkCreate(const PxVehicleFrame &vehicleFrame, const PxVehiclePhysXRigidActorParams &rigidActorParams, const PxTransform &rigidActorCmassLocalPose, const PxVehiclePhysXRigidActorShapeParams &rigidActorShapeParams, const PxVehiclePhysXWheelParams &wheelParams, const PxVehiclePhysXWheelShapeParams &wheelShapeParams, PxPhysics &physics, const PxCookingParams &params, PxVehiclePhysXActor &vehiclePhysXActor)

Create a PxArticulationReducedCoordinate and a single PxArticulationLink , instantiate the PxArticulationLink with desired properties and populate it with PxShape instances.

void PxVehiclePhysXConstraintStatesUpdate(const PxVehicleSuspensionParams &suspensionParams, const PxVehiclePhysXSuspensionLimitConstraintParams &suspensionLimitParams, const PxVehicleSuspensionState &suspensionState, const PxVehicleSuspensionComplianceState &suspensionComplianceState, const PxVec3 &groundPlaneNormal, const PxReal tireStickyDampingLong, const PxReal tireStickyDampingLat, const PxVehicleTireDirectionState &tireDirectionState, const PxVehicleTireStickyState &tireStickyState, const PxVehicleRigidBodyState &rigidBodyState, PxVehiclePhysXConstraintState &constraintState)

Read constraint data from the vehicle's internal state for a single wheel and write it to a structure that will be read by the associated PxScene and used to impose the constraints during the next PxScene::simulate() step.

void PxVehiclePhysXRoadGeometryQueryUpdate(const PxVehicleWheelParams &wheelParams, const PxVehicleSuspensionParams &suspParams, const PxVehiclePhysXRoadGeometryQueryType::Enum queryType, PxQueryFilterCallback *filterCallback, const PxQueryFilterData &filterData, const PxVehiclePhysXMaterialFrictionParams &materialFrictionParams, const PxReal wheelYawAngle, const PxVehicleRigidBodyState &rigidBodyState, const PxScene &scene, const PxConvexMesh *unitCylinderSweepMesh, const PxVehicleFrame &frame, PxVehicleRoadGeometryState &roadGeomState, PxVehiclePhysXRoadGeometryQueryState *physxRoadGeometryState)

Compute the plane of the road geometry under a wheel and the tire friction of the contact.

void PxVehiclePhysxActorKeepAwakeCheck(const PxVehicleAxleDescription &axleDescription, const PxVehicleArrayData< const PxVehicleWheelParams > &wheelParams, const PxVehicleArrayData< const PxVehicleWheelRigidBody1dState > &wheelRigidBody1dStates, const PxReal wakeCounterThreshold, const PxReal wakeCounterResetValue, const PxVehicleGearboxState *gearState, const PxReal *throttle, PxRigidBody &physxActor)

Check if the physx actor has to be kept awake.

bool PxVehiclePhysxActorSleepCheck(const PxVehicleAxleDescription &axleDescription, const PxRigidBody &physxActor, const PxVehicleEngineParams *engineParams, PxVehicleRigidBodyState &rigidBodyState, PxVehiclePhysXConstraints &physxConstraints, PxVehicleArrayData< PxVehicleWheelRigidBody1dState > &wheelRigidBody1dStates, PxVehicleEngineState *engineState)

Check if the physx actor is sleeping and clear certain vehicle states if it is.

void PxVehiclePhysxActorWakeup(const PxVehicleCommandState &commands, const PxVehicleEngineDriveTransmissionCommandState *transmissionCommands, const PxVehicleGearboxParams *gearParams, const PxVehicleGearboxState *gearState, PxRigidBody &physxActor, PxVehiclePhysXSteerState &physxSteerState)

Wake up the physx actor if the actor is asleep and the commands signal an intent to change the state of the vehicle.

void PxVehiclePvdAntiRollsRegister(const PxVehicleSizedArrayData< const PxVehicleAntiRollForceParams > &antiRollForceParams, const PxVehicleAntiRollTorque *antiRollTorque, const PxVehiclePvdAttributeHandles &attributeHandles, PxVehiclePvdObjectHandles &objectHandles, OmniPvdWriter &omniWriter)

Register object instances in omnipvd that will be used to reflect the antiroll bars of a vehicle instance.

void PxVehiclePvdAntiRollsWrite(const PxVehicleSizedArrayData< const PxVehicleAntiRollForceParams > &antiRollForceParams, const PxVehicleAntiRollTorque *antiRollTorque, const PxVehiclePvdAttributeHandles &attributeHandles, const PxVehiclePvdObjectHandles &objectHandles, OmniPvdWriter &omniWriter)

Write antiroll data to omnipvd.

PxVehiclePvdAttributeHandles * PxVehiclePvdAttributesCreate(PxAllocatorCallback &allocator, OmniPvdWriter &omniWriter)

Create the attribute handles necessary to reflect vehicles in omnipvd.

void PxVehiclePvdAttributesRelease(PxAllocatorCallback &allocator, PxVehiclePvdAttributeHandles &attributeHandles)

Destory the attribute handles created by PxVehiclePvdAttributesCreate().

void PxVehiclePvdCommandResponseRegister(const PxVehicleSizedArrayData< const PxVehicleBrakeCommandResponseParams > &brakeResponseParams, const PxVehicleSteerCommandResponseParams *steerResponseParams, const PxVehicleAckermannParams *ackermannParams, const PxVehicleArrayData< PxReal > &brakeResponseStates, const PxVehicleArrayData< PxReal > &steerResponseStates, const PxVehiclePvdAttributeHandles &attributeHandles, PxVehiclePvdObjectHandles &objectHandles, OmniPvdWriter &omniWriter)

Register object instances in omnipvd that will be used to reflect the brake and steer command response parameters of a vehicle instance.

void PxVehiclePvdCommandResponseWrite(const PxVehicleAxleDescription &axleDesc, const PxVehicleSizedArrayData< const PxVehicleBrakeCommandResponseParams > &brakeResponseParams, const PxVehicleSteerCommandResponseParams *steerResponseParams, const PxVehicleAckermannParams *ackermannParams, const PxVehicleArrayData< PxReal > &brakeResponseStates, const PxVehicleArrayData< PxReal > &steerResponseStates, const PxVehiclePvdAttributeHandles &attributeHandles, const PxVehiclePvdObjectHandles &objectHandles, OmniPvdWriter &omniWriter)

Write brake and steer command response parameters to omnipvd.

void PxVehiclePvdDirectDrivetrainRegister(const PxVehicleCommandState *commandState, const PxVehicleDirectDriveTransmissionCommandState *transmissionCommandState, const PxVehicleDirectDriveThrottleCommandResponseParams *directDriveThrottleResponseParams, const PxVehicleArrayData< PxReal > &directDriveThrottleResponseState, const PxVehiclePvdAttributeHandles &attributeHandles, PxVehiclePvdObjectHandles &objectHandles, OmniPvdWriter &omniWriter)

Register object instances in omnipvd that will be used to reflect the direct drivetrain of a vehicle instance.

void PxVehiclePvdDirectDrivetrainWrite(const PxVehicleAxleDescription &axleDesc, const PxVehicleCommandState *commandState, const PxVehicleDirectDriveTransmissionCommandState *transmissionCommandState, const PxVehicleDirectDriveThrottleCommandResponseParams *directDriveThrottleResponseParams, const PxVehicleArrayData< PxReal > &directDriveThrottleResponseState, const PxVehiclePvdAttributeHandles &attributeHandles, const PxVehiclePvdObjectHandles &objectHandles, OmniPvdWriter &omniWriter)

Write direct drivetrain data to omnipvd.

void PxVehiclePvdEngineDrivetrainRegister(const PxVehicleCommandState *commandState, const PxVehicleEngineDriveTransmissionCommandState *engineDriveTransmissionCommandState, const PxVehicleTankDriveTransmissionCommandState *tankDriveTransmissionCommandState, const PxVehicleClutchCommandResponseParams *clutchResponseParams, const PxVehicleClutchParams *clutchParams, const PxVehicleEngineParams *engineParams, const PxVehicleGearboxParams *gearboxParams, const PxVehicleAutoboxParams *autoboxParams, const PxVehicleMultiWheelDriveDifferentialParams *multiWheelDiffParams, const PxVehicleFourWheelDriveDifferentialParams *fourWheelDiffPrams, const PxVehicleTankDriveDifferentialParams *tankDiffParams, const PxVehicleClutchCommandResponseState *clutchResponseState, const PxVehicleEngineDriveThrottleCommandResponseState *throttleResponseState, const PxVehicleEngineState *engineState, const PxVehicleGearboxState *gearboxState, const PxVehicleAutoboxState *autoboxState, const PxVehicleDifferentialState *diffState, const PxVehicleClutchSlipState *clutchSlipState, const PxVehiclePvdAttributeHandles &attributeHandles, PxVehiclePvdObjectHandles &objectHandles, OmniPvdWriter &omniWriter)

Register object instances in omnipvd that will be used to reflect the engine drivetrain of a vehicle instance.

void PxVehiclePvdEngineDrivetrainWrite(const PxVehicleCommandState *commandState, const PxVehicleEngineDriveTransmissionCommandState *engineDriveTransmissionCommandState, const PxVehicleTankDriveTransmissionCommandState *tankDriveTransmissionCommandState, const PxVehicleClutchCommandResponseParams *clutchResponseParams, const PxVehicleClutchParams *clutchParams, const PxVehicleEngineParams *engineParams, const PxVehicleGearboxParams *gearboxParams, const PxVehicleAutoboxParams *autoboxParams, const PxVehicleMultiWheelDriveDifferentialParams *multiWheelDiffParams, const PxVehicleFourWheelDriveDifferentialParams *fourWheelDiffParams, const PxVehicleTankDriveDifferentialParams *tankDiffParams, const PxVehicleClutchCommandResponseState *clutchResponseState, const PxVehicleEngineDriveThrottleCommandResponseState *throttleResponseState, const PxVehicleEngineState *engineState, const PxVehicleGearboxState *gearboxState, const PxVehicleAutoboxState *autoboxState, const PxVehicleDifferentialState *diffState, const PxVehicleClutchSlipState *clutchSlipState, const PxVehiclePvdAttributeHandles &attributeHandles, const PxVehiclePvdObjectHandles &objectHandles, OmniPvdWriter &omniWriter)

Write engine drivetrain data of a vehicle instance to omnipvd.

PxVehiclePvdObjectHandles * PxVehiclePvdObjectCreate(const PxU32 nbWheels, const PxU32 nbAntirolls, const PxU32 maxNbPhysxMaterialFrictions, const PxU64 contextHandle, PxAllocatorCallback &allocator)

Create omnipvd objects that will be used to reflect an individual veicle in omnipvd.

void PxVehiclePvdObjectRelease(OmniPvdWriter &omniWriter, PxAllocatorCallback &allocator, PxVehiclePvdObjectHandles &objectHandles)

Destroy the PxVehiclePvdObjectHandles instance created by PxVehiclePvdObjectCreate().

void PxVehiclePvdPhysXRigidActorRegister(const PxVehiclePhysXActor *physxActor, const PxVehiclePvdAttributeHandles &attributeHandles, PxVehiclePvdObjectHandles &objectHandles, OmniPvdWriter &omniWriter)

Register the PxRigidActor instance that represents the vehicle's rigid body in a PhysX scene.

void PxVehiclePvdPhysXRigidActorWrite(const PxVehiclePhysXActor *physxActor, const PxVehiclePvdAttributeHandles &attributeHandles, const PxVehiclePvdObjectHandles &objectHandles, OmniPvdWriter &omniWriter)

Write the PxRigidActor instance to omnipvd.

void PxVehiclePvdPhysXSteerStateRegister(const PxVehiclePhysXSteerState *physxSteerState, const PxVehiclePvdAttributeHandles &attributeHandles, PxVehiclePvdObjectHandles &objectHandles, OmniPvdWriter &omniWriter)

Register the PhysX related steer state class.

void PxVehiclePvdPhysXSteerStateWrite(const PxVehiclePhysXSteerState *physxSteerState, const PxVehiclePvdAttributeHandles &attributeHandles, const PxVehiclePvdObjectHandles &objectHandles, OmniPvdWriter &omniWriter)

Write the PxVehiclePhysXSteerState instance to omnipvd.

void PxVehiclePvdPhysXWheelAttachmentRegister(const PxVehicleAxleDescription &axleDesc, const PxVehicleArrayData< const PxVehiclePhysXSuspensionLimitConstraintParams > &physxSuspLimitConstraintParams, const PxVehicleArrayData< const PxVehiclePhysXMaterialFrictionParams > &physxMaterialFrictionParams, const PxVehiclePhysXActor *physxActor, const PxVehiclePhysXRoadGeometryQueryParams *physxRoadGeometryQueryParams, const PxVehicleArrayData< const PxVehiclePhysXRoadGeometryQueryState > &physxRoadGeomState, const PxVehicleArrayData< const PxVehiclePhysXConstraintState > &physxConstraintStates, const PxVehiclePvdAttributeHandles &attributeHandles, PxVehiclePvdObjectHandles &objectHandles, OmniPvdWriter &omniWriter)

Register per wheel attachment data that involves the vehicle's integration with a PhysX scene.

void PxVehiclePvdPhysXWheelAttachmentWrite(const PxVehicleAxleDescription &axleDesc, const PxVehicleArrayData< const PxVehiclePhysXSuspensionLimitConstraintParams > &physxSuspLimitConstraintParams, const PxVehicleArrayData< const PxVehiclePhysXMaterialFrictionParams > &physxMaterialFrictionParams, const PxVehiclePhysXActor *physxActor, const PxVehiclePhysXRoadGeometryQueryParams *physxRoadGeometryQueryParams, const PxVehicleArrayData< const PxVehiclePhysXRoadGeometryQueryState > &physxRoadGeomState, const PxVehicleArrayData< const PxVehiclePhysXConstraintState > &physxConstraintStates, const PxVehiclePvdAttributeHandles &attributeHandles, const PxVehiclePvdObjectHandles &objectHandles, OmniPvdWriter &omniWriter)

Write to omnipvd the per wheel attachment data that involves the vehicle's integration with a PhysX scene.

void PxVehiclePvdRigidBodyRegister(const PxVehicleRigidBodyParams *rbodyParams, const PxVehicleRigidBodyState *rbodyState, const PxVehiclePvdAttributeHandles &attributeHandles, PxVehiclePvdObjectHandles &objectHandles, OmniPvdWriter &omniWriter)

Create object instances in omnipvd that will be used to reflect the parameters and state of the rigid body of a vehicle instance.

void PxVehiclePvdRigidBodyWrite(const PxVehicleRigidBodyParams *rbodyParams, const PxVehicleRigidBodyState *rbodyState, const PxVehiclePvdAttributeHandles &attributeHandles, const PxVehiclePvdObjectHandles &objectHandles, OmniPvdWriter &omniWriter)

Write the parameters and state of the rigid body of a vehicle instance to omnipvd.

void PxVehiclePvdSuspensionStateCalculationParamsRegister(const PxVehicleSuspensionStateCalculationParams *suspStateCalcParams, const PxVehiclePvdAttributeHandles &attributeHandles, PxVehiclePvdObjectHandles &objectHandles, OmniPvdWriter &omniWriter)

Register object instances in omnipvd that will be used to reflect the suspension state calculation parameters of a vehicle instance.

void PxVehiclePvdSuspensionStateCalculationParamsWrite(const PxVehicleSuspensionStateCalculationParams *suspStateCalcParams, const PxVehiclePvdAttributeHandles &attributeHandles, const PxVehiclePvdObjectHandles &objectHandles, OmniPvdWriter &omniWriter)

Write the parameters and state of the rigid body of a vehicle instance to omnipvd.

void PxVehiclePvdWheelAttachmentsRegister(const PxVehicleAxleDescription &axleDesc, const PxVehicleArrayData< const PxVehicleWheelParams > &wheelParams, const PxVehicleArrayData< const PxVehicleWheelActuationState > &wheelActuationStates, const PxVehicleArrayData< const PxVehicleWheelRigidBody1dState > &wheelRigidBody1dStates, const PxVehicleArrayData< const PxVehicleWheelLocalPose > &wheelLocalPoses, const PxVehicleArrayData< const PxVehicleRoadGeometryState > &roadGeometryStates, const PxVehicleArrayData< const PxVehicleSuspensionParams > &suspParams, const PxVehicleArrayData< const PxVehicleSuspensionComplianceParams > &suspCompParams, const PxVehicleArrayData< const PxVehicleSuspensionForceParams > &suspForceParams, const PxVehicleArrayData< const PxVehicleSuspensionState > &suspStates, const PxVehicleArrayData< const PxVehicleSuspensionComplianceState > &suspCompStates, const PxVehicleArrayData< const PxVehicleSuspensionForce > &suspForces, const PxVehicleArrayData< const PxVehicleTireForceParams > &tireForceParams, const PxVehicleArrayData< const PxVehicleTireDirectionState > &tireDirectionStates, const PxVehicleArrayData< const PxVehicleTireSpeedState > &tireSpeedStates, const PxVehicleArrayData< const PxVehicleTireSlipState > &tireSlipStates, const PxVehicleArrayData< const PxVehicleTireStickyState > &tireStickyStates, const PxVehicleArrayData< const PxVehicleTireGripState > &tireGripStates, const PxVehicleArrayData< const PxVehicleTireCamberAngleState > &tireCamberStates, const PxVehicleArrayData< const PxVehicleTireForce > &tireForces, const PxVehiclePvdAttributeHandles &attributeHandles, PxVehiclePvdObjectHandles &objectHandles, OmniPvdWriter &omniWriter)

Register object instances in omnipvd that will be used to reflect wheel attachment data such as tires, suspensions and wheels.

void PxVehiclePvdWheelAttachmentsWrite(const PxVehicleAxleDescription &axleDesc, const PxVehicleArrayData< const PxVehicleWheelParams > &wheelParams, const PxVehicleArrayData< const PxVehicleWheelActuationState > &wheelActuationStates, const PxVehicleArrayData< const PxVehicleWheelRigidBody1dState > &wheelRigidBody1dStates, const PxVehicleArrayData< const PxVehicleWheelLocalPose > &wheelLocalPoses, const PxVehicleArrayData< const PxVehicleRoadGeometryState > &roadGeometryStates, const PxVehicleArrayData< const PxVehicleSuspensionParams > &suspParams, const PxVehicleArrayData< const PxVehicleSuspensionComplianceParams > &suspCompParams, const PxVehicleArrayData< const PxVehicleSuspensionForceParams > &suspForceParams, const PxVehicleArrayData< const PxVehicleSuspensionState > &suspStates, const PxVehicleArrayData< const PxVehicleSuspensionComplianceState > &suspCompStates, const PxVehicleArrayData< const PxVehicleSuspensionForce > &suspForces, const PxVehicleArrayData< const PxVehicleTireForceParams > &tireForceParams, const PxVehicleArrayData< const PxVehicleTireDirectionState > &tireDirectionStates, const PxVehicleArrayData< const PxVehicleTireSpeedState > &tireSpeedStates, const PxVehicleArrayData< const PxVehicleTireSlipState > &tireSlipStates, const PxVehicleArrayData< const PxVehicleTireStickyState > &tireStickyStates, const PxVehicleArrayData< const PxVehicleTireGripState > &tireGripStates, const PxVehicleArrayData< const PxVehicleTireCamberAngleState > &tireCamberStates, const PxVehicleArrayData< const PxVehicleTireForce > &tireForces, const PxVehiclePvdAttributeHandles &attributeHandles, const PxVehiclePvdObjectHandles &objectHandles, OmniPvdWriter &omniWriter)

Write wheel attachment data such as tire, suspension and wheel data to omnipvd.

void PxVehicleReadRigidBodyStateFromPhysXActor(const PxRigidBody &physxActor, PxVehicleRigidBodyState &rigidBodyState)

Read the rigid body state from a PhysX actor.

void PxVehicleRigidBodyUpdate(const PxVehicleAxleDescription &axleDescription, const PxVehicleRigidBodyParams &rigidBodyParams, const PxVehicleArrayData< const PxVehicleSuspensionForce > &suspensionForces, const PxVehicleArrayData< const PxVehicleTireForce > &tireForces, const PxVehicleAntiRollTorque *antiRollTorque, const PxReal dt, const PxVec3 &gravity, PxVehicleRigidBodyState &rigidBodyState)

Forward integrate rigid body state.

void PxVehicleShiftOrigin(const PxVehicleAxleDescription &axleDesc, const PxVec3 &shift, PxVehicleRigidBodyState &rigidBodyState, PxVehicleRoadGeometryState *roadGeometryStates, PxVehiclePhysXActor *physxActor=NULL, PxVehiclePhysXRoadGeometryQueryState *physxQueryStates=NULL)

Shift the origin of a vehicle by the specified vector.

void PxVehicleSteerCommandResponseUpdate(const PxReal steer, const PxReal longitudinalSpeed, const PxU32 wheelId, const PxVehicleSteerCommandResponseParams &steerResponseParams, PxReal &steerResponseState)

Compute the yaw angle response to a steer command.

void PxVehicleSuspensionComplianceUpdate(const PxVehicleSuspensionParams &suspensionParams, const PxVehicleSuspensionComplianceParams &complianceParams, const PxVehicleSuspensionState &suspensionState, PxVehicleSuspensionComplianceState &complianceState)

Compute the toe, camber and force application points that are affected by suspension compression.

void PxVehicleSuspensionForceUpdate(const PxVehicleSuspensionParams &suspensionParams, const PxVehicleSuspensionForceParams &suspensionForceParams, const PxVehicleRoadGeometryState &roadGeometryState, const PxVehicleSuspensionState &suspensionState, const PxVehicleSuspensionComplianceState &complianceState, const PxVehicleRigidBodyState &rigidBodyState, const PxVec3 &gravity, const PxReal vehicleMass, PxVehicleSuspensionForce &suspensionForce)

Compute the suspension force and torque arising from suspension compression and speed.

void PxVehicleSuspensionLegacyForceUpdate(const PxVehicleSuspensionParams &suspensionParams, const PxVehicleSuspensionForceLegacyParams &suspensionForceParams, const PxVehicleRoadGeometryState &roadGeometryState, const PxVehicleSuspensionState &suspensionState, const PxVehicleSuspensionComplianceState &complianceState, const PxVehicleRigidBodyState &rigidBodyState, const PxVec3 &gravity, PxVehicleSuspensionForce &suspensionForce)

Compute the suspension force and torque arising from suspension compression and speed.

void PxVehicleSuspensionStateUpdate(const PxVehicleWheelParams &wheelParams, const PxVehicleSuspensionParams &suspensionParams, const PxVehicleSuspensionStateCalculationParams &suspensionStateCalcParams, const PxReal suspensionStiffness, const PxReal suspensionDamping, const PxReal steerAngle, const PxVehicleRoadGeometryState &roadGeometryState, const PxVehicleRigidBodyState &rigidBodyState, const PxReal dt, const PxVehicleFrame &frame, const PxVec3 &gravity, PxVehicleSuspensionState &suspState)

Compute the suspension compression and compression speed for a single suspension.

void PxVehicleTireCamberAnglesUpdate(const PxVehicleSuspensionParams &suspensionParams, const PxReal steerAngle, const PxVec3 &groundNormal, bool isWheelOnGround, const PxVehicleSuspensionComplianceState &complianceState, const PxVehicleRigidBodyState &rigidBodyState, const PxVehicleFrame &frame, PxVehicleTireCamberAngleState &tireCamberAngleState)

Compute the camber angle of the wheel.

void PxVehicleTireDirsLegacyUpdate(const PxVehicleSuspensionParams &suspensionParams, const PxReal steerAngle, const PxVehicleRoadGeometryState &roadGeometryState, const PxVehicleRigidBodyState &rigidBodyState, const PxVehicleFrame &frame, PxVehicleTireDirectionState &tireDirectionState)

Compute the longitudinal and lateral tire directions in the ground plane.

void PxVehicleTireDirsUpdate(const PxVehicleSuspensionParams &suspensionParams, const PxReal steerAngle, const PxVec3 &groundNormal, bool isWheelOnGround, const PxVehicleSuspensionComplianceState &complianceState, const PxVehicleRigidBodyState &rigidBodyState, const PxVehicleFrame &frame, PxVehicleTireDirectionState &tireDirectionState)

Compute the longitudinal and lateral tire directions in the ground plane.

void PxVehicleTireForcesUpdate(const PxVehicleWheelParams &wheelParams, const PxVehicleSuspensionParams &suspensionParams, const PxVehicleTireForceParams &tireForceParams, const PxVehicleSuspensionComplianceState &complianceState, const PxVehicleTireGripState &tireGripState, const PxVehicleTireDirectionState &tireDirectionState, const PxVehicleTireSlipState &tireSlipState, const PxVehicleTireCamberAngleState &tireCamberAngleState, const PxVehicleRigidBodyState &rigidBodyState, PxVehicleTireForce &tireForce)

Compute the longitudinal and lateral forces in the world frame that develop on the tire as a consequence of the tire's slip angles, friction and load.

void PxVehicleTireGripUpdate(const PxVehicleTireForceParams &tireForceParams, PxReal frictionCoefficient, bool isWheelOnGround, const PxVehicleSuspensionForce &suspensionForce, const PxVehicleTireSlipState &tireSlipState, PxVehicleTireGripState &tireGripState)

Compute the load and friction experienced by the tire.

void PxVehicleTireSlipSpeedsUpdate(const PxVehicleWheelParams &wheelParams, const PxVehicleSuspensionParams &suspensionParams, const PxF32 steerAngle, const PxVehicleSuspensionState &suspensionStates, const PxVehicleTireDirectionState &tireDirectionState, const PxVehicleRigidBodyState &rigidBodyState, const PxVehicleRoadGeometryState &roadGeometryState, const PxVehicleFrame &frame, PxVehicleTireSpeedState &tireSpeedState)

Project the rigid body velocity at the tire contact point along the tire longitudinal directions.

void PxVehicleTireSlipsAccountingForStickyStatesUpdate(const PxVehicleTireStickyState &tireStickyState, PxVehicleTireSlipState &tireSlipState)

Set the tire longitudinal and lateral slip values to 0.0 in the event that the tire has entred tire sticky state.

void PxVehicleTireSlipsLegacyUpdate(const PxVehicleWheelParams &wheelParams, const PxVehicleTireSlipParams &tireSlipParams, const PxVehicleWheelActuationState &actuationState, PxVehicleTireSpeedState &tireSpeedState, const PxVehicleWheelRigidBody1dState &wheelRigidBody1dState, PxVehicleTireSlipState &tireSlipState)

Compute a tire's longitudinal and lateral slip angles.

void PxVehicleTireSlipsUpdate(const PxVehicleWheelParams &wheelParams, const PxVehicleTireSlipParams &tireSlipParams, const PxVehicleWheelActuationState &actuationState, PxVehicleTireSpeedState &tireSpeedState, const PxVehicleWheelRigidBody1dState &wheelRigidBody1dState, PxVehicleTireSlipState &tireSlipState)

Compute a tire's longitudinal and lateral slip angles.

void PxVehicleTireStickyStateReset(const bool poweredVehicleIntentionToAccelerate, const PxVehicleAxleDescription &unpoweredVehicleAxleDesc, PxVehicleArrayData< PxVehicleTireStickyState > &unpoweredVehicleStickyState)

Reset the sticky tire states of an unpowered vehicle if it is in a jointed ensemble of vehicles with at least one powered vehicle.

void PxVehicleTireStickyStateUpdate(const PxVehicleAxleDescription &axleDescription, const PxVehicleWheelParams &wheelParams, const PxVehicleTireStickyParams &tireStickyParams, const PxVehicleArrayData< const PxVehicleWheelActuationState > &actuationStates, const PxVehicleTireGripState &tireGripState, const PxVehicleTireSpeedState &tireSpeedState, const PxVehicleWheelRigidBody1dState &wheelRigidBody1dState, const PxReal dt, PxVehicleTireStickyState &tireStickyState)

When a tire has been at a very low speed for a threshold time without application of drive torque, a secondary tire model is applied to bring the tire to rest using velocity constraints that asymptotically approach zero speed along the tire's lateral and longitudinal directions.

PxVec3 PxVehicleTransformFrameToFrame(const PxVehicleFrame &srcFrame, const PxVehicleFrame &trgFrame, const PxVehicleScale &srcScale, const PxVehicleScale &trgScale, const PxVec3 &v)

PxVec3 PxVehicleTransformFrameToFrame(const PxVehicleFrame &srcFrame, const PxVehicleFrame &trgFrame, const PxVec3 &v)

PxTransform PxVehicleTransformFrameToFrame(const PxVehicleFrame &srcFrame, const PxVehicleFrame &trgFrame, const PxVehicleScale &srcScale, const PxVehicleScale &trgScale, const PxTransform &v)

PxConvexMesh * PxVehicleUnitCylinderSweepMeshCreate(const PxVehicleFrame &vehicleFrame, PxPhysics &physics, const PxCookingParams &params)

Create a cylindrical mesh with unit radius and half-width.

void PxVehicleUnitCylinderSweepMeshDestroy(PxConvexMesh *mesh)

Release the mesh created with PxVehicleUnitCylinderSweepMeshCreate.

void PxVehicleWheelRotationAngleUpdate(const PxVehicleWheelParams &wheelParams, const PxVehicleWheelActuationState &actuationState, const PxVehicleSuspensionState &suspensionState, const PxVehicleTireSpeedState &tireSpeedState, const PxReal thresholdForwardSpeedForWheelAngleIntegration, const PxReal dt, PxVehicleWheelRigidBody1dState &wheelRigidBody1dState)

Forward integrate the rotation angle of a wheel.

void PxVehicleWriteRigidBodyStateToPhysXActor(const PxVehiclePhysXActorUpdateMode::Enum physxActorUpdateMode, const PxVehicleRigidBodyState &rigidBodyState, const PxReal dt, PxRigidBody &physXActor)

Write the rigid body state to a PhysX actor.

void PxVehicleWriteWheelLocalPoseToPhysXWheelShape(const PxTransform &wheelLocalPose, const PxTransform &wheelShapeLocalPose, PxShape *shape)

Update the local pose of a PxShape that is associated with a wheel.

int32_t Pxsnprintf(char *dst, size_t dstSize, const char *format,…)

int32_t Pxsscanf(const char *buffer, const char *format,…)

int32_t Pxstrcmp(const char *str1, const char *str2)

int32_t Pxstricmp(const char *str1, const char *str2)

size_t Pxstrlcat(char *dst, size_t dstSize, const char *src)

size_t Pxstrlcpy(char *dst, size_t dstSize, const char *src)

void Pxstrlwr(char *str)

int32_t Pxstrncmp(const char *str1, const char *str2, size_t count)

int32_t Pxstrnicmp(const char *str1, const char *str2, size_t count)

void Pxstrupr(char *str)

int32_t Pxvsnprintf(char *dst, size_t dstSize, const char *src, va_list arg)

void computeBarycentric(const PxVec3 &a, const PxVec3 &b, const PxVec3 &c, const PxVec3 &p, PxVec4 &bary)

Computes the barycentric coordinates for a point inside a triangle (deprecated).

void computeBarycentric(const PxVec3 &a, const PxVec3 &b, const PxVec3 &c, const PxVec3 &d, const PxVec3 &p, PxVec4 &bary)

Computes the barycentric coordinates for a point inside a tetrahedron (deprecated).

PxU32 vehicleConstraintSolverPrep(Px1DConstraint *constraints, PxVec3p &body0WorldOffset, PxU32 maxConstraints, PxConstraintInvMassScale &, const void *constantBlock, const PxTransform &bodyAToWorld, const PxTransform &bodyBToWorld, bool, PxVec3p &cA2w, PxVec3p &cB2w)

void visualiseVehicleConstraint(PxConstraintVisualizer &viz, const void *constantBlock, const PxTransform &body0Transform, const PxTransform &body1Transform, PxU32 flags)