RavEngine
Loading...
Searching...
No Matches

Sorts an array of objects in ascending order, assuming that the predicate implements the < operator: More...

Namespaces

namespace  Dy
 A header to represent a friction patch for the solver.
 
namespace  Gu
 Represents a sphere defined by its center point and radius.
 

Classes

struct  AlwaysInsideTester
 
class  BigConvexData
 
class  BigConvexDataBuilder
 
struct  BoundsLTE
 
class  BufferedSocketImpl
 
class  BV32TetrahedronMeshBuilder
 
class  BV32TriangleMeshBuilder
 
class  BV4TriangleMeshBuilder
 
struct  ClosestTetrahedronFinderCallback
 
class  CMemoryPool
 
class  CMemoryPoolManager
 
class  ConvexHull
 
class  ConvexHullBuilder
 
class  ConvexHullLib
 
class  ConvexMeshBuilder
 
class  ConvexPolygonsBuilder
 
class  Cooking
 
class  CVariableMemoryPool
 
class  DebugVizCallback
 
struct  endl_obj
 
class  ExtSceneQueries
 
class  Foundation
 
class  FrictionPatchStreamPair
 
class  GeometryUnion
 
struct  ImplicitSolverInput
 
struct  ImplicitSolverOutput
 
struct  Interpolation
 
struct  Interval
 
class  InvalidGeometry
 
class  MaterialCoreT
 
struct  MaterialIndicesStruct
 
class  Matrix33Solver
 
class  MatrixNGaussSeidelSolver
 
class  MatrixNN
 
class  MatrixNNLUSolver
 
class  MemoryBuffer
 
struct  MemoryBufferBase
 
struct  MeshData
 
struct  MFrictionVsSlipGraphProperty
 
struct  MTorqueCurveProperty
 
struct  NbCCDPairsProperty
 
struct  NbDiscreteContactPairsProperty
 
struct  NbModifiedContactPairsProperty
 
struct  NbShapesProperty
 
struct  NbTriggerPairsProperty
 
class  NpActor
 
class  NpActorTemplate
 
class  NpAggregate
 
class  NpArticulationAttachment
 
class  NpArticulationAttachmentArray
 !!AL TODO: check if default of 4 elements makes sense More...
 
class  NpArticulationFixedTendon
 
class  NpArticulationJointReducedCoordinate
 
class  NpArticulationLink
 
class  NpArticulationLinkArray
 !!AL TODO: check if default of 4 elements makes sense More...
 
class  NpArticulationReducedCoordinate
 
class  NpArticulationSensor
 
class  NpArticulationSpatialTendon
 
class  NpArticulationTendonJoint
 
class  NpArticulationTendonJointArray
 !!AL TODO: check if default of 4 elements makes sense More...
 
class  NpBase
 
class  NpConnector
 
class  NpConnectorArray
 
class  NpConnectorIterator
 
struct  NpConnectorType
 
class  NpConstraint
 
class  NpContactCallbackTask
 
class  NpFactory
 
class  NpFactoryListener
 
class  NpFEMSoftBodyMaterial
 
class  NpMaterial
 
class  NpMaterialAccessor
 
class  NpMaterialAccessor< NpFEMSoftBodyMaterial >
 
class  NpMaterialAccessor< NpMaterial >
 
class  NpMaterialAccessor< NpPBDMaterial >
 
struct  NpMaterialIndexTranslator
 
class  NpMaterialManager
 
class  NpMaterialManagerIterator
 
class  NpOmniPvd
 
class  NpParticleClothPreProcessor
 
class  NpParticleSystem
 
class  NpPBDMaterial
 
class  NpPBDParticleSystem
 
class  NpPhysics
 
class  NpPhysicsInsertionCallback
 
class  NpPtrTableStorageManager
 
class  NpReadCheck
 
class  NpRigidActorTemplate
 
class  NpRigidBodyTemplate
 
class  NpRigidDynamic
 
class  NpRigidStatic
 
class  NpScene
 
class  NpSceneAccessor
 
class  NpSceneQueries
 
class  NpShape
 
class  NpShapeManager
 
class  NpSoftBody
 
struct  NpType
 
class  NpWriteCheck
 
struct  NvPhysXToDrv_Data_V1_
 
struct  NvPhysXToDrv_Header_
 
struct  PartitionEdge
 
struct  PartitionIndexData
 
struct  PartitionNodeData
 
struct  PCMConvexVsHeightfieldContactGenerationCallback
 
struct  PCMConvexVsMeshContactGenerationCallback
 
struct  PCMSphereVsHeightfieldContactGenerationCallback
 
class  PhysXIndicator
 
struct  PointInOBBTester
 
struct  PointInSphereTester
 
struct  PointInVolumeTester
 
class  PoissonSamplerShared
 
struct  ProcessSuspWheelTireConstData
 
struct  ProcessSuspWheelTireInputData
 
struct  ProcessSuspWheelTireOutputData
 
struct  Px1DConstraint
 A one-dimensional constraint. More...
 
struct  Px1DConstraintFlag
 Constraint row flags. More...
 
class  PxAABBManager
 High-level broadphase API. More...
 
class  PxActor
 PxActor is the base class for the main simulation objects in the physics SDK. More...
 
struct  PxActorCacheFlag
 Identifies each type of information for retrieving from actor. More...
 
struct  PxActorFlag
 Flags which control the behavior of an actor. More...
 
struct  PxActorShape
 Combines a shape pointer and the actor the shape belongs to into one memory location. More...
 
struct  PxActorType
 Identifies each type of actor. More...
 
struct  PxActorTypeFlag
 Identifies each type of actor for retrieving actors from a scene. More...
 
class  PxAggregate
 Class to aggregate actors into a single broad-phase entry. More...
 
struct  PxAggregateRepXSerializer
 
struct  PxAggregateType
 
class  PxAlignedAllocator
 
class  PxAllocationListener
 Abstract listener class that listens to allocation and deallocation events from the foundation memory system. More...
 
class  PxAllocator
 
class  PxAllocatorCallback
 Abstract base class for an application defined memory allocator that can be used by the Nv library. More...
 
struct  PxAllocatorTraits
 
class  PxArray
 
class  PxArticulationAttachment
 Defines a spatial tendon attachment point on a link. More...
 
struct  PxArticulationAxis
 
class  PxArticulationCache
 Data structure used to read and write internal articulation data. More...
 
class  PxArticulationCacheFlag
 These flags determine what data is read or written to the internal articulation data via cache. More...
 
struct  PxArticulationDrive
 Data structure for articulation joint drive configuration. More...
 
struct  PxArticulationDriveType
 
class  PxArticulationFixedTendon
 A fixed tendon that can be used to link multiple degrees of freedom of multiple articulation joints via length and limit constraints. More...
 
struct  PxArticulationFlag
 
class  PxArticulationGpuDataType
 A description of the types of articulation data that may be directly written to and read from the GPU using the functions PxScene::copyArticulationData() and PxScene::applyArticulationData(). Types that are read-only may only be used in conjunction with PxScene::copyArticulationData(). Types that are write-only may only be used in conjunction with PxScene::applyArticulationData(). A subset of data types may be used in conjunction with both PxScene::applyArticulationData() and PxScene::applyArticulationData(). More...
 
class  PxArticulationJointReducedCoordinate
 A joint between two links in an articulation. More...
 
struct  PxArticulationJointType
 
struct  PxArticulationKinematicFlag
 Flag that configures articulation-state updates by PxArticulationReducedCoordinate::updateKinematic. More...
 
struct  PxArticulationLimit
 Data structure to set articulation joint limits. More...
 
class  PxArticulationLink
 A component of an articulation that represents a rigid body. More...
 
struct  PxArticulationLinkCollectionProp
 
struct  PxArticulationMotion
 
class  PxArticulationReducedCoordinate
 A tree structure of bodies connected by joints that is treated as a unit by the dynamics solver. Parametrized in reduced (joint) coordinates. More...
 
struct  PxArticulationReducedCoordinateLinkCollectionPropHelper
 
struct  PxArticulationReducedCoordinateRepXSerializer
 
struct  PxArticulationRootLinkData
 Data structure used to access the root link state and acceleration. More...
 
class  PxArticulationSensor
 A force sensor that can be attached to articulation links to measure spatial force. More...
 
struct  PxArticulationSensorFlag
 Flags to configure the forces reported by articulation link sensors. More...
 
class  PxArticulationSpatialTendon
 A spatial tendon that attaches to an articulation. More...
 
class  PxArticulationTendon
 Common API base class shared by PxArticulationSpatialTendon and PxArticulationFixedTendon. More...
 
class  PxArticulationTendonJoint
 Defines a fixed-tendon joint on an articulation joint degree of freedom. More...
 
class  PxArticulationTendonLimit
 Defines the low/high limits of the length of a tendon. More...
 
class  PxAssertHandler
 Base class to handle assert failures. More...
 
class  PxBase
 Base class for objects that can be members of a PxCollection. More...
 
struct  PxBaseFlag
 Flags for PxBase. More...
 
class  PxBaseMaterial
 Base material class. More...
 
class  PxBaseTask
 Base class of all task types. More...
 
class  PxBatchQueryExt
 
struct  PxBatchQueryStatus
 
class  PxBinaryConverter
 Binary converter for serialized streams. More...
 
class  PxBitAndDataT
 
class  PxBitMapBase
 
struct  PxBoundedData
 
class  PxBounds3
 Class representing 3D range or axis aligned bounding box. More...
 
struct  PxBounds3V
 
class  PxBoxController
 Box character controller. More...
 
class  PxBoxControllerDesc
 Descriptor for a box character controller. More...
 
class  PxBoxGeometry
 Class representing the geometry of a box.
More...
 
class  PxBoxObstacle
 A box obstacle. More...
 
class  PxBroadcast
 Broadcast class implementation, registering listeners. More...
 
class  PxBroadcastingAllocator
 Abstract base class for an application defined memory allocator that allows an external listener to audit the memory allocations. More...
 
class  PxBroadcastingErrorCallback
 Abstract base class for an application defined error callback that allows an external listener to report errors. More...
 
class  PxBroadPhase
 Low-level broadphase API. More...
 
class  PxBroadPhaseCallback
 Broad-phase callback to receive broad-phase related events. More...
 
struct  PxBroadPhaseCaps
 Caps class for broad phase. More...
 
class  PxBroadPhaseDesc
 Broadphase descriptor. More...
 
class  PxBroadPhaseExt
 
struct  PxBroadPhasePair
 Broadphase pair. More...
 
struct  PxBroadPhaseRegion
 "Region of interest" for the broad-phase. More...
 
struct  PxBroadPhaseRegionInfo
 Information & stats structure for a region. More...
 
class  PxBroadPhaseRegions
 Broadphase regions. More...
 
struct  PxBroadPhaseResults
 Broadphase results. More...
 
struct  PxBroadPhaseType
 Broad phase algorithm used in the simulation. More...
 
class  PxBroadPhaseUpdateData
 Broadphase data update structure. More...
 
class  PxBuffer
 Buffer for delayed bulk read and write operations supporting host and GPU device memory spaces. More...
 
struct  PxBufferCollectionPropertyInfo
 
struct  PxBufferType
 Specifies memory space for a PxBuffer instance. More...
 
class  PxBVH
 Class representing a bounding volume hierarchy. More...
 
struct  PxBVH33MidphaseDesc
 Structure describing parameters affecting BVH33 midphase mesh structure. More...
 
class  PxBVH33TriangleMesh
 A triangle mesh containing the PxMeshMidPhase::eBVH33 structure. More...
 
struct  PxBVH33TriangleMeshRepXSerializer
 
struct  PxBVH34BuildStrategy
 Desired build strategy for PxMeshMidPhase::eBVH34. More...
 
struct  PxBVH34MidphaseDesc
 Structure describing parameters affecting BVH34 midphase mesh structure. More...
 
class  PxBVH34TriangleMesh
 A triangle mesh containing the PxMeshMidPhase::eBVH34 structure. More...
 
struct  PxBVH34TriangleMeshRepXSerializer
 
struct  PxBVHBuildStrategy
 Desired build strategy for bounding-volume hierarchies. More...
 
class  PxBVHDesc
 Descriptor class for #PxBVH. More...
 
struct  PxBVHInternalData
 
struct  PxCache
 A structure to cache contact information produced by low-level contact generation functions. More...
 
class  PxCacheAllocator
 A callback class to allocate memory to cache information used in contact generation. More...
 
struct  PxCapsuleClimbingMode
 
class  PxCapsuleController
 A capsule character controller. More...
 
class  PxCapsuleControllerDesc
 A descriptor for a capsule character controller. More...
 
class  PxCapsuleGeometry
 Class representing the geometry of a capsule. More...
 
class  PxCapsuleObstacle
 A capsule obstacle. More...
 
class  PxCCDContactModifyCallback
 An interface class that the user can implement in order to modify CCD contact constraints. More...
 
class  PxcConstraintBlockStream
 
class  PxcContactBlockStream
 
struct  PxcDataStreamPool
 
struct  PxcGeometryTraits
 
struct  PxcGeometryTraits< const T >
 
struct  PxcGeometryTraits< PxBoxGeometry >
 
struct  PxcGeometryTraits< PxCapsuleGeometry >
 
struct  PxcGeometryTraits< PxConvexMeshGeometry >
 
struct  PxcGeometryTraits< PxConvexMeshGeometryLL >
 
struct  PxcGeometryTraits< PxCustomGeometry >
 
struct  PxcGeometryTraits< PxHairSystemGeometry >
 
struct  PxcGeometryTraits< PxHairSystemGeometryLL >
 
struct  PxcGeometryTraits< PxHeightFieldGeometry >
 
struct  PxcGeometryTraits< PxHeightFieldGeometryLL >
 
struct  PxcGeometryTraits< PxParticleSystemGeometry >
 
struct  PxcGeometryTraits< PxParticleSystemGeometryLL >
 
struct  PxcGeometryTraits< PxPlaneGeometry >
 
struct  PxcGeometryTraits< PxSphereGeometry >
 
struct  PxcGeometryTraits< PxTetrahedronMeshGeometry >
 
struct  PxcGeometryTraits< PxTetrahedronMeshGeometryLL >
 
struct  PxcGeometryTraits< PxTriangleMeshGeometry >
 
struct  PxcGeometryTraits< PxTriangleMeshGeometryLL >
 
struct  PxClassInfoTraits
 
struct  PxcLocalContactsCache
 
struct  PxcNpCacheStreamPair
 
struct  PxcNpContext
 
struct  PxcNpMemBlock
 
class  PxcNpMemBlockPool
 
class  PxcNpThreadContext
 
struct  PxcNpWorkUnit
 
struct  PxcNpWorkUnitFlag
 
struct  PxcNpWorkUnitStatusFlag
 
class  PxCoalescedHashMap
 
class  PxCoalescedHashSet
 
class  PxCollection
 Collection class for serialization. More...
 
class  PxCollectionExt
 
struct  PxCollectionPropertyInfo
 
class  PxCollisionMeshMappingData
 Contains information about how to update the collision mesh's vertices given a deformed simulation tetmesh. More...
 
class  PxCollisionTetrahedronMeshData
 Conbines PxTetrahedronMeshData and PxSoftBodyCollisionData. More...
 
struct  PxCombineMode
 Enumeration that determines the way in which two material properties will be combined to yield a friction or restitution coefficient for a collision. More...
 
struct  PxConcreteType
 an enumeration of concrete classes inheriting from PxBase More...
 
struct  PxConeLimitedConstraint
 A constraint descriptor for limiting movement to a conical region. More...
 
struct  PxConeLimitParams
 Compressed form of cone limit parameters. More...
 
class  PxConstraint
 A plugin class for implementing constraints. More...
 
class  PxConstraintAllocator
 
struct  PxConstraintBatchHeader
 A header that defines the size of a specific batch of constraints (of same type and without dependencies) More...
 
class  PxConstraintConnector
 This class connects a custom constraint to the SDK. More...
 
struct  PxConstraintExtIDs
 Unique identifiers for extensions classes which implement a constraint based on PxConstraint. More...
 
struct  PxConstraintFlag
 constraint flags More...
 
struct  PxConstraintInfo
 Descriptor for a broken constraint. More...
 
struct  PxConstraintInvMassScale
 Struct for specifying mass scaling for a pair of rigids. More...
 
struct  PxConstraintShaderTable
 a table of function pointers for a constraint More...
 
struct  PxConstraintSolveHint
 Constraint type hints which the solver uses to optimize constraint handling. More...
 
struct  PxConstraintVisualizationFlag
 Flags for determining which components of the constraint should be visualized. More...
 
class  PxConstraintVisualizer
 API used to visualize details about a constraint. More...
 
struct  PxContact
 Contact point data. More...
 
class  PxContactBuffer
 
class  PxContactJoint
 a joint that maintains an upper or lower bound (or both) on the distance between two points on different objects More...
 
class  PxContactModifyCallback
 An interface class that the user can implement in order to modify contact constraints. More...
 
class  PxContactModifyPair
 An array of instances of this class is passed to PxContactModifyCallback::onContactModify(). More...
 
struct  PxContactPair
 Contact report pair information. More...
 
struct  PxContactPairExtraDataItem
 Base class for items in the extra data stream of contact pairs. More...
 
struct  PxContactPairExtraDataIterator
 A class to iterate over a contact pair extra data stream. More...
 
struct  PxContactPairExtraDataType
 Extra data item types for contact pairs. More...
 
struct  PxContactPairFlag
 Collection of flags providing information on contact report pairs. More...
 
struct  PxContactPairHeader
 An Instance of this class is passed to PxSimulationEventCallback.onContact(). More...
 
struct  PxContactPairHeaderFlag
 Collection of flags providing information on contact report pairs. More...
 
struct  PxContactPairIndex
 Marker for the beginning of a new item set in the extra data stream. More...
 
struct  PxContactPairPoint
 A contact point as used by contact notification. More...
 
struct  PxContactPairPose
 World space actor poses of the contact pair rigid bodies. More...
 
struct  PxContactPairVelocity
 Velocities of the contact pair rigid bodies. More...
 
struct  PxContactPatch
 Header for a contact patch where all points share same material and normal. More...
 
struct  PxContactPoint
 
class  PxContactSet
 An array of contact points, as passed to contact modification. More...
 
struct  PxContactStreamIterator
 A class to iterate over a compressed contact stream. This supports read-only access to the various contact formats. More...
 
class  PxController
 Base class for character controllers. More...
 
class  PxControllerBehaviorCallback
 User behavior callback. More...
 
struct  PxControllerBehaviorFlag
 specifies controller behavior More...
 
struct  PxControllerCollisionFlag
 specifies which sides a character is colliding with. More...
 
struct  PxControllerDebugRenderFlag
 specifies debug-rendering flags More...
 
class  PxControllerDesc
 Descriptor class for a character controller. More...
 
class  PxControllerFilterCallback
 Dedicated filtering callback for CCT vs CCT. More...
 
class  PxControllerFilters
 Filtering data for "move" call. More...
 
struct  PxControllerHit
 Describes a generic CCT hit. More...
 
class  PxControllerManager
 Manages an array of character controllers. More...
 
struct  PxControllerNonWalkableMode
 specifies how a CCT interacts with non-walkable parts. More...
 
struct  PxControllerObstacleHit
 Describes a hit between a CCT and a user-defined obstacle. Passed to onObstacleHit(). More...
 
struct  PxControllerShapeHit
 Describes a hit between a CCT and a shape. Passed to onShapeHit() More...
 
struct  PxControllerShapeType
 The type of controller, eg box, sphere or capsule. More...
 
struct  PxControllersHit
 Describes a hit between a CCT and another CCT. Passed to onControllerHit(). More...
 
struct  PxControllerState
 Describes a controller's internal state. More...
 
struct  PxControllerStats
 Describes a controller's internal statistics. More...
 
struct  PxConverterReportMode
 
struct  PxConvexFlag
 Flags which describe the format and behavior of a convex mesh. More...
 
class  PxConvexMesh
 A convex mesh. More...
 
struct  PxConvexMeshCookingResult
 Result from convex cooking. More...
 
struct  PxConvexMeshCookingType
 Enumeration for convex mesh cooking algorithms. More...
 
class  PxConvexMeshDesc
 Descriptor class for #PxConvexMesh. More...
 
class  PxConvexMeshGeometry
 Convex mesh geometry class. More...
 
struct  PxConvexMeshGeometryFlag
 Flags controlling the simulated behavior of the convex mesh geometry. More...
 
struct  PxConvexMeshGeometryLL
 
struct  PxConvexMeshRepXSerializer
 
class  PxCooking
 Provides methods to cook (where cooking means to prepare the data and convert it to the right format potentially including the construction of acceleration structures and other support data) all kind of simulation data. More...
 
struct  PxCookingParams
 Structure describing parameters affecting mesh cooking. More...
 
struct  PxCounterFrequencyToTensOfNanos
 
class  PxCpuDispatcher
 A CpuDispatcher is responsible for scheduling the execution of tasks passed to it by the SDK. More...
 
class  PxcScratchAllocator
 
class  PxcThreadCoherentCache
 
class  PxcThreadCoherentCacheIterator
 
class  PxCustomGeometry
 Custom geometry class. This class allows user to create custom geometries by providing a set of virtual callback functions. More...
 
struct  PxCustomGeometryCustomTypeProperty
 
class  PxCustomGeometryExt
 Pre-made custom geometry callbacks implementations. More...
 
class  PxCustomMaterial
 
class  PxCustomParticleSystemSolverCallback
 
class  PxCustomSceneQuerySystem
 A custom scene query system. More...
 
class  PxCustomSceneQuerySystemAdapter
 An adapter class to customize the object-to-pruner mapping. More...
 
struct  PxD6Axis
 Used to specify one of the degrees of freedom of a D6 joint. More...
 
struct  PxD6Drive
 Used to specify which axes of a D6 joint are driven. More...
 
class  PxD6Joint
 A D6 joint is a general constraint between two actors. More...
 
class  PxD6JointDrive
 parameters for configuring the drive model of a PxD6Joint More...
 
struct  PxD6JointDriveFlag
 flags for configuring the drive model of a PxD6Joint More...
 
struct  PxD6Motion
 Used to specify the range of motions allowed for a degree of freedom in a D6 joint. More...
 
struct  PxDataAccessFlag
 
struct  PxDebugArc
 
struct  PxDebugArrow
 
struct  PxDebugBasis
 
struct  PxDebugBox
 
struct  PxDebugCircle
 
struct  PxDebugColor
 Default color values used for debug rendering. More...
 
struct  PxDebugLine
 Used to store a single line and colour for debug rendering. More...
 
struct  PxDebugPoint
 Used to store a single point and colour for debug rendering. More...
 
struct  PxDebugText
 Used to store a text for debug rendering. Doesn't own 'string' array. More...
 
struct  PxDebugTriangle
 Used to store a single triangle and colour for debug rendering. More...
 
class  PxDefaultAllocator
 default implementation of the allocator interface required by the SDK More...
 
class  PxDefaultCpuDispatcher
 A default implementation for a CPU task dispatcher. More...
 
struct  PxDefaultCpuDispatcherWaitForWorkMode
 If a thread ends up waiting for work it will find itself in a spin-wait loop until work becomes available. Three strategies are available to limit wasted cycles. The strategies are as follows: a) wait until a work task signals the end of the spin-wait period. b) yield the thread by providing a hint to reschedule thread execution, thereby allowing other threads to run. c) yield the processor by informing it that it is waiting for work and requesting it to more efficiently use compute resources. More...
 
class  PxDefaultErrorCallback
 default implementation of the error callback More...
 
class  PxDefaultFileInputData
 default implementation of a file read stream More...
 
class  PxDefaultFileOutputStream
 default implementation of a file write stream More...
 
class  PxDefaultMemoryInputData
 default implementation of a memory read stream More...
 
class  PxDefaultMemoryOutputStream
 default implementation of a memory write stream More...
 
class  PxDelayLoadHook
 PxDelayLoadHook. More...
 
struct  PxDeletionEventFlag
 Flags specifying deletion event types. More...
 
class  PxDeletionListener
 interface to get notification on object deletion More...
 
class  PxDeserializationContext
 Binary deserialization context class. More...
 
class  PxDiffuseParticleParams
 Parameters to configure the behavior of diffuse particles. More...
 
struct  PxDim3
 A helper structure to define dimensions in 3D. More...
 
class  PxDistanceJoint
 a joint that maintains an upper or lower bound (or both) on the distance between two points on different objects More...
 
struct  PxDistanceJointFlag
 flags for configuring the drive of a PxDistanceJoint More...
 
struct  PxDominanceGroupPair
 Expresses the dominance relationship of a contact. For the time being only three settings are permitted: More...
 
struct  PxDualIndexedPropertyInfo
 
class  PxDynamicArrayReportCallback
 Dynamic array report callback. More...
 
struct  PxDynamicTreeSecondaryPruner
 Secondary pruning structure used for newly added objects in dynamic trees. More...
 
struct  PxEnumTraits
 
struct  PxEnumTraits< PxQueryFlag::Enum >
 
struct  PxEqual
 
class  PxErrorCallback
 User defined interface class. Used by the library to emit debug information. More...
 
struct  PxErrorCode
 Error codes. More...
 
struct  PxExtendedContact
 Contact point data with additional target and max impulse values. More...
 
struct  PxExtendedDualIndexedPropertyInfo
 
struct  PxExtendedIndexedPropertyInfo
 
struct  PxExtendedVec3
 
struct  PxExtensionsPropertyInfoName
 
class  PxExternalStorageReportCallback
 External storage report callback. More...
 
struct  PxFactoryCollectionPropertyInfo
 
struct  PxFEMClothData
 Identifies input and output buffers for PxFEMCloth. More...
 
struct  PxFEMClothFlag
 
class  PxFEMClothMaterial
 Material class to represent a set of FEM material properties. More...
 
class  PxFEMMaterial
 Material class to represent a set of FEM material properties. More...
 
struct  PxFEMParameters
 Set of parameters to control the sleeping and collision behavior of FEM based objects. More...
 
class  PxFEMSoftBodyMaterial
 Material class to represent a set of softbody FEM material properties. More...
 
struct  PxFilterData
 PxFilterData is user-definable data which gets passed into the collision filtering shader and/or callback. More...
 
struct  PxFilteredCollectionPropertyInfo
 
struct  PxFilterFlag
 Collection of flags describing the filter actions to take for a collision pair. More...
 
struct  PxFilterInfo
 
struct  PxFilterObjectFlag
 
struct  PxFilterObjectType
 Identifies each type of filter object. More...
 
struct  PxFilterOp
 Collision filtering operations. More...
 
class  PxFixedJoint
 A fixed joint permits no relative movement between two bodies. ie the bodies are glued together. More...
 
class  PxFixedSizeLookupTable
 
struct  PxFixedSizeLookupTablePropertyInfo
 
class  PxFlags
 Container for bitfield flag variables associated with a specific enum type. More...
 
class  PxFLIPMaterial
 Material class to represent a set of FLIP particle material properties. More...
 
struct  PxForceMode
 Parameter to addForce() and addTorque() calls, determines the exact operation that is carried out. More...
 
class  PxFoundation
 Foundation SDK singleton class. More...
 
class  PxFPUGuard
 
struct  PxFrictionType
 Enum for selecting the friction algorithm used for simulation. More...
 
struct  PxgDynamicsMemoryConfig
 Sizes of pre-allocated buffers use for GPU dynamics. More...
 
class  PxGearJoint
 A joint that connects two existing revolute joints and constrains their relative angular velocity and position with respect to each other. More...
 
class  PxGeometry
 A geometry object. More...
 
class  PxGeometryHolder
 Geometry holder class. More...
 
class  PxGeometryQuery
 Collection of geometry object queries (sweeps, raycasts, overlaps, ...). More...
 
struct  PxGeometryQueryFlag
 Geometry-level query flags. More...
 
struct  PxGeometryType
 A geometry type. More...
 
struct  PxGeomIndexPair
 Pair of indices, typically either object or triangle indices. More...
 
struct  PxGeomOverlapHit
 Stores results of overlap queries. More...
 
struct  PxGeomRaycastHit
 Stores results of raycast queries. More...
 
struct  PxGeomSweepHit
 Stores results of sweep queries. More...
 
class  PxGjkQuery
 Collection of GJK query functions (sweeps, raycasts, overlaps, ...). More...
 
class  PxGjkQueryExt
 Pre-made support mapping for built-in convex geometry types. More...
 
struct  PxGpuActorPair
 Pair correspondence used for matching array indices with body node indices. More...
 
struct  PxGpuBodyData
 State of a body used when interfacing with the GPU rigid body pipeline. More...
 
struct  PxGpuContactPair
 Contains contact information for a contact reported by the direct-GPU contact report API. See PxScene::copyContactData(). More...
 
class  PxGpuFixedTendonData
 PxGpuFixedTendonData. More...
 
struct  PxGpuMirroredPointer
 Container to hold a pair of corresponding device and host pointers. These pointers should point to GPU / CPU mirrors of the same data, but this is not enforced. More...
 
struct  PxGpuParticleBufferIndexPair
 A pair of particle buffer unique id and GPU particle system index. More...
 
class  PxGpuSpatialTendonData
 PxGpuSpatialTendonData. More...
 
class  PxGpuTendonAttachmentData
 PxGpuTendonAttachmentData. More...
 
class  PxGpuTendonJointCoefficientData
 PxGpuTendonJointCoefficientData. More...
 
struct  PxGreater
 
class  PxGroupsMask
 64-bit mask used for collision filtering. More...
 
struct  PxHairSystemData
 Identifies input and output buffers for PxHairSystem. More...
 
struct  PxHairSystemFlag
 Binary settings for hair system simulation. More...
 
class  PxHairSystemGeometry
 Hair system geometry class. More...
 
struct  PxHairSystemGeometryLL
 
struct  PxHash
 
struct  PxHash< const char * >
 
class  PxHashBase
 
class  PxHashMap
 
class  PxHashMapBase
 
class  PxHashSet
 
class  PxHashSetBase
 
class  PxHeightField
 A height field class. More...
 
class  PxHeightFieldDesc
 Descriptor class for #PxHeightField. More...
 
struct  PxHeightFieldFlag
 Enum with flag values to be used in PxHeightFieldDesc.flags. More...
 
struct  PxHeightFieldFormat
 Describes the format of height field samples. More...
 
class  PxHeightFieldGeometry
 Height field geometry class. More...
 
struct  PxHeightFieldGeometryLL
 
struct  PxHeightFieldMaterial
 Special material index values for height field samples. More...
 
struct  PxHeightFieldRepXSerializer
 
struct  PxHeightFieldSample
 Heightfield sample format. More...
 
struct  PxHeightFieldTessFlag
 Determines the tessellation of height field cells. More...
 
struct  PxHitBuffer
 Returns scene query hits (intersections) to the user in a preallocated buffer. More...
 
struct  PxHitCallback
 This callback class facilitates reporting scene query hits (intersections) to the user. More...
 
struct  PxHitFlag
 Scene query and geometry query behavior flags. More...
 
struct  PxHullPolygon
 Polygon data. More...
 
struct  PxIndexDataPair
 Maps numeric index to a data pointer. More...
 
struct  PxIndexedPropertyInfo
 
class  PxInlineAllocator
 
class  PxInlineArray
 
class  PxInputData
 Input data class for I/O which provides random read access. More...
 
class  PxInputStream
 Input stream class for I/O. More...
 
class  PxInsertionCallback
 Callback interface that permits TriangleMesh, Heightfield, ConvexMesh or BVH to be used directly without the need to store the cooking results into a stream. More...
 
struct  PxIntegrals
 Data structure used to store mass properties. More...
 
struct  PxJacobianRow
 a joint that maintains an upper or lower bound (or both) on the distance between two points on different objects More...
 
class  PxJoint
 a base interface providing common functionality for PhysX joints More...
 
struct  PxJointActorIndex
 an enumeration for specifying one or other of the actors referenced by a joint More...
 
class  PxJointAngularLimitPair
 
struct  PxJointConcreteType
 an enumeration of PhysX' built-in joint types More...
 
class  PxJointLimitCone
 Describes an elliptical conical joint limit. Note that very small or highly elliptical limit cones may result in jitter. More...
 
class  PxJointLimitParameters
 Describes the parameters for a joint limit. More...
 
class  PxJointLimitPyramid
 Describes a pyramidal joint limit. More...
 
class  PxJointLinearLimit
 Describes a one-sided linear limit. More...
 
class  PxJointLinearLimitPair
 Describes a two-sided limit. More...
 
struct  PxJointRepXSerializer
 
struct  PxLess
 
class  PxLightCpuTask
 A PxBaseTask implementation with immediate execution and simple dependencies. More...
 
class  PxLocalStorageReportCallback
 Local storage report callback. More...
 
struct  PxLocationHit
 Scene query hit information for raycasts and sweeps returning hit position and normal information. More...
 
class  PxLockedData
 Parent class for bulk data that is shared between the SDK and the application. More...
 
struct  PxLogTwo
 
struct  PxLogTwo< 1 >
 
struct  PxMassModificationProps
 Struct for specifying mass modification for a pair of rigids. More...
 
class  PxMassProperties
 Utility class to compute and manipulate mass and inertia tensor properties. More...
 
class  PxMat33
 3x3 matrix class More...
 
class  PxMat33Padded
 A padded version of PxMat33, to safely load its data using SIMD. More...
 
class  PxMat33T
 3x3 matrix class More...
 
class  PxMat34Padded
 A padded version of PxMat34, to safely load its data using SIMD. More...
 
class  PxMat34T
 
class  PxMat44
 4x4 matrix class More...
 
class  PxMat44T
 4x4 matrix class More...
 
class  PxMaterial
 Material class to represent a set of surface properties. More...
 
struct  PxMaterialFlag
 Flags which control the behavior of a material. More...
 
struct  PxMaterialRepXSerializer
 
