Name Description Size Coverage
PxBroadPhaseExt.h \brief Creates regions for PxSceneDesc, from a global box. This helper simply subdivides the given global box into a 2D grid of smaller boxes. Each one of those smaller boxes is a region of interest for the broadphase. There are nbSubdiv*nbSubdiv regions in the 2D grid. The function does not subdivide along the given up axis. This is the simplest setup one can use with PxBroadPhaseType::eMBP. A more sophisticated setup would try to cover the game world with a non-uniform set of regions (i.e. not just a grid). \param[out] regions Regions computed from the input global box \param[in] globalBounds World-space box covering the game world \param[in] nbSubdiv Grid subdivision level. The function will create nbSubdiv*nbSubdiv regions. \param[in] upAxis Up axis (0 for X, 1 for Y, 2 for Z). \return number of regions written out to the 'regions' array \see PxSceneDesc PxBroadPhaseType 1599 -
PxCollectionExt.h \brief Removes and releases all object from a collection. The Collection itself is not released. If the releaseExclusiveShapes flag is not set to true, release() will not be called on exclusive shapes. It is assumed that the application holds a reference to each of the objects in the collection, with the exception of objects that are not releasable (PxBase::isReleasable()). In general, objects that violate this assumption need to be removed from the collection prior to calling releaseObjects. \note when a shape is created with PxRigidActorExt::createExclusiveShape(), the only counted reference is held by the actor. If such a shape and its actor are present in the collection, the reference count will be decremented once when the actor is released, and once when the shape is released, resulting in undefined behavior. Shape reference counts can be incremented with PxShape::acquireReference(). \param[in] collection to remove and release all object from. \param[in] releaseExclusiveShapes if this parameter is set to false, release() will not be called on exclusive shapes. 3740 -
PxConstraintExt.h \brief Unique identifiers for extensions classes which implement a constraint based on PxConstraint. \note Users which want to create their own custom constraint types should choose an ID larger or equal to eNEXT_FREE_ID and not eINVALID_ID. \see PxConstraint PxSimulationEventCallback.onConstraintBreak() 907 -
PxConvexCoreExt.h \brief Convex geometry helpers 1581 -
PxConvexMeshExt.h \brief 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. \param[in] convexGeom The convex mesh geometry. \param[in] geomPose Pose for the geometry object. \param[in] impactPos Impact position. \param[in] unitDir Normalized impact direction. \return Closest face index of the convex geometry. \see PxTransform PxConvexMeshGeometry 1386 -
PxCudaHelpersExt.h \brief Allocates a device buffer and returns the pointer to the memory The cuda context will get acquired automatically \param[in] cudaContextManager the PxCudaContextManager managing the CUDA context the allocation should be attributed to. \param[in] numElements the number of elements of type T to allocate. \return a pointer to the allocated memory. 11928 -
PxCustomGeometryExt.h \brief Pre-made custom geometry callbacks implementations. 6363 -
PxCustomSceneQuerySystem.h \brief A custom scene query system. This is an example of a custom scene query system. It augments the PxSceneQuerySystem API to support an arbitrary number of "pruners", instead of the usual hardcoded two. It might not be possible to support the whole PxSceneQuerySystem API in this context. See the source code for details. \see PxSceneQuerySystem 6607 -
PxD6Joint.h \brief Create a D6 joint. \param[in] physics The physics SDK \param[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 \param[in] localFrame0 The position and orientation of the joint relative to actor0 \param[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 \param[in] localFrame1 The position and orientation of the joint relative to actor1 \see PxD6Joint 17383 -
PxD6JointCreate.h \brief 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. \param[in] physics The physics SDK \param[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 \param[in] localPos0 The position of the joint relative to actor0 \param[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 \param[in] localPos1 The position of the joint relative to actor1 \param[in] useD6 True to use a PxD6Joint, false to use a PxFixedJoint; \return The created joint. \see PxD6Joint PxFixedJoint 13198 -
PxDefaultAllocator.h \brief default implementation of the allocator interface required by the SDK 1913 -
PxDefaultCpuDispatcher.h \brief A default implementation for a CPU task dispatcher. \see PxDefaultCpuDispatcherCreate() PxCpuDispatcher 3191 -
PxDefaultErrorCallback.h \brief default implementation of the error callback This class is provided in order to enable the SDK to be started with the minimum of user code. Typically an application will use its own error callback, and log the error to file or otherwise make it visible. Warnings and error messages from the SDK are usually indicative that changes are required in order for PhysX to function correctly, and should not be ignored. 1201 -
PxDefaultProfiler.h \brief The major and minor version of the current Default Profiler file format. 5664 -
PxDefaultSimulationFilterShader.h \brief 64-bit mask used for collision filtering. The collision filtering equation for 2 objects o0 and o1 is: <pre> (G0 op0 K0) op2 (G1 op1 K1) == b </pre> with <ul> <li> G0 = PxGroupsMask for object o0. See PxSetGroupsMask </li> <li> G1 = PxGroupsMask for object o1. See PxSetGroupsMask </li> <li> K0 = filtering constant 0. See PxSetFilterConstants </li> <li> K1 = filtering constant 1. See PxSetFilterConstants </li> <li> b = filtering boolean. See PxSetFilterBool </li> <li> op0, op1, op2 = filtering operations. See PxSetFilterOps </li> </ul> If the filtering equation is true, collision detection is enabled. \see PxSetFilterOps() 7389 -
PxDefaultStreams.h \brief default implementation of a memory write stream \see PxOutputStream 2503 -
PxDeformableSkinningExt.h \brief Utility functions for deformable surface and volume skinning 3220 -
PxDeformableSurfaceExt.h \brief Utility functions for use with PxDeformableSurface 8690 -
PxDeformableVolumeExt.h \brief Utility functions for use with PxDeformableVolume and subclasses 13806 -
PxDistanceJoint.h \brief Create a distance Joint. \param[in] physics The physics SDK \param[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 \param[in] localFrame0 The position and orientation of the joint relative to actor0 \param[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 \param[in] localFrame1 The position and orientation of the joint relative to actor1 \see PxDistanceJoint 6585 -
PxExtensionsAPI.h \brief Initialize the PhysXExtensions library. This should be called before calling any functions or methods in extensions which may require allocation. \note This function does not need to be called before creating a PxDefaultAllocator object. \param physics a PxPhysics object \param pvd an PxPvd (PhysX Visual Debugger) object \see PxCloseExtensions PxFoundation PxPhysics 2513 -
PxFixedJoint.h \brief Create a fixed joint. \param[in] physics The physics SDK \param[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 \param[in] localFrame0 The position and orientation of the joint relative to actor0 \param[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 \param[in] localFrame1 The position and orientation of the joint relative to actor1 \see PxFixedJoint 2087 -
PxGearJoint.h \brief Create a gear Joint. \param[in] physics The physics SDK \param[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 \param[in] localFrame0 The position and orientation of the joint relative to actor0 \param[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 \param[in] localFrame1 The position and orientation of the joint relative to actor1 \see PxGearJoint 3439 -
PxGjkQueryExt.h \brief Pre-made support mapping for built-in convex geometry types. 5554 -
PxJoint.h \brief an enumeration of PhysX' built-in joint types \see PxJoint 9683 -
PxJointLimit.h \brief Describes the parameters for a joint limit. Limits are enabled or disabled by setting flags or other configuration parameters joints, see the documentation for specific joint types for details. 11986 -
PxMassProperties.h \brief Utility class to compute and manipulate mass and inertia tensor properties. In most cases #PxRigidBodyExt::updateMassAndInertia(), #PxRigidBodyExt::setMassAndUpdateInertia() should be enough to setup the mass properties of a rigid body. This utility class targets users that need to customize the mass properties computation. 13848 -
PxParticleExt.h \brief Structure to define user-defined particle state when constructing a new particle system. 2017 -
PxPrismaticJoint.h \brief Create a prismatic joint. \param[in] physics The physics SDK \param[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 \param[in] localFrame0 The position and orientation of the joint relative to actor0 \param[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 \param[in] localFrame1 The position and orientation of the joint relative to actor1 \see PxPrismaticJoint 4105 -
PxRackAndPinionJoint.h \brief Create a rack & pinion Joint. \param[in] physics The physics SDK \param[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 \param[in] localFrame0 The position and orientation of the joint relative to actor0 \param[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 \param[in] localFrame1 The position and orientation of the joint relative to actor1 \see PxRackAndPinionJoint 4190 -
PxRaycastCCD.h \brief Raycast-CCD manager. Raycast-CCD is a simple and potentially cheaper alternative to the SDK's built-in continuous collision detection algorithm. This implementation has some limitations: - it is only implemented for PxRigidDynamic objects (not for PxArticulationLink) - it is only implemented for simple actors with 1 shape (not for "compounds") Also, since it is raycast-based, the solution is not perfect. In particular: - small dynamic objects can still go through the static world if the ray goes through a crack between edges, or a small hole in the world (like the keyhole from a door). - dynamic-vs-dynamic CCD is very approximate. It only works well for fast-moving dynamic objects colliding against slow-moving dynamic objects. Finally, since it is using the SDK's scene queries under the hood, it only works provided the simulation shapes also have scene-query shapes associated with them. That is, if the objects in the scene only use PxShapeFlag::eSIMULATION_SHAPE (and no PxShapeFlag::eSCENE_QUERY_SHAPE), then the raycast-CCD system will not work. 2569 -
PxRemeshingExt.h \brief Provides methods to adjust the tessellation of meshes 3420 -
PxRepXSerializer.h \brief Serializer interface for RepX (Xml) serialization. \deprecated Xml serialization is deprecated. An alternative serialization system is provided through USD Physics. In order to serialize a class to RepX both a PxSerializer and a PxRepXSerializer implementation are needed. A repx Serializer provides the ability to capture a live object to a descriptor or static state and the ability to write that state out to a file. Objects allocated by the Serializer using the allocator are freed when the collection itself is freed. SnRepXCoreSerializers.cpp implements a set of Serializers for the core PhysX types. \note Implementing a PxRepXSerializer is currently not practical without including the internal PhysXExtension header "SnRepXSerializerImpl.h". \see PxSerializer, PX_NEW_REPX_SERIALIZER, PxSerializationRegistry::registerRepXSerializer 5045 -
PxRepXSimpleType.h \brief Helper class containing the mapping of id to object, and type name. \deprecated Xml serialization is deprecated. An alternative serialization system is provided through USD Physics. 2196 -
PxRevoluteJoint.h \brief Create a revolute joint. \param[in] physics The physics SDK \param[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 \param[in] localFrame0 The position and orientation of the joint relative to actor0 \param[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 \param[in] localFrame1 The position and orientation of the joint relative to actor1 \see PxRevoluteJoint 6878 -
PxRigidActorExt.h \brief utility functions for use with PxRigidActor and subclasses \see PxRigidActor PxRigidStatic PxRigidBody PxRigidDynamic PxArticulationLink 5528 -
PxRigidBodyExt.h \brief utility functions for use with PxRigidBody and subclasses \see PxRigidBody PxRigidDynamic PxArticulationLink 24111 -
PxSamplingExt.h \brief utility functions to sample vertices on or inside a triangle mesh or other geometries 9202 -
PxSceneQueryExt.h \brief Utility functions for use with PxScene, related to scene queries. Some of these functions have been deprecated (removed) in PhysX 3.4. We re-implement them here for easy migration from 3.3 to 3.4. We will not remove them for convenience. 29236 -
PxSceneQuerySystemExt.h \brief Creates an external scene query system. An external SQ system is the part of a PxScene that deals with scene queries (SQ). This is usually taken care of by an internal implementation inside PxScene, but it is also possible to re-route all SQ calls to an external implementation, potentially opening the door to some customizations in behavior and features for advanced users. The following external SQ system is an example of how an implementation would look like. It re-uses much of the same code as the internal version, but it could be re-implemented in a completely different way to match users' specific needs. \param[in] desc Scene query descriptor \param[in] contextID Context ID parameter, sent to the profiler \return An external SQ system instance \see PxSceneQuerySystem PxSceneQueryDesc 1414 -
PxSerialization.h PX_BINARY_SERIAL_VERSION is used to version the PhysX binary data and meta data. The global unique identifier of the PhysX SDK needs to match the one in the data and meta data, otherwise they are considered incompatible. A 32 character wide GUID can be generated with https://www.guidgenerator.com/ for example. 11137 -
PxShapeExt.h \brief utility functions for use with PxShape \see PxShape 4682 -
PxSimpleFactory.h \brief simple method to create a PxRigidDynamic actor with a single PxShape. \param[in] sdk the PxPhysics object \param[in] transform the global pose of the new object \param[in] geometry the geometry of the new object's shape, which must be a sphere, capsule, box or convex \param[in] material the material for the new object's shape \param[in] density the density of the new object. Must be greater than zero. \param[in] shapeOffset an optional offset for the new shape, defaults to identity \return a new dynamic actor with the PxRigidBodyFlag, or NULL if it could not be constructed \see PxRigidDynamic PxShapeFlag 9573 -
PxSmoothNormals.h \brief Builds smooth vertex normals over a mesh. - "smooth" because smoothing groups are not supported here - takes angles into account for correct cube normals computation 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. \param[in] nbTris Number of triangles \param[in] nbVerts Number of vertices \param[in] verts Array of vertices \param[in] dFaces Array of dword triangle indices, or null \param[in] wFaces Array of word triangle indices, or null \param[out] normals Array of computed normals (assumes nbVerts vectors) \param[in] flip Flips the normals or not \return True on success. 1327 -
PxSphericalJoint.h \brief Create a spherical joint. \param[in] physics The physics SDK \param[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 \param[in] localFrame0 The position and orientation of the joint relative to actor0 \param[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 \param[in] localFrame1 The position and orientation of the joint relative to actor1 \see PxSphericalJoint 4281 -
PxStringTableExt.h \brief a factory class for creating PxStringTable with a specific allocator. \see PxStringTable 740 -
PxTetMakerExt.h \brief Provides functionality to create a tetrahedral mesh from a triangle mesh. 13406 -
PxTetrahedronMeshAnalysisResult.h \brief These flags indicate what kind of deficiencies a tetrahedron mesh has and describe if the mesh is considered ok, problematic or invalid for deformable volume cooking 1248 -
PxTetrahedronMeshExt.h \brief utility functions for use with PxTetrahedronMesh and subclasses 4227 -
PxTriangleMeshAnalysisResult.h \brief These flags indicate what kind of deficiencies a triangle mesh has and describe if the mesh is considered ok, problematic or invalid for tetmeshing 3089 -
PxTriangleMeshExt.h \brief Utility class to find mesh triangles touched by a specified geometry object. This class is a helper calling PxMeshQuery::findOverlapTriangleMesh or PxMeshQuery::findOverlapHeightField under the hood, while taking care of necessary memory management issues. PxMeshQuery::findOverlapTriangleMesh and PxMeshQuery::findOverlapHeightField are the "raw" functions operating on user-provided fixed-size buffers. These functions abort with an error code in case of buffer overflow. PxMeshOverlapUtil is a convenient helper function checking this error code, and resizing buffers appropriately, until the desired call succeeds. Returned triangle indices are stored within the class, and can be used with PxMeshQuery::getTriangle() to retrieve the triangle properties. 7705 -