Physics
![]() |
Classes | |
struct | PxActorFlag |
Flags which control the behavior of an actor. More... | |
struct | PxActorType |
Identifies each type of actor. More... | |
class | PxActor |
PxActor is the base class for the main simulation objects in the physics SDK. More... | |
class | PxAggregate |
Class to aggregate actors into a single broad phase entry. More... | |
class | PxArticulation |
a tree structure of bodies connected by joints that is treated as a unit by the dynamics solver More... | |
class | PxArticulationJoint |
a joint between two links in an articulation. More... | |
class | PxArticulationLink |
a component of an articulation that represents a rigid body More... | |
struct | PxBatchQueryStatus |
struct | PxRaycastQueryResult |
Struct for the result of a batched raycast query. More... | |
struct | PxSweepQueryResult |
Struct for the result of a batched sweep query. More... | |
struct | PxOverlapQueryResult |
Struct for the result of a batched overlap query. More... | |
class | PxBatchQueryDesc |
Descriptor class for PxBatchQuery. More... | |
struct | PxConstraintShaderTable |
a table of function pointers for a constraint More... | |
class | PxConstraint |
a plugin class for implementing constraints More... | |
struct | PxConstraintFlag |
constraint flags More... | |
struct | Px1DConstraintFlag |
constraint row flags More... | |
struct | Px1DConstraint |
A constraint. More... | |
struct | PxConstraintVisualizationFlag |
flags for determining which components of the constraint should be visualized More... | |
class | PxConstraintVisualizer |
struct | PxPvdUpdateType |
class | PxConstraintConnector |
This class connects a custom constraint to the SDK. More... | |
struct | PxContactPointAux |
per-ontact point solver inputs as used by contact modification More... | |
class | PxContactSet |
An array of contact points, as passed to contact modification. More... | |
class | PxContactModifyPair |
An array of instances of this class is passed to PxContactModifyCallback::onContactModify(). More... | |
class | PxContactModifyCallback |
An interface class that the user can implement in order to modify contact constraints. More... | |
struct | PxPairFlag |
Collection of flags describing the actions to take for a collision pair. More... | |
struct | PxFilterFlag |
Collection of flags describing the filter actions to take for a collision pair. More... | |
struct | PxFilterData |
PxFilterData is user-definable data which gets passed into the collision filtering shader and/or callback. More... | |
struct | PxFilterObjectType |
Identifies each type of filter object. More... | |
struct | PxFilterObjectFlags |
class | PxSimulationFilterCallback |
Filter callback to specify handling of collision pairs. More... | |
struct | PxForceMode |
Parameter to addForce() and addTorque() calls, determines the exact operation that is carried out. More... | |
struct | PxDataAccessFlag |
class | PxLockedData |
Parent class for bulk data that is shared between the SDK and the application. More... | |
class | PxMaterial |
struct | PxMaterialFlag |
Flags which control the behavior of a material. 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... | |
class | PxObserver |
Observer interface to get notification on object state changes. More... | |
struct | PxObservableType |
Identifier for the different observable object types. More... | |
class | PxObservable |
Observable interface for classes which can send out state change notifications. More... | |
struct | PxCookingValue |
class | PxPhysics |
Abstract singleton factory class used for instancing objects in the Physics SDK. More... | |
class | PxRigidActor |
PxRigidActor represents a base class shared between dynamic and static rigid bodies in the physics SDK. More... | |
class | PxRigidBody |
PxRigidBody is a base class shared between dynamic rigid body objects. More... | |
struct | PxRigidDynamicFlag |
Collection of flags describing the behavior of a dynamic rigid body. More... | |
class | PxRigidDynamic |
PxRigidDynamic represents a dynamic rigid simulation object in the physics SDK. More... | |
class | PxRigidStatic |
PxRigidStatic represents a static rigid body simulation object in the physics SDK. More... | |
struct | PxActiveTransform |
Data struct for use with Active Transform Notification. Used with PxScene::getActiveTransforms(). More... | |
struct | PxConstraintDominance |
Expresses the dominance relationship of a constraint. For the time being only three settings are permitted:. More... | |
struct | PxActorTypeSelectionFlag |
Identifies each type of actor for retrieving actors from a scene. More... | |
struct | PxSceneQueryCache |
Hit cache for scene queries. More... | |
class | PxScene |
A scene is a collection of bodies, particle systems and constraints which can interact. More... | |
struct | PxPruningStructure |
Pruning structure used to accelerate scene queries (raycast, sweep tests, etc). 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 | PxSceneDesc |
Descriptor class for scenes. See PxScene. More... | |
struct | PxShapeFlag |
Flags which affect the behavior of PxShapes. More... | |
class | PxShape |
Abstract class for collision shapes. More... | |
struct | PxContactPairHeaderFlag |
Collection of flags providing information on contact report pairs. More... | |
struct | PxContactPairHeader |
An Instance of this class is passed to PxSimulationEventCallback.onContact(). More... | |
struct | PxContactPairFlag |
Collection of flags providing information on contact report pairs. More... | |
struct | PxContactPairPoint |
A contact point as used by contact notification. More... | |
struct | PxContactPair |
Contact report pair information. More... | |
struct | PxTriggerPairFlag |
Collection of flags providing information on trigger report pairs. More... | |
struct | PxTriggerPair |
Descriptor for a trigger pair. More... | |
struct | PxConstraintInfo |
Descriptor for a broken constraint. More... | |
class | PxSimulationEventCallback |
An interface class that the user can implement in order to receive simulation events. More... | |
class | PxSimulationStatistics |
Class used to retrieve statistics for a simulation step. More... | |
class | PxStringTable |
a table to manage strings. Strings allocated through this object are expected to be owned by this object. More... | |
struct | PxVisualizationParameter |
Debug visualization parameters. More... | |
Namespaces | |
namespace | physx |
namespace | pxtask |
Defines | |
#define | PX_USE_PARTICLE_SYSTEM_API 1 |
#define | PX_USE_CLOTH_API 1 |
#define | PX_SLEEP_INTERVAL (20.0f*0.02f) |
#define | PX_MAX_SWEEP_DISTANCE 1e8f |
Maximum sweep distance for scene sweeps. The distance parameter for sweep functions will be clamped to this value. The reason for this is GJK support cannot be evaluated near infinity. A viable alternative can be a sweep followed by an infinite raycast. | |
Typedefs | |
typedef PxU8 | PxDominanceGroup |
typedef PxFlags < PxActorFlag::Enum, PxU16 > | PxActorFlags |
collection of set bits defined in PxActorFlag. | |
typedef PxFlags < PxConstraintFlag::Type, PxU16 > | PxConstraintFlags |
constraint flags | |
typedef PxFlags < Px1DConstraintFlag::Type, PxU16 > | Px1DConstraintFlags |
typedef PxU32(* | PxConstraintSolverPrep )(Px1DConstraint *constraints, PxVec3 &body0WorldOffset, PxU32 maxConstraints, const void *constantBlock, const PxTransform &bodyAToWorld, const PxTransform &bodyBToWorld) |
typedef void(* | PxConstraintProject )(const void *constantBlock, PxTransform &bodyAToWorld, PxTransform &bodyBToWorld, bool projectToA) |
typedef void(* | PxConstraintVisualize )(PxConstraintVisualizer &visualizer, const void *constantBlock, const PxTransform &body0Transform, const PxTransform &body1Transform, PxU32 flags) |
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 shader to specify handling of collision pairs. | |
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 < PxRigidDynamicFlag::Enum, PxU16 > | PxRigidDynamicFlags |
collection of set bits defined in PxRigidDynamicFlag. | |
typedef PxU8 | PxDominanceGroup |
typedef PxFlags < PxActorTypeSelectionFlag::Enum, PxU16 > | PxActorTypeSelectionFlags |
Collection of set bits defined in PxActorTypeSelectionFlag. | |
typedef PxFlags < PxSceneFlag::Enum, PxU16 > | PxSceneFlags |
collection of set bits defined in PxSceneFlag. | |
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. | |
Functions | |
PX_FLAGS_OPERATORS (PxActorFlag::Enum, PxU16) | |
PX_FLAGS_OPERATORS (PxConstraintFlag::Type, PxU16) | |
PX_FLAGS_OPERATORS (Px1DConstraintFlag::Type, PxU16) | |
PX_FLAGS_OPERATORS (PxPairFlag::Enum, PxU16) | |
PX_FLAGS_OPERATORS (PxFilterFlag::Enum, PxU16) | |
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. | |
PX_FLAGS_OPERATORS (PxDataAccessFlag::Enum, PxU8) | |
PX_FLAGS_OPERATORS (PxMaterialFlag::Enum, PxU16) | |
PX_C_EXPORT PX_PHYSX_CORE_API physx::PxU32 PX_CALL_CONV | PxGetValue (physx::PxCookingValue::Enum cookValue) |
Reads an internal value (cooking format version). | |
PX_C_EXPORT PX_PHYSX_CORE_API void PX_CALL_CONV | PxRegisterArticulations (physx::PxPhysics &physics) |
Registers optional components for articulations. | |
PX_C_EXPORT PX_PHYSX_CORE_API void PX_CALL_CONV | PxRegisterHeightFields (physx::PxPhysics &physics) |
Registers optional components for height field collision. | |
PX_C_EXPORT PX_PHYSX_CORE_API physx::PxPhysics *PX_CALL_CONV | PxCreateBasePhysics (physx::PxU32 version, physx::PxFoundation &foundation, const physx::PxTolerancesScale &scale, bool trackOutstandingAllocations=false, physx::PxProfileZoneManager *profileZoneManager=NULL) |
Creates an instance of the physics SDK with minimal additional components registered. | |
PX_INLINE physx::PxPhysics * | PxCreatePhysics (physx::PxU32 version, physx::PxFoundation &foundation, const physx::PxTolerancesScale &scale, bool trackOutstandingAllocations=false, physx::PxProfileZoneManager *profileZoneManager=NULL) |
Creates an instance of the physics SDK. | |
PX_C_EXPORT PX_PHYSX_CORE_API void PX_CALL_CONV | PxGetSDKMetaData (const physx::PxPhysics &physics, physx::PxOutputStream &stream) |
Retrieves the PhysX SDKmetadata. | |
PX_C_EXPORT PX_PHYSX_CORE_API physx::PxPhysics &PX_CALL_CONV | PxGetPhysics () |
Retrieves the Physics SDK after it has been created. | |
PX_FLAGS_OPERATORS (PxRigidDynamicFlag::Enum, PxU16) | |
PX_FLAGS_OPERATORS (PxActorTypeSelectionFlag::Enum, PxU16) | |
PX_FLAGS_OPERATORS (PxSceneFlag::Enum, PxU16) | |
PX_INLINE bool | PxIsPowerOfTwo (PxU32 n) |
PX_FLAGS_OPERATORS (PxShapeFlag::Enum, PxU8) | |
PX_FLAGS_OPERATORS (PxContactPairHeaderFlag::Enum, PxU16) | |
PX_FLAGS_OPERATORS (PxContactPairFlag::Enum, PxU16) | |
PX_FLAGS_OPERATORS (PxTriggerPairFlag::Enum, PxU8) | |
PX_DEPRECATED PX_INLINE PxArticulationLink * | PxActor::isArticulationLink () |
PX_DEPRECATED PX_INLINE const PxArticulationLink * | PxActor::isArticulationLink () const |
PX_INLINE | PxBatchQueryDesc::PxBatchQueryDesc () |
PX_INLINE void | PxBatchQueryDesc::setToDefault () |
PX_INLINE bool | PxBatchQueryDesc::isValid () const |
PX_DEPRECATED PX_INLINE PxRigidActor * | PxActor::isRigidActor () |
PX_DEPRECATED PX_INLINE const PxRigidActor * | PxActor::isRigidActor () const |
PX_DEPRECATED PX_INLINE PxRigidBody * | PxActor::isRigidBody () |
PX_DEPRECATED PX_INLINE const PxRigidBody * | PxActor::isRigidBody () const |
PX_DEPRECATED PX_INLINE PxRigidDynamic * | PxActor::isRigidDynamic () |
PX_DEPRECATED PX_INLINE const PxRigidDynamic * | PxActor::isRigidDynamic () const |
PX_DEPRECATED PX_INLINE PxRigidStatic * | PxActor::isRigidStatic () |
Attempts to cast to specific actor type. | |
PX_DEPRECATED PX_INLINE const PxRigidStatic * | PxActor::isRigidStatic () const |
PX_INLINE | PxSceneLimits::PxSceneLimits () |
constructor sets to default | |
PX_INLINE void | PxSceneLimits::setToDefault () |
(re)sets the structure to the default | |
PX_INLINE bool | PxSceneLimits::isValid () const |
Returns true if the descriptor is valid. | |
PX_INLINE | PxSceneDesc::PxSceneDesc (const PxTolerancesScale &scale) |
constructor sets to default (no gravity, no ground plane, collision detection on). | |
PX_INLINE void | PxSceneDesc::setToDefault (const PxTolerancesScale &scale) |
(re)sets the structure to the default (no gravity, no ground plane, collision detection on). | |
PX_INLINE bool | PxSceneDesc::isValid () const |
Returns true if the descriptor is valid. | |
PX_INLINE PxU32 | PxContactPair::extractContacts (PxContactPairPoint *userBuffer, PxU32 bufferSize) const |
Extracts the contact points from the stream and stores them in a convenient format. | |
Variables | |
struct Px1DConstraint | PX_ALIGN_SUFFIX |
A constraint. |
Detailed Description
Top level public include file for PhysX SDKDefine Documentation
#define PX_MAX_SWEEP_DISTANCE 1e8f |
Maximum sweep distance for scene sweeps. The distance parameter for sweep functions will be clamped to this value. The reason for this is GJK support cannot be evaluated near infinity. A viable alternative can be a sweep followed by an infinite raycast.
- See also:
- PxScene
#define PX_SLEEP_INTERVAL (20.0f*0.02f) |
#define PX_USE_CLOTH_API 1 |
#define PX_USE_PARTICLE_SYSTEM_API 1 |
Typedef Documentation
typedef PxFlags<PxActorFlag::Enum,PxU16> PxActorFlags |
typedef PxFlags<PxConstraintFlag::Type, PxU16> PxConstraintFlags |
typedef void(* 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, since on PS3 this function may execute on SPU.
- Parameters:
-
[in] constantBlock the constant data block [out] bodyAToWorld The world transform of the first constrained body (the identity if the body is NULL) [out] bodyBToWorld The world transform of the second constrained body (the identity if the body is NULL) [in] true if the constraint should be projected by moving the second body towards the first, false if the converse
typedef PxU32(* PxConstraintSolverPrep)(Px1DConstraint *constraints, PxVec3 &body0WorldOffset, PxU32 maxConstraints, const void *constantBlock, const PxTransform &bodyAToWorld, const PxTransform &bodyBToWorld) |
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, since on PS3 this function may execute on SPU.
Developers writing custom constraints are encouraged to read the implementation code in PhysXExtensions.
- Parameters:
-
[out] constraints an array of solver constraint rows to be filled in [out] body0WorldOffset the origin point at which the constraint is resolved. This value does not affect how constraints are solved, but the force and torque reported for the constraint are resolved at this point [in] constantBlock the constant data block [in] maxConstraints the size of the constraint buffer. At most this many constraints rows may be written [in] bodyAToWorld The world transform of the first constrained body (the identity if the body is NULL) [in] bodyBToWorld The world transform of the second constrained body (the identity if the body is NULL)
- Returns:
- 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
- Parameters:
-
[out] out the render buffer to render to [in] constantBlock the constant data block [in] body0Transform The world transform of the first constrained body (the identity if the body is NULL) [in] body1Transform The world transform of the second constrained body (the identity if the body is NULL) [in] frameScale the visualization scale for the constraint frames [in] limitScale the visualization scale for the constraint limits [in] flags the visualization flags
- See also:
- PxRenderBuffer
Bitfield that contains a set of raised flags defined in PxContactPairFlag.
- See also:
- PxContactPairFlag
Bitfield that contains a set of raised flags defined in PxContactPairHeaderFlag.
- See also:
- PxContactPairHeaderFlag
typedef PxU8 PxDominanceGroup |
typedef PxU8 PxDominanceGroup |
Group index which allows to specify 1- or 2-way interaction
typedef PxFlags<PxFilterFlag::Enum, PxU16> PxFilterFlags |
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<PxMaterialFlag::Enum,PxU16> PxMaterialFlags |
typedef PxFlags<PxPairFlag::Enum, PxU16> PxPairFlags |
typedef PxFlags<PxSceneFlag::Enum,PxU16> PxSceneFlags |
typedef PxFlags<PxShapeFlag::Enum,PxU8> PxShapeFlags |
typedef PxFilterFlags(* PxSimulationFilterShader)(PxFilterObjectAttributes attributes0, PxFilterData filterData0, PxFilterObjectAttributes attributes1, PxFilterData filterData1, PxPairFlags &pairFlags, const void *constantBlock, PxU32 constantBlockSize) |
Filter shader to specify handling of collision pairs.
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.
- Note:
- A default implementation of a filter shader is provided in the PhysX extensions library, see PxDefaultSimulationFilterShader.
- See also:
- PxSceneDesc.filterShader PxSimulationFilterCallback Filter method to specify how a pair of potentially colliding objects should be processed.Return the PxFilterFlag flags and set the PxPairFlag flags to define what the simulation should do with the given collision pair.
- 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 PxShape::resetFiltering(), PxParticleBase::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 PxSceneFlag::eENABLE_KINEMATIC_STATIC_PAIRS)
- Two kinematic actors (unless one is a trigger or if explicitly enabled through PxSceneFlag::eENABLE_KINEMATIC_PAIRS)
- Pair of particle systems
- 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] attributes0 The filter attribute of the first object [in] filterData0 The custom filter data of the first object [in] attributes1 The filter attribute of the second object [in] filterData1 The custom filter data of the second object [out] pairFlags Flags giving additional information on how an accepted pair should get processed [in] constantBlock The constant global filter data (see PxSceneDesc.filterShaderData) [in] constantBlockSize Size 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.
typedef PxFlags<PxTriggerPairFlag::Enum, PxU8> PxTriggerPairFlags |
Bitfield that contains a set of raised flags defined in PxTriggerPairFlag.
- See also:
- PxTriggerPairFlag
Function Documentation
PX_INLINE PxU32 PxContactPair::extractContacts | ( | PxContactPairPoint * | userBuffer, | |
PxU32 | bufferSize | |||
) | const [inherited] |
Extracts the contact points from the stream and stores them in a convenient format.
- Parameters:
-
[in] userBuffer Array of PxContactPairPoint structures to extract the contact points to. The number of contacts for a pair is defined by contactCount [in] bufferSize Number of PxContactPairPoint structures the provided buffer can store.
- Returns:
- Number of contact points written to the buffer.
- See also:
- PxContactPairPoint
References PxContactPair::contactCount, PxContactPair::contactStream, PxContactPairFlag::eINTERNAL_CONTACTS_ARE_FLIPPED, PxContactPairFlag::eINTERNAL_HAS_IMPULSES, PxContactPair::flags, PxContactPairPoint::impulse, PxContactPoint::internalFaceIndex0, PxContactPairPoint::internalFaceIndex0, PxContactPoint::internalFaceIndex1, PxContactPairPoint::internalFaceIndex1, PxContactPairPoint::normal, PxContactPairPoint::position, PxMin(), PxContactPoint::separation, and PxContactPairPoint::separation.
PX_INLINE const PxArticulationLink * PxActor::isArticulationLink | ( | ) | const [inherited] |
PX_INLINE PxArticulationLink * PxActor::isArticulationLink | ( | ) | [inherited] |
PX_INLINE const PxRigidActor * PxActor::isRigidActor | ( | ) | const [inherited] |
PX_INLINE PxRigidActor * PxActor::isRigidActor | ( | ) | [inherited] |
PX_INLINE const PxRigidBody * PxActor::isRigidBody | ( | ) | const [inherited] |
PX_INLINE PxRigidBody * PxActor::isRigidBody | ( | ) | [inherited] |
PX_INLINE const PxRigidDynamic * PxActor::isRigidDynamic | ( | ) | const [inherited] |
PX_INLINE PxRigidDynamic * PxActor::isRigidDynamic | ( | ) | [inherited] |
PX_INLINE const PxRigidStatic * PxActor::isRigidStatic | ( | ) | const [inherited] |
PX_INLINE PxRigidStatic * PxActor::isRigidStatic | ( | ) | [inherited] |
Attempts to cast to specific actor type.
- Returns:
- NULL if the actor is not of the appropriate type. Otherwise a pointer to the specific actor type.
- Note:
- Since PxParticleFluid inherits from PxParticleSystem, calling isParticleSystem() on a PxParticleFluid instance will succeed and return the upcast to PxParticleSystem.
PX_INLINE bool PxSceneDesc::isValid | ( | ) | const [inherited] |
Returns true if the descriptor is valid.
- Returns:
- true if the current settings are valid (returns always true).
References PxSceneDesc::bounceThresholdVelocity, PxSceneDesc::contactCorrelationDistance, PxSceneDesc::contactReportStreamBufferSize, PxSceneDesc::cpuDispatcher, PxSceneDesc::dynamicTreeRebuildRateHint, PxPruningStructure::eDYNAMIC_AABB_TREE, PxPruningStructure::eSTATIC_AABB_TREE, PxSceneDesc::filterShader, PxSceneDesc::filterShaderData, PxSceneDesc::filterShaderDataSize, PxSceneLimits::isValid(), PxSceneDesc::limits, PxSceneDesc::maxNbContactDataBlocks, PxSceneDesc::nbContactDataBlocks, NULL, PxSceneDesc::staticStructure, PxSceneDesc::sweepEpsilonDistance, PxSceneDesc::sweptIntegrationAngularSpeedFactor, and PxSceneDesc::sweptIntegrationLinearSpeedFactor.
PX_INLINE bool PxSceneLimits::isValid | ( | ) | const [inherited] |
Returns true if the descriptor is valid.
- Returns:
- true if the current settings are valid (returns always true).
Referenced by PxSceneDesc::isValid().
PX_INLINE bool PxBatchQueryDesc::isValid | ( | ) | const [inherited] |
References PxBatchQueryDesc::filterShaderData, PxBatchQueryDesc::filterShaderDataSize, and NULL.
PX_FLAGS_OPERATORS | ( | PxTriggerPairFlag::Enum | , | |
PxU8 | ||||
) |
PX_FLAGS_OPERATORS | ( | PxContactPairFlag::Enum | , | |
PxU16 | ||||
) |
PX_FLAGS_OPERATORS | ( | PxContactPairHeaderFlag::Enum | , | |
PxU16 | ||||
) |
PX_FLAGS_OPERATORS | ( | PxShapeFlag::Enum | , | |
PxU8 | ||||
) |
PX_FLAGS_OPERATORS | ( | PxSceneFlag::Enum | , | |
PxU16 | ||||
) |
PX_FLAGS_OPERATORS | ( | PxActorTypeSelectionFlag::Enum | , | |
PxU16 | ||||
) |
PX_FLAGS_OPERATORS | ( | PxRigidDynamicFlag::Enum | , | |
PxU16 | ||||
) |
PX_FLAGS_OPERATORS | ( | PxMaterialFlag::Enum | , | |
PxU16 | ||||
) |
PX_FLAGS_OPERATORS | ( | PxDataAccessFlag::Enum | , | |
PxU8 | ||||
) |
PX_FLAGS_OPERATORS | ( | PxFilterFlag::Enum | , | |
PxU16 | ||||
) |
PX_FLAGS_OPERATORS | ( | PxPairFlag::Enum | , | |
PxU16 | ||||
) |
PX_FLAGS_OPERATORS | ( | Px1DConstraintFlag::Type | , | |
PxU16 | ||||
) |
PX_FLAGS_OPERATORS | ( | PxConstraintFlag::Type | , | |
PxU16 | ||||
) |
PX_FLAGS_OPERATORS | ( | PxActorFlag::Enum | , | |
PxU16 | ||||
) |
PX_INLINE PxBatchQueryDesc::PxBatchQueryDesc | ( | ) | [inherited] |
Referenced by PxBatchQueryDesc::setToDefault().
PX_C_EXPORT PX_PHYSX_CORE_API physx::PxPhysics* PX_CALL_CONV PxCreateBasePhysics | ( | physx::PxU32 | version, | |
physx::PxFoundation & | foundation, | |||
const physx::PxTolerancesScale & | scale, | |||
bool | trackOutstandingAllocations = false , |
|||
physx::PxProfileZoneManager * | profileZoneManager = NULL | |||
) |
Creates an instance of the physics SDK with minimal additional components registered.
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.
- 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. profileZoneManager If profiling information is required, a profile zone manager has to be provided.
- Returns:
- PxPhysics instance on success, NULL if operation failed
Referenced by PxCreatePhysics().
PX_INLINE physx::PxPhysics* PxCreatePhysics | ( | physx::PxU32 | version, | |
physx::PxFoundation & | foundation, | |||
const physx::PxTolerancesScale & | scale, | |||
bool | trackOutstandingAllocations = false , |
|||
physx::PxProfileZoneManager * | profileZoneManager = 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.
- 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. profileZoneManager If profiling information is required, a profile zone manager has to be provided.
- Returns:
- PxPhysics instance on success, NULL if operation failed
- See also:
- PxCreatePhysics
References NULL, PxCreateBasePhysics(), PxRegisterArticulations(), and PxRegisterHeightFields().
PX_INLINE bool PxFilterObjectIsKinematic | ( | PxFilterObjectAttributes | attr | ) |
Specifies whether the collision object belongs to a kinematic rigid body.
- Parameters:
-
[in] attr The filter attribute of a collision pair object
- Returns:
- True if the object belongs to a kinematic rigid body, else false
- See also:
- PxRigidDynamicFlag::eKINEMATIC
References PxFilterObjectFlags::eKINEMATIC.
PX_INLINE bool PxFilterObjectIsTrigger | ( | PxFilterObjectAttributes | attr | ) |
Specifies whether the collision object is a trigger shape.
- Parameters:
-
[in] attr The filter attribute of a collision pair object
- Returns:
- True if the object is a trigger shape, else false
- See also:
- PxShapeFlag::eTRIGGER_SHAPE
References PxFilterObjectFlags::eTRIGGER.
PX_INLINE PxFilterObjectType::Enum PxGetFilterObjectType | ( | PxFilterObjectAttributes | attr | ) |
Extract filter object type from the filter attributes of a collision pair object.
- Parameters:
-
[in] attr The filter attribute of a collision pair object
- Returns:
- The type of the collision pair object.
- See also:
- PxFilterObjectType
References PxFilterObjectType::eMAX_TYPE_COUNT.
PX_C_EXPORT PX_PHYSX_CORE_API physx::PxPhysics& PX_CALL_CONV 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.
PX_C_EXPORT PX_PHYSX_CORE_API void PX_CALL_CONV PxGetSDKMetaData | ( | const physx::PxPhysics & | physics, | |
physx::PxOutputStream & | stream | |||
) |
Retrieves the PhysX SDKmetadata.
Before using this function the user must call PxCreatePhysics(). If PxCreatePhysics() has not been called then NULL will be returned.
PX_C_EXPORT PX_PHYSX_CORE_API physx::PxU32 PX_CALL_CONV PxGetValue | ( | physx::PxCookingValue::Enum | cookValue | ) |
PX_INLINE bool PxIsPowerOfTwo | ( | PxU32 | n | ) |
PX_C_EXPORT PX_PHYSX_CORE_API void PX_CALL_CONV PxRegisterArticulations | ( | physx::PxPhysics & | physics | ) |
PX_C_EXPORT PX_PHYSX_CORE_API void PX_CALL_CONV PxRegisterHeightFields | ( | physx::PxPhysics & | physics | ) |
PX_INLINE PxSceneDesc::PxSceneDesc | ( | const PxTolerancesScale & | scale | ) | [inherited] |
constructor sets to default (no gravity, no ground plane, collision detection on).
- Parameters:
-
[in] scale scale values for the tolerances in the scene, specifically sweepEpsilonDistance, contactCorrelationDistance and bounceThresholdVelocity. Typically these should be the values passed into PxCreatePhysics().
- See also:
- PxCreatePhysics() PxTolerancesScale
Referenced by PxSceneDesc::setToDefault().
PX_INLINE PxSceneLimits::PxSceneLimits | ( | ) | [inherited] |
constructor sets to default
References PxSceneLimits::maxNbActors, PxSceneLimits::maxNbBodies, PxSceneLimits::maxNbConstraints, PxSceneLimits::maxNbDynamicShapes, and PxSceneLimits::maxNbStaticShapes.
Referenced by PxSceneLimits::setToDefault().
PX_INLINE void PxSceneDesc::setToDefault | ( | const PxTolerancesScale & | scale | ) | [inherited] |
(re)sets the structure to the default (no gravity, no ground plane, collision detection on).
- Parameters:
-
[in] scale scale values for the tolerances in the scene, specifically sweepEpsilonDistance, contactCorrelationDistance and bounceThresholdVelocity. Typically these should be the values passed into PxCreatePhysics().
- See also:
- PxCreatePhysics() PxTolerancesScale
References PxSceneDesc::PxSceneDesc().
PX_INLINE void PxSceneLimits::setToDefault | ( | ) | [inherited] |
PX_INLINE void PxBatchQueryDesc::setToDefault | ( | ) | [inherited] |
References PxBatchQueryDesc::PxBatchQueryDesc().
Variable Documentation
struct Px1DConstraint PX_ALIGN_SUFFIX |
A constraint.
A constraint is expressed as a set of 1-dimensional constraint rows which define the required constraint on the objects' velocities.
Given these definitions, the solver attempts to generate
1. a set of velocities for the objects which, when integrated, respect the constraint errors: body0vel.dot(lin0,ang0) - body1vel.dot(lin1, ang1) + (geometricError / timestep) = velocityTarget
2. a set of velocities for the objects which respect the constraints: body0vel.dot(lin0,ang0) - body1vel.dot(lin1, ang1) = velocityTarget
Alternatively, the solver can attempt to resolve the velocity constraint as an implicit spring:
F = spring * -geometricError + damping * (velocityTarget - body0vel.dot(lin0,ang0) + body1vel.dot(lin1, ang1))
where F is the constraint force, or as an acceleration spring where acceleration replaces force.
Copyright © 2008-2012 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. www.nvidia.com