struct  PxMeshCookingHint
 Enumeration for mesh cooking hints. More...
 
struct  PxMeshFlag
 Enum with flag values to be used in PxSimpleTriangleMesh::flags. More...
 
struct  PxMeshGeometryFlag
 Flags controlling the simulated behavior of the triangle mesh geometry. More...
 
struct  PxMeshMeshQueryFlag
 
struct  PxMeshMidPhase
 Mesh midphase structure. This enum is used to select the desired acceleration structure for midphase queries (i.e. raycasts, overlaps, sweeps vs triangle meshes). More...
 
class  PxMeshOverlapUtil
 Utility class to find mesh triangles touched by a specified geometry object. More...
 
struct  PxMeshPreprocessingFlag
 Enum for the set of mesh pre-processing parameters. More...
 
class  PxMeshQuery
 
class  PxMeshScale
 A class expressing a nonuniform scaling transformation. More...
 
struct  PxMetaDataEntry
 Struct to store meta data definitions. More...
 
struct  PxMetaDataFlag
 Flags used to configure binary meta data entries, typically set through PX_DEF_BIN_METADATA defines. More...
 
struct  PxMetaDataPlane
 
class  PxMidphaseDesc
 Structure describing parameters affecting midphase mesh structure. More...
 
struct  PxModifiableContact
 A modifiable contact point. This has additional fields per-contact to permit modification by user. More...
 
struct  PxMPMCuttingFlag
 Optional MPM modes that improve the quality of fracture and/or cutting. More...
 
class  PxMPMMaterial
 Material class to represent a set of MPM particle material properties. More...
 
struct  PxMPMMaterialModel
 MPM material models. More...
 
struct  PxMPMSurfaceType
 MPM surface types that influence interaction between particles and obstacles. More...
 
class  PxMutexImpl
 
class  PxMutexT
 
class  PxNodeIndex
 PxNodeIndex. More...
 
class  PxObstacle
 Base class for obstacles. More...
 
class  PxObstacleContext
 Context class for obstacles. More...
 
class  PxOmniPvd
 
class  PxOutputStream
 Output stream class for I/O. More...
 
struct  PxOverlapBufferN
 Returns touching overlap hits to the user in a fixed size array embedded in the buffer class. More...
 
struct  PxOverlapHit
 
struct  PxPadding
 
class  PxPair
 
struct  PxPairFilteringMode
 
struct  PxPairFlag
 Collection of flags describing the actions to take for a collision pair. More...
 
class  PxParticleAndDiffuseBuffer
 A particle buffer used to simulate diffuse particles. More...
 
class  PxParticleBuffer
 The shared base class for all particle buffers, can be instantiated directly to simulate granular and fluid particles. More...
 
struct  PxParticleBufferFlag
 Identifies dirty particle buffers that need to be updated in the particle system. More...
 
struct  PxParticleCloth
 Particle cloth structure. Holds information about a single piece of cloth that is part of a #PxParticleClothBuffer. More...
 
class  PxParticleClothBuffer
 A particle buffer used to simulate particle cloth. More...
 
struct  PxParticleClothDesc
 Structure to describe the set of particle cloths in the same #PxParticleClothBuffer. Used an input for the cloth preprocessing. More...
 
class  PxParticleClothPreProcessor
 Preprocessor to prepare particle cloths for simulation. More...
 
struct  PxParticleFlag
 Flags which control the behaviour of a particle system. More...
 
class  PxParticleMaterial
 Material class to represent a set of particle material properties. More...
 
struct  PxParticlePhaseFlag
 Identifies per-particle behavior for a PxParticleSystem. More...
 
struct  PxParticleRigidAttachment
 Struct to specify attachment between a particle/vertex and a rigid. More...
 
class  PxParticleRigidBuffer
 A particle buffer used to simulate rigid bodies using shape matching with particles. More...
 
struct  PxParticleRigidFilterPair
 Struct for storing a particle/vertex - rigid filter pair with comparison operators. More...
 
struct  PxParticleSolverType
 Identifies the solver to use for a particle system. More...
 
class  PxParticleSystem
 The shared base class for all particle systems. More...
 
class  PxParticleSystemCallback
 Particle system callback base class to schedule work that should be done before, while or after the particle system updates. A call to fetchResultsParticleSystem() on the PxScene will synchronize the work such that the caller knows that all tasks of this callback completed. More...
 
class  PxParticleSystemGeometry
 Particle system geometry class. More...
 
struct  PxParticleSystemGeometryLL
 
struct  PxParticleVolume
 Particle volume structure. Used to track the bounding volume of a user-specified set of particles. The particles are required to be laid out contiguously within the same PxParticleBuffer. More...
 
struct  PxPartitionedParticleCloth
 Structure to describe the output of the particle cloth preprocessing. Used as an input to specify cloth data for a #PxParticleClothBuffer. All the pointers point to pinned host memory. More...
 
class  PxPBDMaterial
 Material class to represent a set of PBD particle material properties. More...
 
class  PxPBDParticleSystem
 A particle system that uses the position based dynamics(PBD) solver. More...
 
class  PxPhysics
 Abstract singleton factory class used for instancing objects in the Physics SDK. More...
 
class  PxPhysXGpu
 Interface to create and run CUDA enabled PhysX features. More...
 
class  PxPlane
 Representation of a plane. More...
 
class  PxPlaneGeometry
 Class describing a plane geometry. More...
 
class  PxPoissonSampler
 Sampler to generate Poisson Samples locally on a triangle mesh or a shape. For every local addition of new samples, an individual sampling density can be used. More...
 
class  PxPool
 
class  PxPool2
 
class  PxPoolBase
 
class  PxPrismaticJoint
 A prismatic joint permits relative translational movement between two bodies along an axis, but no relative rotational movement. More...
 
struct  PxPrismaticJointFlag
 Flags specific to the prismatic joint. More...
 
class  PxProcessPxBaseCallback
 Callback class used to process PxBase objects. More...
 
class  PxProfilerCallback
 The pure virtual callback interface for general purpose instrumentation and profiling of GameWorks modules as well as applications. More...
 
class  PxProfileScoped
 
struct  PxPropertyInfo
 
struct  PxPropertyInfoBase
 
struct  PxPropertyInfoName
 
struct  PxPropertyInfoParameterizedBase
 
struct  PxPropertyToValueStructMemberMap
 
class  PxPruningStructure
 A precomputed pruning structure to accelerate scene queries against newly added actors. More...
 
struct  PxPruningStructureType
 Pruning structure used to accelerate scene queries. More...
 
class  PxPvd
 PxPvd is the top-level class for the PVD framework, and the main customer interface for PVD configuration.It is a singleton class, instantiated and owned by the application. More...
 
struct  PxPvdInstrumentationFlag
 types of instrumentation that PVD can do. More...
 
class  PxPvdSceneClient
 Special client for PxScene. It provides access to the PxPvdSceneFlag. It also provides simple user debug services that associated scene position such as immediate rendering and camera updates. More...
 
struct  PxPvdSceneFlag
 PVD scene Flags. They are disabled by default, and only works if PxPvdInstrumentationFlag::eDEBUG is set. More...
 
class  PxPvdTransport
 PxPvdTransport is an interface representing the data transport mechanism. This class defines all services associated with the transport: configuration, connection, reading, writing etc. It is owned by the application, and can be realized as a file or a socket (using one-line PxDefault<...> methods in PhysXExtensions) or in a custom implementation. This is a class that is intended for use by PVD, not by the application, the application entry points are PxPvd and PvdClient. More...
 
struct  PxPvdUpdateType
 Flags for determining how PVD should serialize a constraint update. More...
 
class  PxQuat
 This is a quaternion class. For more information on quaternion mathematics consult a mathematics source on complex numbers. More...
 
class  PxQuatT
 This is a quaternion class. For more information on quaternion mathematics consult a mathematics source on complex numbers. More...
 
struct  PxQueryCache
 single hit cache for scene queries. More...
 
class  PxQueryFilterCallback
 Scene query filtering callbacks. More...
 
struct  PxQueryFilterData
 Scene query filtering data. More...
 
struct  PxQueryFlag
 Filtering flags for scene queries. More...
 
struct  PxQueryHit
 collection of set bits defined in PxHitFlag. More...
 
struct  PxQueryHitType
 Classification of scene query hits (intersections). More...
 
struct  PxQueryThreadContext
 A per-thread context passed to low-level query functions. More...
 
class  PxRackAndPinionJoint
 A joint that connects an existing revolute joint to an existing prismatic joint, and constrains their relative angular/linear velocity and position with respect to each other. More...
 
struct  PxRangePropertyInfo
 
class  PxRawAllocator
 
struct  PxRaycastBufferN
 Returns touching raycast hits to the user in a fixed size array embedded in the buffer class. More...
 
struct  PxRaycastHit
 
struct  PxReadOnlyCollectionPropertyInfo
 
struct  PxReadOnlyFilteredCollectionPropertyInfo
 
struct  PxReadOnlyPropertyInfo
 
class  PxReadWriteLock
 
class  PxRefCounted
 Base class for ref-counted objects. More...
 
class  PxReflectionAllocator
 
class  PxRegularReportCallback
 Regular report callback. More...
 
class  PxRemeshingExt
 Provides methods to adjust the tessellation of meshes. More...
 
class  PxRenderBuffer
 Interface for points, lines, triangles, and text buffer. More...
 
class  PxRenderOutput
 
class  PxReportCallback
 Base class for callback reporting an unknown number of items to users. More...
 
struct  PxRepXInstantiationArgs
 Arguments required to instantiate a serializable object from RepX. More...
 
struct  PxRepXObject
 Helper class containing the mapping of id to object, and type name. More...
 
struct  PxRepXPropertyAccessor
 
struct  PxRepXPropertyAccessor< PxPropertyInfoName::PxRigidDynamic_WakeCounter, PxRigidDynamic, TSetPropType, TPropertyType >
 
class  PxRepXSerializer
 Serializer interface for RepX (Xml) serialization. More...
 
class  PxRevoluteJoint
 A joint which behaves in a similar way to a hinge or axle. More...
 
struct  PxRevoluteJointFlag
 Flags specific to the Revolute Joint. More...
 
class  PxRigidActor
 PxRigidActor represents a base class shared between dynamic and static rigid bodies in the physics SDK. More...
 
class  PxRigidActorExt
 utility functions for use with PxRigidActor and subclasses More...
 
struct  PxRigidActorShapeCollection
 
struct  PxRigidActorShapeCollectionHelper
 
class  PxRigidBody
 PxRigidBody is a base class shared between dynamic rigid body objects. More...
 
class  PxRigidBodyExt
 utility functions for use with PxRigidBody and subclasses More...
 
struct  PxRigidBodyFlag
 Collection of flags describing the behavior of a rigid body. More...
 
class  PxRigidDynamic
 PxRigidDynamic represents a dynamic rigid simulation object in the physics SDK. More...
 
struct  PxRigidDynamicLockFlag
 Collection of flags providing a mechanism to lock motion along/around a specific axis. More...
 
struct  PxRigidDynamicRepXSerializer
 
class  PxRigidStatic
 PxRigidStatic represents a static rigid body simulation object in the physics SDK. More...
 
struct  PxRigidStaticRepXSerializer
 
class  PxRunnable
 
class  PxSamplingExt
 utility functions to sample vertices on or inside a triangle mesh or other geometries More...
 
struct  PxsBodyCore
 
struct  PxsCCDBlockArray
 a container class used in the CCD that minimizes frequency of hitting the allocator. More...
 
struct  PxsCCDBody
 Structure to represent a body in the CCD system. More...
 
struct  PxsCCDContactHeader
 Additional header structure for CCD contact data stream. More...
 
class  PxsCCDContext
 CCD context object. More...
 
struct  PxsCCDOverlap
 structure to represent interactions between a given body and another body. More...
 
struct  PxsCCDPair
 A structure to represent a potential CCD interaction between a pair of shapes. More...
 
struct  PxsCCDShape
 Temporary CCD representation for a shape. More...
 
class  PxScene
 A scene is a collection of bodies and constraints which can interact. More...
 
class  PxSceneDesc
 Descriptor class for scenes. See #PxScene. More...
 
struct  PxSceneFlag
 flags for configuring properties of the scene More...
 
class  PxSceneLimits
 Class used to retrieve limits(e.g. maximum number of bodies) for a scene. The limits are used as a hint to the size of the scene, not as a hard limit (i.e. it will be possible to create more objects than specified in the scene limits). More...
 
class  PxSceneQueryDesc
 Descriptor class for scene query system. See #PxSceneQuerySystem. More...
 
class  PxSceneQueryExt
 utility functions for use with PxScene, related to scene queries. More...
 
class  PxSceneQuerySystem
 Scene-queries external sub-system for PxScene-based objects. More...
 
class  PxSceneQuerySystemBase
 Base class for the scene-query system. More...
 
struct  PxSceneQueryUpdateMode
 Scene query update mode. More...
 
class  PxSceneReadLock
 RAII wrapper for the PxScene read lock. More...
 
class  PxSceneSQSystem
 Traditional SQ system for PxScene. More...
 
class  PxSceneWriteLock
 RAII wrapper for the PxScene write lock. More...
 
class  PxsConstraintBlockManager
 
class  PxsContactManager
 
struct  PxsContactManagerBase
 
class  PxsContactManagerOutputIterator
 
struct  PxsContactManagers
 
struct  PxsContactManagerStatusFlag
 
class  PxsContext
 
class  PxScopedPointer
 
struct  PxsCustomMaterialData
 
class  PxsCustomMaterialManager
 
class  PxSdfBitsPerSubgridPixel
 Defines the number of bits per subgrid pixel. More...
 
class  PxSDFDesc
 A structure describing signed distance field for mesh. More...
 
class  PxSerialization
 Utility functions for serialization. More...
 
class  PxSerializationContext
 Binary serialization context class. More...
 
class  PxSerializationRegistry
 Class serving as a registry for XML (RepX) and binary serializable types. More...
 
class  PxSerializer
 Serialization interface class. More...
 
class  PxSerializerDefaultAdapter
 Default PxSerializer implementation. More...
 
class  PxsFEMClothMaterialManager
 
class  PxsFEMMaterialManager
 
struct  PxsFLIPMaterialData
 
class  PxsFLIPMaterialManager
 
class  PxShape
 Abstract class for collision shapes. More...
 
struct  PxShapeCoreFlag
 
class  PxShapeExt
 utility functions for use with PxShape More...
 
struct  PxShapeFlag
 Flags which affect the behavior of PxShapes. More...
 
struct  PxShapeGeomProperty
 
struct  PxShapeGeomPropertyHelper
 
struct  PxShapeMaterialsProperty
 
struct  PxShapeMaterialsPropertyHelper
 
struct  PxShapeRepXSerializer
 
class  PxsHeapMemoryAllocator
 
class  PxsHeapMemoryAllocatorManager
 
struct  PxsHeapStats
 
class  PxSIMDGuard
 
class  PxSimpleTriangleMesh
 A structure describing a triangle mesh. More...
 
class  PxSimulationEventCallback
 An interface class that the user can implement in order to receive simulation events. More...
 
class  PxSimulationFilterCallback
 Filter callback to specify handling of collision pairs. More...
 
class  PxSimulationStatistics
 Class used to retrieve statistics for a simulation step. More...
 
class  PxSimulationTetrahedronMeshData
 Conbines PxTetrahedronMeshData and PxSoftBodyCollisionData. More...
 
struct  PxsIndexedConstraint
 
struct  PxsIndexedContactManager
 
struct  PxsIndexedInteraction
 Each contact manager or constraint references two separate bodies, where a body can be a dynamic rigid body, a kinematic rigid body, an articulation or a static. The struct PxsIndexedInteraction describes the bodies that make up the pair. More...
 
class  PxsIslandIndices
 
class  PxsIslandManagerHook
 
class  PxsKernelWranglerManager
 
class  PxSListEntry
 
struct  PxSListImpl
 
class  PxSListT
 
struct  PxsMaterialData
 
struct  PxsMaterialInfo
 
class  PxsMaterialManager
 
class  PxsMaterialManagerIterator
 
class  PxsMaterialManagerT
 
class  PxsMemoryManager
 
struct  PxsMPMMaterialData
 
class  PxsMPMMaterialManager
 
struct  PxsNarrowPhaseSecondPassContactManager
 Any sleeping contact pair that finds itself in an awake island after 1st pass island gen must participate in 2nd pass narrowphase so that contacts can be generated. More...
 
class  PxsNphaseImplementationContext
 
class  PxSocket
 
class  PxSoftBody
 Represents a FEM softbody including everything to calculate its definition like geometry and material properties. More...
 
class  PxSoftBodyAuxData
 A data container providing mass, rest pose and other information required for softbody simulation. More...
 
class  PxSoftBodyCollisionData
 Stores data to accelerate collision detection of a tetrahedral mesh. More...
 
struct  PxSoftBodyData
 Identifies input and output buffers for PxSoftBody. More...
 
class  PxSoftBodyDataFlag
 These flags determine what data is read or written to the gpu softbody. More...
 
class  PxSoftBodyExt
 utility functions for use with PxSoftBody and subclasses More...
 
struct  PxSoftBodyFlag
 Flags to enable or disable special modes of a SoftBody. More...
 
class  PxSoftBodyMesh
 A softbody mesh, containing structures to store collision shape, simulation shape and deformation state. More...
 
class  PxSoftBodySimulationData
 Stores data to compute and store the state of a deformed tetrahedral mesh. More...
 
class  PxSoftBodySimulationDataDesc
 ‍** More...
 
struct  PxSolverBody
 Struct that the solver uses to store velocity updates for a body. More...
 
struct  PxSolverBodyData
 Struct that the solver uses to store the state and other properties of a body. More...
 
struct  PxSolverConstraintDesc
 Constraint descriptor used inside the solver. More...
 
struct  PxSolverConstraintPrepDesc
 Data structure used for preparing constraints before solving them. More...
 
struct  PxSolverConstraintPrepDescBase
 Data structure used for preparing constraints before solving them. More...
 
struct  PxSolverContactDesc
 Data structure used for preparing constraints before solving them. More...
 
struct  PxSolverType
 Enum for selecting the type of solver used for the simulation. More...
 
struct  PxSparseGridParams
 Parameters to define the sparse grid settings like grid spacing, maximal number of subgrids etc. More...
 
struct  PxsParticleMaterialData
 Common material properties for particles. See #PxParticleMaterial. More...
 
struct  PxSpatialForce
 Data structure to represent spatial forces. More...
 
struct  PxSpatialVelocity
 Data structure to represent spatial velocities. More...
 
struct  PxsPBDMaterialData
 
class  PxsPBDMaterialManager
 
class  PxSphereGeometry
 A class representing the geometry of a sphere. More...
 
class  PxSphericalJoint
 A joint which behaves in a similar way to a ball and socket. More...
 
struct  PxSphericalJointFlag
 Flags specific to the spherical joint. More...
 
class  PxSpring
 
class  PxsRigidBody
 
struct  PxsRigidCore
 
struct  PxsShapeCore
 
struct  PxsShapeSim
 
class  PxsSimulationController
 
class  PxsSimulationControllerCallback
 
class  PxStack
 
class  PxsTransformCache
 
struct  PxsTransformFlag
 
struct  PxStridedData
 
class  PxStrideIterator
 Iterator class for iterating over arrays of data that may be interleaved with other data. More...
 
class  PxStringTable
 a table to manage strings. Strings allocated through this object are expected to be owned by this object. More...
 
class  PxStringTableExt
 a factory class for creating PxStringTable with a specific allocator. More...
 
class  PxStringTableImpl
 
struct  PxSweepBufferN
 Returns touching sweep hits to the user in a fixed size array embedded in the buffer class. More...
 
struct  PxSweepHit
 
class  PxSyncImpl
 
class  PxSyncT
 
class  PxTask
 A PxBaseTask implementation with deferred execution and full dependencies. More...
 
struct  PxTaskDepTableRow
 
class  PxTaskManager
 The PxTaskManager interface. More...
 
class  PxTaskMgr
 
class  PxTaskTableRow
 
struct  PxTaskType
 Identifies the type of each heavyweight PxTask object. More...
 
class  PxTempAllocator
 
union  PxTempAllocatorChunk
 
class  PxTetMaker
 Provides functionality to create a tetrahedral mesh from a triangle mesh. More...
 
class  PxTetrahedron
 Tetrahedron class. More...
 
class  PxTetrahedronMesh
 A tetramedron mesh, also called a 'tetrahedron soup'. More...
 
class  PxTetrahedronMeshAnalysisResult
 These flags indicate what kind of deficiencies a tetrahedron mesh has and describe if the mesh is considered ok, problematic or invalid for softbody cooking. More...
 
class  PxTetrahedronMeshData
 Contains raw geometry information describing the tetmesh's vertices and its elements (tetrahedra) More...
 
class  PxTetrahedronMeshDesc
 Descriptor class for #PxTetrahedronMesh (contains only pure geometric data). More...
 
class  PxTetrahedronMeshExt
 utility functions for use with PxTetrahedronMesh and subclasses More...
 
struct  PxTetrahedronMeshFlag
 
class  PxTetrahedronMeshGeometry
 Tetrahedron mesh geometry class. More...
 
struct  PxTetrahedronMeshGeometryLL
 
struct  PxTGSSolverBodyData
 
struct  PxTGSSolverBodyTxInertia
 
struct  PxTGSSolverBodyVel
 
struct  PxTGSSolverConstraintPrepDesc
 
struct  PxTGSSolverConstraintPrepDescBase
 
struct  PxTGSSolverContactDesc
 
class  PxThreadImpl
 
struct  PxThreadPriority
 
class  PxThreadT
 
class  PxTime
 
struct  PxTireContactIntersectionMethod
 Description of the per wheel intersection method to be used by PxVehicleWheelsDynData::setTireContacts() More...
 
class  PxTolerancesScale
 Class to define the scale at which simulation runs. Most simulation tolerances are calculated in terms of the values here. More...
 
class  PxTransform
 class representing a rigid euclidean transform as a quaternion and a vector More...
 
class  PxTransformT
 class representing a rigid euclidean transform as a quaternion and a vector More...
 
class  PxTriangle
 Triangle class. More...
 
class  PxTriangleMesh
 A triangle mesh, also called a 'polygon soup'. More...
 
class  PxTriangleMeshAnalysisResult
 These flags indicate what kind of deficiencies a triangle mesh has and describe if the mesh is considered ok, problematic or invalid for tetmeshing. More...
 
struct  PxTriangleMeshCookingResult
 Result from triangle mesh cooking. More...
 
class  PxTriangleMeshDesc
 Descriptor class for #PxTriangleMesh. More...
 
struct  PxTriangleMeshFlag
 Flags for the mesh geometry properties. More...
 
class  PxTriangleMeshGeometry
 Triangle mesh geometry class. More...
 
struct  PxTriangleMeshGeometryLL
 
struct  PxTriangleMeshInternalData
 
class  PxTriangleMeshPoissonSampler
 Sampler to generate Poisson Samples on a triangle mesh. More...
 
class  PxTrianglePadded
 A padded version of PxTriangle, to safely load its data using SIMD. More...
 
struct  PxTriggerPair
 Descriptor for a trigger pair. More...
 
struct  PxTriggerPairFlag
 Collection of flags providing information on trigger report pairs. More...
 
struct  PxTypedStridedData
 
struct  PxTypeInfo
 a structure containing per-type information for types inheriting from PxBase More...
 
struct  PxU32ToName
 
struct  PxUnConst
 
struct  PxUnConst< const T >
 
struct  PxUnixScopeLock
 
struct  PxUnknownClassInfo
 
class  PxUserAllocated
 
class  PxUserControllerHitReport
 User callback class for character controller events. More...
 
struct  PxvContactManagerTouchEvent
 
class  PxVec2
 2 Element vector class. More...
 
class  PxVec2T
 2 Element vector class. More...
 
class  PxVec3
 3 Element vector class. More...
 
class  PxVec3Padded
 A padded version of PxVec3, to safely load its data using SIMD. More...
 
class  PxVec3T
 3 Element vector class. More...
 
class  PxVec4
 
class  PxVec4T
 
class  PxVehicleAckermannGeometryData
 
class  PxVehicleAntiRollBarData
 
class  PxVehicleAutoBoxData
 
class  PxVehicleChassisData
 
struct  PxVehicleClutchAccuracyMode
 Choose between a potentially more expensive but more accurate solution to the clutch model or a potentially cheaper but less accurate solution. More...
 
class  PxVehicleClutchData
 
struct  PxVehicleConcreteType
 An enumeration of concrete vehicle classes inheriting from PxBase. More...
 
struct  PxVehicleConcurrentUpdateData
 Structure containing data that is computed for a vehicle and its wheels during concurrent calls to PxVehicleUpdates or PxVehicleUpdateSingleVehicleAndStoreTelemetryData but which cannot be safely concurrently applied. More...
 
class  PxVehicleConstraintShader
 
class  PxVehicleContext
 Common parameters and settings used for the vehicle simulation. More...
 
class  PxVehicleCopyDynamicsMap
 Used by PxVehicleCopyDynamicsData. More...
 
class  PxVehicleDifferential4WData
 
class  PxVehicleDifferentialNWData
 
class  PxVehicleDrivableSurfaceToTireFrictionPairs
 Friction for each combination of driving surface type and tire type. More...
 
struct  PxVehicleDrivableSurfaceType
 Driving surface type. Each PxMaterial is associated with a corresponding PxVehicleDrivableSurfaceType. More...
 
class  PxVehicleDrive
 A complete vehicle with instance dynamics data and configuration data for wheels and engine,clutch,gears,autobox. More...
 
class  PxVehicleDrive4W
 Data structure with instanced dynamics data and configuration data of a vehicle with up to 4 driven wheels and up to 16 non-driven wheels. More...
 
struct  PxVehicleDrive4WControl
 The control inputs for a PxVehicleDrive4W. More...
 
class  PxVehicleDrive4WRawInputData
 Used to produce smooth vehicle driving control values from analog and digital inputs. More...
 
struct  PxVehicleDrive4WWheelOrder
 The ordering of the driven and steered wheels of a PxVehicleDrive4W. More...
 
class  PxVehicleDriveDynData
 Data structure with instanced dynamics data for vehicle with engine, clutch, gears, autobox. More...
 
class  PxVehicleDriveNW
 Data structure with instanced dynamics data and configuration data of a vehicle with up to PX_MAX_NB_WHEELS driven wheels. More...
 
struct  PxVehicleDriveNWControl
 The control inputs for a PxVehicleDriveNW. More...
 
class  PxVehicleDriveNWRawInputData
 Used to produce smooth vehicle driving control values from analog and digital inputs. More...
 
class  PxVehicleDriveSimData
 Data structure describing non-wheel configuration data of a vehicle that has engine, gears, clutch, and auto-box. More...
 
class  PxVehicleDriveSimData4W
 Data structure describing the drive model components of a vehicle with up to 4 driven wheels and up to 16 un-driven wheels. The drive model incorporates engine, clutch, gears, autobox, differential, and Ackermann steer correction. More...
 
class  PxVehicleDriveSimDataNW
 Data structure describing configuration data of a vehicle with up to PX_MAX_NB_WHEELS driven equally through the differential. The vehicle has an engine, clutch, gears, autobox, differential. More...
 
class  PxVehicleDriveTank
 Data structure with instanced dynamics data and configuration data of a tank. More...
 
struct  PxVehicleDriveTankControl
 The control inputs for a PxVehicleDriveTank. More...
 
struct  PxVehicleDriveTankControlModel
 Two driving models are supported. More...
 
class  PxVehicleDriveTankRawInputData
 Used to produce smooth analog tank control values from analog and digital inputs. More...
 
struct  PxVehicleDriveTankWheelOrder
 The ordering of the wheels of a PxVehicleDriveTank. More...
 
class  PxVehicleEngineData
 
class  PxVehicleGearsData
 
struct  PxVehicleKeySmoothingData
 Used to produce smooth vehicle driving control values from key inputs. More...
 
class  PxVehicleNoDrive
 Data structure with instanced dynamics data and configuration data of a vehicle with no drive model. More...
 
struct  PxVehiclePadSmoothingData
 Used to produce smooth analog vehicle control values from analog inputs. More...
 
struct  PxVehiclePropertyInfoName
 
struct  PxVehicleRepXSerializer
 
struct  PxVehicleSteerFilter
 Used to produce smooth steering values in the presence of discontinuities when a vehicle e.g. lands on the ground. Use a zero sharpness value to disable the feature (backward compatibility with previous PhysX versions). More...
 
class  PxVehicleSuspensionData
 
class  PxVehicleTireData
 
class  PxVehicleTireForceCalculator
 Structure containing shader data for each tire of a vehicle and a shader function that computes individual tire forces. More...
 
class  PxVehicleTireForceCalculator4
 
class  PxVehicleTireLoadFilterData
 Tire load variation can be strongly dependent on the time-step so it is a good idea to filter it to give less jerky handling behavior. More...
 
struct  PxVehicleTypes
 
class  PxVehicleUpdate
 
struct  PxVehicleUpdateMode
 
struct  PxVehicleWheelConcurrentUpdateData
 Structure containing data that is computed for a wheel during concurrent calls to PxVehicleUpdates or PxVehicleUpdateSingleVehicleAndStoreTelemetryData but which cannot be safely concurrently applied. More...
 
class  PxVehicleWheelData
 
struct  PxVehicleWheelQueryResult
 
class  PxVehicleWheels
 Data structure with instanced dynamics data and configuration data of a vehicle with just wheels. More...
 
class  PxVehicleWheels4DynData
 
class  PxVehicleWheels4SimData
 
class  PxVehicleWheelsDynData
 Data structure with instanced dynamics data for wheels. More...
 
class  PxVehicleWheelsSimData
 Data structure describing configuration data of a vehicle with up to 20 wheels. More...
 
struct  PxVehicleWheelsSimFlag
 Flags to configure the vehicle wheel simulation. More...
 
class  PxVirtualAllocator
 
class  PxVirtualAllocatorCallback
 
struct  PxVisualizationParameter
 Debug visualization parameters. More...
 
struct  PxvManagerDescRigidRigid
 
class  PxvNphaseImplementationContext
 
class  PxvNphaseImplementationContextUsableAsFallback
 
class  PxvNphaseImplementationFallback
 
struct  PxvOffsetTable
 
struct  PxvSimStats
 
struct  PxWheelQueryResult
 Structure containing data describing the non-persistent state of each suspension/wheel/tire unit. This structure is filled out in PxVehicleUpdates and PxVehicleUpdateSingleVehicleAndStoreTelemetryData. More...
 
struct  PxWriteOnlyPropertyInfo
 
class  QuickHullConvexHullLib
 
class  RaycastCCDManager
 Raycast-CCD manager. More...
 
class  RaycastCCDManagerInternal
 
class  ReadWriteLockImpl
 
struct  RefitCallback
 
struct  RepXPropertyFilter
 
struct  RepXSerializerImpl
 
struct  RTreeCooker
 
struct  RTreeNodeNQ
 
class  RTreeTriangleMeshBuilder
 
class  SceneQueries
 
class  ShapePoissonSampler
 
struct  SimulationStatisticsProperty
 
struct  SMemPoolNode
 
class  SocketImpl
 
struct  SortBoundsPredicate
 
struct  SortedTriangle
 
struct  SubSortQuick
 
struct  SubSortSAH
 
struct  SVariableMemPoolNode
 
struct  TetrahedronFinderCallback
 
class  TetrahedronMeshBuilder
 
struct  TriangleHash
 
class  TriangleMeshBuilder
 
class  TriangleMeshPoissonSampler
 
class  VectorN
 
class  VehicleSurfaceTypeHashTable
 
struct  XmlDefaultValue
 
struct  XmlDefaultValue< PxQuat >
 
struct  XmlDefaultValue< PxTransform >
 
struct  XmlDefaultValue< PxVec3 >
 
class  XmlMemoryAllocator
 
struct  XmlMemoryAllocatorImpl
 
class  XmlReader
 
class  XmlReaderWriter
 
class  XmlWriter
 

Typedefs

typedef PxFlags< PxControllerCollisionFlag::Enum, PxU8 > PxControllerCollisionFlags
 Bitfield that contains a set of raised flags defined in PxControllerCollisionFlag.
 
typedef PxFlags< PxControllerBehaviorFlag::Enum, PxU8 > PxControllerBehaviorFlags
 Bitfield that contains a set of raised flags defined in PxControllerBehaviorFlag.
 
typedef PxFlags< PxControllerDebugRenderFlag::Enum, PxU32 > PxControllerDebugRenderFlags
 Bitfield that contains a set of raised flags defined in PxControllerDebugRenderFlag.
 
typedef PxU32 PxObstacleHandle
 
typedef double PxExtended
 
typedef PxU16 PxType
 
typedef PxFlags< PxBaseFlag::Enum, PxU16 > PxBaseFlags
 
typedef PxInsertionCallback PxPhysicsInsertionCallback
 
typedef PxU32 PxTriangleID
 
typedef PxU16 PxMaterialTableIndex
 
typedef PxU16 PxFEMMaterialTableIndex
 
typedef PxU64 PxSerialObjectId
 ID type for PxBase objects in a PxCollection.
 
typedef PX_DEPRECATED void(* PxBinaryMetaDataCallback) (PxOutputStream &stream)
 Callback type for exporting binary meta data for a serializable type.
 
typedef PX_DEPRECATED PxBVHDesc PxBVHStructureDesc
 
typedef PxFlags< PxConvexFlag::Enum, PxU16 > PxConvexFlags
 collection of set bits defined in PxConvexFlag.
 
typedef PxFlags< PxMeshPreprocessingFlag::Enum, PxU32 > PxMeshPreprocessingFlags
 
typedef PxFlags< PxD6JointDriveFlag::Enum, PxU32 > PxD6JointDriveFlags
 
