Physics
Configuration include file for PhysX SDK.
Classes
PxAABBManager: High-level broadphase API.
PxActor: PxActor is the base class for the main simulation objects in the physics SDK.
PxAggregate: Class to aggregate actors into a single broad-phase entry.
PxArticulationAttachment: Defines a spatial tendon attachment point on a link.
PxArticulationCache: Data structure used to read and write internal articulation data.
PxArticulationFixedTendon: A fixed tendon that can be used to link multiple degrees of freedom of multiple articulation joints via length and limit constraints.
PxArticulationJointReducedCoordinate: A joint between two links in an articulation.
PxArticulationLink: A component of an articulation that represents a rigid body.
PxArticulationReducedCoordinate: A tree structure of bodies connected by joints that is treated as a unit by the dynamics solver.
PxArticulationSensor: A force sensor that can be attached to articulation links to measure spatial force.
PxArticulationSpatialTendon: A spatial tendon that attaches to an articulation.
PxArticulationTendon: Common API base class shared by PxArticulationSpatialTendon and PxArticulationFixedTendon .
PxArticulationTendonJoint: Defines a fixed-tendon joint on an articulation joint degree of freedom.
PxArticulationTendonLimit: Defines the low/high limits of the length of a tendon.
PxBaseMaterial: Base material class.
PxBroadPhase: Low-level broadphase API.
PxBroadPhaseCallback: Broad-phase callback to receive broad-phase related events.
PxBroadPhaseDesc: Broadphase descriptor.
PxBroadPhaseRegions: Broadphase regions.
PxBroadPhaseUpdateData: Broadphase data update structure.
PxCCDContactModifyCallback: An interface class that the user can implement in order to modify CCD contact constraints.
PxConstraint: A plugin class for implementing constraints.
PxConstraintConnector: This class connects a custom constraint to the SDK.
PxConstraintVisualizer: API used to visualize details about a constraint.
PxContactModifyCallback: An interface class that the user can implement in order to modify contact constraints.
PxContactModifyPair: An array of instances of this class is passed to PxContactModifyCallback::onContactModify() .
PxContactSet: An array of contact points, as passed to contact modification.
PxDeletionListener: interface to get notification on object deletion
PxDiffuseParticleParams: Parameters to configure the behavior of diffuse particles.
PxFEMClothMaterial: Material class to represent a set of FEM material properties.
PxFEMMaterial: Material class to represent a set of FEM material properties.
PxFEMSoftBodyMaterial: Material class to represent a set of softbody FEM material properties.
PxFLIPMaterial: Material class to represent a set of FLIP particle material properties.
PxGpuParticleSystem: Container class for a GPU particle system.
PxLockedData: Parent class for bulk data that is shared between the SDK and the application.
PxMPMMaterial: Material class to represent a set of MPM particle material properties.
PxMaterial: Material class to represent a set of surface properties.
PxMultiCallback: Special callback that forwards calls to arbitrarily many sub-callbacks.
PxNeighborhoodIterator: An iterator class to iterate over the neighbors of a particle during particle system simulation.
PxPBDMaterial: Material class to represent a set of PBD particle material properties.
PxPBDParticleSystem: A particle system that uses the position based dynamics(PBD) solver.
PxParticleAndDiffuseBuffer: A particle buffer used to simulate diffuse particles.
PxParticleBuffer: The shared base class for all particle buffers, can be instantiated directly to simulate granular and fluid particles.
PxParticleClothBuffer: A particle buffer used to simulate particle cloth.
PxParticleClothPreProcessor: Preprocessor to prepare particle cloths for simulation.
PxParticleMaterial: Material class to represent a set of particle material properties.
PxParticleRigidBuffer: A particle buffer used to simulate rigid bodies using shape matching with particles.
PxParticleSystem: The shared base class for all particle systems.
PxParticleSystemCallback: Particle system callback base class to schedule work that should be done before, while or after the particle system updates.
PxPhysics: Abstract singleton factory class used for instancing objects in the Physics SDK.
PxPruningStructure: A precomputed pruning structure to accelerate scene queries against newly added actors.
PxRigidActor: PxRigidActor represents a base class shared between dynamic and static rigid bodies in the physics SDK.
PxRigidBody: PxRigidBody is a base class shared between dynamic rigid body objects.
PxRigidDynamic: PxRigidDynamic represents a dynamic rigid simulation object in the physics SDK.
PxRigidStatic: PxRigidStatic represents a static rigid body simulation object in the physics SDK.
PxScene: A scene is a collection of bodies and constraints which can interact.
PxSceneDesc: Descriptor class for scenes.
PxSceneLimits: Class used to retrieve limits(e.g.
PxSceneQueryDesc: Descriptor class for scene query system.
PxSceneQuerySystem: Scene-queries external sub-system for PxScene-based objects.
PxSceneQuerySystemBase: Base class for the scene-query system.
PxSceneReadLock: RAII wrapper for the PxScene read lock.
PxSceneSQSystem: Traditional SQ system for PxScene .
PxSceneWriteLock: RAII wrapper for the PxScene write lock.
PxShape: Abstract class for collision shapes.
PxSimulationEventCallback: An interface class that the user can implement in order to receive simulation events.
PxSimulationFilterCallback: Filter callback to specify handling of collision pairs.
PxSimulationStatistics: Class used to retrieve statistics for a simulation step.
PxSoftBody: Represents a FEM softbody including everything to calculate its definition like geometry and material properties.
PxStringTable: a table to manage strings.
Macros
PX_DEF_BIN_METADATA_BASE_CLASS: specifies a binary metadata entry for declaring a base class
PX_DEF_BIN_METADATA_CLASS: specifies a binary metadata entry for a class
PX_DEF_BIN_METADATA_EXTRA_ALIGN: specifies a binary metadata entry declaring an extra data alignment for a class
PX_DEF_BIN_METADATA_EXTRA_ARRAY: specifies a binary metadata entry for an array of extra data
PX_DEF_BIN_METADATA_EXTRA_ITEM: specifies a binary metadata entry for extra data
PX_DEF_BIN_METADATA_EXTRA_ITEMS: specifies a binary metadata entry for an array of extra data
PX_DEF_BIN_METADATA_EXTRA_ITEMS_MASKED_CONTROL: specifies a binary metadata entry for an array of extra data additional to PX_DEF_BIN_METADATA_EXTRA_ITEMS a mask can be specified to interpret the control value
PX_DEF_BIN_METADATA_EXTRA_NAME: specifies a binary metadata entry for an string of extra data
PX_DEF_BIN_METADATA_ITEM: specifies a binary metadata entry for a member variable of a class
PX_DEF_BIN_METADATA_ITEMS: specifies a binary metadata entry for a member array variable of a class
PX_DEF_BIN_METADATA_ITEMS_AUTO: specifies a binary metadata entry for a member array variable of a class
PX_DEF_BIN_METADATA_TYPEDEF: specifies a binary metadata entry for a typedef
PX_DEF_BIN_METADATA_UNION: specifies a binary metadata entry for a union
PX_DEF_BIN_METADATA_UNION_TYPE: specifies a binary metadata entry for a particular member type of a union
PX_DEF_BIN_METADATA_VCLASS: specifies a binary metadata entry for a virtual class
PX_INVALID_BP_FILTER_GROUP: Invalid broadphase filter group.
PX_MAX_TETID: The maximum tetrahedron index supported in the model.
Enumerations
PxScenePrunerIndex: Built-in enum for default PxScene pruners.
Functions
PxConfigureSoftBodyKinematicTarget(const PxVec4 &target, bool isActive): Adjusts a softbody kinematic target such that it is properly set as active or inactive.
PxConfigureSoftBodyKinematicTarget(const PxVec3 &target, bool isActive): Sets up a softbody kinematic target such that it is properly set as active or inactive.
PxContactPair::bufferContacts(PxContactPair *newPair, PxU8 *bufferMemory) const: Helper method to clone the contact pair and copy the contact data stream into a user buffer.
PxContactPair::extractContacts(PxContactPairPoint *userBuffer, PxU32 bufferSize) const: Extracts the contact points from the stream and stores them in a convenient format.
PxCreateAABBManager(PxBroadPhase &broadphase): AABB manager factory function.
PxCreateBroadPhase(const PxBroadPhaseDesc &desc): Broadphase factory function.
PxCreateParticleClothPreProcessor(physx::PxCudaContextManager *cudaContextManager): Create a particle cloth preprocessor.
PxCreatePhysics(physx::PxU32 version, physx::PxFoundation &foundation, const physx::PxTolerancesScale &scale, bool trackOutstandingAllocations=false, physx::PxPvd *pvd=NULL, physx::PxOmniPvd *omniPvd=NULL): Creates an instance of the physics SDK.
PxFilterObjectIsKinematic(PxFilterObjectAttributes attr): Specifies whether the collision object belongs to a kinematic rigid body.
PxFilterObjectIsTrigger(PxFilterObjectAttributes attr): Specifies whether the collision object is a trigger shape.
PxGetAggregateFilterHint(PxAggregateType::Enum type, bool enableSelfCollision)
PxGetBroadPhaseDynamicFilterGroup(PxU32 id): Retrieves a filter group for dynamic objects.
PxGetBroadPhaseKinematicFilterGroup(PxU32 id): Retrieves a filter group for kinematic objects.
PxGetBroadPhaseStaticFilterGroup(): Retrieves the filter group for static objects.
PxGetFilterObjectType(PxFilterObjectAttributes attr): Extract filter object type from the filter attributes of a collision pair object.
PxGetPhysics(): Retrieves the Physics SDK after it has been created.
PxSceneDesc::PxSceneDesc(const PxTolerancesScale &scale): constructor sets to default.
PxSceneDesc::isValid() const: Returns true if the descriptor is valid.
PxSceneDesc::setToDefault(): (re)sets the structure to the default.
PxSceneDesc::setToDefault(const PxTolerancesScale &scale): (re)sets the structure to the default.
PxSceneLimits::PxSceneLimits(): constructor sets to default
PxSceneLimits::isValid() const: Returns true if the descriptor is valid.
PxSceneLimits::setToDefault(): (re)sets the structure to the default
PxSceneQueryDesc::PxSceneQueryDesc(): constructor sets to default.
PxSceneQueryDesc::isValid() const: Returns true if the descriptor is valid.
Structs
Px1DConstraint: A one-dimensional constraint.
Px1DConstraintFlag: Constraint row flags.
PxActorCacheFlag: Identifies each type of information for retrieving from actor.
PxActorFlag: Flags which control the behavior of an actor.
PxActorType: Identifies each type of actor.
PxActorTypeFlag: Identifies each type of actor for retrieving actors from a scene.
PxArticulationDrive: Data structure for articulation joint drive configuration.
PxArticulationKinematicFlag: Flag that configures articulation-state updates by PxArticulationReducedCoordinate::updateKinematic .
PxArticulationLimit: Data structure to set articulation joint limits.
PxArticulationRootLinkData: Data structure used to access the root link state and acceleration.
PxArticulationSensorFlag: Flags to configure the forces reported by articulation link sensors.
PxBroadPhaseCaps: Caps class for broad phase.
PxBroadPhasePair: Broadphase pair.
PxBroadPhaseRegion: "Region of interest" for the broad-phase.
PxBroadPhaseRegionInfo: Information & stats structure for a region.
PxBroadPhaseResults: Broadphase results.
PxBroadPhaseType: Broad phase algorithm used in the simulation.
PxCombineMode: Enumeration that determines the way in which two material properties will be combined to yield a friction or restitution coefficient for a collision.
PxConeLimitParams: Compressed form of cone limit parameters.
PxConeLimitedConstraint: A constraint descriptor for limiting movement to a conical region.
PxConstraintFlag: constraint flags
PxConstraintInfo: Descriptor for a broken constraint.
PxConstraintInvMassScale: Struct for specifying mass scaling for a pair of rigids.
PxConstraintShaderTable: a table of function pointers for a constraint
PxConstraintSolveHint: Constraint type hints which the solver uses to optimize constraint handling.
PxConstraintVisualizationFlag: Flags for determining which components of the constraint should be visualized.
PxContact: Contact point data.
PxContactPair: Contact report pair information.
PxContactPairExtraDataItem: Base class for items in the extra data stream of contact pairs.
PxContactPairExtraDataIterator: A class to iterate over a contact pair extra data stream.
PxContactPairExtraDataType: Extra data item types for contact pairs.
PxContactPairFlag: Collection of flags providing information on contact report pairs.
PxContactPairHeader: An Instance of this class is passed to PxSimulationEventCallback.onContact() .
PxContactPairHeaderFlag: Collection of flags providing information on contact report pairs.
PxContactPairIndex: Marker for the beginning of a new item set in the extra data stream.
PxContactPairPoint: A contact point as used by contact notification.
PxContactPairPose: World space actor poses of the contact pair rigid bodies.
PxContactPairVelocity: Velocities of the contact pair rigid bodies.
PxContactPatch: Header for a contact patch where all points share same material and normal.
PxContactStreamIterator: A class to iterate over a compressed contact stream.
PxDeletionEventFlag: Flags specifying deletion event types.
PxDominanceGroupPair: Expresses the dominance relationship of a contact.
PxDynamicTreeSecondaryPruner: Secondary pruning structure used for newly added objects in dynamic trees.
PxExtendedContact: Contact point data with additional target and max impulse values.
PxFilterData: PxFilterData is user-definable data which gets passed into the collision filtering shader and/or callback.
PxFilterFlag: Collection of flags describing the filter actions to take for a collision pair.
PxFilterObjectType: Identifies each type of filter object.
PxForceMode: Parameter to addForce() and addTorque() calls, determines the exact operation that is carried out.
PxFrictionType: Enum for selecting the friction algorithm used for simulation.
PxGpuActorPair: Pair correspondence used for matching array indices with body node indices.
PxGpuBodyData: State of a body used when interfacing with the GPU rigid body pipeline.
PxGpuContactPair: Contains contact information for a contact reported by the direct-GPU contact report API.
PxGpuMirroredPointer: Container to hold a pair of corresponding device and host pointers.
PxGpuParticleData: Structure that holds simulation parameters of a PxGpuParticleSystem .
PxIndexDataPair: Maps numeric index to a data pointer.
PxMPMCuttingFlag: Optional MPM modes that improve the quality of fracture and/or cutting.
PxMPMMaterialModel: MPM material models.
PxMPMSurfaceType: MPM surface types that influence interaction between particles and obstacles.
PxMaterialFlag: Flags which control the behavior of a material.
PxMetaDataEntry: Struct to store meta data definitions.
PxModifiableContact: A modifiable contact point.
PxPairFlag: Collection of flags describing the actions to take for a collision pair.
PxParticleCloth: Particle cloth structure.
PxParticleClothDesc: Structure to describe the set of particle cloths in the same PxParticleClothBuffer .
PxParticleFlag: Flags which control the behaviour of a particle system.
PxParticleRigidAttachment: Struct to specify attachment between a particle/vertex and a rigid.
PxParticleRigidFilterPair: Struct for storing a particle/vertex - rigid filter pair with comparison operators.
PxParticleSolverType: Identifies the solver to use for a particle system.
PxParticleSpring: Holds all the information for a spring constraint between two particles.
PxParticleVolume: Particle volume structure.
PxPartitionedParticleCloth: Structure to describe the output of the particle cloth preprocessing.
PxPruningStructureType: Pruning structure used to accelerate scene queries.
PxPvdUpdateType: Flags for determining how PVD should serialize a constraint update.
PxRigidBodyFlag: Collection of flags describing the behavior of a rigid body.
PxRigidDynamicLockFlag: Collection of flags providing a mechanism to lock motion along/around a specific axis.
PxSceneFlag: flags for configuring properties of the scene
PxSceneQueryUpdateMode: Scene query update mode.
PxShapeFlag: Flags which affect the behavior of PxShapes.
PxSoftBodyFlag: Flags to enable or disable special modes of a SoftBody.
PxSolverType: Enum for selecting the type of solver used for the simulation.
PxSparseGridParams: Parameters to define the sparse grid settings like grid spacing, maximal number of subgrids etc.
PxSpatialForce: Data structure to represent spatial forces.
PxSpatialVelocity: Data structure to represent spatial velocities.
PxTriggerPair: Descriptor for a trigger pair.
PxTriggerPairFlag: Collection of flags providing information on trigger report pairs.
PxVisualizationParameter: Debug visualization parameters.
PxgDynamicsMemoryConfig: Sizes of pre-allocated buffers use for GPU dynamics.
PxsParticleMaterialData: Common material properties for particles.
Typedefs
PxActorCacheFlags: Collection of set bits defined in PxActorCacheFlag .
PxActorFlags: collection of set bits defined in PxActorFlag .
PxActorTypeFlags: Collection of set bits defined in PxActorTypeFlag .
PxBpFilterGroup: Broadphase filter group.
PxBpIndex: Broadphase index. Indexes bounds, groups and distance arrays.
PxConstraintFlags: constraint flags
PxConstraintSolverPrep: Solver constraint generation shader.
PxConstraintVisualize: Solver constraint visualization function.
PxContactPairFlags: Bitfield that contains a set of raised flags defined in PxContactPairFlag .
PxContactPairHeaderFlags: Bitfield that contains a set of raised flags defined in PxContactPairHeaderFlag .
PxDataAccessFlags: collection of set bits defined in PxDataAccessFlag .
PxDeletionEventFlags: Collection of set bits defined in PxDeletionEventFlag .
PxFilterFlags: Bitfield that contains a set of raised flags defined in PxFilterFlag .
PxFilterObjectAttributes: Structure which gets passed into the collision filtering shader and/or callback providing additional information on objects of a collision pair.
PxMaterialFlags: collection of set bits defined in PxMaterialFlag .
PxPairFlags: Bitfield that contains a set of raised flags defined in PxPairFlag .
PxRigidBodyFlags: collection of set bits defined in PxRigidBodyFlag .
PxSceneFlags: collection of set bits defined in PxSceneFlag .
PxShapeFlags: collection of set bits defined in PxShapeFlag .
PxSimulationFilterShader: Filter method to specify how a pair of potentially colliding objects should be processed.
PxTriggerPairFlags: Bitfield that contains a set of raised flags defined in PxTriggerPairFlag .
Enumerations
-
enum PxScenePrunerIndex
Built-in enum for default PxScene pruners.
This is passed as a pruner index to various functions in the following APIs.
See also
PxSceneQuerySystem::visualize PxSceneQuerySystem::sync PxSceneQuerySystem::prepareSceneQueryBuildStep
Values:
-
enumerator PX_SCENE_PRUNER_STATIC
-
enumerator PX_SCENE_PRUNER_DYNAMIC
-
enumerator PX_SCENE_COMPOUND_PRUNER
-
enumerator PX_SCENE_PRUNER_STATIC
Functions
-
inline PxVec4 PxConfigureSoftBodyKinematicTarget(const PxVec4 &target, bool isActive)
Adjusts a softbody kinematic target such that it is properly set as active or inactive.
Inactive targets will not affect vertex position, they are ignored by the solver.
- Parameters
target – [in] The kinematic target
isActive – [in] A boolean indicating if the returned target should be marked as active or not
- Returns
The target with adjusted w component
-
inline PxVec4 PxConfigureSoftBodyKinematicTarget(const PxVec3 &target, bool isActive)
Sets up a softbody kinematic target such that it is properly set as active or inactive.
Inactive targets will not affect vertex position, they are ignored by the solver.
- Parameters
target – [in] The kinematic target
isActive – [in] A boolean indicating if the returned target should be marked as active or not
- Returns
The target with configured w component
-
PxAABBManager *PxCreateAABBManager(PxBroadPhase &broadphase)
AABB manager factory function.
Use this function to create a new standalone high-level broadphase.
See also
- Parameters
broadphase – [in] The broadphase that will be managed by the AABB manager
- Returns
Newly created AABB manager, or NULL
-
PxBroadPhase *PxCreateBroadPhase(const PxBroadPhaseDesc &desc)
Broadphase factory function.
Use this function to create a new standalone broadphase.
See also
- Parameters
desc – [in] Broadphase descriptor
- Returns
Newly created broadphase, or NULL
-
physx::PxParticleClothPreProcessor *PxCreateParticleClothPreProcessor(physx::PxCudaContextManager *cudaContextManager)
Create a particle cloth preprocessor.
See PxParticleClothDesc, PxPartitionedParticleCloth.
- Parameters
cudaContextManager – [in] A cuda context manager.
-
physx::PxPhysics *PxCreatePhysics(physx::PxU32 version, physx::PxFoundation &foundation, const physx::PxTolerancesScale &scale, bool trackOutstandingAllocations = false, physx::PxPvd *pvd = NULL, physx::PxOmniPvd *omniPvd = NULL)
Creates an instance of the physics SDK.
Creates an instance of this class. May not be a class member to avoid name mangling. Pass the constant PX_PHYSICS_VERSION as the argument. There may be only one instance of this class per process. Calling this method after an instance has been created already will result in an error message and NULL will be returned.
See also
- Parameters
version – Version number we are expecting (should be PX_PHYSICS_VERSION)
foundation – Foundation instance (see PxFoundation)
scale – values used to determine default tolerances for objects at creation time
trackOutstandingAllocations – true if you want to track memory allocations so a debugger connection partway through your physics simulation will get an accurate map of everything that has been allocated so far. This could have a memory and performance impact on your simulation hence it defaults to off.
pvd – When pvd points to a valid PxPvd instance (PhysX Visual Debugger), a connection to the specified PxPvd instance is created. If pvd is NULL no connection will be attempted.
omniPvd – When omniPvd points to a valid PxOmniPvd instance PhysX will sample its internal structures to the defined OmniPvd output streams set in the PxOmniPvd object.
- Returns
PxPhysics instance on success, NULL if operation failed
-
inline bool PxFilterObjectIsKinematic(PxFilterObjectAttributes attr)
Specifies whether the collision object belongs to a kinematic rigid body.
See also
- Parameters
attr – [in] The filter attribute of a collision pair object
- Returns
True if the object belongs to a kinematic rigid body, else false
-
inline bool PxFilterObjectIsTrigger(PxFilterObjectAttributes attr)
Specifies whether the collision object is a trigger shape.
See also
- Parameters
attr – [in] The filter attribute of a collision pair object
- Returns
True if the object is a trigger shape, else false
-
inline PxAggregateFilterHint PxGetAggregateFilterHint(PxAggregateType::Enum type, bool enableSelfCollision)
-
inline PxU32 PxGetAggregateSelfCollisionBit(PxAggregateFilterHint hint)
-
inline PxAggregateType::Enum PxGetAggregateType(PxAggregateFilterHint hint)
-
PxBpFilterGroup 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.
See also
- Parameters
id – [in] ID/Index of dynamic object
- Returns
Filter group for the object.
-
PxBpFilterGroup 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.
See also
- Parameters
id – [in] ID/Index of kinematic object
- Returns
Filter group for the object.
-
PxBpFilterGroup 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.
See also
- Returns
Filter group for static objects.
-
inline PxFilterObjectType::Enum PxGetFilterObjectType(PxFilterObjectAttributes attr)
Extract filter object type from the filter attributes of a collision pair object.
See also
- Parameters
attr – [in] The filter attribute of a collision pair object
- Returns
The type of the collision pair object.
-
physx::PxPhysics &PxGetPhysics()
Retrieves the Physics SDK after it has been created.
Before using this function the user must call PxCreatePhysics().
Note
The behavior of this method is undefined if the Physics SDK instance has not been created already.
Typedefs
-
typedef PxFlags<Px1DConstraintFlag::Type, PxU16> Px1DConstraintFlags
-
typedef PxFlags<PxActorCacheFlag::Enum, PxU16> PxActorCacheFlags
Collection of set bits defined in PxActorCacheFlag.
See also
-
typedef PxFlags<PxActorFlag::Enum, PxU8> PxActorFlags
collection of set bits defined in PxActorFlag.
See also
-
typedef PxFlags<PxActorTypeFlag::Enum, PxU16> PxActorTypeFlags
Collection of set bits defined in PxActorTypeFlag.
See also
-
typedef PxFlags<PxArticulationFlag::Enum, PxU8> PxArticulationFlags
-
typedef physx::PxFlags<PxArticulationKinematicFlag::Enum, PxU8> PxArticulationKinematicFlags
-
typedef PxFlags<PxArticulationMotion::Enum, PxU8> PxArticulationMotions
-
typedef physx::PxFlags<PxArticulationSensorFlag::Enum, PxU8> PxArticulationSensorFlags
-
typedef PxFlags<PxConstraintFlag::Enum, PxU16> PxConstraintFlags
constraint flags
See also
-
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.
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.
- Param constraints
[out] An array of solver constraint rows to be filled in
- Param bodyAWorldOffset
[out] The 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.
- Param maxConstraints
[in] The size of the constraint buffer. At most this many constraints rows may be written
- Param invMassScale
[out] The inverse mass and inertia scales for the constraint
- Param constantBlock
[in] The constant data block
- Param bodyAToWorld
[in] The 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)
- Param bodyBToWorld
[in] The 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)
- Param useExtendedLimits
[in] Enables limit ranges outside of (-PI, PI)
- Param cAtW
[out] The world space location of body A’s joint frame (position only)
- Param cBtW
[out] The world space location of body B’s joint frame (position only)
- Return
the number of constraint rows written.
-
typedef void (*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
See also
- Param visualizer
[out] The render buffer to render to
- Param constantBlock
[in] The constant data block
- Param body0Transform
[in] The center of mass frame of the first constrained body (the identity if the actor is static, or a NULL pointer was provided for it)
- Param body1Transform
[in] The center of mass frame of the second constrained body (the identity if the actor is static, or a NULL pointer was provided for it)
- Param flags
[in] The visualization flags (PxConstraintVisualizationFlag)
-
typedef PxFlags<PxContactPairFlag::Enum, PxU16> PxContactPairFlags
Bitfield that contains a set of raised flags defined in PxContactPairFlag.
See also
-
typedef PxFlags<PxContactPairHeaderFlag::Enum, PxU16> PxContactPairHeaderFlags
Bitfield that contains a set of raised flags defined in PxContactPairHeaderFlag.
See also
-
typedef PxFlags<PxDataAccessFlag::Enum, PxU8> PxDataAccessFlags
collection of set bits defined in PxDataAccessFlag.
See also
-
typedef PxFlags<PxDeletionEventFlag::Enum, PxU8> PxDeletionEventFlags
Collection of set bits defined in PxDeletionEventFlag.
See also
-
typedef PxFlags<PxFilterFlag::Enum, PxU16> PxFilterFlags
Bitfield that contains a set of raised flags defined in PxFilterFlag.
See also
-
typedef PxU32 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()
-
typedef PxFlags<PxMPMCuttingFlag::Enum, PxU16> PxMPMCuttingFlags
-
typedef PxFlags<PxMaterialFlag::Enum, PxU16> PxMaterialFlags
collection of set bits defined in PxMaterialFlag.
See also
-
typedef PxFlags<PxPairFlag::Enum, PxU16> PxPairFlags
Bitfield that contains a set of raised flags defined in PxPairFlag.
See also
-
typedef PxFlags<PxParticleFlag::Enum, PxU32> PxParticleFlags
-
typedef PxFlags<PxRigidBodyFlag::Enum, PxU16> PxRigidBodyFlags
collection of set bits defined in PxRigidBodyFlag.
See also
-
typedef PxFlags<PxRigidDynamicLockFlag::Enum, PxU8> PxRigidDynamicLockFlags
-
typedef void *PxSQBuildStepHandle
-
typedef PxFlags<PxSceneFlag::Enum, PxU32> PxSceneFlags
collection of set bits defined in PxSceneFlag.
See also
-
typedef PxFlags<PxShapeFlag::Enum, PxU8> PxShapeFlags
collection of set bits defined in PxShapeFlag.
See also
-
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.
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.
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
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
See also
PxSimulationFilterCallback PxFilterData PxFilterObjectAttributes PxFilterFlag PxFilterFlags PxPairFlag PxPairFlags PxSceneDesc.filterShader
Note
A default implementation of a filter shader is provided in the PhysX extensions library, see PxDefaultSimulationFilterShader.
Note
Certain pairs of objects are always ignored and this method does not get called. This is the case for the following pairs:
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).
- Param attributes0
[in] The filter attribute of the first object
- Param filterData0
[in] The custom filter data of the first object
- Param attributes1
[in] The filter attribute of the second object
- Param filterData1
[in] The custom filter data of the second object
- Param pairFlags
[out] Flags giving additional information on how an accepted pair should get processed
- Param constantBlock
[in] The constant global filter data (see PxSceneDesc.filterShaderData)
- Param constantBlockSize
[in] Size of the global filter data (see PxSceneDesc.filterShaderDataSize)
- Return
Filter flags defining whether the pair should be discarded, temporarily ignored, processed and whether the filter callback should get invoked for this pair.
-
typedef PxFlags<PxSoftBodyFlag::Enum, PxU32> PxSoftBodyFlags
-
typedef PxFlags<PxTriggerPairFlag::Enum, PxU8> PxTriggerPairFlags
Bitfield that contains a set of raised flags defined in PxTriggerPairFlag.
See also