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