typedef PxFlags< PxDistanceJointFlag::Enum, PxU16 > PxDistanceJointFlags
 
typedef PxFlags< PxPrismaticJointFlag::Enum, PxU16 > PxPrismaticJointFlags
 
typedef PxFlags< PxRevoluteJointFlag::Enum, PxU16 > PxRevoluteJointFlags
 
typedef PxQueryHit PxSceneQueryHit
 
typedef PxQueryFilterData PxSceneQueryFilterData
 
typedef PxQueryFilterCallback PxSceneQueryFilterCallback
 
typedef PxQueryCache PxSceneQueryCache
 
typedef PxHitFlag PxSceneQueryFlag
 
typedef PxHitFlags PxSceneQueryFlags
 
typedef PxFlags< PxSphericalJointFlag::Enum, PxU16 > PxSphericalJointFlags
 
typedef PxFlags< PxTetrahedronMeshAnalysisResult::Enum, PxU32 > PxTetrahedronMeshAnalysisResults
 
typedef PxFlags< PxTriangleMeshAnalysisResult::Enum, PxU32 > PxTriangleMeshAnalysisResults
 
typedef uint32_t PxU32
 
typedef PxVec2T< float > PxVec2
 
typedef PxVec3T< float > PxVec3
 
typedef PxVec4T< float > PxVec4
 
typedef PxQuatT< float > PxQuat
 
typedef PxMat33T< float > PxMat33
 
typedef PxMat34T< float > PxMat34
 
typedef PxMat44T< float > PxMat44
 
typedef PxTransformT< float > PxTransform
 
typedef PxBitAndDataT< PxU8, 0x80 > PxBitAndByte
 
typedef PxBitAndDataT< PxU16, 0x8000 > PxBitAndWord
 
typedef PxBitAndDataT< PxU32, 0x80000000 > PxBitAndDword
 
typedef PxBitMapBase< PxAllocator > PxBitMap
 
typedef PxBitMapBase< PxVirtualAllocator > PxBitMapPinned
 
typedef PxMat33T< double > PxMat33d
 
typedef PxMat34T< double > PxMat34d
 
typedef PxMat44T< double > PxMat44d
 
typedef PxMutexT PxMutex
 
template<class T >
using PxPinnedArray = PxArray< T, PxVirtualAllocator >
 
typedef PxArray< PxBounds3, PxVirtualAllocator > PxBoundsArrayPinned
 
typedef PxArray< PxReal, PxVirtualAllocator > PxFloatArrayPinned
 
typedef PxArray< PxU32, PxVirtualAllocator > PxInt32ArrayPinned
 
typedef PxArray< PxU8, PxVirtualAllocator > PxInt8ArrayPinned
 
typedef PxQuatT< double > PxQuatd
 
typedef int64_t PxI64
 
typedef uint64_t PxU64
 
typedef int32_t PxI32
 
typedef int16_t PxI16
 
typedef uint16_t PxU16
 
typedef int8_t PxI8
 
typedef uint8_t PxU8
 
typedef float PxF32
 
typedef double PxF64
 
typedef float PxReal
 
typedef PxI32 PxIntBool
 
typedef PxSListT PxSList
 
typedef PxSyncT PxSync
 
typedef PxThreadT PxThread
 
typedef PxTransformT< double > PxTransformd
 
typedef PxTransformPadded PxTransform32
 
typedef PxVec2T< double > PxVec2d
 
typedef PxVec3T< double > PxVec3d
 
typedef PxVec3Padded PxVec3p
 
typedef PxVec4T< double > PxVec4d
 
typedef PxFlags< PxConvexMeshGeometryFlag::Enum, PxU8 > PxConvexMeshGeometryFlags
 collection of set bits defined in PxConvexMeshGeometryFlag.
 
typedef PxQueryThreadContext PxRaycastThreadContext
 A per-thread context passed to low-level raycast functions.
 
typedef PxQueryThreadContext PxOverlapThreadContext
 A per-thread context passed to low-level overlap functions.
 
typedef PxQueryThreadContext PxSweepThreadContext
 A per-thread context passed to low-level sweep functions.
 
typedef PxFlags< PxHeightFieldFlag::Enum, PxU16 > PxHeightFieldFlags
 collection of set bits defined in PxHeightFieldFlag.
 
typedef PxFlags< PxMeshFlag::Enum, PxU16 > PxMeshFlags
 collection of set bits defined in PxMeshFlag.
 
typedef PxFlags< PxTetrahedronMeshFlag::Enum, PxU8 > PxTetrahedronMeshFlags
 collection of set bits defined in PxTetrahedronMeshFlag.
 
typedef PxFlags< PxTriangleMeshFlag::Enum, PxU8 > PxTriangleMeshFlags
 collection of set bits defined in PxTriangleMeshFlag.
 
typedef PxFlags< PxMeshGeometryFlag::Enum, PxU8 > PxMeshGeometryFlags
 collection of set bits defined in PxMeshGeometryFlag.
 
typedef PxFlags< PxPvdInstrumentationFlag::Enum, uint8_t > PxPvdInstrumentationFlags
 Bitfield that contains a set of raised flags defined in PxPvdInstrumentationFlag.
 
typedef PxFlags< PxPvdSceneFlag::Enum, PxU8 > PxPvdSceneFlags
 Bitfield that contains a set of raised flags defined in PxPvdSceneFlag.
 
typedef PxU8 PxDominanceGroup
 Group index which allows to specify 1- or 2-way interaction.
 
typedef PxFlags< PxActorFlag::Enum, PxU8 > PxActorFlags
 collection of set bits defined in PxActorFlag.
 
typedef PxFlags< PxActorCacheFlag::Enum, PxU16 > PxActorCacheFlags
 Collection of set bits defined in PxActorCacheFlag.
 
typedef PxU32 PxAggregateFilterHint
 
typedef PxFlags< PxArticulationCacheFlag::Enum, PxU32 > PxArticulationCacheFlags
 
typedef physx::PxFlags< PxArticulationSensorFlag::Enum, PxU8 > PxArticulationSensorFlags
 
typedef physx::PxFlags< PxArticulationKinematicFlag::Enum, PxU8 > PxArticulationKinematicFlags
 
typedef PxU32 PxBpIndex
 Broadphase index. Indexes bounds, groups and distance arrays.
 
typedef PxU32 PxBpFilterGroup
 Broadphase filter group.
 
typedef PxU8 PxClientID
 An ID to identify different clients for multiclient support.
 
typedef PxFlags< PxConstraintFlag::Enum, PxU16 > PxConstraintFlags
 constraint flags
 
typedef PxFlags< Px1DConstraintFlag::Type, PxU16 > Px1DConstraintFlags
 
typedef PxU32(* PxConstraintSolverPrep) (Px1DConstraint *constraints, PxVec3p &bodyAWorldOffset, PxU32 maxConstraints, PxConstraintInvMassScale &invMassScale, const void *constantBlock, const PxTransform &bodyAToWorld, const PxTransform &bodyBToWorld, bool useExtendedLimits, PxVec3p &cAtW, PxVec3p &cBtW)
 Solver constraint generation shader.
 
typedef PX_DEPRECATED void(* PxConstraintProject) (const void *constantBlock, PxTransform &bodyAToWorld, PxTransform &bodyBToWorld, bool projectToA)
 Solver constraint projection shader.
 
typedef void(* PxConstraintVisualize) (PxConstraintVisualizer &visualizer, const void *constantBlock, const PxTransform &body0Transform, const PxTransform &body1Transform, PxU32 flags)
 Solver constraint visualization function.
 
typedef PxFlags< PxDeletionEventFlag::Enum, PxU8 > PxDeletionEventFlags
 Collection of set bits defined in PxDeletionEventFlag.
 
typedef PxFlags< PxFEMClothData::Enum, PxU32 > PxFEMClothDataFlags
 
typedef PxFlags< PxFEMClothFlag::Enum, PxU32 > PxFEMClothFlags
 
typedef PxFlags< PxPairFlag::Enum, PxU16 > PxPairFlags
 Bitfield that contains a set of raised flags defined in PxPairFlag.
 
typedef PxFlags< PxFilterFlag::Enum, PxU16 > PxFilterFlags
 Bitfield that contains a set of raised flags defined in PxFilterFlag.
 
typedef PxU32 PxFilterObjectAttributes
 Structure which gets passed into the collision filtering shader and/or callback providing additional information on objects of a collision pair.
 
typedef PxFilterFlags(* PxSimulationFilterShader) (PxFilterObjectAttributes attributes0, PxFilterData filterData0, PxFilterObjectAttributes attributes1, PxFilterData filterData1, PxPairFlags &pairFlags, const void *constantBlock, PxU32 constantBlockSize)
 Filter method to specify how a pair of potentially colliding objects should be processed.
 
typedef PxFlags< PxHairSystemData::Enum, PxU32 > PxHairSystemDataFlags
 
typedef PxFlags< PxHairSystemFlag::Enum, PxU32 > PxHairSystemFlags
 
typedef PxFlags< PxDataAccessFlag::Enum, PxU8 > PxDataAccessFlags
 collection of set bits defined in PxDataAccessFlag.
 
typedef PxFlags< PxMaterialFlag::Enum, PxU16 > PxMaterialFlags
 collection of set bits defined in PxMaterialFlag.
 
typedef PxFlags< PxMPMCuttingFlag::Enum, PxU16 > PxMPMCuttingFlags
 
typedef PxFlags< PxParticleFlag::Enum, PxU32 > PxParticleFlags
 
typedef PxFlags< PxParticleBufferFlag::Enum, PxU32 > PxParticleBufferFlags
 
typedef PxFlags< PxParticlePhaseFlag::Enum, PxU32 > PxParticlePhaseFlags
 
typedef PX_DEPRECATED PxBVH PxBVHStructure
 
typedef PxFlags< PxQueryFlag::Enum, PxU16 > PxQueryFlags
 Flags typedef for the set of bits defined in PxQueryFlag.
 
typedef bool PxAgain
 Describes query behavior after returning a partial query result via a callback.
 
typedef PxHitCallback< PxRaycastHit > PxRaycastCallback
 Raycast query callback.
 
typedef PxHitCallback< PxOverlapHit > PxOverlapCallback
 Overlap query callback.
 
typedef PxHitCallback< PxSweepHit > PxSweepCallback
 Sweep query callback.
 
typedef PxHitBuffer< PxRaycastHit > PxRaycastBuffer
 Raycast query buffer.
 
typedef PxHitBuffer< PxOverlapHit > PxOverlapBuffer
 Overlap query buffer.
 
typedef PxHitBuffer< PxSweepHit > PxSweepBuffer
 Sweep query buffer.
 
typedef PxFlags< PxRigidBodyFlag::Enum, PxU16 > PxRigidBodyFlags
 collection of set bits defined in PxRigidBodyFlag.
 
typedef PxFlags< PxRigidDynamicLockFlag::Enum, PxU8 > PxRigidDynamicLockFlags
 
typedef PxFlags< PxActorTypeFlag::Enum, PxU16 > PxActorTypeFlags
 Collection of set bits defined in PxActorTypeFlag.
 
typedef PxFlags< PxSceneFlag::Enum, PxU32 > PxSceneFlags
 collection of set bits defined in PxSceneFlag.
 
typedef PxU32 PxSQCompoundHandle
 
typedef PxU32 PxSQPrunerHandle
 
typedef void * PxSQBuildStepHandle
 
typedef PxFlags< PxShapeFlag::Enum, PxU8 > PxShapeFlags
 collection of set bits defined in PxShapeFlag.
 
typedef PxFlags< PxContactPairHeaderFlag::Enum, PxU16 > PxContactPairHeaderFlags
 Bitfield that contains a set of raised flags defined in PxContactPairHeaderFlag.
 
typedef PxFlags< PxContactPairFlag::Enum, PxU16 > PxContactPairFlags
 Bitfield that contains a set of raised flags defined in PxContactPairFlag.
 
typedef PxFlags< PxTriggerPairFlag::Enum, PxU8 > PxTriggerPairFlags
 Bitfield that contains a set of raised flags defined in PxTriggerPairFlag.
 
typedef PxFlags< PxSoftBodyData::Enum, PxU32 > PxSoftBodyDataFlags
 
typedef PxFlags< PxSoftBodyFlag::Enum, PxU32 > PxSoftBodyFlags
 
typedef PxFlags< PxArticulationMotion::Enum, PxU8 > PxArticulationMotions
 
typedef PxFlags< PxArticulationFlag::Enum, PxU8 > PxArticulationFlags
 
typedef unsigned int PxTaskID
 
typedef PxFlags< PxVehicleWheelsSimFlag::Enum, PxU32 > PxVehicleWheelsSimFlags
 Collection of set bits defined in #PxVehicleWheelsSimFlag.
 
typedef BOOL(WINAPI * LPFN_GLPI) (PSYSTEM_LOGICAL_PROCESSOR_INFORMATION, PDWORD)
 
typedef MaterialCoreT< PxsFEMClothMaterialData, PxFEMClothMaterial > PxsFEMClothMaterialCore
 
typedef MaterialCoreT< PxsFEMSoftBodyMaterialData, PxFEMSoftBodyMaterial > PxsFEMSoftBodyMaterialCore
 
typedef MaterialCoreT< PxsFLIPMaterialData, PxFLIPMaterial > PxsFLIPMaterialCore
 
typedef MaterialCoreT< PxsMaterialData, PxMaterial > PxsMaterialCore
 
typedef MaterialCoreT< PxsMPMMaterialData, PxMPMMaterial > PxsMPMMaterialCore
 
typedef MaterialCoreT< PxsPBDMaterialData, PxPBDMaterial > PxsPBDMaterialCore
 
typedef MaterialCoreT< PxsCustomMaterialData, PxCustomMaterial > PxsCustomMaterialCore
 
typedef PxFlags< PxShapeCoreFlag::Enum, PxU8 > PxShapeCoreFlags
 
typedef bool(* PxcContactMethod) (GU_CONTACT_METHOD_ARGS)
 
typedef void(* PxcGetMaterialMethod) (MATERIAL_METHOD_ARGS)
 
typedef void(* PxcGetSingleMaterialMethod) (SINGLE_MATERIAL_METHOD_ARGS)
 
typedef PxArray< PxcNpMemBlock * > PxcNpMemBlockArray
 
typedef PxsCCDBlockArray< PxsCCDBody, 128 > PxsCCDBodyArray
 Block array of CCD bodies.
 
typedef PxsCCDBlockArray< PxsCCDPair, 128 > PxsCCDPairArray
 Block array of CCD pairs.
 
typedef PxsCCDBlockArray< PxsCCDOverlap, 128 > PxsCCDOverlapArray
 Block array of CCD overlaps.
 
typedef PxsCCDBlockArray< PxsCCDShape, 128 > PxsCCDShapeArray
 Block array of CCD shapes.
 
typedef PxPair< const PxsRigidCore *, const PxsShapeCore * > PxsRigidShapePair
 Pair structure to be able to look-up a rigid body-shape pair in a map.
 
typedef PxU32 NodeType
 
typedef PxU32 EdgeType
 
typedef PxU32 IslandType
 
typedef PxsIslandManagerHook< NodeType, INVALID_NODE > PxsIslandManagerNodeHook
 
typedef PxsIslandManagerHook< EdgeType, INVALID_EDGE > PxsIslandManagerEdgeHook
 
typedef PxsIslandManagerHook< IslandType, INVALID_ISLAND > PxsIslandManagerIslandHook
 
typedef PxU64 PxsNodeType
 
typedef struct physx::NvPhysXToDrv_Header_ NvPhysXToDrv_Header
 
typedef struct physx::NvPhysXToDrv_Data_V1_ NvPhysXToDrv_Data_V1
 
typedef NpRigidBodyTemplate< PxArticulationLink > NpArticulationLinkT
 
typedef PxU32 ArticulationSensorHandle
 
typedef PxU32 ArticulationAttachmentHandle
 
typedef PxU32 ArticulationTendonHandle
 
typedef NpRigidBodyTemplate< PxRigidDynamic > NpRigidDynamicT
 
typedef NpRigidActorTemplate< PxRigidStatic > NpRigidStaticT
 
typedef PxSQCompoundHandle NpCompoundId
 
typedef Gu::Box PxExtendedBox
 
typedef Gu::Sphere PxExtendedSphere
 
typedef Gu::Segment PxExtendedSegment
 
typedef Gu::Capsule PxExtendedCapsule
 
typedef PxBounds3 PxExtendedBounds3
 
typedef PxReadOnlyPropertyInfo< PxPropertyInfoName::PxArticulationLink_InboundJoint, PxArticulationLink, PxArticulationJointReducedCoordinate * > TIncomingJointPropType
 
typedef PxU32 TMemAllocSizeType
 
typedef bool _Bool
 
typedef PxPropertyInfo< PxPropertyInfoName::PxRigidActor_GlobalPose, PxRigidActor, const PxTransform &, PxTransform > PxRigidActorGlobalPosePropertyInfo
 
typedef PxSQPrunerHandle ScPrunerHandle
 
typedef PxHashMap< const char *, PxTaskID > PxTaskNameToIDMap
 
typedef PxArray< PxTaskDepTableRow > PxTaskDepTable
 
typedef PxArray< PxTaskTableRow > PxTaskTable
 

Enumerations

enum  PxEMPTY { PxEmpty , PxEmpty }
 
enum  PxZERO { PxZero , PxZero }
 
enum  PxIDENTITY { PxIdentity , PxIdentity }
 
enum  PxScenePrunerIndex { PX_SCENE_PRUNER_STATIC = 0 , PX_SCENE_PRUNER_DYNAMIC = 1 , PX_SCENE_COMPOUND_PRUNER = 0xffffffff }
 Built-in enum for default PxScene pruners. More...
 
enum  CubeIndex {
  CUBE_RIGHT , CUBE_LEFT , CUBE_TOP , CUBE_BOTTOM ,
  CUBE_FRONT , CUBE_BACK , CUBE_FORCE_DWORD = 0x7fffffff
}
 
enum  PxvErrorCode {
  PXD_ERROR_NO_ERROR = 0 , PXD_ERROR_INVALID_PARAMETER , PXD_ERROR_INVALID_PARAMETER_SIZE , PXD_ERROR_INTERNAL_ERROR ,
  PXD_ERROR_NOT_IMPLEMENTED , PXD_ERROR_NO_CONTEXT , PXD_ERROR_NO_TASK_MANAGER , PXD_ERROR_WARNING
}
 
enum  PxvContactManagerCCDMode { PXD_MANAGER_CCD_NONE , PXD_MANAGER_CCD_LINEAR }
 
enum  PxsTouchEventCount { PXS_LOST_TOUCH_COUNT , PXS_NEW_TOUCH_COUNT , PXS_CCD_RETOUCH_COUNT , PXS_TOUCH_EVENT_COUNT }
 
enum  SolverConstraintType {
  DY_SC_TYPE_NONE = 0 , DY_SC_TYPE_RB_CONTACT , DY_SC_TYPE_RB_1D , DY_SC_TYPE_EXT_CONTACT ,
  DY_SC_TYPE_EXT_1D , DY_SC_TYPE_STATIC_CONTACT , DY_SC_TYPE_NOFRICTION_RB_CONTACT , DY_SC_TYPE_BLOCK_RB_CONTACT ,
  DY_SC_TYPE_BLOCK_STATIC_RB_CONTACT , DY_SC_TYPE_BLOCK_1D , DY_SC_TYPE_FRICTION , DY_SC_TYPE_STATIC_FRICTION ,
  DY_SC_TYPE_EXT_FRICTION , DY_SC_TYPE_BLOCK_FRICTION , DY_SC_TYPE_BLOCK_STATIC_FRICTION , DY_SC_CONSTRAINT_TYPE_COUNT
}
 
enum  SolverConstraintFlags {
  DY_SC_FLAG_OUTPUT_FORCE = (1<<1) , DY_SC_FLAG_KEEP_BIAS = (1<<2) , DY_SC_FLAG_ROT_EQ = (1<<3) , DY_SC_FLAG_ORTHO_TARGET = (1<<4) ,
  DY_SC_FLAG_SPRING = (1<<5) , DY_SC_FLAG_INEQUALITY = (1<<6)
}
 
enum  {
  TIMER_ADMIN =0 , TIMER_GRAPHS , TIMER_COMPONENTS_UPDATE , TIMER_WHEELS ,
  TIMER_INTERNAL_DYNAMICS_SOLVER , TIMER_POSTUPDATE1 , TIMER_POSTUPDATE2 , TIMER_POSTUPDATE3 ,
  TIMER_ALL , TIMER_RAYCASTS , TIMER_SWEEPS , MAX_NB_TIMERS
}
 
enum  PxEMPTY { PxEmpty , PxEmpty }
 
enum  PxZERO { PxZero , PxZero }
 
enum  PxIDENTITY { PxIdentity , PxIdentity }
 

Functions

PX_FORCE_INLINE PxVec3 toVec3 (const PxExtendedVec3 &v)
 
PX_FORCE_INLINE PxRenderOutput & operator<< (PxRenderOutput &out, const PxDebugBox &box)
 
PX_FORCE_INLINE void normalToTangents (const PxVec3 &normal, PxVec3 &tangent0, PxVec3 &tangent1)
 
PX_FORCE_INLINE PxRenderOutput & operator<< (PxRenderOutput &out, const PxDebugArrow &arrow)
 
PX_FORCE_INLINE PxRenderOutput & operator<< (PxRenderOutput &out, const PxDebugBasis &basis)
 
PX_FORCE_INLINE PxRenderOutput & operator<< (PxRenderOutput &out, const PxDebugCircle &circle)
 
PX_FORCE_INLINE PxRenderOutput & operator<< (PxRenderOutput &out, const PxDebugArc &arc)
 
PX_C_EXPORT PX_PHYSX_CORE_API void PX_CALL_CONV PxSetPhysXDelayLoadHook (const physx::PxDelayLoadHook *hook)
 Sets delay load hook instance for PhysX dll.
 
PX_C_EXPORT PX_PHYSX_CORE_API void PX_CALL_CONV PxSetPhysXCookingDelayLoadHook (const physx::PxDelayLoadHook *hook)
 Sets delay load hook instance for PhysXCooking dll.
 
PX_C_EXPORT PX_PHYSX_COMMON_API void PX_CALL_CONV PxSetPhysXCommonDelayLoadHook (const physx::PxDelayLoadHook *hook)
 Sets delay load hook instance for PhysXCommon dll.
 
PxContactJoint * PxContactJointCreate (PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)
 Create a distance Joint.
 
PxU32 PxFindFaceIndex (const PxConvexMeshGeometry &convexGeom, const PxTransform &geomPose, const PxVec3 &impactPos, const PxVec3 &unitDir)
 Computes closest polygon of the convex hull geometry for a given impact point and impact direction. When doing sweeps against a scene, one might want to delay the rather expensive computation of the hit face index for convexes until it is clear the information is really needed and then use this method to get the corresponding face index.
 
PxCustomSceneQuerySystem * PxCreateCustomSceneQuerySystem (PxSceneQueryUpdateMode::Enum sceneQueryUpdateMode, PxU64 contextID, const PxCustomSceneQuerySystemAdapter &adapter, bool usesTreeOfPruners=false)
 Creates a custom scene query system.
 
PxD6Joint * PxD6JointCreate (PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)
 Create a D6 joint.
 
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_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_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_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.
 
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_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.
 
PX_FORCE_INLINE void * platformAlignedAlloc (size_t size)
 
PX_FORCE_INLINE void platformAlignedFree (void *ptr)
 
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.
 
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.
 
bool PxGetGroupCollisionFlag (const PxU16 group1, const PxU16 group2)
 Determines if collision detection is performed between a pair of groups.
 
void PxSetGroupCollisionFlag (const PxU16 group1, const PxU16 group2, const bool enable)
 Specifies if collision should be performed by a pair of groups.
 
PxU16 PxGetGroup (const PxActor &actor)
 Retrieves the value set with PxSetGroup()
 
void PxSetGroup (PxActor &actor, const PxU16 collisionGroup)
 Sets which collision group this actor is part of.
 
void PxGetFilterOps (PxFilterOp::Enum &op0, PxFilterOp::Enum &op1, PxFilterOp::Enum &op2)
 Retrieves filtering operation. See comments for PxGroupsMask.
 
void PxSetFilterOps (const PxFilterOp::Enum &op0, const PxFilterOp::Enum &op1, const PxFilterOp::Enum &op2)
 Setups filtering operations. See comments for PxGroupsMask.
 
bool PxGetFilterBool ()
 Retrieves filtering's boolean value. See comments for PxGroupsMask.
 
void PxSetFilterBool (const bool enable)
 Setups filtering's boolean value. See comments for PxGroupsMask.
 
void PxGetFilterConstants (PxGroupsMask &c0, PxGroupsMask &c1)
 Gets filtering constant K0 and K1. See comments for PxGroupsMask.
 
void PxSetFilterConstants (const PxGroupsMask &c0, const PxGroupsMask &c1)
 Setups filtering's K0 and K1 value. See comments for PxGroupsMask.
 
PxGroupsMask PxGetGroupsMask (const PxActor &actor)
 Gets 64-bit mask used for collision filtering. See comments for PxGroupsMask.
 
void PxSetGroupsMask (PxActor &actor, const PxGroupsMask &mask)
 Sets 64-bit mask used for collision filtering. See comments for PxGroupsMask.
 
PxDistanceJoint * PxDistanceJointCreate (PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)
 Create a distance Joint.
 
PxFixedJoint * PxFixedJointCreate (PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)
 Create a fixed joint.
 
PxGearJoint * PxGearJointCreate (PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)
 Create a gear Joint.
 
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/360.0f *PxTwoPi)
 Creates a PxParticleClothCooker.
 
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.
 
PxRevoluteJoint * PxRevoluteJointCreate (PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)
 Create a revolute joint.
 
PxPoissonSampler * PxCreateShapeSampler (const PxGeometry &geometry, const PxTransform &transform, const PxBounds3 &worldBounds, PxReal initialSamplingRadius, PxI32 numSampleAttemptsAroundPoint=30)
 
PxTriangleMeshPoissonSampler * PxCreateTriangleMeshSampler (const PxU32 *triangles, PxU32 numTriangles, const PxVec3 *vertices, PxU32 numVertices, PxReal initialSamplingRadius, PxI32 numSampleAttemptsAroundPoint=30)
 
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.
 
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.
 
PxSceneQuerySystem * PxCreateExternalSceneQuerySystem (const PxSceneQueryDesc &desc, PxU64 contextID)
 Creates an external scene query system.
 
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.
 
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.
 
PxRigidDynamic * PxCreateKinematic (PxPhysics &sdk, const PxTransform &transform, PxShape &shape, PxReal density)
 simple method to create a kinematic PxRigidDynamic 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.
 
PxRigidStatic * PxCreateStatic (PxPhysics &sdk, const PxTransform &transform, PxShape &shape)
 simple method to create a PxRigidStatic actor with a single PxShape.
 
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
 
PxRigidDynamic * PxCloneDynamic (PxPhysics &physicsSDK, const PxTransform &transform, const PxRigidDynamic &body)
 create a dynamic body by copying attributes from an existing body
 
PxRigidStatic * PxCreatePlane (PxPhysics &sdk, const PxPlane &plane, PxMaterial &material)
 create a plane actor. The plane equation is n.x + d = 0
 
void PxScaleRigidActor (PxRigidActor &actor, PxReal scale, bool scaleMassProps=true)
 scale a rigid actor by a uniform scale
 
PxSphericalJoint * PxSphericalJointCreate (PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)
 Create a spherical joint.
 
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.
 
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 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.
 
template<class T , class Alloc >
PX_INLINE void swap (PxArray< T, Alloc > &x, PxArray< T, Alloc > &y)
 
PX_FOUNDATION_API PX_DEPRECATED PxAssertHandler & PxGetAssertHandler ()
 
PX_FOUNDATION_API PX_DEPRECATED void PxSetAssertHandler (PxAssertHandler &handler)
 
PX_FOUNDATION_API PxI32 PxAtomicExchange (volatile PxI32 *dest, PxI32 val)
 
PX_FOUNDATION_API PxI32 PxAtomicCompareExchange (volatile PxI32 *dest, PxI32 exch, PxI32 comp)
 
PX_FOUNDATION_API void * PxAtomicCompareExchangePointer (volatile void **dest, void *exch, void *comp)
 
PX_FOUNDATION_API PxI32 PxAtomicIncrement (volatile PxI32 *val)
 
PX_FOUNDATION_API PxI32 PxAtomicDecrement (volatile PxI32 *val)
 
PX_FOUNDATION_API PxI32 PxAtomicAdd (volatile PxI32 *val, PxI32 delta)
 
PX_FOUNDATION_API PxI32 PxAtomicMax (volatile PxI32 *val, PxI32 val2)
 
template<typename T >
T PxPointerOffset (void *p, ptrdiff_t offset)
 
template<typename T >
T PxPointerOffset (const void *p, ptrdiff_t offset)
 
template<class T >
PX_CUDA_CALLABLE PX_INLINE void PxSwap (T &x, T &y)
 
PX_INLINE uint32_t PxBitCount (uint32_t v)
 
PX_INLINE bool PxIsPowerOfTwo (uint32_t x)
 
PX_INLINE uint32_t PxNextPowerOfTwo (uint32_t x)
 
PX_INLINE uint32_t PxLowestSetBit (uint32_t x)
 
PX_INLINE uint32_t PxHighestSetBit (uint32_t x)
 
PX_INLINE uint32_t PxILog2 (uint32_t num)
 
PX_FOUNDATION_API void PxEnableFPExceptions ()
 Enables floating point exceptions for the scalar and SIMD unit.
 
PX_FOUNDATION_API void PxDisableFPExceptions ()
 Disables floating point exceptions for the scalar and SIMD unit.
 
PX_FORCE_INLINE uint32_t PxComputeHash (const uint32_t key)
 
PX_FORCE_INLINE uint32_t PxComputeHash (const int32_t key)
 
PX_FORCE_INLINE uint32_t PxComputeHash (const uint64_t key)
 
PX_INLINE uint32_t PxComputeHash (const void *ptr)
 
template<typename F , typename S >
PX_INLINE uint32_t PxComputeHash (const PxPair< F, S > &p)
 
template<class Type >
PX_CUDA_CALLABLE PX_INLINE PxMat33T< Type > operator* (Type scalar, const PxMat33T< Type > &m)
 
template<class Type >
PX_INLINE PxMat34T< Type > operator* (const PxMat33T< Type > &a, const PxMat34T< Type > &b)
 Multiply a*b, a is extended.
 
 PX_COMPILE_TIME_ASSERT (0==(sizeof(PxMat34Padded)==16))
 
template<class T >
PX_CUDA_CALLABLE PX_FORCE_INLINE T PxMax (T a, T b)
 The return value is the greater of the two specified values.
 
template<>
PX_CUDA_CALLABLE PX_FORCE_INLINE float PxMax (float a, float b)
 overload for float to use fsel on xbox
 
template<class T >
PX_CUDA_CALLABLE PX_FORCE_INLINE T PxMin (T a, T b)
 The return value is the lesser of the two specified values.
 
template<>
PX_CUDA_CALLABLE PX_FORCE_INLINE float PxMin (float a, float b)
 overload for float to use fsel on xbox
 
PX_CUDA_CALLABLE PX_FORCE_INLINE float PxAbs (float a)
 abs returns the absolute value of its argument.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxEquals (float a, float b, float eps)
 
PX_CUDA_CALLABLE PX_FORCE_INLINE double PxAbs (double a)
 abs returns the absolute value of its argument.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE int32_t PxAbs (int32_t a)
 abs returns the absolute value of its argument.
 
template<class T >
PX_CUDA_CALLABLE PX_FORCE_INLINE T PxClamp (T v, T lo, T hi)
 Clamps v to the range [hi,lo].
 
PX_CUDA_CALLABLE PX_FORCE_INLINE float PxSqrt (float a)
 Square root.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE double PxSqrt (double a)
 Square root.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE float PxRecipSqrt (float a)
 reciprocal square root.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE double PxRecipSqrt (double a)
 reciprocal square root.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxF32 PxSqr (const PxF32 a)
 square of the argument
 
PX_CUDA_CALLABLE PX_FORCE_INLINE float PxSin (float a)
 trigonometry – all angles are in radians.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE double PxSin (double a)
 Sine of an angle ( Unit: Radians )
 
PX_CUDA_CALLABLE PX_FORCE_INLINE float PxCos (float a)
 Cosine of an angle (Unit: Radians)
 
PX_CUDA_CALLABLE PX_FORCE_INLINE double PxCos (double a)
 Cosine of an angle (Unit: Radians)
 
PX_CUDA_CALLABLE PX_FORCE_INLINE void PxSinCos (const PxF32 a, PxF32 &sin, PxF32 &cos)
 compute sine and cosine at the same time
 
PX_CUDA_CALLABLE PX_FORCE_INLINE void PxSinCos (const double a, double &sin, double &cos)
 compute sine and cosine at the same time
 
PX_CUDA_CALLABLE PX_FORCE_INLINE float PxTan (float a)
 Tangent of an angle. Unit: Radians.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE double PxTan (double a)
 Tangent of an angle. Unit: Radians.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE float PxAsin (float f)
 Arcsine. Returns angle between -PI/2 and PI/2 in radians Unit: Radians.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE double PxAsin (double f)
 Arcsine. Returns angle between -PI/2 and PI/2 in radians Unit: Radians.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE float PxAcos (float f)
 Arccosine. Returns angle between 0 and PI in radians Unit: Radians.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE double PxAcos (double f)
 Arccosine. Returns angle between 0 and PI in radians Unit: Radians.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE float PxAtan (float a)
 ArcTangent. Returns angle between -PI/2 and PI/2 in radians Unit: Radians.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE double PxAtan (double a)
 ArcTangent. Returns angle between -PI/2 and PI/2 in radians Unit: Radians.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE float PxAtan2 (float x, float y)
 Arctangent of (x/y) with correct sign. Returns angle between -PI and PI in radians Unit: Radians.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE double PxAtan2 (double x, double y)
 Arctangent of (x/y) with correct sign. Returns angle between -PI and PI in radians Unit: Radians.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxF32 PxDegToRad (const PxF32 a)
 Converts degrees to radians.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxIsFinite (float f)
 returns true if the passed number is a finite floating point number as opposed to INF, NAN, etc.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxIsFinite (double f)
 returns true if the passed number is a finite floating point number as opposed to INF, NAN, etc.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE float PxFloor (float a)
 
PX_CUDA_CALLABLE PX_FORCE_INLINE float PxExp (float a)
 
PX_CUDA_CALLABLE PX_FORCE_INLINE float PxCeil (float a)
 
PX_CUDA_CALLABLE PX_FORCE_INLINE float PxSign (float a)
 
PX_CUDA_CALLABLE PX_FORCE_INLINE float PxSign2 (float a, float eps=FLT_EPSILON)
 
PX_CUDA_CALLABLE PX_FORCE_INLINE float PxPow (float x, float y)
 
PX_CUDA_CALLABLE PX_FORCE_INLINE float PxLog (float x)
 
PX_FOUNDATION_API PxQuat PxShortestRotation (const PxVec3 &from, const PxVec3 &target)
 finds the shortest rotation between two vectors.
 
PX_FOUNDATION_API PxVec3 PxDiagonalize (const PxMat33 &m, PxQuat &axes)
 
PX_FOUNDATION_API 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
 
PX_FOUNDATION_API PxTransform PxTransformFromPlaneEquation (const PxPlane &plane)
 creates a transform from a plane equation, suitable for an actor transform for a PxPlaneGeometry
 
PX_INLINE PxPlane PxPlaneEquationFromTransform (const PxTransform &pose)
 creates a plane equation from a transform, such as the actor transform for a PxPlaneGeometry
 
PX_FOUNDATION_API PxQuat PxSlerp (const PxReal t, const PxQuat &left, const PxQuat &right)
 Spherical linear interpolation of two quaternions.
 
PX_FOUNDATION_API void PxIntegrateTransform (const PxTransform &curTrans, const PxVec3 &linvel, const PxVec3 &angvel, PxReal timeStep, PxTransform &result)
 integrate transform.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat PxExp (const PxVec3 &v)
 Compute the exponent of a PxVec3.
 
PX_FOUNDATION_API PxVec3 PxOptimizeBoundingBox (PxMat33 &basis)
 computes a oriented bounding box around the scaled basis.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxLog (const PxQuat &q)
 return Returns the log of a PxQuat
 
PX_CUDA_CALLABLE PX_FORCE_INLINE 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.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal PxTanHalf (PxReal sin, PxReal cos)
 Compute tan(theta/2) given sin(theta) and cos(theta) as inputs.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxEllipseClamp (const PxVec3 &point, const PxVec3 &radii)
 Compute the closest point on an 2d ellipse to a given 2d point.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE 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.
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxF32 PxComputeAngle (const PxVec3 &v0, const PxVec3 &v1)
 Compute the angle between two non-unit vectors.
 
PX_INLINE 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).
 
PX_INLINE 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||.
 
PX_INLINE PxU32 PxGetNextIndex3 (PxU32 i)
 Compute (i+1)%3.
 
PX_INLINE PX_CUDA_CALLABLE void computeBarycentric (const PxVec3 &a, const PxVec3 &b, const PxVec3 &c, const PxVec3 &d, const PxVec3 &p, PxVec4 &bary)
 
PX_INLINE PX_CUDA_CALLABLE void computeBarycentric (const PxVec3 &a, const PxVec3 &b, const PxVec3 &c, const PxVec3 &p, PxVec4 &bary)
 
PX_INLINE PX_CUDA_CALLABLE PxReal PxSdfSample (const PxReal *PX_RESTRICT 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)
 
PX_FORCE_INLINE void * PxMemZero (void *dest, PxU32 count)
 Sets the bytes of the provided buffer to zero.
 
PX_FORCE_INLINE void * PxMemSet (void *dest, PxI32 c, PxU32 count)
 Sets the bytes of the provided buffer to the specified value.
 
PX_FORCE_INLINE void * PxMemCopy (void *dest, const void *src, PxU32 count)
 Copies the bytes of one memory block to another. The memory blocks must not overlap.
 
PX_FORCE_INLINE void * PxMemMove (void *dest, const void *src, PxU32 count)
 Copies the bytes of one memory block to another. The memory blocks can overlap.
 
PX_INLINE void PxMarkSerializedMemory (void *ptr, PxU32 byteSize)
 
class physx::PxSListEntry PX_ALIGN_SUFFIX (PX_SLIST_ALIGNMENT)
 
template<class T , class Predicate , class PxAllocator >
void PxSort (T *elements, uint32_t count, const Predicate &compare, const PxAllocator &inAllocator, const uint32_t initialStackSize=32)
 
template<class T , class Predicate >
void PxSort (T *elements, uint32_t count, const Predicate &compare)
 
template<class T >
void PxSort (T *elements, uint32_t count)
 
template<class T , class Predicate >
PX_INLINE void PxMedian3 (T *elements, int32_t first, int32_t last, Predicate &compare)
 
template<class T , class Predicate >
PX_INLINE int32_t PxPartition (T *elements, int32_t first, int32_t last, Predicate &compare)
 
template<class T , class Predicate >
PX_INLINE void PxSmallSort (T *elements, int32_t first, int32_t last, Predicate &compare)
 
template<typename T >
PX_INLINE PxStrideIterator< T > operator+ (int i, PxStrideIterator< T > it)
 Addition operator.
 
template<typename T >
PX_INLINE PxStrideIterator< T > PxMakeIterator (T *ptr, PxU32 stride=sizeof(T))
 Stride iterator factory function which infers the iterator type.
 
template<typename T >
PX_INLINE PxStrideIterator< const T > PxMakeIterator (const T *ptr, PxU32 stride=sizeof(T))
 Stride iterator factory function which infers the iterator type.
 
PX_FOUNDATION_API int32_t Pxsscanf (const char *buffer, const char *format,...)
 
PX_FOUNDATION_API int32_t Pxstrcmp (const char *str1, const char *str2)
 
PX_FOUNDATION_API int32_t Pxstrncmp (const char *str1, const char *str2, size_t count)
 
PX_FOUNDATION_API int32_t Pxsnprintf (char *dst, size_t dstSize, const char *format,...)
 
PX_FOUNDATION_API int32_t Pxvsnprintf (char *dst, size_t dstSize, const char *src, va_list arg)
 
PX_FOUNDATION_API size_t Pxstrlcat (char *dst, size_t dstSize, const char *src)
 
PX_FOUNDATION_API size_t Pxstrlcpy (char *dst, size_t dstSize, const char *src)
 
PX_FOUNDATION_API int32_t Pxstricmp (const char *str1, const char *str2)
 
PX_FOUNDATION_API int32_t Pxstrnicmp (const char *str1, const char *str2, size_t count)
 
PX_FOUNDATION_API void Pxstrlwr (char *str)
 
PX_FOUNDATION_API void Pxstrupr (char *str)
 
PX_FOUNDATION_API void PxPrintString (const char *)
 Prints the string literally (does not consume % specifier), trying to make sure it's visible to the app programmer.
 
PX_FOUNDATION_API PxU32 PxTlsAlloc ()
 
PX_FOUNDATION_API void PxTlsFree (PxU32 index)
 
PX_FOUNDATION_API void * PxTlsGet (PxU32 index)
 
PX_FOUNDATION_API size_t PxTlsGetValue (PxU32 index)
 
PX_FOUNDATION_API PxU32 PxTlsSet (PxU32 index, void *value)
 
PX_FOUNDATION_API PxU32 PxTlsSetValue (PxU32 index, size_t value)
 
struct PX_ALIGN_PREFIX (16) PxTransformPadded
 A generic padded & aligned transform class.
 
 PX_ALIGN_SUFFIX (16)
 
 PX_COMPILE_TIME_ASSERT (sizeof(PxTransformPadded)==32)
 
template<class A , class B >
PX_FORCE_INLINE A PxUnionCast (B b)
 
PX_INLINE char PxLittleEndian ()
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxU32 PxTo32 (PxU64 value)
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxU16 PxTo16 (PxU32 value)
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxU8 PxTo8 (PxU16 value)
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxU8 PxTo8 (PxU32 value)
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxU8 PxTo8 (PxI32 value)
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxI8 PxToI8 (PxU32 value)
 
template<class T >
PX_CUDA_CALLABLE PX_FORCE_INLINE void PxOrder (T &x, T &y)
 
PX_CUDA_CALLABLE PX_FORCE_INLINE void PxOrder (PxReal &x, PxReal &y)
 
template<class T , class E1 >
PX_CUDA_CALLABLE PX_FORCE_INLINE void PxOrder (T &x, T &y, E1 &xe1, E1 &ye1)
 
PX_INLINE void PxDebugBreak ()
 
 PX_COMPILE_TIME_ASSERT (sizeof(PxVec3Padded)==16)
 
PX_FORCE_INLINE void PxMemoryBarrier ()
 
PX_INLINE uint32_t PxHighestSetBitUnsafe (uint32_t v)
 
PX_INLINE uint32_t PxLowestSetBitUnsafe (uint32_t v)
 
PX_INLINE uint32_t PxCountLeadingZeros (uint32_t v)
 
PX_FORCE_INLINE void PxPrefetchLine (const void *ptr, uint32_t offset=0)
 
PX_FORCE_INLINE void PxPrefetch (const void *ptr, uint32_t count=1)
 
PX_C_EXPORT PX_PHYSX_COMMON_API bool PX_CALL_CONV PxFindOverlap (PxReportCallback< PxGeomIndexPair > &callback, const PxBVH &bvh0, const PxBVH &bvh1)
 BVH-vs-BVH overlap test.
 
class physx::PxGeometryHolder PX_ALIGN_SUFFIX (4)
 
PX_C_EXPORT PX_PHYSX_COMMON_API bool PX_CALL_CONV PxGetTriangleMeshInternalData (PxTriangleMeshInternalData &data, const PxTriangleMesh &mesh, bool takeOwnership)
 
PX_C_EXPORT PX_PHYSX_COMMON_API bool PX_CALL_CONV PxGetBVHInternalData (PxBVHInternalData &data, const PxBVH &bvh, bool takeOwnership)
 
PX_C_EXPORT PxPvd *PX_CALL_CONV PxCreatePvd (PxFoundation &foundation)
 Create a pvd instance.

 
PX_C_EXPORT PxPvdTransport *PX_CALL_CONV PxDefaultPvdSocketTransportCreate (const char *host, int port, unsigned int timeoutInMilliseconds)
 Create a default socket transport.
 
PX_C_EXPORT PxPvdTransport *PX_CALL_CONV PxDefaultPvdFileTransportCreate (const char *name)
 Create a default file transport.
 
struct physx::PxGpuActorPair PX_ALIGN_SUFFIX (8)
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxAggregateFilterHint PxGetAggregateFilterHint (PxAggregateType::Enum type, bool enableSelfCollision)
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxU32 PxGetAggregateSelfCollisionBit (PxAggregateFilterHint hint)
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxAggregateType::Enum PxGetAggregateType (PxAggregateFilterHint hint)
 
PX_C_EXPORT PX_PHYSX_CORE_API PxBpFilterGroup PxGetBroadPhaseStaticFilterGroup ()
 Retrieves the filter group for static objects.
 
PX_C_EXPORT PX_PHYSX_CORE_API PxBpFilterGroup PxGetBroadPhaseDynamicFilterGroup (PxU32 id)
 Retrieves a filter group for dynamic objects.
 
PX_C_EXPORT PX_PHYSX_CORE_API PxBpFilterGroup PxGetBroadPhaseKinematicFilterGroup (PxU32 id)
 Retrieves a filter group for kinematic objects.
 
PX_C_EXPORT PX_PHYSX_CORE_API PxBroadPhase * PxCreateBroadPhase (const PxBroadPhaseDesc &desc)
 Broadphase factory function.
 
PX_C_EXPORT PX_PHYSX_CORE_API PxAABBManager * PxCreateAABBManager (PxBroadPhase &broadphase)
 AABB manager factory function.
 
PX_INLINE PxFilterObjectType::Enum PxGetFilterObjectType (PxFilterObjectAttributes attr)
 Extract filter object type from the filter attributes of a collision pair object.
 
PX_INLINE bool PxFilterObjectIsKinematic (PxFilterObjectAttributes attr)
 Specifies whether the collision object belongs to a kinematic rigid body.
 
PX_INLINE bool PxFilterObjectIsTrigger (PxFilterObjectAttributes attr)
 Specifies whether the collision object is a trigger shape.
 
struct PX_ALIGN_PREFIX (8) PxParticleSpring
 Holds all the information for a spring constraint between two particles. Used for particle cloth simulation.
 
 PX_COMPILE_TIME_ASSERT (PxQueryFlag::eSTATIC==(1<< 0))
 
 PX_COMPILE_TIME_ASSERT (PxQueryFlag::eDYNAMIC==(1<< 1))
 
 PX_COMPILE_TIME_ASSERT (PxQueryFlag::eBATCH_QUERY_LEGACY_BEHAVIOUR==PxQueryFlag::eDISABLE_HARDCODED_FILTER)
 
 PX_COMPILE_TIME_ASSERT (sizeof(PxSolverBody)==32)
 
PX_DEPRECATED PX_C_EXPORT bool PX_CALL_CONV PxInitVehicleSDK (PxPhysics &physics, PxSerializationRegistry *serializationRegistry=NULL)
 Initialize the PhysXVehicle library.
 
PX_DEPRECATED PX_C_EXPORT void PX_CALL_CONV PxCloseVehicleSDK (PxSerializationRegistry *serializationRegistry=NULL)
 Shut down the PhysXVehicle library.
 
PX_DEPRECATED void PxVehicleSetBasisVectors (const PxVec3 &up, const PxVec3 &forward)
 Set the basis vectors of the vehicle simulation.
 
PX_DEPRECATED void PxVehicleSetUpdateMode (PxVehicleUpdateMode::Enum vehicleUpdateMode)
 Set the effect of PxVehicleUpdates to be either to modify each vehicle's rigid body actor.
 
PX_DEPRECATED void PxVehicleSetSweepHitRejectionAngles (const PxF32 pointRejectAngle, const PxF32 normalRejectAngle)
 Set threshold angles that are used to determine if a wheel hit is to be resolved by vehicle suspension or by rigid body collision.
 
PX_DEPRECATED void PxVehicleSetMaxHitActorAcceleration (const PxF32 maxHitActorAcceleration)
 Determine the maximum acceleration experienced by PxRigidDynamic instances that are found to be in contact with a wheel.
 
PX_DEPRECATED const PxVehicleContext & PxVehicleGetDefaultContext ()
 Get the default vehicle context.
 
PX_DEPRECATED void PxVehicleSuspensionRaycasts (PxBatchQueryExt *batchQuery, const PxU32 nbVehicles, PxVehicleWheels **vehicles, const bool *vehiclesToRaycast=NULL, const PxQueryFlags queryFlags=PxQueryFlag::eSTATIC|PxQueryFlag::eDYNAMIC|PxQueryFlag::ePREFILTER)
 Perform raycasts for all suspension lines for all vehicles.
 
PX_DEPRECATED void PxVehicleSuspensionSweeps (PxBatchQueryExt *batchQuery, const PxU32 nbVehicles, PxVehicleWheels **vehicles, const PxU16 nbHitsPerQuery, const bool *vehiclesToSweep=NULL, const PxF32 sweepWidthScale=1.0f, const PxF32 sweepRadiusScale=1.0f, const PxF32 sweepInflation=0.0f, const PxQueryFlags queryFlags=PxQueryFlag::eSTATIC|PxQueryFlag::eDYNAMIC|PxQueryFlag::ePREFILTER, const PxVehicleContext &context=PxVehicleGetDefaultContext())
 Perform sweeps for all suspension lines for all vehicles.

 
PX_DEPRECATED PxU32 PxVehicleModifyWheelContacts (const PxVehicleWheels &vehicle, const PxU32 wheelId, const PxF32 wheelTangentVelocityMultiplier, const PxReal maxImpulse, PxContactModifyPair &contactModifyPair, const PxVehicleContext &context=PxVehicleGetDefaultContext())
 A function called from PxContactModifyCallback::onContactModify. The function determines if rigid body contact points recorded for the wheel's PxShape are likely to be duplicated and resolved by the wheel's suspension raycast. Contact points that will be resolved by the suspension are ignored. Contact points that are accepted (rather than ignored) are modified to account for the effect of the suspension geometry and the angular speed of the wheel.
 
PX_DEPRECATED void PxVehicleUpdates (const PxReal timestep, const PxVec3 &gravity, const PxVehicleDrivableSurfaceToTireFrictionPairs &vehicleDrivableSurfaceToTireFrictionPairs, const PxU32 nbVehicles, PxVehicleWheels **vehicles, PxVehicleWheelQueryResult *vehicleWheelQueryResults, PxVehicleConcurrentUpdateData *vehicleConcurrentUpdates=NULL, const PxVehicleContext &context=PxVehicleGetDefaultContext())
 Update an array of vehicles by either applying an acceleration to the rigid body actor associated with each vehicle or by an immediate update of the velocity of the actor.
 
PX_DEPRECATED void PxVehiclePostUpdates (const PxVehicleConcurrentUpdateData *vehicleConcurrentUpdates, const PxU32 nbVehicles, PxVehicleWheels **vehicles, const PxVehicleContext &context=PxVehicleGetDefaultContext())
 Apply actor changes that were computed in concurrent calls to PxVehicleUpdates or PxVehicleUpdateSingleVehicleAndStoreTelemetryData but which could not be safely applied due to the concurrency.
 
PX_DEPRECATED void PxVehicleShiftOrigin (const PxVec3 &shift, const PxU32 nbVehicles, PxVehicleWheels **vehicles)
 Shift the origin of vehicles by the specified vector.
 
PX_DEPRECATED bool PxVehicleIsInAir (const PxVehicleWheelQueryResult &vehWheelQueryResults)
 Test if all wheels of a vehicle are in the air by querying the wheel query data stored in the last call to PxVehicleUpdates. If all wheels are in the air then true is returned.

 
PX_DEPRECATED void PxVehicleDrive4WSmoothDigitalRawInputsAndSetAnalogInputs (const PxVehicleKeySmoothingData &keySmoothing, const PxFixedSizeLookupTable< 8 > &steerVsForwardSpeedTable, const PxVehicleDrive4WRawInputData &rawInputData, const PxReal timestep, const bool isVehicleInAir, PxVehicleDrive4W &focusVehicle, const PxVehicleSteerFilter &steerFilter=PxVehicleSteerFilter(), const PxVec3 &forwardAxis=PxVehicleGetDefaultContext().forwardAxis)
 Used to smooth and set analog vehicle control values (accel,brake,handbrake,steer) from digital inputs (keyboard). Also used to set boolean gearup, geardown values.
 
PX_DEPRECATED void PxVehicleDrive4WSmoothAnalogRawInputsAndSetAnalogInputs (const PxVehiclePadSmoothingData &padSmoothing, const PxFixedSizeLookupTable< 8 > &steerVsForwardSpeedTable, const PxVehicleDrive4WRawInputData &rawInputData, const PxReal timestep, const bool isVehicleInAir, PxVehicleDrive4W &focusVehicle, const PxVehicleSteerFilter &steerFilter=PxVehicleSteerFilter(), const PxVec3 &forwardAxis=PxVehicleGetDefaultContext().forwardAxis)
 Used to smooth and set analog vehicle control values from analog inputs (gamepad). Also used to set boolean gearup, geardown values.
 
PX_DEPRECATED void PxVehicleDriveNWSmoothDigitalRawInputsAndSetAnalogInputs (const PxVehicleKeySmoothingData &keySmoothing, const PxFixedSizeLookupTable< 8 > &steerVsForwardSpeedTable, const PxVehicleDriveNWRawInputData &rawInputData, const PxReal timestep, const bool isVehicleInAir, PxVehicleDriveNW &focusVehicle, const PxVehicleSteerFilter &steerFilter=PxVehicleSteerFilter(), const PxVec3 &forwardAxis=PxVehicleGetDefaultContext().forwardAxis)
 Used to smooth and set analog vehicle control values (accel,brake,handbrake,steer) from digital inputs (keyboard). Also used to set boolean gearup, geardown values.
 
PX_DEPRECATED void PxVehicleDriveNWSmoothAnalogRawInputsAndSetAnalogInputs (const PxVehiclePadSmoothingData &padSmoothing, const PxFixedSizeLookupTable< 8 > &steerVsForwardSpeedTable, const PxVehicleDriveNWRawInputData &rawInputData, const PxReal timestep, const bool isVehicleInAir, PxVehicleDriveNW &focusVehicle, const PxVehicleSteerFilter &steerFilter=PxVehicleSteerFilter(), const PxVec3 &forwardAxis=PxVehicleGetDefaultContext().forwardAxis)
 Used to smooth and set analog vehicle control values from analog inputs (gamepad). Also used to set boolean gearup, geardown values.
 
PX_DEPRECATED void PxVehicleDriveTankSmoothDigitalRawInputsAndSetAnalogInputs (const PxVehicleKeySmoothingData &keySmoothing, const PxVehicleDriveTankRawInputData &rawInputData, const PxReal timestep, PxVehicleDriveTank &focusVehicle)
 Used to smooth and set analog tank control values from digital inputs (keyboard). Also used to set boolean gearup, geardown values.
 
PX_DEPRECATED void PxVehicleDriveTankSmoothAnalogRawInputsAndSetAnalogInputs (const PxVehiclePadSmoothingData &padSmoothing, const PxVehicleDriveTankRawInputData &rawInputData, const PxReal timestep, PxVehicleDriveTank &focusVehicle)
 Used to smooth and set analog tank control values from analog inputs (gamepad). Also used to set boolean gearup, geardown values.
 
PX_DEPRECATED void PxVehicle4WEnable3WTadpoleMode (PxVehicleWheelsSimData &wheelsSimData, PxVehicleWheelsDynData &wheelsDynData, PxVehicleDriveSimData4W &driveSimData, const PxVehicleContext &context=PxVehicleGetDefaultContext())
 Reconfigure a PxVehicle4W instance as a three-wheeled car with tadpole config (2 front wheels, 1 rear wheel)
 
PX_DEPRECATED void PxVehicle4WEnable3WDeltaMode (PxVehicleWheelsSimData &wheelsSimData, PxVehicleWheelsDynData &wheelsDynData, PxVehicleDriveSimData4W &driveSimData, const PxVehicleContext &context=PxVehicleGetDefaultContext())
 Reconfigure a PxVehicle4W instance as a three-wheeled car with delta config (1 front wheel, 2 rear wheels)
 
PX_DEPRECATED void PxVehicleComputeSprungMasses (const PxU32 nbSprungMasses, const PxVec3 *sprungMassCoordinates, const PxVec3 &centreOfMass, const PxReal totalMass, const PxU32 gravityDirection, PxReal *sprungMasses)
 Compute the sprung masses of the suspension springs given (i) the number of sprung masses, (ii) coordinates of the sprung masses, (iii) the center of mass offset of the rigid body, (iv) the total mass of the rigid body, and (v) the direction of gravity (0 for x-axis, 1 for y-axis, 2 for z-axis).
 
PX_DEPRECATED void PxVehicleUpdateCMassLocalPose (const PxTransform &oldCMassLocalPose, const PxTransform &newCMassLocalPose, const PxU32 gravityDirection, PxVehicleWheels *vehicle)
 Reconfigure the vehicle to reflect a new center of mass local pose that has been applied to the actor. The function requires (i) the center of mass local pose that was last used to configure the vehicle and the vehicle's actor, (ii) the new center of mass local pose that has been applied to the vehicle's actor and will now be applied to the vehicle, and (iii) the direction of gravity (0 for x-axis, 1 for y-axis, 2 for z-axis)
 
PX_DEPRECATED void PxVehicleCopyDynamicsData (const PxVehicleCopyDynamicsMap &wheelMap, const PxVehicleWheels &src, PxVehicleWheels *trg)
 Copy dynamics data from src to trg, including wheel rotation speed, wheel rotation angle, engine rotation speed etc.
 
PX_INLINE PxMat34 operator* (const PxTransform &transform, const PxMeshScale &scale)
 
PX_INLINE PxMat34 operator* (const PxMeshScale &scale, const PxTransform &transform)
 
PX_INLINE PxMat34 operator* (const PxMat34 &transform, const PxMeshScale &scale)
 
PX_INLINE PxMat34 operator* (const PxMeshScale &scale, const PxMat34 &transform)
 
PX_INLINE void flip (PxU16 &v)
 
PX_INLINE void flip (PxI16 &v)
 
PX_INLINE void flip (PxU32 &v)
 
PX_INLINE void flip (PxF32 &v)
 
PX_INLINE void writeChunk (PxI8 a, PxI8 b, PxI8 c, PxI8 d, PxOutputStream &stream)
 
void readChunk (PxI8 &a, PxI8 &b, PxI8 &c, PxI8 &d, PxInputStream &stream)
 
PxU16 readWord (bool mismatch, PxInputStream &stream)
 
PxU32 readDword (bool mismatch, PxInputStream &stream)
 
PxF32 readFloat (bool mismatch, PxInputStream &stream)
 
void writeWord (PxU16 value, bool mismatch, PxOutputStream &stream)
 
void writeDword (PxU32 value, bool mismatch, PxOutputStream &stream)
 
void writeFloat (PxF32 value, bool mismatch, PxOutputStream &stream)
 
bool readFloatBuffer (PxF32 *dest, PxU32 nbFloats, bool mismatch, PxInputStream &stream)
 
void writeFloatBuffer (const PxF32 *src, PxU32 nb, bool mismatch, PxOutputStream &stream)
 
void writeWordBuffer (const PxU16 *src, PxU32 nb, bool mismatch, PxOutputStream &stream)
 
void readWordBuffer (PxU16 *dest, PxU32 nb, bool mismatch, PxInputStream &stream)
 
void writeWordBuffer (const PxI16 *src, PxU32 nb, bool mismatch, PxOutputStream &stream)
 
void readWordBuffer (PxI16 *dest, PxU32 nb, bool mismatch, PxInputStream &stream)
 
void writeByteBuffer (const PxU8 *src, PxU32 nb, PxOutputStream &stream)
 
void readByteBuffer (PxU8 *dest, PxU32 nb, PxInputStream &stream)
 
bool writeHeader (PxI8 a, PxI8 b, PxI8 c, PxI8 d, PxU32 version, bool mismatch, PxOutputStream &stream)
 
bool readHeader (PxI8 a, PxI8 b, PxI8 c, PxI8 d, PxU32 &version, bool &mismatch, PxInputStream &stream)
 
PX_INLINE bool readIntBuffer (PxU32 *dest, PxU32 nbInts, bool mismatch, PxInputStream &stream)
 
PX_INLINE void writeIntBuffer (const PxU32 *src, PxU32 nb, bool mismatch, PxOutputStream &stream)
 
PX_INLINE bool ReadDwordBuffer (PxU32 *dest, PxU32 nb, bool mismatch, PxInputStream &stream)
 
PX_INLINE void WriteDwordBuffer (const PxU32 *src, PxU32 nb, bool mismatch, PxOutputStream &stream)
 
PxU32 computeMaxIndex (const PxU32 *indices, PxU32 nbIndices)
 
PxU16 computeMaxIndex (const PxU16 *indices, PxU32 nbIndices)
 
void storeIndices (PxU32 maxIndex, PxU32 nbIndices, const PxU32 *indices, PxOutputStream &stream, bool platformMismatch)
 
void readIndices (PxU32 maxIndex, PxU32 nbIndices, PxU32 *indices, PxInputStream &stream, bool platformMismatch)
 
PX_FORCE_INLINE bool readBigEndianVersionNumber (PxInputStream &stream, bool mismatch_, PxU32 &fileVersion, bool &mismatch)
 
 PX_COMPILE_TIME_ASSERT (sizeof(Cm::SpatialVector)==32)
 
 PX_COMPILE_TIME_ASSERT (sizeof(Cm::SpatialVectorV)==32)
 
PX_INLINE Foundation & getFoundation ()
 
void socketSetBlockingInternal (int32_t socket, bool blocking)
 
PX_FORCE_INLINE void buildFrom (Gu::Box &dst, const PxQuat &q)
 
PX_FORCE_INLINE void buildFrom (Gu::Box &dst, const PxVec3 &center, const PxVec3 &extents, const PxQuat &q)
 
PX_FORCE_INLINE void buildMatrixFromBox (PxMat34 &mat34, const Gu::Box &box)
 
PX_INLINE Gu::Box transform (const PxMat34 &transfo, const Gu::Box &box)
 
PX_INLINE Gu::Box transformBoxOrthonormal (const Gu::Box &box, const PxTransform &t)
 
PX_INLINE void rotate (const Gu::Box &src, const PxMat34 &mtx, Gu::Box &obb)
 recomputes the OBB after an arbitrary transform by a 4x4 matrix.
 
PX_FORCE_INLINE void getInverse (PxMat33 &dstRot, PxVec3 &dstTrans, const PxMat33 &srcRot, const PxVec3 &srcTrans)
 
template<class Geom >
PX_CUDA_CALLABLE PX_FORCE_INLINE const Geom & checkedCast (const PxGeometry &geom)
 
PX_INLINE CubeIndex CubemapLookup (const PxVec3 &direction, float &u, float &v)
 
PX_INLINE PxU32 ComputeCubemapOffset (const PxVec3 &dir, PxU32 subdiv)
 
PX_INLINE PxU32 ComputeCubemapNearestOffset (const PxVec3 &dir, PxU32 subdiv)
 
void localSearch (PxU32 &id, const PxVec3 &dir, const PxVec3 *verts, const Gu::BigConvexRawData *val)
 
ConvexHull * convexHullCrop (const ConvexHull &convex, const PxPlane &slice, float planetestepsilon)
 
PX_FORCE_INLINE PxVec3 threePlaneIntersection (const PxPlane &p0, const PxPlane &p1, const PxPlane &p2)
 
bool computeOBBFromConvex (const PxConvexMeshDesc &desc, PxVec3 &sides, PxTransform &matrix)
 
bool computeVolumeIntegrals (const PxSimpleTriangleMesh &mesh, PxReal density, PxIntegrals &integrals)
 
bool computeVolumeIntegralsEberly (const PxConvexMeshDesc &mesh, PxReal density, PxIntegrals &integrals, const PxVec3 &origin, bool useSimd)
 
PX_PHYSX_COMMON_API void quantizeSparseSDF (PxSdfBitsPerSubgridPixel::Enum bitsPerSubgridPixel, const PxArray< PxReal > &uncompressedSdfDataSubgrids, PxArray< PxU8 > &compressedSdfDataSubgrids, PxReal subgridsMinSdfValue, PxReal subgridsMaxSdfValue)
 
PX_FORCE_INLINE PxU32 idxCompact (PxU32 x, PxU32 y, PxU32 z, PxU32 width, PxU32 height)
 
bool buildSDF (PxTriangleMeshDesc &desc, PxArray< PxReal > &sdf, PxArray< PxU8 > &sdfDataSubgrids, PxArray< PxU32 > &sdfSubgridsStartSlots)
 
template<class T >
PX_CUDA_CALLABLE PX_FORCE_INLINE void checkType (const PxGeometry &geometry)
 
template<>
PX_CUDA_CALLABLE PX_FORCE_INLINE void checkType< PxCapsuleGeometry > (const PxGeometry &geometry)
 
template<>
PX_CUDA_CALLABLE PX_FORCE_INLINE void checkType< const PxCapsuleGeometry > (const PxGeometry &geometry)
 
PX_FORCE_INLINE void computeWorldToBoxMatrix (PxMat34 &worldToBox, const physx::Gu::Box &box)
 
PX_FORCE_INLINE PxU32 getTriangleIndex (PxU32 i, PxU32 cachedIndex)
 
PX_FORCE_INLINE const Gu::HeightFieldData * _getHFData (const PxHeightFieldGeometry &hfGeom)
 
PX_INLINE float computeSweepData (const PxTriangleMeshGeometry &triMeshGeom, PxVec3 &sweepOrigin, PxVec3 &sweepExtents, PxVec3 &sweepDir, float distance)
 
PX_FORCE_INLINE const Gu::TriangleMesh * _getMeshData (const PxTriangleMeshGeometry &meshGeom)
 
 PX_COMPILE_TIME_ASSERT (sizeof(PxsRigidCore)==32)
 
 PX_COMPILE_TIME_ASSERT (sizeof(PxsBodyCore)==160)
 
 PX_COMPILE_TIME_ASSERT (sizeof(GeometryUnion)<=64)
 
 PX_COMPILE_TIME_ASSERT ((sizeof(PxsShapeCore)&0xf)==0)
 
void PxvInit (const PxvOffsetTable &offsetTable)
 
void PxvTerm ()
 
void PxvRegisterHeightFields ()
 
bool PxcCacheLocalContacts (PxcNpThreadContext &context, Gu::Cache &pairContactCache, const PxTransform &tm0, const PxTransform &tm1, const PxcContactMethod conMethod, const PxGeometry &shape0, const PxGeometry &shape1)
 
void PxcDiscreteNarrowPhase (PxcNpThreadContext &context, const PxcNpWorkUnit &cmInput, Gu::Cache &cache, PxsContactManagerOutput &output, PxU64 contextID)
 
void PxcDiscreteNarrowPhasePCM (PxcNpThreadContext &context, const PxcNpWorkUnit &cmInput, Gu::Cache &cache, PxsContactManagerOutput &output, PxU64 contextID)
 
template<typename T >
void PxcNpCacheWrite (PxcNpCacheStreamPair &streams, Gu::Cache &cache, const T &payload, PxU32 bytes, const PxU8 *data)
 
template<typename T >
PxU8 * PxcNpCacheWriteInitiate (PxcNpCacheStreamPair &streams, Gu::Cache &cache, const T &payload, PxU32 bytes)
 
template<typename T >
PX_FORCE_INLINE void PxcNpCacheWriteFinalize (PxU8 *ls, const T &payload, PxU32 bytes, const PxU8 *data)
 
template<typename T >
PX_FORCE_INLINE PxU8 * PxcNpCacheRead (Gu::Cache &cache, T *&payload)
 
template<typename T >
const PxU8 * PxcNpCacheRead2 (Gu::Cache &cache, T &payload, PxU32 &bytes)
 
PxU32 writeCompressedContact (const PxContactPoint *const PX_RESTRICT contactPoints, const PxU32 numContactPoints, PxcNpThreadContext *threadContext, PxU16 &writtenContactCount, PxU8 *&outContactPatches, PxU8 *&outContactPoints, PxU16 &compressedContactSize, PxReal *&contactForces, PxU32 contactForceByteSize, const PxsMaterialManager *materialManager, bool hasModifiableContacts, bool forceNoResponse, PxsMaterialInfo *PX_RESTRICT pMaterial, PxU8 &numPatches, PxU32 additionalHeaderSize=0, PxsConstraintBlockManager *manager=NULL, PxcConstraintBlockStream *blockStream=NULL, bool insertAveragePoint=false, PxcDataStreamPool *pool=NULL, PxcDataStreamPool *patchStreamPool=NULL, PxcDataStreamPool *forcePool=NULL, const bool isMeshType=false)
 
 PX_COMPILE_TIME_ASSERT (sizeof(g_CanUseContactCache)/sizeof(g_CanUseContactCache[0])==PxGeometryType::eGEOMETRY_COUNT)
 
 PX_COMPILE_TIME_ASSERT (sizeof(g_ContactMethodTable)/sizeof(g_ContactMethodTable[0])==PxGeometryType::eGEOMETRY_COUNT)
 
 PX_COMPILE_TIME_ASSERT (sizeof(g_PCMContactMethodTable)/sizeof(g_PCMContactMethodTable[0])==PxGeometryType::eGEOMETRY_COUNT)
 
 PX_COMPILE_TIME_ASSERT (sizeof(g_GetSingleMaterialMethodTable)/sizeof(g_GetSingleMaterialMethodTable[0])==PxGeometryType::eGEOMETRY_COUNT)
 
 PX_COMPILE_TIME_ASSERT (sizeof(g_GetMaterialMethodTable)/sizeof(g_GetMaterialMethodTable[0])==PxGeometryType::eGEOMETRY_COUNT)
 
float computeCCDThreshold (const PxGeometry &geometry)
 
 PX_COMPILE_TIME_ASSERT ((sizeof(PxsCCDContactHeader) &0xF)==0)
 
struct PX_ALIGN_PREFIX (4) PxsContactManagerOutputCounts
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal combineScalars (PxReal a, PxReal b, PxI32 combineMode)
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal PxsCombineRestitution (const PxsMaterialData &mat0, const PxsMaterialData &mat1)
 
PX_CUDA_CALLABLE PX_FORCE_INLINE void PxsCombineIsotropicFriction (const PxsMaterialData &mat0, const PxsMaterialData &mat1, PxReal &dynamicFriction, PxReal &staticFriction, PxU32 &flags)
 
PxsMemoryManager * createDefaultMemoryManager ()
 
PxvNphaseImplementationContextUsableAsFallback * createNphaseImplementationContext (PxsContext &context, IG::IslandSim *islandSim, PxVirtualAllocatorCallback *allocator)
 
void printShape (PxsRigidBody *, PxGeometryType::Enum, const char *, PxReal, PxU32, bool printPtr=true)
 
void printCCDDebug (const char *, const PxsRigidBody *, PxGeometryType::Enum, bool printPtr=true)
 
 PX_COMPILE_TIME_ASSERT (sizeof(gEnablePCMCaching)/sizeof(gEnablePCMCaching[0])==PxGeometryType::eGEOMETRY_COUNT)
 
Sc::BodyCore * getBodyCore (PxRigidActor *actor)
 
 PX_COMPILE_TIME_ASSERT (NpType::eTYPE_COUNT< 32)
 
void NpDestroyRigidActor (NpRigidStatic *np)
 
void NpDestroyRigidDynamic (NpRigidDynamic *np)
 
void NpDestroyArticulationLink (NpArticulationLink *np)
 
void NpDestroyArticulationJoint (PxArticulationJointReducedCoordinate *np)
 
void NpDestroyArticulation (PxArticulationReducedCoordinate *artic)
 
void NpDestroyAggregate (NpAggregate *np)
 
void NpDestroyShape (NpShape *np)
 
void NpDestroyConstraint (NpConstraint *np)
 
void getBinaryMetaData_PxBase (PxOutputStream &stream)
 
PX_INLINE PxVec3 invertDiagInertia (const PxVec3 &m)
 
PxU32 NpRigidStaticGetShapes (NpRigidStatic &rigid, NpShape *const *&shapes)
 
PxU32 NpRigidDynamicGetShapes (NpRigidDynamic &actor, NpShape *const *&shapes, bool *isCompound=NULL)
 
PxU32 NpArticulationGetShapes (NpArticulationLink &actor, NpShape *const *&shapes, bool *isCompound=NULL)
 
PX_FORCE_INLINE bool testSlope (const PxVec3 &normal, const PxVec3 &upDirection, PxF32 slopeLimit)
 
PX_INLINE PxTransform getShapeGlobalPose (const PxShape &shape, const PxRigidActor &actor)
 
PX_INLINE void decomposeVector (PxVec3 &normalCompo, PxVec3 &tangentCompo, const PxVec3 &outwardDir, const PxVec3 &outwardNormal)
 
PX_FORCE_INLINE bool isAlmostZero (const PxVec3 &v)
 
PX_INLINE PxExtended distance (const PxVec3 &v2, const PxVec3 &v)
 
PX_INLINE void getCenter (const PxBounds3 &b, PxVec3 &center)
 
PX_INLINE void getExtents (const PxBounds3 &b, PxVec3 &extents)
 
PX_INLINE void setCenterExtents (PxBounds3 &b, const PxVec3 &center, const PxVec3 &extents)
 
PX_INLINE void add (PxBounds3 &b, const PxBounds3 &b2)
 
PxQuat angularProject (PxU32 lockedDofs, const PxQuat &q, PxReal cosHalfTol, bool &truncated)
 
PxConstraint * resolveConstraintPtr (PxDeserializationContext &v, PxConstraint *old, PxConstraintConnector *connector, PxConstraintShaderTable &shaders)
 
void assignTriangle (PxArray< PxU32 > &triangles, PxU32 triIndex, PxU32 a, PxU32 b, PxU32 c)
 
void addTriangle (PxArray< PxU32 > &triangles, PxU32 a, PxU32 b, PxU32 c)
 
void subdivideTriangle (int i, int ab, int bc, int ac, PxArray< PxU32 > &triangles, PxArray< PxVec3 > &points)
 
PX_FORCE_INLINE PxU64 key (PxU32 a, PxU32 b)
 
void checkEdge (PxU32 a, PxU32 b, PxHashMap< PxU64, PxI32 > &edges, PxArray< PxVec3 > &points, PxReal maxEdgeLength)
 
PX_FORCE_INLINE PxI32 getEdge (PxU32 a, PxU32 b, PxHashMap< PxU64, PxI32 > &edges)
 
PX_FORCE_INLINE bool pointInSphere (const PxVec3 &p, const PxVec3 &sphereCenter, PxReal sphereRadius)
 
PxVec3 computeBarycentricCoordinates (PxVec3 p, const PxVec3 &a, PxVec3 b, PxVec3 c)
 
void buildTree (const PxU32 *triangles, const PxU32 numTriangles, const PxVec3 *points, PxArray< Gu::BVHNode > &tree, PxF32 enlargement=1e-4f)
 
PxU32 PX_FORCE_INLINE raycast (const PxGeometry &geometry, const PxTransform &transform, const PxVec3 &rayOrigin, const PxVec3 &rayDir, PxReal maxDist, PxHitFlags hitFlags, PxU32 maxHits, PxRaycastHit *rayHits)
 
bool PX_FORCE_INLINE pointInShape (const PxGeometry &geometry, const PxTransform &transform, const PxVec3 &p)
 
bool projectionCallback (PxReal targetDistance, const PxGeometry &geometry, const PxTransform &transform, PxReal boundingBoxDiagonalLength, const PxVec3 &p, const PxVec3 &n, PointWithNormal &result)
 
PxVec3 randomDirection (BasicRandom &rnd)
 
PxVec3 getPerpendicularVectorNormalized (const PxVec3 &dir)
 
PxVec3 randomPointOnDisc (BasicRandom &rnd, const PxVec3 &point, const PxVec3 &normal, PxReal radius, PxReal rUpper)
 
bool samplePointInBallOnSurface (BasicRandom &rnd, const PxGeometry &shape, const PxTransform &actorGlobalPose, const PxReal diagonalLength, const PxVec3 &point, const PxVec3 &normal, PxReal radius, PointWithNormal &sample, PxI32 numAttempts=30)
 
template<typename T , PxU32 i>
int process (PxU32 *stack, PxU32 &stackSize, const Gu::BVDataSwizzledNQ *node, T &callback)
 
template<typename T >
void traverseBVH (const Gu::BV4Tree &tree, T &callback)
 
template<typename TJointType >
TJointType * createJoint (PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)
 
template<>
PxD6Joint * createJoint< PxD6Joint > (PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)
 
template<>
PxDistanceJoint * createJoint< PxDistanceJoint > (PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)
 
template<>
PxContactJoint * createJoint< PxContactJoint > (PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)
 
template<>
PxFixedJoint * createJoint< PxFixedJoint > (PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)
 
template<>
PxPrismaticJoint * createJoint< PxPrismaticJoint > (PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)
 
template<>
PxRevoluteJoint * createJoint< PxRevoluteJoint > (PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)
 
template<>
PxSphericalJoint * createJoint< PxSphericalJoint > (PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)
 
PxOutputStream & operator<< (PxOutputStream &ioStream, const char *inString)
 
template<typename TDataType >
PxOutputStream & toStream (PxOutputStream &ioStream, const char *inFormat, const TDataType inData)
 
PxOutputStream & operator<< (PxOutputStream &ioStream, bool inData)
 
PxOutputStream & operator<< (PxOutputStream &ioStream, PxI32 inData)
 
PxOutputStream & operator<< (PxOutputStream &ioStream, PxU16 inData)
 
PxOutputStream & operator<< (PxOutputStream &ioStream, PxU8 inData)
 
PxOutputStream & operator<< (PxOutputStream &ioStream, char inData)
 
PxOutputStream & operator<< (PxOutputStream &ioStream, PxU32 inData)
 
PxOutputStream & operator<< (PxOutputStream &ioStream, PxU64 inData)
 
PxOutputStream & operator<< (PxOutputStream &ioStream, const void *inData)
 
PxOutputStream & operator<< (PxOutputStream &ioStream, PxF32 inData)
 
PxOutputStream & operator<< (PxOutputStream &ioStream, PxF64 inData)
 
PxOutputStream & operator<< (PxOutputStream &ioStream, endl_obj)
 
PxOutputStream & operator<< (PxOutputStream &ioStream, const PxVec3 &inData)
 
PxOutputStream & operator<< (PxOutputStream &ioStream, const PxQuat &inData)
 
PxOutputStream & operator<< (PxOutputStream &ioStream, const PxTransform &inData)
 
PxOutputStream & operator<< (PxOutputStream &ioStream, const PxBounds3 &inData)
 
PxOutputStream & operator<< (PxOutputStream &ioStream, const PxFilterData &inData)
 
PxOutputStream & operator<< (PxOutputStream &ioStream, struct PxMetaDataPlane &inData)
 
template<typename TTriIndexElem >
void writeTriangle (MemoryBuffer &inTempBuffer, const Triangle< TTriIndexElem > &inTriangle)
 
PxU32 materialAccess (const PxTriangleMesh *inMesh, PxU32 inIndex)
 
template<typename TDataType >
void writeDatatype (MemoryBuffer &inTempBuffer, const TDataType &inType)
 
template<typename TObjType , typename TOperator >
PxU32 visitAllProperties (TOperator inOperator)
 
template<typename TObjType , typename TOperator >
void visitInstanceProperties (TOperator inOperator)
 
void SetMFrictionVsSlipGraph (PxVehicleTireData *inTireData, PxU32 idx1, PxU32 idx2, PxReal val)
 
PxReal GetMFrictionVsSlipGraph (const PxVehicleTireData *inTireData, PxU32 idx1, PxU32 idx2)
 
PxU32 GetNbWheels (const PxVehicleWheels *inStats)
 
PxU32 GetNbTorqueCurvePair (const PxVehicleEngineData *inStats)
 
PxReal getXTorqueCurvePair (const PxVehicleEngineData *inStats, PxU32 index)
 
PxReal getYTorqueCurvePair (const PxVehicleEngineData *inStats, PxU32 index)
 
void addTorqueCurvePair (PxVehicleEngineData *inStats, const PxReal x, const PxReal y)
 
void clearTorqueCurvePair (PxVehicleEngineData *inStats)
 
void setVehicleToleranceScale (const PxTolerancesScale &ts)
 
void resetVehicleToleranceScale ()
 
void setSerializationRegistryPtr (const PxSerializationRegistry *sr)
 
const PxSerializationRegistry * resetSerializationRegistryPtr ()
 
void setVehicleDefaults ()
 
template<typename TVehicleType >
void * createVehicle (PxPhysics &physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxVehicleDriveSimData4W &driveData, const PxVehicleDriveSimDataNW &driveDataNW, const PxU32 numWheels, const PxU32 numNonDrivenWheels)
 
template<>
void * createVehicle< PxVehicleDrive4W > (PxPhysics &physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxVehicleDriveSimData4W &driveData, const PxVehicleDriveSimDataNW &, const PxU32 numWheels, const PxU32 numNonDrivenWheels)
 
template<>
void * createVehicle< PxVehicleDriveTank > (PxPhysics &physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxVehicleDriveSimData4W &driveData, const PxVehicleDriveSimDataNW &, const PxU32 numWheels, const PxU32 numNonDrivenWheels)
 
template<>
void * createVehicle< PxVehicleDriveNW > (PxPhysics &physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxVehicleDriveSimData4W &, const PxVehicleDriveSimDataNW &driveDataNW, const PxU32 numWheels, const PxU32 numNonDrivenWheels)
 
template<>
void * createVehicle< PxVehicleNoDrive > (PxPhysics &physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxVehicleDriveSimData4W &, const PxVehicleDriveSimDataNW &, const PxU32 numWheels, const PxU32)
 
void PxVehicleComputeTireForceDefault (const void *shaderData, const PxF32 tireFriction, const PxF32 longSlip, const PxF32 latSlip, const PxF32 camber, const PxF32 wheelOmega, const PxF32 wheelRadius, const PxF32 recipWheelRadius, const PxF32 restTireLoad, const PxF32 normalisedTireLoad, const PxF32 tireLoad, const PxF32 gravity, const PxF32 recipGravity, PxF32 &wheelTorque, PxF32 &tireLongForceMag, PxF32 &tireLatForceMag, PxF32 &tireAlignMoment)
 Default implementation of PxVehicleComputeTireForce.
 
 PX_COMPILE_TIME_ASSERT ((0==(sizeof(PxVehicleWheels4DynData::SuspLineSweep) &0x0f)))
 
 PX_COMPILE_TIME_ASSERT (sizeof(PxVehicleWheels4DynData::SuspLineRaycast)<=sizeof(PxVehicleWheels4DynData::SuspLineSweep))
 
 PX_COMPILE_TIME_ASSERT (sizeof(PxVehicleWheels4DynData::CachedSuspLineSceneQuerytHitResult)<=sizeof(PxVehicleWheels4DynData::SuspLineSweep))
 
PX_FORCE_INLINE PxU32 computeByteSize (const PxU32 maxNbTireTypes, const PxU32 maxNbSurfaceTypes)
 
void computeSprungMasses (const PxU32 numSprungMasses, const PxVec3 *sprungMassCoordinates, const PxVec3 &centreOfMass, const PxReal totalMass, const PxU32 gravityDirection, PxReal *sprungMasses)
 
void computeDirection (const PxVec3 &up, const PxVec3 &right, PxU32 &rightDirection, PxU32 &upDirection)
 
void enable3WMode (const PxU32 rightDirection, const PxU32 upDirection, const bool removeFrontWheel, PxVehicleWheelsSimData &wheelsSimData, PxVehicleWheelsDynData &wheelsDynData, PxVehicleDriveSimData4W &driveSimData)
 
PX_FORCE_INLINE void START_TIMER (const PxU32)
 
PX_FORCE_INLINE void END_TIMER (const PxU32)
 
PX_INLINE void integrateBody (const PxF32 inverseMass, const PxVec3 &invInertia, const PxVec3 &force, const PxVec3 &torque, const PxF32 dt, PxVec3 &v, PxVec3 &w, PxTransform &t)
 
PX_FORCE_INLINE PxF32 computeSign (const PxF32 f)
 
PX_FORCE_INLINE void getVehicle4WControlValues (const PxVehicleDriveDynData &driveDynData, PxF32 &accel, PxF32 &brake, PxF32 &handbrake, PxF32 &steerLeft, PxF32 &steerRight)
 
PX_FORCE_INLINE void getVehicleNWControlValues (const PxVehicleDriveDynData &driveDynData, PxF32 &accel, PxF32 &brake, PxF32 &handbrake, PxF32 &steerLeft, PxF32 &steerRight)
 
PX_FORCE_INLINE void getTankControlValues (const PxVehicleDriveDynData &driveDynData, PxF32 &accel, PxF32 &brakeLeft, PxF32 &brakeRight, PxF32 &thrustLeft, PxF32 &thrustRight)
 
PX_FORCE_INLINE PxF32 processAutoBox (const PxU32 accelIndex, const PxF32 timestep, const PxVehicleDriveSimData &vehCoreSimData, PxVehicleDriveDynData &vehDynData)
 
void processGears (const PxF32 timestep, const PxVehicleGearsData &gears, PxVehicleDriveDynData &car)
 
PX_FORCE_INLINE PxF32 computeGearRatio (const PxVehicleGearsData &gearsData, const PxU32 currentGear)
 
PX_FORCE_INLINE PxF32 computeEngineDriveTorque (const PxVehicleEngineData &engineData, const PxF32 omega, const PxF32 accel)
 
PX_FORCE_INLINE PxF32 computeEngineDampingRate (const PxVehicleEngineData &engineData, const PxU32 gear, const PxF32 accel)
 
PX_FORCE_INLINE PxF32 computeClutchStrength (const PxVehicleClutchData &clutchData, const PxU32 currentGear)
 
PX_FORCE_INLINE void splitTorque (const PxF32 w1, const PxF32 w2, const PxF32 diffBias, const PxF32 defaultSplitRatio, PxF32 *t1, PxF32 *t2)
 
PX_FORCE_INLINE void computeDiffTorqueRatios (const PxVehicleDifferential4WData &diffData, const PxF32 handbrake, const PxF32 *PX_RESTRICT wheelOmegas, PxF32 *PX_RESTRICT diffTorqueRatios)
 
PX_FORCE_INLINE void computeDiffAveWheelSpeedContributions (const PxVehicleDifferential4WData &diffData, const PxF32 handbrake, PxF32 *PX_RESTRICT diffAveWheelSpeedContributions)
 
void computeTankDiff (const PxF32 thrustLeft, const PxF32 thrustRight, const PxU32 numActiveWheels, const bool *activeWheelStates, PxF32 *aveWheelSpeedContributions, PxF32 *diffTorqueRatios, PxF32 *wheelGearings)
 
void computeIsAccelApplied (const PxF32 *aveWheelSpeedContributions, bool *isAccelApplied)
 
PX_FORCE_INLINE void computeAckermannSteerAngles (const PxF32 steer, const PxF32 steerGain, const PxF32 ackermannAccuracy, const PxF32 width, const PxF32 axleSeparation, PxF32 *PX_RESTRICT leftAckermannSteerAngle, PxF32 *PX_RESTRICT rightAckermannSteerAngle)
 
PX_FORCE_INLINE void computeAckermannCorrectedSteerAngles (const PxVehicleDriveSimData4W &driveSimData, const PxVehicleWheels4SimData &wheelsSimData, const PxF32 steer, PxF32 *PX_RESTRICT steerAngles)
 
PX_FORCE_INLINE void computeWheelActiveStates (const PxU32 startId, PxU32 *bitmapBuffer, bool *activeStates)
 
PX_FORCE_INLINE void computeNoDriveBrakeTorques (const PxVehicleWheelData *PX_RESTRICT wheelDatas, const PxF32 *PX_RESTRICT wheelOmegas, const PxF32 *PX_RESTRICT rawBrakeTroques, PxF32 *PX_RESTRICT brakeTorques, bool *PX_RESTRICT isBrakeApplied)
 
PX_FORCE_INLINE void computeBrakeAndHandBrakeTorques (const PxVehicleWheelData *PX_RESTRICT wheelDatas, const PxF32 *PX_RESTRICT wheelOmegas, const PxF32 brake, const PxF32 handbrake, PxF32 *PX_RESTRICT brakeTorques, bool *isBrakeApplied)
 
PX_FORCE_INLINE void computeTankBrakeTorques (const PxVehicleWheelData *PX_RESTRICT wheelDatas, const PxF32 *PX_RESTRICT wheelOmegas, const PxF32 brakeLeft, const PxF32 brakeRight, PxF32 *PX_RESTRICT brakeTorques, bool *isBrakeApplied)
 
PX_FORCE_INLINE PxF32 computeFilteredNormalisedTireLoad (const PxVehicleTireLoadFilterData &filterData, const PxF32 normalisedLoad)
 
PX_FORCE_INLINE void computeTireDirs (const PxVec3 &chassisLatDir, const PxVec3 &hitNorm, const PxF32 wheelSteerAngle, PxVec3 &tireLongDir, PxVec3 &tireLatDir)
 
PX_FORCE_INLINE void computeTireSlips (const PxF32 longSpeed, const PxF32 latSpeed, const PxF32 wheelOmega, const PxF32 wheelRadius, const PxF32 maxDenominator, const bool isAccelApplied, const bool isBrakeApplied, const bool isTank, PxF32 &longSlip, PxF32 &latSlip)
 
PX_FORCE_INLINE void computeTireFriction (const PxVehicleTireData &tireData, const PxF32 longSlip, const PxF32 frictionMultiplier, PxF32 &friction)
 
PX_FORCE_INLINE void updateLowForwardSpeedTimer (const PxF32 longSpeed, const PxF32 wheelOmega, const PxF32 wheelRadius, const PxF32 recipWheelRadius, const bool isIntentionToAccelerate, const PxF32 timestep, PxF32 &lowForwardSpeedTime)
 
PX_FORCE_INLINE void updateLowSideSpeedTimer (const PxF32 latSpeed, const bool isIntentionToAccelerate, const PxF32 timestep, PxF32 &lowSideSpeedTime)
 
PX_FORCE_INLINE void activateStickyFrictionForwardConstraint (const PxF32 longSpeed, const PxF32 wheelOmega, const PxF32 lowForwardSpeedTime, const bool isIntentionToAccelerate, bool &stickyTireActiveFlag, PxF32 &stickyTireTargetSpeed)
 
PX_FORCE_INLINE void activateStickyFrictionSideConstraint (const PxF32 latSpeed, const PxF32 lowSpeedForwardTimer, const PxF32 lowSideSpeedTimer, const bool isIntentionToAccelerate, bool &stickyTireActiveFlag, PxF32 &stickyTireTargetSpeed)
 
PX_FORCE_INLINE PxF32 smoothingFunction1 (const PxF32 K)
 
PX_FORCE_INLINE PxF32 smoothingFunction2 (const PxF32 K)
 
void procesAntiRollSuspension (const PxVehicleWheelsSimData &wheelsSimData, const PxTransform &carChassisTransform, const PxWheelQueryResult *wheelQueryResults, PxVec3 &chassisTorque)
 
void updateLowSpeedTimers (const PxF32 *PX_RESTRICT newLowSpeedTimers, PxF32 *PX_RESTRICT lowSpeedTimers)
 
void updateJounces (const PxF32 *PX_RESTRICT jounces, PxF32 *PX_RESTRICT prevJounces)
 
void updateSteers (const PxF32 *PX_RESTRICT steerAngles, PxF32 *PX_RESTRICT prevSteers)
 
void updateCachedHitData (const PxU32 *PX_RESTRICT cachedHitCounts, const PxPlane *PX_RESTRICT cachedHitPlanes, const PxF32 *PX_RESTRICT cachedHitDistances, const PxF32 *PX_RESTRICT cachedFrictionMultipliers, const PxU16 *cachedQueryTypes, PxVehicleWheels4DynData *wheels4DynData)
 
void solveDrive4WInternaDynamicsEnginePlusDrivenWheels (const ImplicitSolverInput &input, ImplicitSolverOutput *output)
 
void solveDriveNWInternalDynamicsEnginePlusDrivenWheels (const ImplicitSolverInput &input, ImplicitSolverOutput *output)
 
void solveTankInternaDynamicsEnginePlusDrivenWheels (const ImplicitSolverInput &input, const bool *PX_RESTRICT activeWheelStates, const PxF32 *PX_RESTRICT wheelGearings, ImplicitSolverOutput *output)
 
void integrateNoDriveWheelSpeeds (const PxF32 subTimestep, const PxF32 *PX_RESTRICT brakeTorques, const bool *PX_RESTRICT isBrakeApplied, const PxF32 *driveTorques, const PxF32 *PX_RESTRICT tireTorques, const PxF32 *PX_RESTRICT dampingRates, const PxVehicleWheels4SimData &vehSuspWheelTire4SimData, PxVehicleWheels4DynData &vehSuspWheelTire4)
 
void integrateUndriveWheelRotationSpeeds (const PxF32 subTimestep, const PxF32 brake, const PxF32 handbrake, const PxF32 *PX_RESTRICT tireTorques, const PxF32 *PX_RESTRICT brakeTorques, const PxVehicleWheels4SimData &vehSuspWheelTire4SimData, PxVehicleWheels4DynData &vehSuspWheelTire4)
 
void integrateWheelRotationAngles (const PxF32 timestep, const PxF32 K, const PxF32 G, const PxF32 engineDriveTorque, const PxF32 *PX_RESTRICT jounces, const PxF32 *PX_RESTRICT diffTorqueRatios, const PxF32 *PX_RESTRICT forwardSpeeds, const bool *isBrakeApplied, const PxVehicleDriveSimData &vehCoreSimData, const PxVehicleWheels4SimData &vehSuspWheelTire4SimData, PxVehicleDriveDynData &vehCore, PxVehicleWheels4DynData &vehSuspWheelTire4)
 
void integrateNoDriveWheelRotationAngles (const PxF32 timestep, const PxF32 *PX_RESTRICT driveTorques, const PxF32 *PX_RESTRICT jounces, const PxF32 *PX_RESTRICT forwardSpeeds, const bool *isBrakeApplied, const PxVehicleWheels4SimData &vehSuspWheelTire4SimData, PxVehicleWheels4DynData &vehSuspWheelTire4)
 
PxQuat computeWheelLocalQuat (const PxVec3 &forwardAxis, const PxVec3 &sideAxis, const PxVec3 &upAxis, const float jounce, const PxVehicleSuspensionData &suspData, const PxF32 rotationAngle, const PxF32 steerAngle)
 
void computeWheelLocalPoses (const PxVehicleWheels4SimData &wheelsSimData, const PxVehicleWheels4DynData &wheelsDynData, const PxWheelQueryResult *wheelQueryResults, const PxU32 numWheelsToPose, const PxTransform &vehChassisCMLocalPose, const PxVec3 &upAxis, const PxVec3 &sideAxis, const PxVec3 &forwardAxis, PxTransform *localPoses)
 
void computeWheelLocalPoseRotations (const PxVehicleWheels4DynData *wheels4DynDatas, const PxVehicleWheels4SimData *wheels4SimDatas, const PxU32 numWheels4, const PxVehicleContext &context, const float *steerAngles, PxQuat *wheelLocalPoseRotations)
 
void poseWheels (const PxVehicleWheels4SimData &wheelsSimData, const PxTransform *localPoses, const PxU32 numWheelsToPose, PxRigidDynamic *vehActor)
 
PxF32 processDigitalValue (const PxU32 inputType, const PxVehicleKeySmoothingData &keySmoothing, const bool digitalValue, const PxF32 timestep, const PxF32 analogVal)
 
PX_FORCE_INLINE PxF32 processPositiveAnalogValue (const PxF32 riseRate, const PxF32 fallRate, const PxF32 currentVal, const PxF32 targetVal, const PxF32 timestep)
 
PX_FORCE_INLINE PxF32 processAnalogValue (const PxF32 riseRate, const PxF32 fallRate, const PxF32 currentVal, const PxF32 targetVal, const PxF32 timestep)
 
bool areEqual (const PxQuat &q0, const PxQuat &q1)
 
template<>
PX_CUDA_CALLABLE PX_FORCE_INLINE float PxMax (float a, float b)
 overload for float to use fsel on xbox
 
template<>
PX_CUDA_CALLABLE PX_FORCE_INLINE float PxMin (float a, float b)
 overload for float to use fsel on xbox
 

Variables

PX_DEPRECATED typedef void(* PxVehicleComputeTireForce )(const void *shaderData, const PxF32 tireFriction, const PxF32 longSlip, const PxF32 latSlip, const PxF32 camber, const PxF32 wheelOmega, const PxF32 wheelRadius, const PxF32 recipWheelRadius, const PxF32 restTireLoad, const PxF32 normalisedTireLoad, const PxF32 tireLoad, const PxF32 gravity, const PxF32 recipGravity, PxF32 &wheelTorque, PxF32 &tireLongForceMag, PxF32 &tireLatForceMag, PxF32 &tireAlignMoment)
 Prototype of shader function that is used to compute wheel torque and tire forces.
 
struct PX_FOUNDATION_API physx::PxSListImpl PX_ALIGN_SUFFIX
 
physx::PxProfilerCallback * gProfilerCallback = NULL
 
const aos::BoolV boxVertexTable [8]
 
PxvOffsetTable gPxvOffsetTable
 
PxcContactMethod g_ContactMethodTable [][PxGeometryType::eGEOMETRY_COUNT]
 
const bool g_CanUseContactCache [][PxGeometryType::eGEOMETRY_COUNT]
 
PxcContactMethod g_PCMContactMethodTable [][PxGeometryType::eGEOMETRY_COUNT]
 
bool gEnablePCMCaching [][PxGeometryType::eGEOMETRY_COUNT]
 
PxcGetMaterialMethod g_GetMaterialMethodTable [][PxGeometryType::eGEOMETRY_COUNT]
 
PxcGetSingleMaterialMethod g_GetSingleMaterialMethodTable [PxGeometryType::eGEOMETRY_COUNT]
 
 index0
 
PxF32 gToleranceScaleLength =0
 
PxF32 gThresholdForwardSpeedForWheelAngleIntegration =0
 
PxF32 gRecipThresholdForwardSpeedForWheelAngleIntegration =0
 
PxF32 gMinLatSpeedForTireModel =0
 
PxF32 gStickyTireFrictionThresholdSpeed =0
 
PxF32 gMinimumSlipThreshold =0
 
const PxSerializationRegistry * gSerializationRegistry =NULL
 
const PxF32 gStickyTireFrictionForwardDamping =0.01f
 
const PxF32 gStickyTireFrictionSideDamping =0.1f
 
const PxF32 gLowForwardSpeedThresholdTime =1.0f
 
const PxF32 gLowSideSpeedThresholdTime =1.0f
 
const PxF32 gSolverTolerance = 1e-10f
 
PxF32 gThresholdLongSpeed =5.0f
 
PxU32 gLowLongSpeedSubstepCount =3
 
PxU32 gHighLongSpeedSubstepCount =1
 
PxF32 gMinLongSlipDenominator =4.0f
 
const int EOL = -1
 

Detailed Description

Sorts an array of objects in ascending order, assuming that the predicate implements the < operator:

Represents a sphere defined by its center point and radius.

Representation of a plane.

4 Element vector class.

files to always include

Allocate aligned memory. Alignment must be a power of 2! – should be templated by a base allocator

Central definition of hash functions

See also
PxLess, PxGreater

This is a 4-dimensional vector class with public data members.

Combination of two R3 vectors.

Plane equation used: a*x + b*y + c*z + d = 0

Typedef Documentation

◆ PxActorCacheFlags

typedef PxFlags<PxActorCacheFlag::Enum, PxU16> physx::PxActorCacheFlags

Collection of set bits defined in PxActorCacheFlag.

See also
PxActorCacheFlag

◆ PxActorFlags

collection of set bits defined in PxActorFlag.

See also
PxActorFlag

◆ PxActorTypeFlags

Collection of set bits defined in PxActorTypeFlag.

See also
PxActorTypeFlag

◆ PxAgain

typedef bool physx::PxAgain

Describes query behavior after returning a partial query result via a callback.

If callback returns true, traversal will continue and callback can be issued again. If callback returns false, traversal will stop, callback will not be issued again.

See also
PxHitCallback

◆ PxBinaryMetaDataCallback

typedef PX_DEPRECATED void(* physx::PxBinaryMetaDataCallback) (PxOutputStream &stream)

Callback type for exporting binary meta data for a serializable type.

Deprecated:
Binary conversion and binary meta data are deprecated.
See also
PxSerializationRegistry::registerBinaryMetaDataCallback
Parameters
streamStream to store binary meta data.

◆ PxBVHStructure

◆ PxBVHStructureDesc

◆ PxcContactMethod

typedef bool(* physx::PxcContactMethod) (GU_CONTACT_METHOD_ARGS)

Method prototype for contact generation routines

◆ PxcGetMaterialMethod

typedef void(* physx::PxcGetMaterialMethod) (MATERIAL_METHOD_ARGS)

Method prototype for fetch material routines

◆ PxClientID

typedef PxU8 physx::PxClientID

An ID to identify different clients for multiclient support.

See also
PxScene::createClient()

◆ PxConstraintFlags

constraint flags

See also
PxConstraintFlag

◆ PxConstraintProject

typedef PX_DEPRECATED void(* physx::PxConstraintProject) (const void *constantBlock, PxTransform &bodyAToWorld, PxTransform &bodyBToWorld, bool projectToA)

Solver constraint projection shader.

This function is called by the constraint post-solver framework. The function must be reentrant, since it may be called simultaneously from multiple threads and should access only the arguments passed into it.

Parameters
[in]constantBlockThe constant data block
[out]bodyAToWorldThe center of mass frame of the first constrained body (the identity if the actor is static or a NULL pointer was provided for it)
[out]bodyBToWorldThe center of mass frame of the second constrained body (the identity if the actor is static or a NULL pointer was provided for it)
[in]projectToATrue if the constraint should be projected by moving the second body towards the first, false if the converse
Deprecated:

◆ PxConstraintSolverPrep

typedef PxU32(* physx::PxConstraintSolverPrep) (Px1DConstraint *constraints, PxVec3p &bodyAWorldOffset, PxU32 maxConstraints, PxConstraintInvMassScale &invMassScale, const void *constantBlock, const PxTransform &bodyAToWorld, const PxTransform &bodyBToWorld, bool useExtendedLimits, PxVec3p &cAtW, PxVec3p &cBtW)

Solver constraint generation shader.

This function is called by the constraint solver framework. The function must be reentrant, since it may be called simultaneously from multiple threads, and should access only the arguments passed into it.

Developers writing custom constraints are encouraged to read the documentation in the user guide and the implementation code in PhysXExtensions.

Parameters
[out]constraintsAn array of solver constraint rows to be filled in
[out]bodyAWorldOffsetThe origin point (offset from the position vector of bodyA's center of mass) at which the constraint is resolved. This value does not affect how constraints are solved, only the constraint force reported.
[in]maxConstraintsThe size of the constraint buffer. At most this many constraints rows may be written
[out]invMassScaleThe inverse mass and inertia scales for the constraint
[in]constantBlockThe constant data block
[in]bodyAToWorldThe center of mass frame of the first constrained body (the identity transform if the first actor is static, or if a NULL actor pointer was provided for it)
[in]bodyBToWorldThe center of mass frame of the second constrained body (the identity transform if the second actor is static, or if a NULL actor pointer was provided for it)
[in]useExtendedLimitsEnables limit ranges outside of (-PI, PI)
[out]cAtWThe world space location of body A's joint frame (position only)
[out]cBtWThe world space location of body B's joint frame (position only)
Returns
the number of constraint rows written.

◆ PxConstraintVisualize

typedef void(* physx::PxConstraintVisualize) (PxConstraintVisualizer &visualizer, const void *constantBlock, const PxTransform &body0Transform, const PxTransform &body1Transform, PxU32 flags)

Solver constraint visualization function.

This function is called by the constraint post-solver framework to visualize the constraint

Parameters
[out]visualizerThe render buffer to render to
[in]constantBlockThe constant data block
[in]body0TransformThe center of mass frame of the first constrained body (the identity if the actor is static, or a NULL pointer was provided for it)
[in]body1TransformThe center of mass frame of the second constrained body (the identity if the actor is static, or a NULL pointer was provided for it)
[in]flagsThe visualization flags (PxConstraintVisualizationFlag)
See also
PxRenderBuffer

◆ PxContactPairFlags

Bitfield that contains a set of raised flags defined in PxContactPairFlag.

See also
PxContactPairFlag

◆ PxContactPairHeaderFlags

Bitfield that contains a set of raised flags defined in PxContactPairHeaderFlag.

See also
PxContactPairHeaderFlag

◆ PxControllerBehaviorFlags

Bitfield that contains a set of raised flags defined in PxControllerBehaviorFlag.

See also
PxControllerBehaviorFlag

◆ PxControllerCollisionFlags

Bitfield that contains a set of raised flags defined in PxControllerCollisionFlag.

See also
PxControllerCollisionFlag

◆ PxControllerDebugRenderFlags

Bitfield that contains a set of raised flags defined in PxControllerDebugRenderFlag.

See also
PxControllerDebugRenderFlag

◆ PxConvexFlags

collection of set bits defined in PxConvexFlag.

See also
PxConvexFlag

◆ PxConvexMeshGeometryFlags

◆ PxDataAccessFlags

typedef PxFlags<PxDataAccessFlag::Enum,PxU8> physx::PxDataAccessFlags

collection of set bits defined in PxDataAccessFlag.

See also
PxDataAccessFlag

◆ PxDeletionEventFlags

◆ PxFilterFlags

Bitfield that contains a set of raised flags defined in PxFilterFlag.

See also
PxFilterFlag

◆ PxFilterObjectAttributes

Structure which gets passed into the collision filtering shader and/or callback providing additional information on objects of a collision pair.

See also
PxSimulationFilterShader PxSimulationFilterCallback getActorType() PxFilterObjectIsKinematic() PxFilterObjectIsTrigger()

◆ PxHeightFieldFlags

collection of set bits defined in PxHeightFieldFlag.

See also
PxHeightFieldFlag

◆ PxMaterialFlags

collection of set bits defined in PxMaterialFlag.

See also
PxMaterialFlag

◆ PxMeshFlags

collection of set bits defined in PxMeshFlag.

See also
PxMeshFlag

◆ PxMeshGeometryFlags

collection of set bits defined in PxMeshGeometryFlag.

See also
PxMeshGeometryFlag

◆ PxPairFlags

Bitfield that contains a set of raised flags defined in PxPairFlag.

See also
PxPairFlag

◆ PxPvdInstrumentationFlags

Bitfield that contains a set of raised flags defined in PxPvdInstrumentationFlag.

See also
PxPvdInstrumentationFlag

◆ PxPvdSceneFlags

Bitfield that contains a set of raised flags defined in PxPvdSceneFlag.

See also
PxPvdSceneFlag

◆ PxRigidBodyFlags

collection of set bits defined in PxRigidBodyFlag.

See also
PxRigidBodyFlag

◆ PxSceneFlags

collection of set bits defined in PxSceneFlag.

See also
PxSceneFlag

◆ PxShapeFlags

collection of set bits defined in PxShapeFlag.

See also
PxShapeFlag

◆ PxSimulationFilterShader

typedef PxFilterFlags(* physx::PxSimulationFilterShader) (PxFilterObjectAttributes attributes0, PxFilterData filterData0, PxFilterObjectAttributes attributes1, PxFilterData filterData1, PxPairFlags &pairFlags, const void *constantBlock, PxU32 constantBlockSize)

Filter method to specify how a pair of potentially colliding objects should be processed.

Collision filtering is a mechanism to specify how a pair of potentially colliding objects should be processed by the simulation. A pair of objects is potentially colliding if the bounding volumes of the two objects overlap. In short, a collision filter decides whether a collision pair should get processed, temporarily ignored or discarded. If a collision pair should get processed, the filter can additionally specify how it should get processed, for instance, whether contacts should get resolved, which callbacks should get invoked or which reports should be sent etc. The function returns the PxFilterFlag flags and sets the PxPairFlag flags to define what the simulation should do with the given collision pair.

Note
A default implementation of a filter shader is provided in the PhysX extensions library, see PxDefaultSimulationFilterShader.

This methods gets called when:

  • The bounding volumes of two objects start to overlap.
  • The bounding volumes of two objects overlap and the filter data or filter attributes of one of the objects changed
  • A re-filtering was forced through resetFiltering() (see PxScene::resetFiltering())
  • Filtering is requested in scene queries
Note
Certain pairs of objects are always ignored and this method does not get called. This is the case for the following pairs:
  • Pair of static rigid actors
  • A static rigid actor and a kinematic actor (unless one is a trigger or if explicitly enabled through PxPairFilteringMode::eKEEP)
  • Two kinematic actors (unless one is a trigger or if explicitly enabled through PxPairFilteringMode::eKEEP)
  • Two jointed rigid bodies and the joint was defined to disable collision
  • Two articulation links if connected through an articulation joint
Note
This is a performance critical method and should be stateless. You should neither access external objects from within this method nor should you call external methods that are not inlined. If you need a more complex logic to filter a collision pair then use the filter callback mechanism for this pair (see #PxSimulationFilterCallback, PxFilterFlag::eCALLBACK, PxFilterFlag::eNOTIFY).
Parameters
[in]attributes0The filter attribute of the first object
[in]filterData0The custom filter data of the first object
[in]attributes1The filter attribute of the second object
[in]filterData1The custom filter data of the second object
[out]pairFlagsFlags giving additional information on how an accepted pair should get processed
[in]constantBlockThe constant global filter data (see PxSceneDesc.filterShaderData)
[in]constantBlockSizeSize of the global filter data (see PxSceneDesc.filterShaderDataSize)
Returns
Filter flags defining whether the pair should be discarded, temporarily ignored, processed and whether the filter callback should get invoked for this pair.
See also
PxSimulationFilterCallback PxFilterData PxFilterObjectAttributes PxFilterFlag PxFilterFlags PxPairFlag PxPairFlags PxSceneDesc.filterShader

◆ PxTetrahedronMeshFlags

◆ PxTriangleMeshFlags

collection of set bits defined in PxTriangleMeshFlag.

See also
PxTriangleMeshFlag

◆ PxTriggerPairFlags

Bitfield that contains a set of raised flags defined in PxTriggerPairFlag.

See also
PxTriggerPairFlag

◆ PxVehicleWheelsSimFlags

Collection of set bits defined in #PxVehicleWheelsSimFlag.

See also
PxVehicleWheelsSimFlag

Enumeration Type Documentation

◆ PxEMPTY [1/2]

enum for empty constructor tag

◆ PxEMPTY [2/2]

enum for empty constructor tag

◆ PxIDENTITY [1/2]

enum for identity constructor flag for quaternions, transforms, and matrices

◆ PxIDENTITY [2/2]

enum for identity constructor flag for quaternions, transforms, and matrices

◆ PxScenePrunerIndex

◆ PxvContactManagerCCDMode

Type of PXD_MANAGER_CCD_MODE property

◆ PxZERO [1/2]

enum for zero constructor tag for vectors and matrices

◆ PxZERO [2/2]

enum for zero constructor tag for vectors and matrices

Function Documentation

◆ CubemapLookup()

PX_INLINE CubeIndex physx::CubemapLookup ( const PxVec3 &  direction,
float &  u,
float &  v 
)

Cubemap lookup function.

To transform returned uvs into mapping coordinates : u += 1.0f; u *= 0.5f; v += 1.0f; v *= 0.5f;

Parameters
direction[in] a direction vector
u[out] impact coordinate on the unit cube, in [-1,1]
v[out] impact coordinate on the unit cube, in [-1,1]
Returns
cubemap texture index

◆ PX_ALIGN_PREFIX() [1/2]

struct physx::PX_ALIGN_PREFIX ( 16  )

A generic padded & aligned transform class.

This can be used for safe faster loads & stores, and faster address computations (the default PxTransformT often generating imuls for this otherwise). Padding bytes can be reused to store useful data if needed.

◆ PX_ALIGN_PREFIX() [2/2]

struct physx::PX_ALIGN_PREFIX ( 8  )

Holds all the information for a spring constraint between two particles. Used for particle cloth simulation.

< particle index of first particle

< particle index of second particle

< spring length

< spring stiffness

< spring damping factor

< padding bytes.

◆ PxCloneDynamic()

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

create a dynamic body by copying attributes from an existing body

The following properties are copied:

  • shapes
  • actor flags, rigidDynamic flags and rigidDynamic lock flags
  • mass, moment of inertia, and center of mass frame
  • linear and angular velocity
  • linear and angular damping
  • maximum linear velocity
  • maximum angular velocity
  • position and velocity solver iterations
  • maximum depenetration velocity
  • sleep threshold
  • contact report threshold
  • dominance group
  • owner client and client behavior bits
  • name pointer
  • kinematic target

The following are not copied and retain their default values:

  • name
  • joints or observers
  • aggregate or scene membership
  • sleep timer
  • user data
Note
Transforms are not copied with bit-exact accuracy.
Parameters
[in]physicsSDKPxPhysics - the physics SDK used to allocate the rigid static
[in]bodythe rigid dynamic to clone.
[in]transformthe transform of the new dynamic
Returns
the newly-created rigid static

◆ PxCloneShape()

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

create a shape by copying attributes from another shape

The function clones a PxShape. The following properties are copied:

  • geometry
  • flags
  • materials
  • actor-local pose
  • contact offset
  • rest offset
  • simulation filter data
  • query filter data
  • torsional patch radius
  • minimum torsional patch radius

The following are not copied and retain their default values:

  • name
  • user data
Parameters
[in]physicsSDK- the physics SDK used to allocate the shape
[in]shapethe shape from which to take the attributes.
[in]isExclusivewhether the new shape should be an exclusive or shared shape.
Returns
the newly-created rigid static

◆ PxCloneStatic()

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

create a static body by copying attributes from another rigid actor

The function clones a PxRigidDynamic or PxRigidStatic as a PxRigidStatic. A uniform scale is applied. The following properties are copied:

  • shapes
  • actor flags
  • owner client and client behavior bits
  • dominance group

The following are not copied and retain their default values:

  • name
  • joints or observers
  • aggregate or scene membership
  • user data
Note
Transforms are not copied with bit-exact accuracy.
Parameters
[in]physicsSDK- the physics SDK used to allocate the rigid static
[in]actorthe rigid actor from which to take the attributes.
[in]transformthe transform of the new static.
Returns
the newly-created rigid static

◆ PxCloseVehicleSDK()

void physx::PxCloseVehicleSDK ( PxSerializationRegistry *  serializationRegistry = NULL)

Shut down the PhysXVehicle library.

Call this function as part of the physx shutdown process.

Parameters
serializationRegistryPxSerializationRegistry instance, if non-NULL must be the same as passed into PxInitVehicleSDK.
Note
This function must be called prior to shutdown of PxFoundation and PxPhysics.
If the PxSerializationRegistry instance is specified this function must additionally be called prior to shutdown of PhysXExtensions.
See also
PxInitVehicleSDK

◆ PxComputeAngle()

PX_CUDA_CALLABLE PX_FORCE_INLINE PxF32 physx::PxComputeAngle ( const PxVec3 &  v0,
const PxVec3 &  v1 
)

Compute the angle between two non-unit vectors.

Parameters
[in]v0is one of the non-unit vectors
[in]v1is the other of the two non-unit vectors
Returns
Returns the angle (in radians) between the two vector v0 and v1.

◆ PxComputeBasisVectors() [1/2]

PX_INLINE void physx::PxComputeBasisVectors ( const PxVec3 &  dir,
PxVec3 &  right,
PxVec3 &  up 
)

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

Parameters
[in]diris a normalized vector that is used to compute the perpendicular vectors.
[out]rightis the first of the two vectors perpendicular to dir
[out]upis the second of the two vectors perpendicular to dir

◆ PxComputeBasisVectors() [2/2]

PX_INLINE void physx::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||.

Parameters
[in]p0is used to compute the normalized vector dir = (p1 - p0)/||p1 - p0||.
[in]p1is used to compute the normalized vector dir = (p1 - p0)/||p1 - p0||.
[out]diris the normalized vector (p1 - p0)/||p1 - p0||.
[out]rightis the first of the two normalized vectors perpendicular to dir
[out]upis the second of the two normalized vectors perpendicular to dir

◆ PxComputeHeightFieldPenetration()

bool physx::PxComputeHeightFieldPenetration ( PxVec3 &  direction,
PxReal &  depth,
const PxGeometry &  geom,
const PxTransform &  geomPose,
const PxHeightFieldGeometry &  heightFieldGeom,
const PxTransform &  heightFieldPose,
PxU32  maxIter,
PxU32 *  usedIter = NULL 
)

Computes an approximate minimum translational distance (MTD) between a geometry object and a heightfield.

This iterative function computes an approximate vector that can be used to depenetrate a geom object from a heightfield. Returned depenetration vector should be applied to 'geom', to get out of the heightfield.

The function works best when the amount of overlap between the geom object and the mesh is small. If the geom object's center goes inside the heightfield, backface culling usually kicks in, no overlap is detected, and the function does not compute an MTD vector.

The function early exits if no overlap is detected after a depenetration attempt. This means that if maxIter = N, the code will attempt at most N iterations but it might exit earlier if depenetration has been successful. Usually N = 4 gives good results.

Parameters
[out]directionComputed MTD unit direction
[out]depthPenetration depth. Always positive or zero.
[in]geomThe geometry object
[in]geomPosePose for the geometry object
[in]heightFieldGeomThe heightfield geometry
[in]heightFieldPosePose for the heightfield
[in]maxIterMax number of iterations before returning.
[out]usedIterNumber of depenetrations attempts performed during the call. Will not be returned if the pointer is NULL.
Returns
True if the MTD has successfully been computed, i.e. if objects do overlap.
See also
PxGeometry PxTransform PxHeightFieldGeometry

◆ PxComputeTriangleMeshPenetration()

bool physx::PxComputeTriangleMeshPenetration ( PxVec3 &  direction,
PxReal &  depth,
const PxGeometry &  geom,
const PxTransform &  geomPose,
const PxTriangleMeshGeometry &  meshGeom,
const PxTransform &  meshPose,
PxU32  maxIter,
PxU32 *  usedIter = NULL 
)

Computes an approximate minimum translational distance (MTD) between a geometry object and a mesh.

This iterative function computes an approximate vector that can be used to depenetrate a geom object from a triangle mesh. Returned depenetration vector should be applied to 'geom', to get out of the mesh.

The function works best when the amount of overlap between the geom object and the mesh is small. If the geom object's center goes inside the mesh, backface culling usually kicks in, no overlap is detected, and the function does not compute an MTD vector.

The function early exits if no overlap is detected after a depenetration attempt. This means that if maxIter = N, the code will attempt at most N iterations but it might exit earlier if depenetration has been successful. Usually N = 4 gives good results.

Parameters
[out]directionComputed MTD unit direction
[out]depthPenetration depth. Always positive or zero.
[in]geomThe geometry object
[in]geomPosePose for the geometry object
[in]meshGeomThe mesh geometry
[in]meshPosePose for the mesh
[in]maxIterMax number of iterations before returning.
[out]usedIterNumber of depenetrations attempts performed during the call. Will not be returned if the pointer is NULL.
Returns
True if the MTD has successfully been computed, i.e. if objects do overlap.
See also
PxGeometry PxTransform PxTriangleMeshGeometry

◆ PxContactJointCreate()

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

Create a distance Joint.

Parameters
[in]physicsThe physics SDK
[in]actor0An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in]localFrame0The position and orientation of the joint relative to actor0
[in]actor1An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in]localFrame1The position and orientation of the joint relative to actor1
See also
PxContactJoint

◆ PxCountLeadingZeros()

PX_FORCE_INLINE uint32_t physx::PxCountLeadingZeros ( uint32_t  v)

Returns the index of the highest set bit. Returns 32 for v=0.

Returns the number of leading zeros in v. Returns 32 for v=0.

◆ PxCreateAABBManager()

PxAABBManager * physx::PxCreateAABBManager ( PxBroadPhase &  broadphase)

AABB manager factory function.

Use this function to create a new standalone high-level broadphase.

Parameters
broadphase[in] The broadphase that will be managed by the AABB manager
Returns
Newly created AABB manager, or NULL
See also
PxAABBManager PxBroadPhase

◆ PxCreateBatchQueryExt() [1/2]

PxBatchQueryExt * physx::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.

Parameters
[in]sceneQueries will be performed against objects in the specified PxScene
[in]queryFilterCallbackFiltering for all queries is performed using queryFilterCallback. A null pointer results in all shapes being considered.
[in]maxNbRaycastsA result buffer will be allocated that is large enough to accommodate maxNbRaycasts calls to PxBatchQueryExt::raycast()
[in]maxNbRaycastTouchesA touch buffer will be allocated that is large enough to accommodate maxNbRaycastTouches touches for all raycasts in the batch.
[in]maxNbSweepsA result buffer will be allocated that is large enough to accommodate maxNbSweeps calls to PxBatchQueryExt::sweep()
[in]maxNbSweepTouchesA touch buffer will be allocated that is large enough to accommodate maxNbSweepTouches touches for all sweeps in the batch.
[in]maxNbOverlapsA result buffer will be allocated that is large enough to accommodate maxNbOverlaps calls to PxBatchQueryExt::overlap()
[in]maxNbOverlapTouchesA touch buffer will be allocated that is large enough to accommodate maxNbOverlapTouches touches for all overlaps in the batch.
Returns
Returns a PxBatchQueryExt instance. A NULL pointer will be returned if the subsequent allocations fail or if any of the arguments are illegal.
In the event that a NULL pointer is returned a corresponding error will be issued to the error stream.

◆ PxCreateBatchQueryExt() [2/2]

PxBatchQueryExt * physx::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.

Parameters
[in]sceneQueries will be performed against objects in the specified PxScene
[in]queryFilterCallbackFiltering for all queries is performed using queryFilterCallback. A null pointer results in all shapes being considered.
[in]raycastBuffersThis is the array that will be used to store the results of each raycast in a batch.
[in]maxNbRaycastsThis is the length of the raycastBuffers array.
[in]raycastTouchesThis is the array that will be used to store the touches generated by all raycasts in a batch.
[in]maxNbRaycastTouchesThis is the length of the raycastTouches array.
[in]sweepBuffersThis is the array that will be used to store the results of each sweep in a batch.
[in]maxNbSweepsThis is the length of the sweepBuffers array.
[in]sweepTouchesThis is the array that will be used to store the touches generated by all sweeps in a batch.
[in]maxNbSweepTouchesThis is the length of the sweepTouches array.
[in]overlapBuffersThis is the array that will be used to store the results of each overlap in a batch.
[in]maxNbOverlapsThis is the length of the overlapBuffers array.
[in]overlapTouchesThis is the array that will be used to store the touches generated by all overlaps in a batch.
[in]maxNbOverlapTouchesThis is the length of the overlapTouches array.
Returns
Returns a PxBatchQueryExt instance. A NULL pointer will be returned if the subsequent allocations fail or if any of the arguments are illegal. In the event that a NULL pointer is returned a corresponding error will be issued to the error stream.

◆ PxCreateBroadPhase()

PxBroadPhase * physx::PxCreateBroadPhase ( const PxBroadPhaseDesc &  desc)

Broadphase factory function.

Use this function to create a new standalone broadphase.

Parameters
desc[in] Broadphase descriptor
Returns
Newly created broadphase, or NULL
See also
PxBroadPhase PxBroadPhaseDesc

◆ PxCreateCustomSceneQuerySystem()

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

Creates a custom scene query system.

This is similar to PxCreateExternalSceneQuerySystem, except this function creates a PxCustomSceneQuerySystem object. It can be plugged to PxScene the same way, via PxSceneDesc::sceneQuerySystem.

Parameters
[in]sceneQueryUpdateModeDesired update mode
[in]contextIDContext ID parameter, sent to the profiler
[in]adapterAdapter class implementing our extended API
[in]usesTreeOfPrunersTrue to keep pruners themselves in a BVH, which might increase query performance if a lot of pruners are involved
Returns
A custom SQ system instance
See also
PxCustomSceneQuerySystem PxSceneQueryUpdateMode PxCustomSceneQuerySystemAdapter PxSceneDesc::sceneQuerySystem

◆ PxCreateDynamic() [1/2]

PxRigidDynamic * physx::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.

Parameters
[in]sdkthe PxPhysics object
[in]transformthe global pose of the new object
[in]geometrythe geometry of the new object's shape, which must be a sphere, capsule, box or convex
[in]materialthe material for the new object's shape
[in]densitythe density of the new object. Must be greater than zero.
[in]shapeOffsetan optional offset for the new shape, defaults to identity
Returns
a new dynamic actor with the PxRigidBodyFlag, or NULL if it could not be constructed
See also
PxRigidDynamic PxShapeFlag

◆ PxCreateDynamic() [2/2]

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

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

Parameters
[in]sdkthe PxPhysics object
[in]transformthe transform of the new object
[in]shapethe shape of the new object
[in]densitythe density of the new object. Must be greater than zero.
Returns
a new dynamic actor with the PxRigidBodyFlag, or NULL if it could not be constructed
See also
PxRigidDynamic PxShapeFlag

◆ PxCreateExternalSceneQuerySystem()

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

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.

Parameters
[in]descScene query descriptor
[in]contextIDContext ID parameter, sent to the profiler
Returns
An external SQ system instance
See also
PxSceneQuerySystem PxSceneQueryDesc

◆ PxCreateKinematic() [1/2]

PxRigidDynamic * physx::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.

Parameters
[in]sdkthe PxPhysics object
[in]transformthe global pose of the new object
[in]geometrythe geometry of the new object's shape
[in]materialthe material for the new object's shape
[in]densitythe density of the new object. Must be greater than zero if the object is to participate in simulation.
[in]shapeOffsetan optional offset for the new shape, defaults to identity
Note
unlike PxCreateDynamic, the geometry is not restricted to box, capsule, sphere or convex. However, kinematics of other geometry types may not participate in simulation collision and may be used only for triggers or scene queries of moving objects under animation control. In this case the density parameter will be ignored and the created shape will be set up as a scene query only shape (see PxShapeFlag::eSCENE_QUERY_SHAPE)
Returns
a new dynamic actor with the PxRigidBodyFlag::eKINEMATIC set, or NULL if it could not be constructed
See also
PxRigidDynamic PxShapeFlag

◆ PxCreateKinematic() [2/2]

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

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

Parameters
[in]sdkthe PxPhysics object
[in]transformthe global pose of the new object
[in]densitythe density of the new object. Must be greater than zero if the object is to participate in simulation.
[in]shapethe shape of the new object
Note
unlike PxCreateDynamic, the geometry is not restricted to box, capsule, sphere or convex. However, kinematics of other geometry types may not participate in simulation collision and may be used only for triggers or scene queries of moving objects under animation control. In this case the density parameter will be ignored and the created shape will be set up as a scene query only shape (see PxShapeFlag::eSCENE_QUERY_SHAPE)
Returns
a new dynamic actor with the PxRigidBodyFlag::eKINEMATIC set, or NULL if it could not be constructed
See also
PxRigidDynamic PxShapeFlag

◆ PxCreateParticleClothCooker()

ExtGpu::PxParticleClothCooker * physx::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/360.0f*PxTwoPi 
)

Creates a PxParticleClothCooker.

Parameters
[in]vertexCountThe number of vertices of the particle cloth.
[in]inVerticesThe vertex positions of the particle cloth.
[in]triangleIndexCountThe number of triangles of the cloth mesh.
[in]inTriangleIndicesThe triangle indices of the cloth mesh
[in]constraintTypeFlagsThe types of constraints to generate. See PxParticleClothConstraint.
[in]verticalDirectionThe vertical direction of the cloth mesh. This is needed to generate the correct horizontal and vertical constraints to model shear stiffness.
[in]bendingConstraintMaxAngleThe maximum angle considered in the bending constraints.
Returns
A pointer to the new PxParticleClothCooker.

◆ PxCreatePlane()

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

create a plane actor. The plane equation is n.x + d = 0

Parameters
[in]sdkthe PxPhysics object
[in]planea plane of the form n.x + d = 0
[in]materialthe material for the new object's shape
Returns
a new static actor, or NULL if it could not be constructed
See also
PxRigidStatic

◆ PxCreatePvd()

PxPvd * physx::PxCreatePvd ( PxFoundation &  foundation)

Create a pvd instance.

Parameters
foundationis the foundation instance that stores the allocator and error callbacks.

◆ PxCreateShapeSampler()

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

Creates a shape sampler

Parameters
[in]geometryThe shape that defines the surface on which the samples get created
[in]transformThe shape's global pose
[in]worldBoundsThe shapes bounding box
[in]initialSamplingRadiusThe closest distance two surface samples are allowed to have
[in]numSampleAttemptsAroundPointNumber of repetitions the underlying algorithm performs to find a new valid sample that matches all criteria like minimal distance to existing samples etc.
Returns
Returns the sampler

◆ PxCreateStatic() [1/2]

PxRigidStatic * physx::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.

Parameters
[in]sdkthe PxPhysics object
[in]transformthe global pose of the new object
[in]geometrythe geometry of the new object's shape
[in]materialthe material for the new object's shape
[in]shapeOffsetan optional offset for the new shape, defaults to identity
Returns
a new static actor, or NULL if it could not be constructed
See also
PxRigidStatic

◆ PxCreateStatic() [2/2]

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

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

Parameters
[in]sdkthe PxPhysics object
[in]transformthe global pose of the new object
[in]shapethe new object's shape
Returns
a new static actor, or NULL if it could not be constructed
See also
PxRigidStatic

◆ PxCreateTriangleMeshSampler()

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

Creates a triangle mesh sampler

Parameters
[in]trianglesThe triangle indices of the mesh
[in]numTrianglesThe total number of triangles
[in]verticesThe vertices of the mesh
[in]numVerticesThe total number of vertices
[in]initialSamplingRadiusThe closest distance two surface samples are allowed to have
[in]numSampleAttemptsAroundPointNumber of repetitions the underlying algorithm performs to find a new valid sample that matches all criteria like minimal distance to existing samples etc.
Returns
Returns the sampler

◆ PxD6JointCreate()

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

Create a D6 joint.

Parameters
[in]physicsThe physics SDK
[in]actor0An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in]localFrame0The position and orientation of the joint relative to actor0
[in]actor1An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in]localFrame1The position and orientation of the joint relative to actor1
See also
PxD6Joint

◆ PxD6JointCreate_Distance()

PxJoint * physx::PxD6JointCreate_Distance ( PxPhysics &  physics,
PxRigidActor *  actor0,
const PxVec3 &  localPos0,
PxRigidActor *  actor1,
const PxVec3 &  localPos1,
float  maxDist,
bool  useD6 
)

Helper function to create a distance joint, using either a PxD6Joint or PxDistanceJoint.

This helper function only supports a maximum distance constraint, because PxD6Joint does not support a minimum distance constraint (contrary to PxDistanceJoint).

The distance is computed between the joint frames' world-space positions. The joint frames' orientations are irrelevant here so the function sets them to identity.

Parameters
[in]physicsThe physics SDK
[in]actor0An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in]localPos0The position of the joint relative to actor0
[in]actor1An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in]localPos1The position of the joint relative to actor1
[in]maxDistThe maximum allowed distance
[in]useD6True to use a PxD6Joint, false to use a PxDistanceJoint;
Returns
The created joint.
See also
PxD6Joint PxDistanceJoint

◆ PxD6JointCreate_Fixed()

PxJoint * physx::PxD6JointCreate_Fixed ( PxPhysics &  physics,
PxRigidActor *  actor0,
const PxVec3 &  localPos0,
PxRigidActor *  actor1,
const PxVec3 &  localPos1,
bool  useD6 
)

Helper function to create a fixed joint, using either a PxD6Joint or PxFixedJoint.

For fixed joints it is important that the joint frames have the same orientation. This helper function uses an identity rotation for both. It is also important that the joint frames have an equivalent position in world space. The function does not check this, so it is up to users to ensure that this is the case.

Parameters
[in]physicsThe physics SDK
[in]actor0An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in]localPos0The position of the joint relative to actor0
[in]actor1An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in]localPos1The position of the joint relative to actor1
[in]useD6True to use a PxD6Joint, false to use a PxFixedJoint;
Returns
The created joint.
See also
PxD6Joint PxFixedJoint

◆ PxD6JointCreate_GenericCone()

PxJoint * physx::PxD6JointCreate_GenericCone ( float &  apiroty,
float &  apirotz,
PxPhysics &  physics,
PxRigidActor *  actor0,
const PxVec3 &  localPos0,
PxRigidActor *  actor1,
const PxVec3 &  localPos1,
float  minLimit1,
float  maxLimit1,
float  minLimit2,
float  maxLimit2,
bool  useD6 
)

Helper function to create a spherical joint, using either a PxD6Joint or PxSphericalJoint.

This function supports a cone limit shape, defined by two pairs of angular limit values. This can be used to create an asymmetric cone. If the angular limit values are symmetric (i.e. minLimit1=-maxLimit1 and minLimit2=-maxLimit2) then the cone axis is the X axis in actor0's space. If the limits are not symmetric, the function rotates the cone axis accordingly so that limits remain symmetric for PhysX. If this happens, the initial joint frames will be different for both actors. By default minLimit1/maxLimit1 are limits around the joint's Y axis, and minLimit2/maxLimit2 are limits around the joint's Z axis.

The function creates hard limits, and uses PhysX's default contact distance parameter.

Limits are expressed in radians. Allowed range is ]-PI;PI[.

The cone axis is equivalent to the twist axis for the D6 joint. The twist motion is not limited.

The returned apiroty and apirotz values can later be added to retrieved Y and Z swing angle values (from the joint), to remap angle values to the given input range.

Parameters
[out]apirotyAmount of rotation around Y used to setup actor0's joint frame
[out]apirotzAmount of rotation around Z used to setup actor0's joint frame
[in]physicsThe physics SDK
[in]actor0An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in]localPos0The position of the joint relative to actor0
[in]actor1An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in]localPos1The position of the joint relative to actor1
[in]minLimit1Min angular limit along the joint frame's second axis (first axis = cone axis)
[in]maxLimit1Max angular limit along the joint frame's second axis (first axis = cone axis)
[in]minLimit2Min angular limit along the joint frame's third axis (first axis = cone axis)
[in]maxLimit2Max angular limit along the joint frame's third axis (first axis = cone axis)
[in]useD6True to use a PxD6Joint, false to use a PxSphericalJoint;
Returns
The created joint.
See also
PxD6Joint PxSphericalJoint

◆ PxD6JointCreate_Prismatic()

PxJoint * physx::PxD6JointCreate_Prismatic ( PxPhysics &  physics,
PxRigidActor *  actor0,
const PxVec3 &  localPos0,
PxRigidActor *  actor1,
const PxVec3 &  localPos1,
const PxVec3 &  axis,
float  minLimit,
float  maxLimit,
bool  useD6 
)

Helper function to create a prismatic joint, using either a PxD6Joint or PxPrismaticJoint.

This function enforces that the joint frames have the same orientation, which is a local frame whose X is the desired translation axis. This orientation is computed by the function, so users only have to define the desired translation axis (typically 1;0;0 or 0;1;0 or 0;0;1).

The translation can be limited. Limits are enforced if minLimit<maxLimit. If minLimit=maxLimit the axis is locked. If minLimit>maxLimit the limits are not enforced and the axis is free. The limit values are computed relative to the position of actor0's joint frame.

The function creates hard limits, and uses PhysX's default contact distance parameter.

Parameters
[in]physicsThe physics SDK
[in]actor0An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in]localPos0The position of the joint relative to actor0
[in]actor1An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in]localPos1The position of the joint relative to actor1
[in]axisThe axis along which objects are allowed to move, expressed in the actors' local space
[in]minLimitThe minimum allowed position along the axis
[in]maxLimitThe maximum allowed position along the axis
[in]useD6True to use a PxD6Joint, false to use a PxPrismaticJoint;
Returns
The created joint.
See also
PxD6Joint PxPrismaticJoint

◆ PxD6JointCreate_Pyramid()

PxJoint * physx::PxD6JointCreate_Pyramid ( PxPhysics &  physics,
PxRigidActor *  actor0,
const PxVec3 &  localPos0,
PxRigidActor *  actor1,
const PxVec3 &  localPos1,
const PxVec3 &  axis,
float  minLimit1,
float  maxLimit1,
float  minLimit2,
float  maxLimit2 
)

Helper function to create a D6 joint with pyramidal swing limits.

This function supports a pyramid limit shape, defined by two pairs of angular limit values. This can be used to create an asymmetric pyramid. If the angular limit values are symmetric (i.e. minLimit1=-maxLimit1 and minLimit2=-maxLimit2) then the pyramid axis is the X axis in actor0's space. By default minLimit1/maxLimit1 are limits around the joint's Y axis, and minLimit2/maxLimit2 are limits around the joint's Z axis.

The function creates hard limits, and uses PhysX's default contact distance parameter.

Limits are expressed in radians. Allowed range is ]-PI;PI[.

The pyramid axis is equivalent to the twist axis for the D6 joint. The twist motion is not limited.

Parameters
[in]physicsThe physics SDK
[in]actor0An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in]localPos0The position of the joint relative to actor0
[in]actor1An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in]localPos1The position of the joint relative to actor1
[in]axisThe pyramid axis, expressed in the actors' local space
[in]minLimit1Min angular limit along the joint frame's second axis (first axis = pyramid axis)
[in]maxLimit1Max angular limit along the joint frame's second axis (first axis = pyramid axis)
[in]minLimit2Min angular limit along the joint frame's third axis (first axis = pyramid axis)
[in]maxLimit2Max angular limit along the joint frame's third axis (first axis = pyramid axis)
Returns
The created joint.
See also
PxD6Joint

◆ PxD6JointCreate_Revolute()

PxJoint * physx::PxD6JointCreate_Revolute ( PxPhysics &  physics,
PxRigidActor *  actor0,
const PxVec3 &  localPos0,
PxRigidActor *  actor1,
const PxVec3 &  localPos1,
const PxVec3 &  axis,
float  minLimit,
float  maxLimit,
bool  useD6 
)

Helper function to create a revolute joint, using either a PxD6Joint or PxRevoluteJoint.

This function enforces that the joint frames have the same orientation, which is a local frame whose X is the desired rotation axis. This orientation is computed by the function, so users only have to define the desired rotation axis (typically 1;0;0 or 0;1;0 or 0;0;1).

The rotation can be limited. Limits are enforced if minLimit<maxLimit. If minLimit=maxLimit the axis is locked. If minLimit>maxLimit the limits are not enforced and the axis is free. The limit values are computed relative to the rotation of actor0's joint frame.

The function creates hard limits, and uses PhysX's default contact distance parameter.

Limits are expressed in radians. Allowed range is ]-2*PI;+2*PI[

Parameters
[in]physicsThe physics SDK
[in]actor0An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in]localPos0The position of the joint relative to actor0
[in]actor1An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in]localPos1The position of the joint relative to actor1
[in]axisThe axis around which objects are allowed to move, expressed in the actors' local space
[in]minLimitThe minimum allowed rotation along the axis
[in]maxLimitThe maximum allowed rotation along the axis
[in]useD6True to use a PxD6Joint, false to use a PxRevoluteJoint;
Returns
The created joint.
See also
PxD6Joint PxRevoluteJoint

◆ PxD6JointCreate_Spherical()

PxJoint * physx::PxD6JointCreate_Spherical ( PxPhysics &  physics,
PxRigidActor *  actor0,
const PxVec3 &  localPos0,
PxRigidActor *  actor1,
const PxVec3 &  localPos1,
const PxVec3 &  axis,
float  limit1,
float  limit2,
bool  useD6 
)

Helper function to create a spherical joint, using either a PxD6Joint or PxSphericalJoint.

This function supports a cone limit shape, defined by a cone axis and two angular limit values.

This function enforces that the joint frames have the same orientation, which is a local frame whose X is the desired cone axis. This orientation is computed by the function, so users only have to define the desired cone axis (typically 1;0;0 or 0;1;0 or 0;0;1).

The rotations can be limited. Limits are enforced if limit1>0 and limit2>0. Otherwise the motion is free. The limit values define an ellipse, which is the cross-section of the cone limit shape.

The function creates hard limits, and uses PhysX's default contact distance parameter.

Limits are expressed in radians. Allowed range is ]0;PI[. Limits are symmetric around the cone axis.

The cone axis is equivalent to the twist axis for the D6 joint. The twist motion is not limited.

Parameters
[in]physicsThe physics SDK
[in]actor0An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in]localPos0The position of the joint relative to actor0
[in]actor1An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in]localPos1The position of the joint relative to actor1
[in]axisThe cone axis, expressed in the actors' local space
[in]limit1Max angular limit for the ellipse along the joint frame's second axis (first axis = cone axis)
[in]limit2Max angular limit for the ellipse along the joint frame's third axis (first axis = cone axis)
[in]useD6True to use a PxD6Joint, false to use a PxSphericalJoint;
Returns
The created joint.
See also
PxD6Joint PxSphericalJoint

◆ PxDefaultCpuDispatcherCreate()

PxDefaultCpuDispatcher * physx::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.

Parameters
[in]numThreadsNumber of worker threads the dispatcher should use.
[in]affinityMasksArray with affinity mask for each thread. If not defined, default masks will be used.
[in]modeis the strategy employed when a busy-wait is encountered.
[in]yieldProcessorCountspecifies the number of times a OS-specific yield processor command will be executed during each cycle of a busy-wait in the event that the specified mode is eYIELD_PROCESSOR
Note
numThreads may be zero in which case no worker thread are initialized and simulation tasks will be executed on the thread that calls PxScene::simulate()
yieldProcessorCount must be greater than zero if eYIELD_PROCESSOR is the chosen mode and equal to zero for all other modes.
eYIELD_THREAD and eYIELD_PROCESSOR modes will use compute resources even if the simulation is not running. It is left to users to keep threads inactive, if so desired, when no simulation is running.
See also
PxDefaultCpuDispatcher

◆ PxDefaultPvdFileTransportCreate()

PxPvdTransport * physx::PxDefaultPvdFileTransportCreate ( const char *  name)

Create a default file transport.

Parameters
namefull path filename used save captured pvd data, or NULL for a fake/test file transport.

◆ PxDefaultPvdSocketTransportCreate()

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

Create a default socket transport.

Parameters
hosthost address of the pvd application.
portip port used for pvd, should same as the port setting in pvd application.
timeoutInMillisecondstimeout when connect to pvd host.

◆ PxDefaultSimulationFilterShader()

PxFilterFlags physx::PxDefaultSimulationFilterShader ( PxFilterObjectAttributes  attributes0,
PxFilterData  filterData0,
PxFilterObjectAttributes  attributes1,
PxFilterData  filterData1,
PxPairFlags &  pairFlags,
const void *  constantBlock,
PxU32  constantBlockSize 
)

Implementation of a simple filter shader that emulates PhysX 2.8.x filtering.

This shader provides the following logic:

Filter mask logic: Given the two #PxFilterData structures fd0 and fd1 of two collision objects, the pair passes the filter if the following conditions are met:

1) Collision groups of the pair are enabled
2) Collision filtering equation is satisfied
See also
PxSimulationFilterShader

◆ PxDistanceJointCreate()

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

Create a distance Joint.

Parameters
[in]physicsThe physics SDK
[in]actor0An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in]localFrame0The position and orientation of the joint relative to actor0
[in]actor1An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in]localFrame1The position and orientation of the joint relative to actor1
See also
PxDistanceJoint

◆ PxEllipseClamp()

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 physx::PxEllipseClamp ( const PxVec3 &  point,
const PxVec3 &  radii 
)

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

Parameters
[in]pointis a 2d point in the y-z plane represented by (point.y, point.z)
[in]radiiare the radii of the ellipse (radii.y and radii.z) in the y-z plane.
Returns
Returns the 2d position on the surface of the ellipse that is closest to point.

◆ PxExtractIsosurfaceFromSDF()

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

Parameters
[in]triangleMeshThe triangle mesh
[out]isosurfaceVerticesThe vertices of the extracted isosurface
[out]isosurfaceTriangleIndicesThe triangles of the extracted isosurface

◆ PxFilterObjectIsKinematic()

PX_INLINE bool physx::PxFilterObjectIsKinematic ( PxFilterObjectAttributes  attr)

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

Parameters
[in]attrThe filter attribute of a collision pair object
Returns
True if the object belongs to a kinematic rigid body, else false
See also
PxRigidBodyFlag::eKINEMATIC

◆ PxFilterObjectIsTrigger()

PX_INLINE bool physx::PxFilterObjectIsTrigger ( PxFilterObjectAttributes  attr)

Specifies whether the collision object is a trigger shape.

Parameters
[in]attrThe filter attribute of a collision pair object
Returns
True if the object is a trigger shape, else false
See also
PxShapeFlag::eTRIGGER_SHAPE

◆ PxFindFaceIndex()

PxU32 physx::PxFindFaceIndex ( const PxConvexMeshGeometry &  convexGeom,
const PxTransform &  geomPose,
const PxVec3 &  impactPos,
const PxVec3 &  unitDir 
)

Computes closest polygon of the convex hull geometry for a given impact point and impact direction. When doing sweeps against a scene, one might want to delay the rather expensive computation of the hit face index for convexes until it is clear the information is really needed and then use this method to get the corresponding face index.

Parameters
[in]convexGeomThe convex mesh geometry.
[in]geomPosePose for the geometry object.
[in]impactPosImpact position.
[in]unitDirNormalized impact direction.
Returns
Closest face index of the convex geometry.
See also
PxTransform PxConvexMeshGeometry

◆ PxFindOverlap()

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

BVH-vs-BVH overlap test.

This function returns pairs of box indices that belong to both the first & second input bvhs.

Parameters
[in]callbackThe callback object used to report results
[in]bvh0First bvh
[in]bvh1Second bvh
Returns
true if an overlap has been detected
See also
PxBVH PxReportCallback

◆ PxFixedJointCreate()

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

Create a fixed joint.

Parameters
[in]physicsThe physics SDK
[in]actor0An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in]localFrame0The position and orientation of the joint relative to actor0
[in]actor1An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in]localFrame1The position and orientation of the joint relative to actor1
See also
PxFixedJoint

◆ PxGearJointCreate()

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

Create a gear Joint.

Parameters
[in]physicsThe physics SDK
[in]actor0An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in]localFrame0The position and orientation of the joint relative to actor0
[in]actor1An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in]localFrame1The position and orientation of the joint relative to actor1
See also
PxGearJoint

◆ PxGetAssertHandler()

PxAssertHandler & physx::PxGetAssertHandler ( )

◆ PxGetBroadPhaseDynamicFilterGroup()

PxBpFilterGroup physx::PxGetBroadPhaseDynamicFilterGroup ( PxU32  id)

Retrieves a filter group for dynamic objects.

Mark dynamic objects with this group when adding them to the broadphase. Each dynamic object must have an ID, and overlaps between dynamic objects that have the same ID will not be detected. This is useful to dismiss overlaps between shapes of the same (compound) actor directly within the broadphase.

Parameters
id[in] ID/Index of dynamic object
Returns
Filter group for the object.
See also
PxBpFilterGroup

◆ PxGetBroadPhaseKinematicFilterGroup()

PxBpFilterGroup physx::PxGetBroadPhaseKinematicFilterGroup ( PxU32  id)

Retrieves a filter group for kinematic objects.

Mark kinematic objects with this group when adding them to the broadphase. Each kinematic object must have an ID, and overlaps between kinematic objects that have the same ID will not be detected.

Parameters
id[in] ID/Index of kinematic object
Returns
Filter group for the object.
See also
PxBpFilterGroup

◆ PxGetBroadPhaseStaticFilterGroup()

PX_IMPLEMENT_OUTPUT_ERROR PxBpFilterGroup physx::PxGetBroadPhaseStaticFilterGroup ( )

Retrieves the filter group for static objects.

Mark static objects with this group when adding them to the broadphase. Overlaps between static objects will not be detected. All static objects should have the same group.

Returns
Filter group for static objects.
See also
PxBpFilterGroup

◆ PxGetFilterBool()

bool physx::PxGetFilterBool ( )

Retrieves filtering's boolean value. See comments for PxGroupsMask.

Returns
flag Boolean value for filter.
See also
PxSetFilterBool PxSetFilterConstants

◆ PxGetFilterConstants()

void physx::PxGetFilterConstants ( PxGroupsMask &  c0,
PxGroupsMask &  c1 
)

Gets filtering constant K0 and K1. See comments for PxGroupsMask.

Parameters
[out]c0the filtering constants, as a mask. See #PxGroupsMask.
[out]c1the filtering constants, as a mask. See #PxGroupsMask.
See also
PxSetFilterOps PxSetFilterBool PxSetFilterConstants

◆ PxGetFilterObjectType()

PX_INLINE PxFilterObjectType::Enum physx::PxGetFilterObjectType ( PxFilterObjectAttributes  attr)

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

Parameters
[in]attrThe filter attribute of a collision pair object
Returns
The type of the collision pair object.
See also
PxFilterObjectType

◆ PxGetFilterOps()

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

Retrieves filtering operation. See comments for PxGroupsMask.

Parameters
[out]op0First filter operator.
[out]op1Second filter operator.
[out]op2Third filter operator.
See also
PxSetFilterOps PxSetFilterBool PxSetFilterConstants

◆ PxGetGroup()

PxU16 physx::PxGetGroup ( const PxActor &  actor)

Retrieves the value set with PxSetGroup()

Note
Collision group is an integer between 0 and 31.
Parameters
[in]actorThe actor
Returns
The collision group this actor belongs to
See also
PxSetGroup

◆ PxGetGroupCollisionFlag()

bool physx::PxGetGroupCollisionFlag ( const PxU16  group1,
const PxU16  group2 
)

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

Note
Collision group is an integer between 0 and 31.
Parameters
[in]group1First Group
[in]group2Second Group
Returns
True if the groups could collide
See also
PxSetGroupCollisionFlag

◆ PxGetGroupsMask()

PxGroupsMask physx::PxGetGroupsMask ( const PxActor &  actor)

Gets 64-bit mask used for collision filtering. See comments for PxGroupsMask.

Parameters
[in]actorThe actor
Returns
The group mask for the actor.
See also
PxSetGroupsMask()

◆ PxHighestSetBit()

PX_INLINE uint32_t physx::PxHighestSetBit ( uint32_t  x)

Return the index of the highest set bit. Not valid for zero arg.

◆ PxHighestSetBitUnsafe()

PX_FORCE_INLINE uint32_t physx::PxHighestSetBitUnsafe ( uint32_t  v)

Return the index of the highest set bit. Undefined for zero arg.

Returns the index of the highest set bit. Not valid for zero arg.

◆ PxInitVehicleSDK()

bool physx::PxInitVehicleSDK ( PxPhysics &  physics,
PxSerializationRegistry *  serializationRegistry = NULL 
)

Initialize the PhysXVehicle library.

Call this before using any of the vehicle functions.

Parameters
physicsThe PxPhysics instance.
serializationRegistryPxSerializationRegistry instance, if NULL vehicle serialization is not supported.
Note
This function must be called after PxFoundation and PxPhysics instances have been created.
If a PxSerializationRegistry instance is specified then PhysXVehicle is also dependent on PhysXExtensions.
See also
PxCloseVehicleSDK

◆ PxIntegrateTransform()

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

integrate transform.

Parameters
[in]curTransThe current transform
[in]linvelLinear velocity
[in]angvelAngular velocity
[in]timeStepThe time-step for integration
[out]resultThe integrated transform

◆ PxLowestSetBit()

PX_INLINE uint32_t physx::PxLowestSetBit ( uint32_t  x)

Return the index of the highest set bit. Not valid for zero arg.

◆ PxLowestSetBitUnsafe()

PX_FORCE_INLINE uint32_t physx::PxLowestSetBitUnsafe ( uint32_t  v)

Return the index of the highest set bit. Undefined for zero arg.

Returns the index of the highest set bit. Undefined for zero arg.

◆ PxMarkSerializedMemory()

PX_INLINE void physx::PxMarkSerializedMemory ( void *  ptr,
PxU32  byteSize 
)

Mark a specified amount of memory with 0xcd pattern. This is used to check that the meta data definition for serialized classes is complete in checked builds.

Parameters
ptr[out] Pointer to block of memory to initialize.
byteSize[in] Number of bytes to initialize.

◆ PxMemCopy()

PX_FORCE_INLINE void * physx::PxMemCopy ( void *  dest,
const void *  src,
PxU32  count 
)

Copies the bytes of one memory block to another. The memory blocks must not overlap.

Note
Use PxMemMove if memory blocks overlap.
Parameters
dest[out] Pointer to block of memory to copy to.
src[in] Pointer to block of memory to copy from.
count[in] Number of bytes to copy.
Returns
Pointer to destination memory block
Note
Use PxMemMove if memory blocks overlap.
Parameters
destPointer to block of memory to copy to.
srcPointer to block of memory to copy from.
countNumber of bytes to copy.
Returns
Pointer to destination memory block

◆ PxMemMove()

PX_FORCE_INLINE void * physx::PxMemMove ( void *  dest,
const void *  src,
PxU32  count 
)

Copies the bytes of one memory block to another. The memory blocks can overlap.

Note
Use PxMemCopy if memory blocks do not overlap.
Parameters
dest[out] Pointer to block of memory to copy to.
src[in] Pointer to block of memory to copy from.
count[in] Number of bytes to copy.
Returns
Pointer to destination memory block
Note
Use PxMemCopy if memory blocks do not overlap.
Parameters
destPointer to block of memory to copy to.
srcPointer to block of memory to copy from.
countNumber of bytes to copy.
Returns
Pointer to destination memory block

◆ PxMemSet()

PX_FORCE_INLINE void * physx::PxMemSet ( void *  dest,
PxI32  c,
PxU32  count 
)

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

Parameters
dest[out] Pointer to block of memory to set to the specified value.
c[in] Value to set the bytes of the block of memory to.
count[in] Number of bytes to set to the specified value.
Returns
Pointer to memory block (same as input)
Parameters
destPointer to block of memory to set to the specified value.
cValue to set the bytes of the block of memory to.
countNumber of bytes to set to the specified value.
Returns
Pointer to memory block (same as input)

◆ PxMemZero()

PX_FORCE_INLINE void * physx::PxMemZero ( void *  dest,
PxU32  count 
)

Sets the bytes of the provided buffer to zero.

Parameters
dest[out] Pointer to block of memory to set zero.
count[in] Number of bytes to set to zero.
Returns
Pointer to memory block (same as input)
Parameters
destPointer to block of memory to set zero.
countNumber of bytes to set to zero.
Returns
Pointer to memory block (same as input)

◆ PxOptimizeBoundingBox()

PxVec3 physx::PxOptimizeBoundingBox ( PxMat33 &  basis)

computes a oriented bounding box around the scaled basis.

Parameters
basisInput = skewed basis, Output = (normalized) orthogonal basis.
Returns
Bounding box extent.

◆ PxOrder() [1/2]

template<class T >
PX_CUDA_CALLABLE PX_FORCE_INLINE void physx::PxOrder ( T &  x,
T &  y 
)

Sort two elements using operator<

On return x will be the smaller of the two

◆ PxOrder() [2/2]

template<class T , class E1 >
PX_CUDA_CALLABLE PX_FORCE_INLINE void physx::PxOrder ( T &  x,
T &  y,
E1 &  xe1,
E1 &  ye1 
)

Sort two elements using operator< and also keep order of any extra data

◆ PxPlaneEquationFromTransform()

PX_INLINE PxPlane physx::PxPlaneEquationFromTransform ( const PxTransform &  pose)

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

Parameters
[in]posethe transform
Returns
the plane

◆ PxPrefetch()

PX_FORCE_INLINE void physx::PxPrefetch ( const void *  ptr,
uint32_t  count = 1 
)

Prefetch count bytes starting at ptr.

◆ PxPrefetchLine()

PX_FORCE_INLINE void physx::PxPrefetchLine ( const void *  ptr,
uint32_t  offset = 0 
)

Prefetch aligned 64B x86, 32b ARM around ptr+offset.

Prefetch aligned cache size around ptr+offset.

◆ PxPrismaticJointCreate()

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

Create a prismatic joint.

Parameters
[in]physicsThe physics SDK
[in]actor0An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in]localFrame0The position and orientation of the joint relative to actor0
[in]actor1An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in]localFrame1The position and orientation of the joint relative to actor1
See also
PxPrismaticJoint

◆ PxRackAndPinionJointCreate()

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

Create a rack & pinion Joint.

Parameters
[in]physicsThe physics SDK
[in]actor0An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in]localFrame0The position and orientation of the joint relative to actor0
[in]actor1An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in]localFrame1The position and orientation of the joint relative to actor1
See also
PxRackAndPinionJoint

◆ PxRevoluteJointCreate()

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

Create a revolute joint.

Parameters
[in]physicsThe physics SDK
[in]actor0An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in]localFrame0The position and orientation of the joint relative to actor0
[in]actor1An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in]localFrame1The position and orientation of the joint relative to actor1
See also
PxRevoluteJoint

◆ PxScaleRigidActor()

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

scale a rigid actor by a uniform scale

The geometry and relative positions of the actor are multiplied by the given scale value. If the actor is a rigid body or an articulation link and the scaleMassProps value is true, the mass properties are scaled assuming the density is constant: the center of mass is linearly scaled, the mass is multiplied by the cube of the scale, and the inertia tensor by the fifth power of the scale.

Parameters
[in]actora rigid actor
[in]scalethe scale by which to multiply the actor. Must be >0.
[in]scaleMassPropswhether to scale the mass properties

◆ PxSeparateSwingTwist()

PX_CUDA_CALLABLE PX_FORCE_INLINE void physx::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.

Parameters
[in]qis the quaternion to be decomposed into swing and twist quaternions.
[out]swingis the swing component of the quaternion decomposition.
[out]twistis the twist component of the quaternion decomposition.

◆ PxSetAssertHandler()

void physx::PxSetAssertHandler ( PxAssertHandler &  handler)

◆ PxSetFilterBool()

void physx::PxSetFilterBool ( const bool  enable)

Setups filtering's boolean value. See comments for PxGroupsMask.

Parameters
[in]enableBoolean value for filter.
See also
PxSetFilterOps PxSsetFilterConstants

◆ PxSetFilterConstants()

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

Setups filtering's K0 and K1 value. See comments for PxGroupsMask.

Parameters
[in]c0The new group mask. See #PxGroupsMask.
[in]c1The new group mask. See #PxGroupsMask.
See also
PxSetFilterOps PxSetFilterBool PxGetFilterConstants

◆ PxSetFilterOps()

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

Setups filtering operations. See comments for PxGroupsMask.

Parameters
[in]op0Filter op 0.
[in]op1Filter op 1.
[in]op2Filter op 2.
See also
PxSetFilterBool PxSetFilterConstants

◆ PxSetGroup()

void physx::PxSetGroup ( PxActor &  actor,
const PxU16  collisionGroup 
)

Sets which collision group this actor is part of.

Note
Collision group is an integer between 0 and 31.
Parameters
[in]actorThe actor
[in]collisionGroupCollision group this actor belongs to
See also
PxGetGroup

◆ PxSetGroupCollisionFlag()

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

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

Note
Collision group is an integer between 0 and 31.
Parameters
[in]group1First Group
[in]group2Second Group
[in]enableTrue to enable collision between the groups
See also
PxGetGroupCollisionFlag

◆ PxSetGroupsMask()

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

Sets 64-bit mask used for collision filtering. See comments for PxGroupsMask.

Parameters
[in]actorThe actor
[in]maskThe group mask to set for the actor.
See also
PxGetGroupsMask()

◆ PxSetPhysXCommonDelayLoadHook()

void physx::PxSetPhysXCommonDelayLoadHook ( const physx::PxDelayLoadHook *  hook)

Sets delay load hook instance for PhysXCommon dll.

Parameters
[in]hookDelay load hook.
See also
PxDelayLoadHook

◆ PxSetPhysXCookingDelayLoadHook()

void physx::PxSetPhysXCookingDelayLoadHook ( const physx::PxDelayLoadHook *  hook)

Sets delay load hook instance for PhysXCooking dll.

Parameters
[in]hookDelay load hook.
See also
PxDelayLoadHook

◆ PxSetPhysXDelayLoadHook()

void physx::PxSetPhysXDelayLoadHook ( const physx::PxDelayLoadHook *  hook)

Sets delay load hook instance for PhysX dll.

Parameters
[in]hookDelay load hook.
See also
PxDelayLoadHook

◆ PxShortestRotation()

PX_FOUNDATION_API PxQuat physx::PxShortestRotation ( const PxVec3 &  from,
const PxVec3 &  target 
)

finds the shortest rotation between two vectors.

Parameters
[in]fromthe vector to start from
[in]targetthe vector to rotate to
Returns
a rotation about an axis normal to the two vectors which takes one to the other via the shortest path

◆ PxSin()

PX_CUDA_CALLABLE PX_FORCE_INLINE float physx::PxSin ( float  a)

trigonometry – all angles are in radians.

Sine of an angle ( Unit: Radians )

◆ PxSlerp()

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

Spherical linear interpolation of two quaternions.

Parameters
[in]tis the interpolation parameter in range (0, 1)
[in]leftis the start of the interpolation
[in]rightis the end of the interpolation
Returns
Returns left when t=0, right when t=1 and a linear interpolation of left and right when 0 < t < 1. Returns angle between -PI and PI in radians

◆ PxSphericalJointCreate()

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

Create a spherical joint.

Parameters
[in]physicsThe physics SDK
[in]actor0An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in]localFrame0The position and orientation of the joint relative to actor0
[in]actor1An actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in]localFrame1The position and orientation of the joint relative to actor1
See also
PxSphericalJoint

◆ PxTanHalf()

PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal physx::PxTanHalf ( PxReal  sin,
PxReal  cos 
)

Compute tan(theta/2) given sin(theta) and cos(theta) as inputs.

Parameters
[in]sinhas value sin(theta)
[in]coshas value cos(theta)
Returns
Returns tan(theta/2)

◆ PxTransformFromPlaneEquation()

PX_FOUNDATION_API PxTransform physx::PxTransformFromPlaneEquation ( const PxPlane &  plane)

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

Parameters
[in]planethe desired plane equation
Returns
a PxTransform which will transform the plane PxPlane(1,0,0,0) to the specified plane

◆ PxTransformFromSegment()

PX_FOUNDATION_API PxTransform physx::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

Parameters
[in]p0one end of major axis of the capsule
[in]p1the other end of the axis of the capsule
[out]halfHeightthe halfHeight of the capsule. This parameter is optional.
Returns
A PxTransform which will transform the vector (1,0,0) to the capsule axis shrunk by the halfHeight

◆ PxVehicle4WEnable3WDeltaMode()

void physx::PxVehicle4WEnable3WDeltaMode ( PxVehicleWheelsSimData &  wheelsSimData,
PxVehicleWheelsDynData &  wheelsDynData,
PxVehicleDriveSimData4W &  driveSimData,
const PxVehicleContext &  context = PxVehicleGetDefaultContext() 
)

Reconfigure a PxVehicle4W instance as a three-wheeled car with delta config (1 front wheel, 2 rear wheels)

Note
The front-left wheel is removed and the front-right wheel is positioned at the centre of the front axle. The suspension of the front-right wheel is modified to support the entire mass of the front car while preserving its natural frequency and damping ratio.
Parameters
[in,out]wheelsSimDatais the data describing the wheels/suspensions/tires of the vehicle.
[in,out]wheelsDynDatais the data describing the dynamic state of the wheels of the vehicle.
[in,out]driveSimDatais the data describing the drive model of the vehicle.
[in]contextthe vehicle context to use for the setup.

◆ PxVehicle4WEnable3WTadpoleMode()

void physx::PxVehicle4WEnable3WTadpoleMode ( PxVehicleWheelsSimData &  wheelsSimData,
PxVehicleWheelsDynData &  wheelsDynData,
PxVehicleDriveSimData4W &  driveSimData,
const PxVehicleContext &  context = PxVehicleGetDefaultContext() 
)

Reconfigure a PxVehicle4W instance as a three-wheeled car with tadpole config (2 front wheels, 1 rear wheel)

Note
The rear-left wheel is removed and the rear-right wheel is positioned at the centre of the rear axle. The suspension of the rear-right wheel is modified to support the entire mass of the front car while preserving its natural frequency and damping ratio.
Parameters
[in,out]wheelsSimDatais the data describing the wheels/suspensions/tires of the vehicle.
[in,out]wheelsDynDatais the data describing the dynamic state of the wheels of the vehicle.
[in,out]driveSimDatais the data describing the drive model of the vehicle.
[in]contextthe vehicle context to use for the setup.

◆ PxVehicleComputeSprungMasses()

void physx::PxVehicleComputeSprungMasses ( const PxU32  nbSprungMasses,
const PxVec3 *  sprungMassCoordinates,
const PxVec3 &  centreOfMass,
const PxReal  totalMass,
const PxU32  gravityDirection,
PxReal *  sprungMasses 
)

Compute the sprung masses of the suspension springs given (i) the number of sprung masses, (ii) coordinates of the sprung masses, (iii) the center of mass offset of the rigid body, (iv) the total mass of the rigid body, and (v) the direction of gravity (0 for x-axis, 1 for y-axis, 2 for z-axis).

Parameters
[in]nbSprungMassesis the number of sprung masses of the vehicle. This value corresponds to the number of wheels on the vehicle.
[in]sprungMassCoordinatesare the coordinates of the sprung masses relative to the actor. The array sprungMassCoordinates must be of length nbSprungMasses or greater.
[in]centreOfMassis the coordinate of the center of mass of the rigid body relative to the actor. This value corresponds to the value set by PxRigidBody::setCMassLocalPose.
[in]totalMassis the total mass of all the sprung masses. This value corresponds to the value set by PxRigidBody::setMass.
[in]gravityDirectionis an integer describing the direction of gravitational acceleration. A value of 0 corresponds to (-1,0,0), a value of 1 corresponds to (0,-1,0) and a value of 2 corresponds to (0,0,-1).
[out]sprungMassesare the masses to set in the associated suspension data with PxVehicleSuspensionData::mSprungMass. The sprungMasses array must be of length nbSprungMasses or greater. Each element in the sprungMasses array corresponds to the suspension located at the same array element in sprungMassCoordinates. The center of mass of the masses in sprungMasses with the coordinates in sprungMassCoordinates satisfy the specified centerOfMass.

◆ PxVehicleComputeTireForceDefault()

void physx::PxVehicleComputeTireForceDefault ( const void *  shaderData,
const PxF32  tireFriction,
const PxF32  longSlip,
const PxF32  latSlip,
const PxF32  camber,
const PxF32  wheelOmega,
const PxF32  wheelRadius,
const PxF32  recipWheelRadius,
const PxF32  restTireLoad,
const PxF32  normalisedTireLoad,
const PxF32  tireLoad,
const PxF32  gravity,
const PxF32  recipGravity,
PxF32 &  wheelTorque,
PxF32 &  tireLongForceMag,
PxF32 &  tireLatForceMag,
PxF32 &  tireAlignMoment 
)

Default implementation of PxVehicleComputeTireForce.

See also
PxVehicleComputeTireForce, PxVehicleTireForceCalculator

◆ PxVehicleCopyDynamicsData()

void physx::PxVehicleCopyDynamicsData ( const PxVehicleCopyDynamicsMap &  wheelMap,
const PxVehicleWheels &  src,
PxVehicleWheels *  trg 
)

Copy dynamics data from src to trg, including wheel rotation speed, wheel rotation angle, engine rotation speed etc.

Parameters
[in]wheelMap- describes the mapping between the wheels in src and the wheels in trg.
[in]src- according to the wheel mapping stored in wheelMap, the dynamics data in src wheels are copied to the corresponding wheels in trg.
[out]trg- according to wheel mapping stored in wheelMap, the wheels in trg are given the dynamics data of the corresponding wheels in src.
Note
wheelMap must specify a unique mapping between the wheels in src and the wheels in trg.
In the event that src has fewer wheels than trg, wheelMap must specify a unique mapping between each src wheel to a trg wheel.
In the event that src has more wheels than trg, wheelMap must specify a unique mapping to each trg wheel from a src wheel.
In the event that src has fewer wheels than trg, the trg wheels that are not mapped to a src wheel are given the average wheel rotation speed of all enabled src wheels.
src and trg must be the same vehicle type.

◆ PxVehicleDrive4WSmoothAnalogRawInputsAndSetAnalogInputs()

void physx::PxVehicleDrive4WSmoothAnalogRawInputsAndSetAnalogInputs ( const PxVehiclePadSmoothingData &  padSmoothing,
const PxFixedSizeLookupTable< 8 > &  steerVsForwardSpeedTable,
const PxVehicleDrive4WRawInputData &  rawInputData,
const PxReal  timestep,
const bool  isVehicleInAir,
PxVehicleDrive4W &  focusVehicle,
const PxVehicleSteerFilter &  steerFilter = PxVehicleSteerFilter(),
const PxVec3 &  forwardAxis = PxVehicleGetDefaultContext().forwardAxis 
)

Used to smooth and set analog vehicle control values from analog inputs (gamepad). Also used to set boolean gearup, geardown values.

Parameters
[in]padSmoothingdescribes how quickly the control values applied to the vehicle blend from the current vehicle values towards the raw analog values from the gamepad.
[in]steerVsForwardSpeedTableis a table of maximum allowed steer versus forward vehicle speed.
[in]rawInputDatais the state of all gamepad analog inputs that will be used control the vehicle.
[in]timestepis the time that has passed since the last call to PxVehicleDrive4WSmoothAnalogRawInputsAndSetAnalogInputs
[in]isVehicleInAirdescribes if the vehicle is in the air or on the ground and is used to decide whether or not to apply steerVsForwardSpeedTable.
[in]focusVehicleis the vehicle that will be given analog control values arising from the gamepad inputs.
[in]steerFilteris an optional smoothing filter for the steering angle.
[in]forwardAxisThe axis denoting the local space forward direction of the vehicle.

◆ PxVehicleDrive4WSmoothDigitalRawInputsAndSetAnalogInputs()

void physx::PxVehicleDrive4WSmoothDigitalRawInputsAndSetAnalogInputs ( const PxVehicleKeySmoothingData &  keySmoothing,
const PxFixedSizeLookupTable< 8 > &  steerVsForwardSpeedTable,
const PxVehicleDrive4WRawInputData &  rawInputData,
const PxReal  timestep,
const bool  isVehicleInAir,
PxVehicleDrive4W &  focusVehicle,
const PxVehicleSteerFilter &  steerFilter = PxVehicleSteerFilter(),
const PxVec3 &  forwardAxis = PxVehicleGetDefaultContext().forwardAxis 
)

Used to smooth and set analog vehicle control values (accel,brake,handbrake,steer) from digital inputs (keyboard). Also used to set boolean gearup, geardown values.

Parameters
[in]keySmoothingdescribes the rise and fall rates of the corresponding analog values when keys are pressed on and off.
[in]steerVsForwardSpeedTableis a table of maximum allowed steer versus forward vehicle speed.
[in]rawInputDatais the state of all digital inputs that control the vehicle.
[in]timestepis the time that has passed since the last call to PxVehicleDrive4WSmoothDigitalRawInputsAndSetAnalogInputs
[in]isVehicleInAirdescribes if the vehicle is in the air or on the ground and is used to decide whether or not to apply steerVsForwardSpeedTable.
[in]focusVehicleis the vehicle that will be given analog and gearup/geardown control values arising from the digital inputs.
[in]steerFilteris an optional smoothing filter for the steering angle.
[in]forwardAxisThe axis denoting the local space forward direction of the vehicle.

◆ PxVehicleDriveNWSmoothAnalogRawInputsAndSetAnalogInputs()

void physx::PxVehicleDriveNWSmoothAnalogRawInputsAndSetAnalogInputs ( const PxVehiclePadSmoothingData &  padSmoothing,
const PxFixedSizeLookupTable< 8 > &  steerVsForwardSpeedTable,
const PxVehicleDriveNWRawInputData &  rawInputData,
const PxReal  timestep,
const bool  isVehicleInAir,
PxVehicleDriveNW &  focusVehicle,
const PxVehicleSteerFilter &  steerFilter = PxVehicleSteerFilter(),
const PxVec3 &  forwardAxis = PxVehicleGetDefaultContext().forwardAxis 
)

Used to smooth and set analog vehicle control values from analog inputs (gamepad). Also used to set boolean gearup, geardown values.

Parameters
[in]padSmoothingdescribes how quickly the control values applied to the vehicle blend from the current vehicle values towards the raw analog values from the gamepad.
[in]steerVsForwardSpeedTableis a table of maximum allowed steer versus forward vehicle speed.
[in]rawInputDatais the state of all gamepad analog inputs that will be used control the vehicle.
[in]timestepis the time that has passed since the last call to PxVehicleDriveNWSmoothAnalogRawInputsAndSetAnalogInputs
[in]isVehicleInAirdescribes if the vehicle is in the air or on the ground and is used to decide whether or not to apply steerVsForwardSpeedTable.
[in]focusVehicleis the vehicle that will be given analog control values arising from the gamepad inputs.
[in]steerFilteris an optional smoothing filter for the steering angle.
[in]forwardAxisThe axis denoting the local space forward direction of the vehicle.

◆ PxVehicleDriveNWSmoothDigitalRawInputsAndSetAnalogInputs()

void physx::PxVehicleDriveNWSmoothDigitalRawInputsAndSetAnalogInputs ( const PxVehicleKeySmoothingData &  keySmoothing,
const PxFixedSizeLookupTable< 8 > &  steerVsForwardSpeedTable,
const PxVehicleDriveNWRawInputData &  rawInputData,
const PxReal  timestep,
const bool  isVehicleInAir,
PxVehicleDriveNW &  focusVehicle,
const PxVehicleSteerFilter &  steerFilter = PxVehicleSteerFilter(),
const PxVec3 &  forwardAxis = PxVehicleGetDefaultContext().forwardAxis 
)

Used to smooth and set analog vehicle control values (accel,brake,handbrake,steer) from digital inputs (keyboard). Also used to set boolean gearup, geardown values.

Parameters
[in]keySmoothingdescribes the rise and fall rates of the corresponding analog values when keys are pressed on and off.
[in]steerVsForwardSpeedTableis a table of maximum allowed steer versus forward vehicle speed.
[in]rawInputDatais the state of all digital inputs that control the vehicle.
[in]timestepis the time that has passed since the last call to PxVehicleDriveNWSmoothDigitalRawInputsAndSetAnalogInputs
[in]isVehicleInAirdescribes if the vehicle is in the air or on the ground and is used to decide whether or not to apply steerVsForwardSpeedTable.
[in]focusVehicleis the vehicle that will be given analog and gearup/geardown control values arising from the digital inputs.
[in]steerFilteris an optional smoothing filter for the steering angle.
[in]forwardAxisThe axis denoting the local space forward direction of the vehicle.

◆ PxVehicleDriveTankSmoothAnalogRawInputsAndSetAnalogInputs()

void physx::PxVehicleDriveTankSmoothAnalogRawInputsAndSetAnalogInputs ( const PxVehiclePadSmoothingData &  padSmoothing,
const PxVehicleDriveTankRawInputData &  rawInputData,
const PxReal  timestep,
PxVehicleDriveTank &  focusVehicle 
)

Used to smooth and set analog tank control values from analog inputs (gamepad). Also used to set boolean gearup, geardown values.

Parameters
[in]padSmoothingdescribes how quickly the control values applied to the vehicle blend from the current vehicle values towards the raw analog values from the gamepad.
[in]rawInputDatais the state of all gamepad analog inputs that will be used control the vehicle.
[in]timestepis the time that has passed since the last call to PxVehicleDriveTankSmoothAnalogRawInputsAndSetAnalogInputs
[in]focusVehicleis the vehicle that will be given analog control values arising from the gamepad inputs.

◆ PxVehicleDriveTankSmoothDigitalRawInputsAndSetAnalogInputs()

void physx::PxVehicleDriveTankSmoothDigitalRawInputsAndSetAnalogInputs ( const PxVehicleKeySmoothingData &  keySmoothing,
const PxVehicleDriveTankRawInputData &  rawInputData,
const PxReal  timestep,
PxVehicleDriveTank &  focusVehicle 
)

Used to smooth and set analog tank control values from digital inputs (keyboard). Also used to set boolean gearup, geardown values.

Parameters
[in]keySmoothingdescribes the rise and fall rates of the corresponding analog values when keys are pressed on and off.
[in]rawInputDatais the state of all digital inputs that control the vehicle.
[in]timestepis the time that has passed since the last call to PxVehicleDriveTankSmoothDigitalRawInputsAndSetAnalogInputs
[in]focusVehicleis the vehicle that will be given analog and gearup/geardown control values arising from the digital inputs.

◆ PxVehicleGetDefaultContext()

const PxVehicleContext & physx::PxVehicleGetDefaultContext ( )

Get the default vehicle context.

Will be used if the corresponding parameters are not specified in methods like PxVehicleUpdates() etc.

To set the default values, see the methods PxVehicleSetBasisVectors(), PxVehicleSetUpdateMode() etc.

Returns
The default vehicle context.
See also
PxVehicleSetBasisVectors() PxVehicleSetUpdateMode()

◆ PxVehicleIsInAir()

bool physx::PxVehicleIsInAir ( const PxVehicleWheelQueryResult &  vehWheelQueryResults)

Test if all wheels of a vehicle are in the air by querying the wheel query data stored in the last call to PxVehicleUpdates. If all wheels are in the air then true is returned.

Note
False is returned if any wheel can reach to the ground.
If vehWheelQueryResults.wheelQueryResults is NULL or vehWheelQueryResults.nbWheelQueryResults is 0 then true is returned. This function does not account for wheels that have been disabled since the last execution of PxVehicleUpdates so it is possible that wheels disabled more recently than the last call to PxVehicleUpdates report are treated as touching the ground.
Returns
True if the vehicle is in the air, false if any wheel is touching the ground.

◆ PxVehicleModifyWheelContacts()

PxU32 physx::PxVehicleModifyWheelContacts ( const PxVehicleWheels &  vehicle,
const PxU32  wheelId,
const PxF32  wheelTangentVelocityMultiplier,
const PxReal  maxImpulse,
PxContactModifyPair &  contactModifyPair,
const PxVehicleContext &  context = PxVehicleGetDefaultContext() 
)

A function called from PxContactModifyCallback::onContactModify. The function determines if rigid body contact points recorded for the wheel's PxShape are likely to be duplicated and resolved by the wheel's suspension raycast. Contact points that will be resolved by the suspension are ignored. Contact points that are accepted (rather than ignored) are modified to account for the effect of the suspension geometry and the angular speed of the wheel.

Parameters
[in]vehicleis a reference to the PxVehicleWheels instance that owns the wheel
[in]wheelIdis the id of the wheel
[in]wheelTangentVelocityMultiplierdetermines the amount of wheel angular velocity that is used to modify the target relative velocity of the contact. The target relative velocity is modified by adding a vector equal to the tangent velocity of the rotating wheel at the contact point and scaled by wheelTangentVelocityMultiplier. The value of wheelTangentVelocityMultiplier is limited to the range (0,1). Higher values mimic higher values of friction and tire load, while lower values mimic lower values of friction and tire load.
[in]maxImpulsedetermines the maximum impulse strength that the contacts can apply when a wheel is in contact with a PxRigidDynamic. This value is ignored for contacts with PxRigidStatic instances.
[in,out]contactModifyPairdescribes the set of contacts involving the PxShape of the specified wheel and one other shape. The contacts in the contact set are ignored or modified as required.
[in]contextthe vehicle context to use for the contact modification.
Note
Contact points are accepted or rejected using the threshold angles specified in the function PxVehicleSetSweepHitRejectionAngles.
If a contact point is not rejected it is modified to account for the wheel rotation speed.
Set maxImpulse to PX_MAX_F32 to allow any impulse value to be applied.
Reduce maxImpulse if the wheels are frequently colliding with light objects with mass much less than the vehicle's mass. Reducing this value encourages numerical stability.
See also
PxContactModifyCallback::onContactModify, PxVehicleSetSweepHitRejectionAngles, PxVehicleContext

◆ PxVehiclePostUpdates()

void physx::PxVehiclePostUpdates ( const PxVehicleConcurrentUpdateData *  vehicleConcurrentUpdates,
const PxU32  nbVehicles,
PxVehicleWheels **  vehicles,
const PxVehicleContext &  context = PxVehicleGetDefaultContext() 
)

Apply actor changes that were computed in concurrent calls to PxVehicleUpdates or PxVehicleUpdateSingleVehicleAndStoreTelemetryData but which could not be safely applied due to the concurrency.

Parameters
[in]vehicleConcurrentUpdatesis an array of length nbVehicles where vehicleConcurrentUpdates[i] contains data describing actor changes that were computed for vehicles[i] during concurrent calls to PxVehicleUpdates or PxVehicleUpdateSingleVehicleAndStoreTelemetryData.
[in]nbVehiclesis the number of vehicles pointers in the vehicles array
[in,out]vehiclesis an array of length nbVehicles containing all vehicles that were partially updated in concurrent calls to PxVehicleUpdates or PxVehicleUpdateSingleVehicleAndStoreTelemetryData.
[in]contextthe vehicle context to use for the vehicle post update.
See also
PxVehicleUpdates, PxVehicleUpdateSingleVehicleAndStoreTelemetryData

◆ PxVehicleSetBasisVectors()

void physx::PxVehicleSetBasisVectors ( const PxVec3 &  up,
const PxVec3 &  forward 
)

Set the basis vectors of the vehicle simulation.

See PxVehicleContext for the default values.

Call this function before using PxVehicleUpdates unless the default values are correct or the settings structure is explicitly provided.

See also
PxVehicleContext

◆ PxVehicleSetMaxHitActorAcceleration()

void physx::PxVehicleSetMaxHitActorAcceleration ( const PxF32  maxHitActorAcceleration)

Determine the maximum acceleration experienced by PxRigidDynamic instances that are found to be in contact with a wheel.

Note
Newton's Third Law states that every force has an equal and opposite force. As a consequence, forces applied to the suspension must be applied to dynamic objects that lie under the wheel. This can lead to instabilities, particularly when a heavy wheel is driving on a light object. The value of maxHitActorAcceleration clamps the applied force so that it never generates an acceleration greater than the specified value.

See PxVehicleContext for the default value.

See also
PxVehicleContext

◆ PxVehicleSetSweepHitRejectionAngles()

void physx::PxVehicleSetSweepHitRejectionAngles ( const PxF32  pointRejectAngle,
const PxF32  normalRejectAngle 
)

Set threshold angles that are used to determine if a wheel hit is to be resolved by vehicle suspension or by rigid body collision.

Note
^ N ___ |**

%%% %%% ** %%% %%% ** / / %%% %%% / / %%% %%% / C / %%% | ** %%% / | ** / %%% | %%%/ | X
%%% | %%% / **_| ^ | / D %%% | %%% / | / | / | / |
^ | S |/

The diagram above depicts a wheel centered at "C" that has hit an inclined plane at point "X".
The inclined plane has unit normal "N", while the suspension direction has unit vector "S". The unit vector from the wheel center to the hit point is "D". Hit points are analyzed by comparing the unit vectors D and N with the suspension direction S. This analysis is performed in the contact modification callback PxVehicleModifyWheelContacts (when enabled) and in PxVehicleUpdates (when non-blocking sweeps are enabled). If the angle between D and S is less than pointRejectAngle the hit is accepted by the suspension in PxVehicleUpdates and rejected by the contact modification callback PxVehicleModifyWheelContacts. If the angle between -N and S is less than normalRejectAngle the hit is accepted by the suspension in PxVehicleUpdates and rejected by the contact modification callback PxVehicleModifyWheelContacts.

Parameters
pointRejectAngleis the threshold angle used when comparing the angle between D and S.
normalRejectAngleis the threshold angle used when comparing the angle between -N and S.
Note
PxVehicleUpdates ignores the rejection angles for raycasts and for sweeps that return blocking hits.
Both angles have default values of Pi/4.
See also
PxVehicleSuspensionSweeps, PxVehicleModifyWheelContacts, PxVehicleContext

◆ PxVehicleSetUpdateMode()

void physx::PxVehicleSetUpdateMode ( PxVehicleUpdateMode::Enum  vehicleUpdateMode)

Set the effect of PxVehicleUpdates to be either to modify each vehicle's rigid body actor.

with an acceleration to be applied in the next PhysX SDK update or as an immediate velocity modification.

See PxVehicleContext for the default value.

Call this function before using PxVehicleUpdates for the first time if the default is not the desired behavior or if the settings structure is not explicitly provided.

See also
PxVehicleUpdates, PxVehicleContext

◆ PxVehicleShiftOrigin()

void physx::PxVehicleShiftOrigin ( const PxVec3 &  shift,
const PxU32  nbVehicles,
PxVehicleWheels **  vehicles 
)

Shift the origin of vehicles by the specified vector.

Call this method to adjust the internal data structures of vehicles to reflect the shifted origin location (the shift vector will get subtracted from all world space spatial data).

Note
It is the user's responsibility to keep track of the summed total origin shift and adjust all input/output to/from PhysXVehicle accordingly.
This call will not automatically shift the PhysX scene and its objects. You need to call PxScene::shiftOrigin() seperately to keep the systems in sync.
Parameters
[in]shiftis the translation vector to shift the origin by.
[in]nbVehiclesis the number of vehicles in the vehicles array.
[in,out]vehiclesis an array of all vehicles that should be updated to map to the new scene origin.

◆ PxVehicleSuspensionRaycasts()

void physx::PxVehicleSuspensionRaycasts ( PxBatchQueryExt *  batchQuery,
const PxU32  nbVehicles,
PxVehicleWheels **  vehicles,
const bool *  vehiclesToRaycast = NULL,
const PxQueryFlags  queryFlags = PxQueryFlag::eSTATIC | PxQueryFlag::eDYNAMIC | PxQueryFlag::ePREFILTER 
)

Perform raycasts for all suspension lines for all vehicles.

Parameters
[in]batchQueryis a PxBatchQueryExt instance used to specify shader data and functions for the raycast scene queries.
[in]nbVehiclesis the number of vehicles in the vehicles array.
[in]vehiclesis an array of all vehicles that are to have a raycast issued from each wheel.
[in]vehiclesToRaycastis an array of bools of length nbVehicles that is used to decide if raycasts will be performed for the corresponding vehicle in the vehicles array. If vehiclesToRaycast[i] is true then suspension line raycasts will be performed for vehicles[i]. If vehiclesToRaycast[i] is false then suspension line raycasts will not be performed for vehicles[i].
[in]queryFlagsfilter flags for the batched scene queries
Note
If vehiclesToRaycast is NULL then raycasts are performed for all vehicles in the vehicles array.
If vehiclesToRaycast[i] is false then the vehicle stored in vehicles[i] will automatically use the raycast or sweep hit planes recorded by the most recent suspension sweeps or raycasts for that vehicle. For vehicles far from the camera or not visible on the screen it can be optimal to only perform suspension line raycasts every Nth update rather than every single update. The accuracy of the cached contact plane naturally diminishes as N increase, meaning that wheels might start to hover or intersect the ground for large values of N or even with values close to 1 in conjunction with large vehicle speeds and/or geometry that has low spatial coherence.
Calling setToRestState invalidates any cached hit planes. Prior to calling PxVehicleUpdates each vehicle needs to perform suspension line raycasts or sweeps at least once after instantiation and at least once after calling setToRestState.
Each raycast casts along the suspension travel direction from the position of the top of the wheel at maximum suspension compression to the position of the base of the wheel at maximum droop. Raycasts that start inside a PxShape are subsequently ignored by the corresponding vehicle.
Only blocking hits are supported (PxQueryHitType::eBLOCK).
See also
PxVehicleDrive4W::setToRestState, PxVehicleDriveNW::setToRestState, PxVehicleDriveTank::setToRestState, PxVehicleNoDrive::setToRestState
PxBatchQueryExt::raycast

◆ PxVehicleSuspensionSweeps()

void physx::PxVehicleSuspensionSweeps ( PxBatchQueryExt *  batchQuery,
const PxU32  nbVehicles,
PxVehicleWheels **  vehicles,
const PxU16  nbHitsPerQuery,
const bool *  vehiclesToSweep = NULL,
const PxF32  sweepWidthScale = 1.0f,
const PxF32  sweepRadiusScale = 1.0f,
const PxF32  sweepInflation = 0.0f,
const PxQueryFlags  queryFlags = PxQueryFlag::eSTATIC | PxQueryFlag::eDYNAMIC | PxQueryFlag::ePREFILTER,
const PxVehicleContext &  context = PxVehicleGetDefaultContext() 
)

Perform sweeps for all suspension lines for all vehicles.

Parameters
[in]batchQueryis a PxBatchQueryExt instance used to specify shader data and functions for the sweep scene queries.
[in]nbVehiclesis the number of vehicles in the vehicles array.
[in]vehiclesis an array of all vehicles that are to have a sweep issued from each wheel.
[in]nbHitsPerQueryis the maximum numbers of hits that will be returned for each query.
[in]vehiclesToSweepis an array of bools of length nbVehicles that is used to decide if sweeps will be performed for the corresponding vehicle in the vehicles array. If vehiclesToSweep[i] is true then suspension sweeps will be performed for vehicles[i]. If vehiclesToSweep[i] is false then suspension sweeps will not be performed for vehicles[i].
[in]sweepWidthScalescales the geometry of the wheel used in the sweep. Values < 1 result in a thinner swept wheel, while values > 1 result in a fatter swept wheel.
[in]sweepRadiusScalescales the geometry of the wheel used in the sweep. Values < 1 result in a smaller swept wheel, while values > 1 result in a larger swept wheel.
[in]sweepInflationInflation parameter for sweeps. This is the inflation parameter from PxScene::sweep(). It inflates the shape and makes it rounder, which gives smoother and more reliable normals.
[in]queryFlagsfilter flags for the batched scene queries
[in]contextthe vehicle context to use for the suspension sweeps.
Note
If vehiclesToSweep is NULL then sweeps are performed for all vehicles in the vehicles array.
If vehiclesToSweep[i] is false then the vehicle stored in vehicles[i] will automatically use the most recent sweep or raycast hit planes recorded by the most recent suspension sweeps or raycasts for that vehicle. For vehicles far from the camera or not visible on the screen it can be optimal to only perform suspension queries every Nth update rather than every single update. The accuracy of the cached contact plane naturally diminishes as N increase, meaning that wheels might start to hover or intersect the ground for large values of N or even with values close to 1 in conjunction with large vehicle speeds and/or geometry that has low spatial coherence.
Calling setToRestState invalidates any cached hit planes. Prior to calling PxVehicleUpdates each vehicle needs to perform suspension raycasts or sweeps at least once after instantiation and at least once after calling setToRestState.
Each sweep casts the wheel's shape along the suspension travel direction from the position of the top of the wheel at maximum suspension compression to the position of the base of the wheel at maximum droop. Sweeps that start inside a PxShape are subsequently ignored by the corresponding vehicle.
A scale can be applied to the shape so that a modified shape is swept through the scene. The parameters sweepWidthScale and sweepRadiusScale scale the swept wheel shape in the width and radial directions. It is sometimes a good idea to sweep a thinner wheel to allow contact with other dynamic actors to be resolved first before attempting to drive on them.
Blocking hits (PxQueryHitType::eBLOCK) and non-blocking hits (PxQueryHitType::TOUCH) are supported. If the pre-and post-filter functions of the PxBatchQuery instance are set up to return blocking hits it is recommended to set nbHitsPerQuery = 1. If the filter functions returns touch hits then it is recommended to set nbHitsPerQuery > 1. The exact value depends on the expected complexity of the geometry that lies under the wheel. For complex geometry, especially with dynamic objects, it is recommended to use non-blocking hits. The vehicle update function will analyze all returned hits and choose the most appropriate using the thresholds set in PxVehicleSetSweepHitRejectionAngles.
See also
PxVehicleDrive4W::setToRestState, PxVehicleDriveNW::setToRestState, PxVehicleDriveTank::setToRestState, PxVehicleNoDrive::setToRestState
PxBatchQueryExt::sweep PxScene::sweep()
PxVehicleSetSweepHitRejectionAngles

◆ PxVehicleUpdateCMassLocalPose()

void physx::PxVehicleUpdateCMassLocalPose ( const PxTransform &  oldCMassLocalPose,
const PxTransform &  newCMassLocalPose,
const PxU32  gravityDirection,
PxVehicleWheels *  vehicle 
)

Reconfigure the vehicle to reflect a new center of mass local pose that has been applied to the actor. The function requires (i) the center of mass local pose that was last used to configure the vehicle and the vehicle's actor, (ii) the new center of mass local pose that has been applied to the vehicle's actor and will now be applied to the vehicle, and (iii) the direction of gravity (0 for x-axis, 1 for y-axis, 2 for z-axis)

Parameters
[in]oldCMassLocalPoseis the center of mass local pose that was last used to configure the vehicle.
[in]newCMassLocalPoseis the center of mass local pose that will be used to configure the vehicle so that it matches the vehicle's actor.
[in]gravityDirectionis an integer describing the direction of gravitational acceleration. A value of 0 corresponds to (0,0,-1), a value of 1 corresponds to (0,-1,0) and a value of 2 corresponds to (0,0,-1).
[in,out]vehicleis the vehicle to be updated with a new center of mass local pose.
Note
This function does not update the center of mass of the vehicle actor. That needs to updated separately with PxRigidBody::setCMassLocalPose
The suspension sprung masses are updated so that the natural frequency and damping ratio of the springs are preserved. This involves altering the stiffness and damping rate of the suspension springs.

◆ PxVehicleUpdates()

void physx::PxVehicleUpdates ( const PxReal  timestep,
const PxVec3 &  gravity,
const PxVehicleDrivableSurfaceToTireFrictionPairs &  vehicleDrivableSurfaceToTireFrictionPairs,
const PxU32  nbVehicles,
PxVehicleWheels **  vehicles,
PxVehicleWheelQueryResult *  vehicleWheelQueryResults,
PxVehicleConcurrentUpdateData *  vehicleConcurrentUpdates = NULL,
const PxVehicleContext &  context = PxVehicleGetDefaultContext() 
)

Update an array of vehicles by either applying an acceleration to the rigid body actor associated with each vehicle or by an immediate update of the velocity of the actor.

Note
The update mode (acceleration or velocity change) can be selected with PxVehicleSetUpdateMode.
Parameters
[in]timestepis the timestep of the update
[in]gravityis the value of gravitational acceleration
[in]vehicleDrivableSurfaceToTireFrictionPairsdescribes the mapping between each PxMaterial ptr and an integer representing a surface type. It also stores the friction value for each combination of surface and tire type.
[in]nbVehiclesis the number of vehicles pointers in the vehicles array
[in,out]vehiclesis an array of length nbVehicles containing all vehicles to be updated by the specified timestep
[out]vehicleWheelQueryResultsis an array of length nbVehicles storing the wheel query results of each corresponding vehicle and wheel in the vehicles array. A NULL pointer is permitted.
[out]vehicleConcurrentUpdatesis an array of length nbVehicles. It is only necessary to specify vehicleConcurrentUpdates if PxVehicleUpdates is called concurrently (also concurrently with PxVehicleUpdateSingleVehicleAndStoreTelemetryData). The element vehicleConcurrentUpdates[i] of the array stores data that is computed for vehicle[i] during PxVehicleUpdates but which cannot be safely written when concurrently called. The data computed and stored in vehicleConcurrentUpdates must be passed to PxVehiclePostUpdates, where it is applied to all relevant actors in sequence. A NULL pointer is permitted.
[in]contextthe vehicle context to use for the vehicle update.
Note
The vehicleWheelQueryResults buffer must persist until the end of PxVehicleUpdates.
The vehicleWheelQueryResults buffer is left unmodified for vehicles with sleeping rigid bodies whose control inputs indicate they should remain inert.
If PxVehicleUpdates is called concurrently then vehicleConcurrentUpdates must be specified. Do not specify vehicleConcurrentUpdates if PxVehicleUpdates is not called concurrently.
The vehicleConcurrentUpdates buffer must persist until the end of PxVehiclePostUpdate.
If any vehicle has one or more disabled wheels (PxVehicleWheelsSimData::disableWheel) then the disabled wheels must not be associated with a PxShape (PxVehicleWheelsSimData::setWheelShapeMapping); the differential of the vehicle must be configured so that no drive torque is delivered to a disabled wheel; and the wheel must have zero rotation speed (PxVehicleWheelsDynData::setWheelRotationSpeed)
Concurrent calls to PxVehicleUpdates and PxVehicleUpdateSingleVehicleAndStoreTelemetryData are permitted if the parameter vehicleConcurrentUpdates is used.
See also
PxVehicleSetUpdateMode, PxVehicleWheelsSimData::disableWheel, PxVehicleWheelsSimData::setWheelShapeMapping, PxVehicleWheelsDynData::setWheelRotationSpeed, PxVehiclePostUpdates

◆ PxvInit()

void physx::PxvInit ( const PxvOffsetTable &  offsetTable)

Initialize low-level implementation.

◆ PxvRegisterHeightFields()

void physx::PxvRegisterHeightFields ( )

Initialize low-level implementation.

◆ PxvTerm()

void physx::PxvTerm ( )

Shut down low-level implementation.

◆ rotate()

PX_INLINE void physx::rotate ( const Gu::Box &  src,
const PxMat34 &  mtx,
Gu::Box &  obb 
)

recomputes the OBB after an arbitrary transform by a 4x4 matrix.

Parameters
mtx[in] the transform matrix
obb[out] the transformed OBB

Variable Documentation

◆ boxVertexTable

PX_PHYSX_COMMON_API const aos::BoolV physx::boxVertexTable
Initial value:
= {
aos::BFFFF(),
aos::BTFFF(),
aos::BFTFF(),
aos::BTTFF(),
aos::BFFTF(),
aos::BTFTF(),
aos::BFTTF(),
aos::BTTTF(),
}

◆ g_GetSingleMaterialMethodTable

PxcGetSingleMaterialMethod physx::g_GetSingleMaterialMethodTable
Initial value:
=
{
PxcGetMaterialShape,
PxcGetMaterialShape,
PxcGetMaterialShape,
PxcGetMaterialShape,
PxcGetMaterialShape,
PxcGetMaterialSoftBody,
PxcGetMaterialSoftBody,
PxcGetMaterialMesh,
PxcGetMaterialHeightField,
PxcGetMaterialSoftBody,
PxcGetMaterialShape,
}

◆ PxVehicleComputeTireForce

PX_DEPRECATED typedef void(* physx::PxVehicleComputeTireForce) (const void *shaderData, const PxF32 tireFriction, const PxF32 longSlip, const PxF32 latSlip, const PxF32 camber, const PxF32 wheelOmega, const PxF32 wheelRadius, const PxF32 recipWheelRadius, const PxF32 restTireLoad, const PxF32 normalisedTireLoad, const PxF32 tireLoad, const PxF32 gravity, const PxF32 recipGravity, PxF32 &wheelTorque, PxF32 &tireLongForceMag, PxF32 &tireLatForceMag, PxF32 &tireAlignMoment) ( const void *  shaderData,
const PxF32  tireFriction,
const PxF32  longSlip,
const PxF32  latSlip,
const PxF32  camber,
const PxF32  wheelOmega,
const PxF32  wheelRadius,
const PxF32  recipWheelRadius,
const PxF32  restTireLoad,
const PxF32  normalisedTireLoad,
const PxF32  tireLoad,
const PxF32  gravity,
const PxF32  recipGravity,
PxF32 &  wheelTorque,
PxF32 &  tireLongForceMag,
PxF32 &  tireLatForceMag,
PxF32 &  tireAlignMoment 
)

Prototype of shader function that is used to compute wheel torque and tire forces.

Parameters
[in]shaderDatais the shader data for the tire being processed. The shader data describes the tire data in the format required by the tire model that is implemented by the shader function.
[in]tireFrictionis the value of friction for the contact between the tire and the ground.
[in]longSlipis the value of longitudinal slip experienced by the tire.
[in]latSlipis the value of lateral slip experienced by the tire.
[in]camberis the camber angle of the tire in radians.
[in]wheelOmegais the rotational speed of the wheel.
[in]wheelRadiusis the distance from the tire surface to the center of the wheel.
[in]recipWheelRadiusis the reciprocal of wheelRadius.
[in]restTireLoadis the load force experienced by the tire when the vehicle is at rest.
[in]normalisedTireLoadis a pre-computed value equal to the load force on the tire divided by restTireLoad.
[in]tireLoadis the load force currently experienced by the tire (= restTireLoad*normalisedTireLoad)
[in]gravityis the magnitude of gravitational acceleration.
[in]recipGravityis the reciprocal of the magnitude of gravitational acceleration.
[out]wheelTorqueis the torque that is to be applied to the wheel around the wheel's axle.
[out]tireLongForceMagis the magnitude of the longitudinal tire force to be applied to the vehicle's rigid body.
[out]tireLatForceMagis the magnitude of the lateral tire force to be applied to the vehicle's rigid body.
[out]tireAlignMomentis the aligning moment of the tire that is to be applied to the vehicle's rigid body (not currently used).
See also
PxVehicleWheelsDynData::setTireForceShaderFunction, PxVehicleWheelsDynData::setTireForceShaderData