NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Deprecated List

Deprecated List

Member PxActor::getClientBehaviorFlags () const =0
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4

Member PxActor::setClientBehaviorFlags (PxActorClientBehaviorFlags)=0
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4

Class PxActorClientBehaviorFlag
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4

Member PxActorType::PX_DEPRECATED
The PhysX particle feature has been deprecated in PhysX version 3.4

Member PxActorType::PX_DEPRECATED
The PhysX particle feature has been deprecated in PhysX version 3.4

Member PxActorType::PX_DEPRECATED
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Member PxActorTypeFlag::PX_DEPRECATED
The PhysX particle feature has been deprecated in PhysX version 3.4

Member PxActorTypeFlag::PX_DEPRECATED
The PhysX particle feature has been deprecated in PhysX version 3.4

Member PxActorTypeFlag::PX_DEPRECATED
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Class PxBatchQuery
The batched query feature has been deprecated in PhysX version 3.4

Class PxBatchQueryDesc
The batched query feature has been deprecated in PhysX version 3.4

Class PxBatchQueryMemory
The batched query feature has been deprecated in PhysX version 3.4

Class PxBatchQueryResult< HitType >
The batched query feature has been deprecated in PhysX version 3.4

Class PxBatchQueryStatus
The batched query feature has been deprecated in PhysX version 3.4

Class PxClientBehaviorFlag
PxClientBehaviorFlag feature has been deprecated in PhysX version 3.4

Class PxCloth
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Class PxClothCollisionPlane
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Class PxClothCollisionSphere
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Class PxClothCollisionTriangle
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Class PxClothFabric
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Class PxClothFabricCooker
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Class PxClothFabricDesc
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Class PxClothFabricPhase
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Class PxClothFabricPhaseType
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Class PxClothFlag
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Member PxClothFlag::PX_DEPRECATED
Deprecated, use eCUDA instead

Class PxClothGeodesicTetherCooker
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Class PxClothMeshDesc
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Class PxClothMeshQuadifier
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Class PxClothMotionConstraintConfig
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Class PxClothParticle
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Class PxClothParticleMotionConstraint
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Class PxClothParticleSeparationConstraint
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Class PxClothSimpleTetherCooker
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Class PxClothStretchConfig
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Class PxClothTetherConfig
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Member PxFilterObjectType::PX_DEPRECATED
The PhysX particle feature has been deprecated in PhysX version 3.4

Member PxFilterObjectType::PX_DEPRECATED
The PhysX particle feature has been deprecated in PhysX version 3.4

Class PxParticleBase
The PhysX particle feature has been deprecated in PhysX version 3.4

Class PxParticleBaseFlag
The PhysX particle feature has been deprecated in PhysX version 3.4

Class PxParticleCreationData
The PhysX particle feature has been deprecated in PhysX version 3.4

Class PxParticleExt
The PhysX particle feature has been deprecated in PhysX version 3.4

Class PxParticleFlag
The PhysX particle feature has been deprecated in PhysX version 3.4

Class PxParticleFluid
The PhysX particle feature has been deprecated in PhysX version 3.4

Class PxParticleFluidReadData
The PhysX particle feature has been deprecated in PhysX version 3.4

Class PxParticleReadData
The PhysX particle feature has been deprecated in PhysX version 3.4

Class PxParticleReadDataFlag
The PhysX particle feature has been deprecated in PhysX version 3.4

Class PxParticleSystem
The PhysX particle feature has been deprecated in PhysX version 3.4

Member PxPhysics::createClothFabric (PxInputStream &stream)=0
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Member PxPhysics::createClothFabric (const PxClothFabricDesc &desc)=0
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Member PxPhysics::getNbClothFabrics () const =0
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Member PxPhysics::getClothFabrics (PxClothFabric **userBuffer, PxU32 bufferSize) const =0
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Member PxPhysics::createParticleSystem (PxU32 maxParticles, bool perParticleRestOffset=false)=0
The PhysX particle feature has been deprecated in PhysX version 3.4

Member PxPhysics::createParticleFluid (PxU32 maxParticles, bool perParticleRestOffset=false)=0
The PhysX particle feature has been deprecated in PhysX version 3.4

Member PxPhysics::createCloth (const PxTransform &globalPose, PxClothFabric &fabric, const PxClothParticle *particles, PxClothFlags flags)=0
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Member PxScene::getActiveActors (PxU32 &nbActorsOut, PX_DEPRECATED PxClientID client=PX_DEFAULT_CLIENT)=0
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4

Member PxScene::setClientBehaviorFlags (PxClientID client, PxClientBehaviorFlags clientBehaviorFlags)=0
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4

Member PxScene::getClientBehaviorFlags (PxClientID client) const =0
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4

Member PxScene::setClothInterCollisionDistance (PxF32 distance)=0
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Member PxScene::getClothInterCollisionDistance () const =0
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Member PxScene::setClothInterCollisionStiffness (PxF32 stiffness)=0
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Member PxScene::getClothInterCollisionStiffness () const =0
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Member PxScene::setClothInterCollisionNbIterations (PxU32 nbIterations)=0
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Member PxScene::getClothInterCollisionNbIterations () const =0
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Member PxScene::setSimulationEventCallback (PxSimulationEventCallback *callback, PX_DEPRECATED PxClientID client=PX_DEFAULT_CLIENT)=0
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4

Member PxScene::getSimulationEventCallback (PX_DEPRECATED PxClientID client=PX_DEFAULT_CLIENT) const =0
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4

Member PxScene::setBroadPhaseCallback (PxBroadPhaseCallback *callback, PX_DEPRECATED PxClientID client=PX_DEFAULT_CLIENT)=0
PxClient feature has been deprecated in PhysX version 3.4

Member PxScene::getBroadPhaseCallback (PX_DEPRECATED PxClientID client=PX_DEFAULT_CLIENT) const =0
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4

Member PxScene::createBatchQuery (const PxBatchQueryDesc &desc)=0
The batched query feature has been deprecated in PhysX version 3.4

Member PxScene::createVolumeCache (PxU32 maxStaticShapes=32, PxU32 maxDynamicShapes=8)=0
The volume cache feature has been deprecated in PhysX version 3.4

Member PxSceneFlag::eDEPRECATED_TRIGGER_TRIGGER_REPORTS
This flag is deprecated and will be removed in PhysX 3.5.

Member PxSceneLimits::maxNbObjectsPerRegion
This is deprecated. Expected maximum number of objects in one broad-phase region

Member PxSceneQueryExt::overlapAny (const PxScene &scene, const PxGeometry &geometry, const PxTransform &pose, PxOverlapHit &hit, const PxSceneQueryFilterData &filterData=PxSceneQueryFilterData(), PxSceneQueryFilterCallback *filterCall=NULL, PX_DEPRECATED PxClientID queryClient=PX_DEFAULT_CLIENT)
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4

Member PxSceneQueryExt::overlapMultiple (const PxScene &scene, const PxGeometry &geometry, const PxTransform &pose, PxOverlapHit *hitBuffer, PxU32 hitBufferSize, const PxSceneQueryFilterData &filterData=PxSceneQueryFilterData(), PxSceneQueryFilterCallback *filterCall=NULL, PX_DEPRECATED PxClientID queryClient=PX_DEFAULT_CLIENT)
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4

Member PxSceneQueryExt::raycastAny (const PxScene &scene, const PxVec3 &origin, const PxVec3 &unitDir, const PxReal distance, PxSceneQueryHit &hit, const PxSceneQueryFilterData &filterData=PxSceneQueryFilterData(), PxSceneQueryFilterCallback *filterCall=NULL, const PxSceneQueryCache *cache=NULL, PX_DEPRECATED PxClientID queryClient=PX_DEFAULT_CLIENT)
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4

Member PxSceneQueryExt::raycastMultiple (const PxScene &scene, const PxVec3 &origin, const PxVec3 &unitDir, const PxReal distance, PxSceneQueryFlags outputFlags, PxRaycastHit *hitBuffer, PxU32 hitBufferSize, bool &blockingHit, const PxSceneQueryFilterData &filterData=PxSceneQueryFilterData(), PxSceneQueryFilterCallback *filterCall=NULL, const PxSceneQueryCache *cache=NULL, PX_DEPRECATED PxClientID queryClient=PX_DEFAULT_CLIENT)
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4

Member PxSceneQueryExt::raycastSingle (const PxScene &scene, const PxVec3 &origin, const PxVec3 &unitDir, const PxReal distance, PxSceneQueryFlags outputFlags, PxRaycastHit &hit, const PxSceneQueryFilterData &filterData=PxSceneQueryFilterData(), PxSceneQueryFilterCallback *filterCall=NULL, const PxSceneQueryCache *cache=NULL, PX_DEPRECATED PxClientID queryClient=PX_DEFAULT_CLIENT)
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4

Member PxSceneQueryExt::sweepAny (const PxScene &scene, const PxGeometry &geometry, const PxTransform &pose, const PxVec3 &unitDir, const PxReal distance, PxSceneQueryFlags queryFlags, PxSceneQueryHit &hit, const PxSceneQueryFilterData &filterData=PxSceneQueryFilterData(), PxSceneQueryFilterCallback *filterCall=NULL, const PxSceneQueryCache *cache=NULL, PX_DEPRECATED PxClientID queryClient=PX_DEFAULT_CLIENT, PxReal inflation=0.0f)
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4

Member PxSceneQueryExt::sweepMultiple (const PxScene &scene, const PxGeometry &geometry, const PxTransform &pose, const PxVec3 &unitDir, const PxReal distance, PxSceneQueryFlags outputFlags, PxSweepHit *hitBuffer, PxU32 hitBufferSize, bool &blockingHit, const PxSceneQueryFilterData &filterData=PxSceneQueryFilterData(), PxSceneQueryFilterCallback *filterCall=NULL, const PxSceneQueryCache *cache=NULL, PX_DEPRECATED PxClientID queryClient=PX_DEFAULT_CLIENT, PxReal inflation=0.0f)
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4

Member PxSceneQueryExt::sweepSingle (const PxScene &scene, const PxGeometry &geometry, const PxTransform &pose, const PxVec3 &unitDir, const PxReal distance, PxSceneQueryFlags outputFlags, PxSweepHit &hit, const PxSceneQueryFilterData &filterData=PxSceneQueryFilterData(), PxSceneQueryFilterCallback *filterCall=NULL, const PxSceneQueryCache *cache=NULL, PX_DEPRECATED PxClientID queryClient=PX_DEFAULT_CLIENT, PxReal inflation=0.0f)
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4

Member PxSimulationStatistics::PX_DEPRECATED
The PhysX particle feature has been deprecated in PhysX version 3.4

Member PxSimulationStatistics::PX_DEPRECATED
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Class PxSpatialIndex
Spatial index feature has been deprecated in PhysX version 3.4

Class PxSpatialLocationCallback
Spatial index feature has been deprecated in PhysX version 3.4

Class PxSpatialOverlapCallback
Spatial index feature has been deprecated in PhysX version 3.4

Member PxTriggerPair::otherShape
(see PxSimulationEventCallback::onTrigger()) If collision between trigger shapes is enabled, then this member might point to a trigger shape as well.

Class PxVolumeCache
The volume cache feature has been deprecated in PhysX version 3.4

Member PxActorClientBehaviorFlags
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4

Member PxClientBehaviorFlags
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4

Member PxParticleBaseFlags
The PhysX particle feature has been deprecated in PhysX version 3.4

Member PxParticleFlags
The PhysX particle feature has been deprecated in PhysX version 3.4

Member PxParticleReadDataFlags
The PhysX particle feature has been deprecated in PhysX version 3.4

Member PxCreateSpatialIndex
Spatial index feature has been deprecated in PhysX version 3.4

Member PxRegisterCloth
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Member PxRegisterParticles
The PhysX particle feature has been deprecated in PhysX version 3.4

Member PxBatchQueryPostFilterShader
The batched query feature has been deprecated in PhysX version 3.4

Member PxBatchQueryPreFilterShader
The batched query feature has been deprecated in PhysX version 3.4

Copyright © 2008-2018 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. www.nvidia.com


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Module Index

Modules

Here is a list of all modules:
  • cloth (deprecated)
  • particles (deprecated)
  • Physics
  • Scenequery
  • Immediatemode
  • Foundation
  • Character
  • Common
  • Extensions
  • Cooking
  • Serializers
  • Geomutils
  • Pvd
  • Vehicle


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: cloth (deprecated)

cloth (deprecated)

Classes

struct | PxClothStretchConfig
Solver configuration parameters for the vertical and horizontal stretch phase types. More...
struct | PxClothTetherConfig
Solver configuration parameters for the tether phases. More...
struct | PxClothMotionConstraintConfig
Solver configuration parameters for the tether phases. More...
class | PxCloth
Set of connected particles tailored towards simulating character cloth. More...
struct | PxClothCollisionSphere
Sphere representation used for cloth-sphere and cloth-capsule collision. More...
struct | PxClothCollisionPlane
Plane representation used for cloth-convex collision. More...
struct | PxClothCollisionTriangle
Triangle representation used for cloth-mesh collision. More...
struct | PxClothFabricPhaseType
Describe type of phase in cloth fabric. More...
struct | PxClothFabricPhase
References a set of constraints that can be solved in parallel. More...
class | PxClothFabricDesc
References all the data required to create a fabric. More...
class | PxClothFabric
A cloth fabric is a structure that contains all the internal solver constraints of a cloth mesh. More...
struct | PxClothFlag
flag for behaviors of the cloth solver More...
struct | PxClothParticle
Per particle data for cloth. More...
struct | PxClothParticleMotionConstraint
Constraints for cloth particle motion. More...
struct | PxClothParticleSeparationConstraint
Separation constraints for cloth particle movement. More...

Typedefs

typedef PxFlags
< PxClothFlag::Enum, PxU16 > 		PxClothFlags

Functions

PxClothFabricPhase::PxClothFabricPhase (PxClothFabricPhaseType::Enum type=PxClothFabricPhaseType::eINVALID, PxU32 index=0)
PX_INLINE | PxClothFabricDesc::PxClothFabricDesc ()
constructor sets to default.
PX_INLINE void | PxClothFabricDesc::setToDefault ()
(re)sets the structure to the default.
PX_INLINE bool | PxClothFabricDesc::isValid () const
Returns true if the descriptor is valid.

Detailed Description

Typedef Documentation

typedef PxFlags<PxClothFlag::Enum,PxU16> PxClothFlags

Function Documentation

PX_INLINE bool PxClothFabricDesc::isValid ( ) const [inherited]

Returns true if the descriptor is valid.

Returns:
True if the current settings are valid

References PxClothFabricDesc::indices, PxClothFabricDesc::nbParticles, PxClothFabricDesc::nbPhases, PxClothFabricDesc::nbSets, PxClothFabricDesc::nbTethers, PxClothFabricDesc::nbTriangles, PxClothFabricDesc::phases, PxClothFabricDesc::restvalues, PxClothFabricDesc::sets, PxClothFabricDesc::tetherAnchors, PxClothFabricDesc::tetherLengths, and PxClothFabricDesc::triangles.

PX_INLINE PxClothFabricDesc::PxClothFabricDesc ( ) [inherited]

constructor sets to default.

References PxClothFabricDesc::setToDefault().

PX_INLINE PxClothFabricPhase::PxClothFabricPhase | ( | PxClothFabricPhaseType::Enum | type = PxClothFabricPhaseType::eINVALID,
 |  | PxU32 | index = 0 |
 | ) |  |  | [inherited]

PX_INLINE void PxClothFabricDesc::setToDefault ( ) [inherited]

(re)sets the structure to the default.

Referenced by PxClothFabricDesc::PxClothFabricDesc().


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothStretchConfig Struct Reference

PxClothStretchConfig Struct Reference
[cloth (deprecated)]

Solver configuration parameters for the vertical and horizontal stretch phase types. More...

#include <PxCloth.h>

List of all members.

Public Member Functions

PX_INLINE | PxClothStretchConfig (PxReal stiffness_=1.0f, PxReal stiffnessMultiplier_=1.0f, PxReal compressionLimit_=1.0f, PxReal stretchLimit_=1.0f)
Constructor initializes to default values.

Public Attributes

PxReal | stiffness
Stiffness of the stretch constraints.
PxReal | stiffnessMultiplier
Stiffness multiplier of the cloth solver under certain limits.
PxReal | compressionLimit
Limit to control when stiffnessMultiplier has to be applied.
PxReal | stretchLimit
Limit to control when stiffnessMultiplier has to be applied.

Detailed Description

Solver configuration parameters for the vertical and horizontal stretch phase types.

See also:
PxCloth.setStretchConfig()

PxClothFabric for information on actual phase data in cloth (deprecated) fabric

Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Constructor & Destructor Documentation

PX_INLINE PxClothStretchConfig::PxClothStretchConfig | ( | PxReal | stiffness_ = 1.0f,
 |  | PxReal | stiffnessMultiplier_ = 1.0f,
 |  | PxReal | compressionLimit_ = 1.0f,
 |  | PxReal | stretchLimit_ = 1.0f |
 | ) |  |  | [inline]

Constructor initializes to default values.

Member Data Documentation

PxReal PxClothStretchConfig::compressionLimit

Limit to control when stiffnessMultiplier has to be applied.

stiffnessMultiplier multiplies the normal stiffness if the ratio between constraint edge length and rest length lies in the [compressionLimit, 1] range. The valid range is [0, 1], the default limit is 1.0.

PxReal PxClothStretchConfig::stiffness

Stiffness of the stretch constraints.

Defines for the constraint edges how much of the distance error between current length and rest length to correct per stiffness period (see PxCloth::setStiffnessFrequency). A value of 0 means no correction, a value of 1 corrects to rest length. The default is 1.

PxReal PxClothStretchConfig::stiffnessMultiplier

Stiffness multiplier of the cloth solver under certain limits.

The valid range is [0, 1], the default multiplier is 1.0.

See also:
stretchLimit

PxReal PxClothStretchConfig::stretchLimit

Limit to control when stiffnessMultiplier has to be applied.

stiffnessMultiplier multiplies the normal stiffness if the ratio between constraint edge length and rest length lies in the [1, stretchLimit] range. The valid range is [1, PX_MAX_F32), the default limit is 1.0.

The documentation for this struct was generated from the following file:
  • PxCloth.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothTetherConfig Struct Reference

PxClothTetherConfig Struct Reference
[cloth (deprecated)]

Solver configuration parameters for the tether phases. More...

#include <PxCloth.h>

List of all members.

Public Member Functions

PX_INLINE | PxClothTetherConfig (PxReal stiffness_=1.0f, PxReal stretchLimit_=1.0f)
Constructor sets to default.

Public Attributes

PxReal | stiffness
Stiffness of the tether constraints.
PxReal | stretchLimit
Scale of tether lengths when applying tether constraints.

Detailed Description

Solver configuration parameters for the tether phases.

See also:
PxCloth.setTetherConfig()

PxClothFabric for information on actual tether constraints in cloth (deprecated) fabric.

Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Constructor & Destructor Documentation

PX_INLINE PxClothTetherConfig::PxClothTetherConfig | ( | PxReal | stiffness_ = 1.0f,
 |  | PxReal | stretchLimit_ = 1.0f |
 | ) |  |  | [inline]

Constructor sets to default.

Member Data Documentation

PxReal PxClothTetherConfig::stiffness

Stiffness of the tether constraints.

Defines for the tether constraints how much of the error between current distance and tether length to correct per stiffness period (see PxCloth::setStiffnessFrequency). A value of 0 means no correction, a value of 1 corrects to rest length. The default stiffness is 1.0.

PxReal PxClothTetherConfig::stretchLimit

Scale of tether lengths when applying tether constraints.

The limit distance of a tether constraint is computed as the product of stretchLimit and the tether length. The default limit is 1.0.

The documentation for this struct was generated from the following file:
  • PxCloth.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothMotionConstraintConfig Struct Reference

PxClothMotionConstraintConfig Struct Reference
[cloth (deprecated)]

Solver configuration parameters for the tether phases. More...

#include <PxCloth.h>

List of all members.

Public Member Functions

PX_INLINE | PxClothMotionConstraintConfig (PxReal radiiScale=1.0f, PxReal radiiBias=0.0f, PxReal consStiffness=1.0f)
Constructor sets to default.

Public Attributes

PxReal | scale
Scale of motion constraint radii.
PxReal | bias
Bias of motion constraint radii.
PxReal | stiffness
Stiffness of the motion constraints.

Detailed Description

Solver configuration parameters for the tether phases.

See also:
PxCloth.setTetherConfig()

PxClothFabric for information on actual tether constraints in cloth (deprecated) fabric.

Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Constructor & Destructor Documentation

PX_INLINE PxClothMotionConstraintConfig::PxClothMotionConstraintConfig | ( | PxReal | radiiScale = 1.0f,
 |  | PxReal | radiiBias = 0.0f,
 |  | PxReal | consStiffness = 1.0f |
 | ) |  |  | [inline]

Constructor sets to default.

Member Data Documentation

PxReal PxClothMotionConstraintConfig::bias

Bias of motion constraint radii.

The motion constraint radius is computed as constraint.radius * config.scale + config.bias. The default bias is 0.0.

PxReal PxClothMotionConstraintConfig::scale

Scale of motion constraint radii.

The motion constraint radius is computed as constraint.radius * config.scale + config.bias. The default scale is 1.0.

PxReal PxClothMotionConstraintConfig::stiffness

Stiffness of the motion constraints.

Defines for the motion constraints how much of the error between current distance and constraint radius to correct per stiffness period (see PxCloth::setStiffnessFrequency). A value of 0 means no correction, a value of 1 corrects to rest length. The default stiffness is 1.

The documentation for this struct was generated from the following file:
  • PxCloth.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCloth Class Reference

PxCloth Class Reference
[cloth (deprecated)]

Set of connected particles tailored towards simulating character cloth. More...

#include <PxCloth.h>

Inheritance diagram for PxCloth:

PxActorPxBase
[legend]
Collaboration diagram for PxCloth:

PxActorPxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

virtual void | release ()=0
Deletes the cloth. Do not keep a reference to the deleted instance.
virtual PxClothFabric * | getFabric () const =0
Returns a pointer to the corresponding cloth fabric.
virtual PxBounds3 | getWorldBounds (float inflation=1.01f) const =0
Returns world space bounding box.
virtual PxU32 | getNbParticles () const =0
Returns the number of particles.
virtual PxClothParticleData * | lockParticleData (PxDataAccessFlags flags)=0
Acquires access to the cloth particle data.
virtual PxClothParticleData * | lockParticleData () const =0
Acquires read access to the cloth particle data.
virtual void | setParticles (const PxClothParticle *currentParticles, const PxClothParticle *previousParticles)=0
Updates cloth particle location or inverse weight for current and previous particle state.
virtual void | setClothFlag (PxClothFlag::Enum flag, bool value)=0
Sets cloth flags (e.g. use GPU for simulation, enable CCD, collide against scene).
virtual void | setClothFlags (PxClothFlags inFlags)=0
Set all cloth flags.
virtual PxClothFlags | getClothFlags () const =0
Returns cloth flags.
virtual const char * | getConcreteTypeName () const
Returns string name of dynamic type.
Integration
Functions related to particle integration.

virtual void | setTargetPose (const PxTransform &pose)=0
Sets pose that the cloth should move to by the end of the next simulate() call.
virtual void | setGlobalPose (const PxTransform &pose)=0
Sets current pose of the cloth without affecting inertia.
virtual PxTransform | getGlobalPose () const =0
Returns global pose.
virtual void | setSolverFrequency (PxReal frequency)=0
Sets the solver frequency parameter.
virtual PxReal | getSolverFrequency () const =0
Returns solver frequency.
virtual PxReal | getPreviousTimeStep () const =0
Returns previous time step size.
virtual void | setStiffnessFrequency (PxReal frequency)=0
Sets the stiffness frequency parameter.
virtual PxReal | getStiffnessFrequency () const =0
Returns stiffness frequency.
virtual void | setLinearInertiaScale (PxVec3 scale)=0
Sets the acceleration scale factor to adjust inertia effect from global pose changes.
virtual PxVec3 | getLinearInertiaScale () const =0
Returns linear acceleration scale parameter.
virtual void | setAngularInertiaScale (PxVec3 scale)=0
Sets the acceleration scale factor to adjust inertia effect from global pose changes.
virtual PxVec3 | getAngularInertiaScale () const =0
Returns angular acceleration scale parameter.
virtual void | setCentrifugalInertiaScale (PxVec3 scale)=0
Sets the acceleration scale factor to adjust inertia effect from global pose changes.
virtual PxVec3 | getCentrifugalInertiaScale () const =0
Returns centrifugal acceleration scale parameter.
virtual void | setInertiaScale (PxReal scale)=0
Same as setLinearInertiaScale(PxVec3(scale)); setAngularInertiaScale(PxVec3(scale)); getCentrifugalInertiaScale(PxVec3(scale)); .
virtual void | setDampingCoefficient (PxVec3 dampingCoefficient)=0
Sets the damping coefficient.
virtual PxVec3 | getDampingCoefficient () const =0
Returns the damping coefficient.
virtual void | setLinearDragCoefficient (PxVec3 dragCoefficient)=0
Sets the linear drag coefficient.
virtual PxVec3 | getLinearDragCoefficient () const =0
Returns the linear drag coefficient.
virtual void | setAngularDragCoefficient (PxVec3 dragCoefficient)=0
Sets the angular drag coefficient.
virtual PxVec3 | getAngularDragCoefficient () const =0
Returns the angular drag coefficient.
virtual void | setDragCoefficient (PxReal scale)=0
Same as setLinearDragCoefficient(PxVec3(coefficient)); setAngularDragCoefficient(PxVec3(coefficient));.
virtual void | setExternalAcceleration (PxVec3 acceleration)=0
Sets external particle accelerations.
virtual PxVec3 | getExternalAcceleration () const =0
Returns external acceleration.
virtual void | setParticleAccelerations (const PxVec4 *particleAccelerations)=0
Updates particle accelerations, w component is ignored.
virtual bool | getParticleAccelerations (PxVec4 *particleAccelerationsBuffer) const =0
Copies particle accelerations to the user provided buffer.
virtual PxU32 | getNbParticleAccelerations () const =0
Returns the number of particle accelerations.
virtual PxVec3 | getWindVelocity () const =0
Returns the velocity of the wind affecting the fabric's triangles.
virtual void | setWindVelocity (PxVec3)=0
Sets the velocity of the wind affecting the fabric's triangles.
virtual PxReal | getWindDrag () const =0
Returns the coefficient of the air drag on the fabric's triangles.
virtual void | setWindDrag (PxReal)=0
Sets the coefficient of the air drag on the fabric's triangles.
virtual PxReal | getWindLift () const =0
Returns the coefficient of the air lift on the fabric's triangles.
virtual void | setWindLift (PxReal)=0
Sets the coefficient of the air lift on the fabric's triangles.
Constraints
Functions related to particle and distance constaints.

virtual void | setMotionConstraints (const PxClothParticleMotionConstraint *motionConstraints)=0
Updates motion constraints (position and radius of the constraint sphere).
virtual bool | getMotionConstraints (PxClothParticleMotionConstraint *motionConstraintsBuffer) const =0
Copies motion constraints to the user provided buffer.
virtual PxU32 | getNbMotionConstraints () const =0
Returns the number of motion constraints.
virtual void | setMotionConstraintConfig (const PxClothMotionConstraintConfig &config)=0
Specifies motion constraint scale, bias, and stiffness.
virtual
PxClothMotionConstraintConfig 		getMotionConstraintConfig () const =0
Reads back scale and bias factor for motion constraints.
virtual void | setSeparationConstraints (const PxClothParticleSeparationConstraint *separationConstraints)=0
Updates separation constraints (position and radius of the constraint sphere).
virtual bool | getSeparationConstraints (PxClothParticleSeparationConstraint *separationConstraintsBuffer) const =0
Copies separation constraints to the user provided buffer.
virtual PxU32 | getNbSeparationConstraints () const =0
Returns the number of separation constraints.
virtual void | clearInterpolation ()=0
Assign current to previous positions for collision shapes, motion constraints, and separation constraints.
virtual void | setStretchConfig (PxClothFabricPhaseType::Enum type, const PxClothStretchConfig &config)=0
Sets the solver parameters for the vertical solver phases.
virtual PxClothStretchConfig | getStretchConfig (PxClothFabricPhaseType::Enum type) const =0
Returns the solver parameters for one of the phase types.
virtual void | setTetherConfig (const PxClothTetherConfig &config)=0
Sets the stiffness parameters for the tether constraints.
virtual PxClothTetherConfig | getTetherConfig () const =0
Returns the stiffness parameters for the tether constraints.
Collision
Functions related to particle collision.

virtual void | addCollisionSphere (const PxClothCollisionSphere &sphere)=0
Adds a new collision sphere.
virtual void | removeCollisionSphere (PxU32 index)=0
Removes collision sphere.
virtual void | setCollisionSpheres (const PxClothCollisionSphere *spheresBuffer, PxU32 count)=0
Updates location and radii of collision spheres.
virtual PxU32 | getNbCollisionSpheres () const =0
Returns the number of collision spheres.
virtual void | addCollisionCapsule (PxU32 first, PxU32 second)=0
Adds a new collision capsule.
virtual void | removeCollisionCapsule (PxU32 index)=0
Removes a collision capsule.
virtual PxU32 | getNbCollisionCapsules () const =0
Returns the number of collision capsules.
virtual void | addCollisionPlane (const PxClothCollisionPlane &plane)=0
Adds a collision plane.
virtual void | removeCollisionPlane (PxU32 index)=0
Removes a collision plane.
virtual void | setCollisionPlanes (const PxClothCollisionPlane *planesBuffer, PxU32 count)=0
Updates positions of collision planes.
virtual PxU32 | getNbCollisionPlanes () const =0
Returns the number of collision planes.
virtual void | addCollisionConvex (PxU32 mask)=0
Adds a new collision convex.
virtual void | removeCollisionConvex (PxU32 index)=0
Removes a collision convex.
virtual PxU32 | getNbCollisionConvexes () const =0
Returns the number of collision convexes.
virtual void | addCollisionTriangle (const PxClothCollisionTriangle &triangle)=0
Adds a new collision triangle.
virtual void | removeCollisionTriangle (PxU32 index)=0
Removes a collision triangle.
virtual void | setCollisionTriangles (const PxClothCollisionTriangle *trianglesBuffer, PxU32 count)=0
Updates positions of collision triangles.
virtual PxU32 | getNbCollisionTriangles () const =0
Returns the number of collision triangles.
virtual void | getCollisionData (PxClothCollisionSphere *spheresBuffer, PxU32 *capsulesBuffer, PxClothCollisionPlane *planesBuffer, PxU32 *convexesBuffer, PxClothCollisionTriangle *trianglesBuffer) const =0
Retrieves the collision shapes.
virtual void | setVirtualParticles (PxU32 numVirtualParticles, const PxU32 *indices, PxU32 numWeights, const PxVec3 *weights)=0
Assigns virtual particles.
virtual PxU32 | getNbVirtualParticles () const =0
Returns the number of virtual particles.
virtual void | getVirtualParticles (PxU32 *indicesBuffer) const =0
Copies index array of virtual particles to the user provided buffer.
virtual PxU32 | getNbVirtualParticleWeights () const =0
Returns the number of the virtual particle weights.
virtual void | getVirtualParticleWeights (PxVec3 *weightsBuffer) const =0
Copies weight table of virtual particles to the user provided buffer.
virtual void | setFrictionCoefficient (PxReal frictionCoefficient)=0
Sets the collision friction coefficient.
virtual PxReal | getFrictionCoefficient () const =0
Returns the friction coefficient.
virtual void | setCollisionMassScale (PxReal scalingCoefficient)=0
Sets the collision mass scaling coefficient.
virtual PxReal | getCollisionMassScale () const =0
Returns the mass-scaling coefficient.
Self-Collision
Functions related to particle against particle collision.

virtual void | setSelfCollisionDistance (PxReal distance)=0
Sets the self collision distance.
virtual PxReal | getSelfCollisionDistance () const =0
Returns the self-collision distance.
virtual void | setSelfCollisionStiffness (PxReal stiffness)=0
Sets the self collision stiffness.
virtual PxReal | getSelfCollisionStiffness () const =0
Returns the self-collision stiffness.
virtual void | setSelfCollisionIndices (const PxU32 *indices, PxU32 nbIndices)=0
Sets a subset of cloth particles which participate in self-collision.
virtual bool | getSelfCollisionIndices (PxU32 *indices) const =0
Copies array of particles participating in self-collision to the user provided buffer.
virtual PxU32 | getNbSelfCollisionIndices () const =0
Returns the number of particles participating in self-collision.
virtual void | setRestPositions (const PxVec4 *restPositions)=0
Sets the cloth particles rest positions.
virtual bool | getRestPositions (PxVec4 *restPositions) const =0
Copies array of rest positions to the user provided buffer.
virtual PxU32 | getNbRestPositions () const =0
Returns the number of rest positions.
Inter-Collision
Functions related to collision between cloth instances.

virtual void | setSimulationFilterData (const PxFilterData &data)=0
Sets the user definable collision filter data.
virtual PxFilterData | getSimulationFilterData () const =0
Retrieves the object's collision filter data.
Scene-Collision
Functions related to collision against scene objects.

virtual void | setContactOffset (PxReal offset)=0
Sets the width by which the cloth bounding box is increased to find nearby scene collision shapes.
virtual PxReal | getContactOffset () const =0
Returns cloth contact offset.
virtual void | setRestOffset (PxReal offset)=0
Sets the minimum distance between colliding cloth particles and scene shapes.
virtual PxReal | getRestOffset () const =0
Returns cloth rest offset.
Sleeping
Functions related to sleeping.

virtual void | setSleepLinearVelocity (PxReal threshold)=0
Sets the velocity threshold for putting cloth in sleep state.
virtual PxReal | getSleepLinearVelocity () const =0
Returns the velocity threshold for putting cloth in sleep state.
virtual void | setWakeCounter (PxReal wakeCounterValue)=0
Sets the wake counter for the cloth.
virtual PxReal | getWakeCounter () const =0
Returns the wake counter of the cloth.
virtual void | wakeUp ()=0
Forces cloth to wake up from sleep state.
virtual void | putToSleep ()=0
Forces cloth to be put in sleep state.
virtual bool | isSleeping () const =0
Returns true if cloth is in sleep state.

Protected Member Functions

PX_INLINE | PxCloth (PxType concreteType, PxBaseFlags baseFlags)
PX_INLINE | PxCloth (PxBaseFlags baseFlags)
virtual | ~PxCloth ()
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Detailed Description

Set of connected particles tailored towards simulating character cloth.

A cloth object consists of the following components:

  • A set of particles that sample the cloth. The sampling does not need to be regular. Particles are simulated in local space, which allows tuning the effect of changes to the global pose on the particles.
  • Distance, bending, shearing, and tether constraints between particles. These are stored in a PxClothFabric instance which can be shared across cloth instances.
  • Spheres, capsules, convexes, and triangle collision shapes. These shapes are all treated separately to the main PhysX rigid body scene.
  • Virtual particles can be used to improve collision at a finer scale than the cloth sampling.
  • Motion and separation constraints are used to limit the particle movement within or outside of a sphere.
Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1
See also:
PxPhysics.createCloth

Constructor & Destructor Documentation

PX_INLINE PxCloth::PxCloth | ( | PxType | concreteType,
 |  | PxBaseFlags | baseFlags |
 | ) |  |  | [inline, protected]

PX_INLINE PxCloth::PxCloth ( PxBaseFlags baseFlags ) [inline, protected]

virtual PxCloth::~PxCloth ( ) [inline, protected, virtual]

Member Function Documentation

virtual void PxCloth::addCollisionCapsule | ( | PxU32 | first,
 |  | PxU32 | second |
 | ) |  |  | [pure virtual]

Adds a new collision capsule.

A collision capsule is defined as the bounding volume of two spheres.

Parameters:
[in] | first | Index of first sphere.
[in] | second | Index of second sphere.
Note:
A maximum of 32 capsules are supported.

Spheres referenced by a capsule need to be defined before simulating the scene, see addCollisionSphere/setCollisionSpheres.

virtual void PxCloth::addCollisionConvex ( PxU32 mask ) [pure virtual]

Adds a new collision convex.

A collision convex is defined as the intersection of planes.

Parameters:
[in] mask The bitmask of the planes that make up the convex.
Note:
Planes referenced by a collision convex need to be defined before simulating the scene, see addCollisionPlane/setCollisionPlanes.

virtual void PxCloth::addCollisionPlane ( const PxClothCollisionPlane & plane ) [pure virtual]

Adds a collision plane.

Parameters:
[in] plane New collision plane.
Note:
Planes are not used for collision until they are added to a convex object, see addCollisionConvex().

A maximum of 32 planes are supported.

virtual void PxCloth::addCollisionSphere ( const PxClothCollisionSphere & sphere ) [pure virtual]

Adds a new collision sphere.

Parameters:
[in] sphere New collision sphere.
Note:
A maximum of 32 spheres are supported.

virtual void PxCloth::addCollisionTriangle ( const PxClothCollisionTriangle & triangle ) [pure virtual]

Adds a new collision triangle.

Parameters:
[in] triangle New collision triangle.
Note:
GPU cloth is limited to 500 triangles per instance.

virtual void PxCloth::clearInterpolation ( ) [pure virtual]

Assign current to previous positions for collision shapes, motion constraints, and separation constraints.

This allows to prevent false interpolation after leaping to an animation frame, for example. After calling clearInterpolation(), the current positions will be used without interpolation. New positions can be set afterwards to interpolate to by the end of the next frame.

virtual PxVec3 PxCloth::getAngularDragCoefficient ( ) const [pure virtual]

Returns the angular drag coefficient.

Returns:
Angular drag coefficient.

virtual PxVec3 PxCloth::getAngularInertiaScale ( ) const [pure virtual]

Returns angular acceleration scale parameter.

Returns:
Angular acceleration scale parameter.

virtual PxVec3 PxCloth::getCentrifugalInertiaScale ( ) const [pure virtual]

Returns centrifugal acceleration scale parameter.

Returns:
Centrifugal acceleration scale parameter.

virtual PxClothFlags PxCloth::getClothFlags ( ) const [pure virtual]

Returns cloth flags.

Returns:
Cloth flags.

virtual void PxCloth::getCollisionData | ( | PxClothCollisionSphere * | spheresBuffer,
 |  | PxU32 * | capsulesBuffer,
 |  | PxClothCollisionPlane * | planesBuffer,
 |  | PxU32 * | convexesBuffer,
 |  | PxClothCollisionTriangle * | trianglesBuffer |
 | ) |  |  | const [pure virtual]

Retrieves the collision shapes.

Returns collision spheres, capsules, convexes, and triangles that were added through the addCollision*() methods and modified through the setCollision*() methods.

Parameters:
[out] | spheresBuffer | Spheres destination buffer, must be NULL or the same length as getNbCollisionSpheres().
[out] | capsulesBuffer | Capsules destination buffer, must be NULL or the same length as 2*getNbCollisionCapsules().
[out] | planesBuffer | Planes destination buffer, must be NULL or the same length as getNbCollisionPlanes().
[out] | convexesBuffer | Convexes destination buffer, must be NULL or the same length as getNbCollisionConvexes().
[out] | trianglesBuffer | Triangles destination buffer, must be NULL or the same length as getNbCollisionTriangles().
Note:
Returns the positions at the end of the next simulate() call as specified by the setCollision*() methods.

virtual PxReal PxCloth::getCollisionMassScale ( ) const [pure virtual]

Returns the mass-scaling coefficient.

Returns:
Mass-scaling coefficient.

virtual const char* PxCloth::getConcreteTypeName ( ) const [inline, virtual]

Returns string name of dynamic type.

Returns:
Class name of most derived type of this object.

Implements PxBase.

virtual PxReal PxCloth::getContactOffset ( ) const [pure virtual]

Returns cloth contact offset.

See also:
setContactOffset

virtual PxVec3 PxCloth::getDampingCoefficient ( ) const [pure virtual]

Returns the damping coefficient.

Returns:
Damping coefficient.

virtual PxVec3 PxCloth::getExternalAcceleration ( ) const [pure virtual]

Returns external acceleration.

Returns:
External acceleration in global coordinates.

virtual PxClothFabric* PxCloth::getFabric ( ) const [pure virtual]

Returns a pointer to the corresponding cloth fabric.

Returns:
The associated cloth fabric.

virtual PxReal PxCloth::getFrictionCoefficient ( ) const [pure virtual]

Returns the friction coefficient.

Returns:
Friction coefficient.

virtual PxTransform PxCloth::getGlobalPose ( ) const [pure virtual]

Returns global pose.

Returns:
Global pose as specified by the last setGlobalPose() or setTargetPose() call.

virtual PxVec3 PxCloth::getLinearDragCoefficient ( ) const [pure virtual]

Returns the linear drag coefficient.

Returns:
Linear drag coefficient.

virtual PxVec3 PxCloth::getLinearInertiaScale ( ) const [pure virtual]

Returns linear acceleration scale parameter.

Returns:
Linear acceleration scale parameter.

virtual PxClothMotionConstraintConfig PxCloth::getMotionConstraintConfig ( ) const [pure virtual]

Reads back scale and bias factor for motion constraints.

See also:
setMotionConstraintConfig()

virtual bool PxCloth::getMotionConstraints ( PxClothParticleMotionConstraint * motionConstraintsBuffer ) const [pure virtual]

Copies motion constraints to the user provided buffer.

Parameters:
[out] motionConstraintsBuffer Destination buffer, must be at least getNbMotionConstraints().
Returns:
True if the copy was successful.

virtual PxU32 PxCloth::getNbCollisionCapsules ( ) const [pure virtual]

Returns the number of collision capsules.

Returns:
Number of collision capsules.

virtual PxU32 PxCloth::getNbCollisionConvexes ( ) const [pure virtual]

Returns the number of collision convexes.

Returns:
Number of collision convexes.

virtual PxU32 PxCloth::getNbCollisionPlanes ( ) const [pure virtual]

Returns the number of collision planes.

Returns:
Number of collision planes.

virtual PxU32 PxCloth::getNbCollisionSpheres ( ) const [pure virtual]

Returns the number of collision spheres.

Returns:
Number of collision spheres.

virtual PxU32 PxCloth::getNbCollisionTriangles ( ) const [pure virtual]

Returns the number of collision triangles.

Returns:
Number of collision triangles.

virtual PxU32 PxCloth::getNbMotionConstraints ( ) const [pure virtual]

Returns the number of motion constraints.

Returns:
Number of motion constraints (same as getNbParticles() if enabled, 0 otherwise).

virtual PxU32 PxCloth::getNbParticleAccelerations ( ) const [pure virtual]

Returns the number of particle accelerations.

Returns:
Number of particle accelerations (same as getNbParticles() if enabled, 0 otherwise).

virtual PxU32 PxCloth::getNbParticles ( ) const [pure virtual]

Returns the number of particles.

Returns:
Number of particles.

virtual PxU32 PxCloth::getNbRestPositions ( ) const [pure virtual]

Returns the number of rest positions.

Returns:
Number of rest positions (same as getNbParticles() if enabled, 0 otherwise).

virtual PxU32 PxCloth::getNbSelfCollisionIndices ( ) const [pure virtual]

Returns the number of particles participating in self-collision.

Returns:
Size of particle subset participating in self-collision, or 0 if all particles are used.

virtual PxU32 PxCloth::getNbSeparationConstraints ( ) const [pure virtual]

Returns the number of separation constraints.

Returns:
Number of separation constraints (same as getNbParticles() if enabled, 0 otherwise).

virtual PxU32 PxCloth::getNbVirtualParticles ( ) const [pure virtual]

Returns the number of virtual particles.

Returns:
Number of virtual particles.

virtual PxU32 PxCloth::getNbVirtualParticleWeights ( ) const [pure virtual]

Returns the number of the virtual particle weights.

Returns:
Number of virtual particle weights.

virtual bool PxCloth::getParticleAccelerations ( PxVec4 * particleAccelerationsBuffer ) const [pure virtual]

Copies particle accelerations to the user provided buffer.

Parameters:
[out] particleAccelerationsBuffer Destination buffer, must be at least getNbParticleAccelerations().
Returns:
true if the copy was successful.

virtual PxReal PxCloth::getPreviousTimeStep ( ) const [pure virtual]

Returns previous time step size.

Time between sampling of previous and current particle positions for computing particle velocity.

Returns:
Previous time step size.

virtual PxReal PxCloth::getRestOffset ( ) const [pure virtual]

Returns cloth rest offset.

See also:
setRestOffset

virtual bool PxCloth::getRestPositions ( PxVec4 * restPositions ) const [pure virtual]

Copies array of rest positions to the user provided buffer.

Parameters:
[out] restPositions Destination buffer, must be at least getNbParticles() in length.
Returns:
true if the copy was successful.

virtual PxReal PxCloth::getSelfCollisionDistance ( ) const [pure virtual]

Returns the self-collision distance.

Returns:
Self-collision distance.

virtual bool PxCloth::getSelfCollisionIndices ( PxU32 * indices ) const [pure virtual]

Copies array of particles participating in self-collision to the user provided buffer.

Parameters:
[out] indices Destination buffer, must be at least getNbSelfCollisionIndices() in length.
Returns:
true if the copy was successful.

virtual PxReal PxCloth::getSelfCollisionStiffness ( ) const [pure virtual]

Returns the self-collision stiffness.

Returns:
Self-collision stiffness.

virtual bool PxCloth::getSeparationConstraints ( PxClothParticleSeparationConstraint * separationConstraintsBuffer ) const [pure virtual]

Copies separation constraints to the user provided buffer.

Parameters:
[out] separationConstraintsBuffer Destination buffer, must be at least getNbSeparationConstraints().
Returns:
True if the copy was successful.

virtual PxFilterData PxCloth::getSimulationFilterData ( ) const [pure virtual]

Retrieves the object's collision filter data.

Returns:
Associated filter data
See also:
setSimulationFilterData() PxFilterData

virtual PxReal PxCloth::getSleepLinearVelocity ( ) const [pure virtual]

Returns the velocity threshold for putting cloth in sleep state.

Returns:
Velocity threshold for putting cloth in sleep state.

virtual PxReal PxCloth::getSolverFrequency ( ) const [pure virtual]

Returns solver frequency.

Returns:
Solver frequency.

virtual PxReal PxCloth::getStiffnessFrequency ( ) const [pure virtual]

Returns stiffness frequency.

Returns:
Stiffness frequency.
See also:
setStiffnessFrequency() for details.

virtual PxClothStretchConfig PxCloth::getStretchConfig ( PxClothFabricPhaseType::Enum type ) const [pure virtual]

Returns the solver parameters for one of the phase types.

Parameters:
[in] type Type of phases to return the config for.
Returns:
Vertical solver parameters.

virtual PxClothTetherConfig PxCloth::getTetherConfig ( ) const [pure virtual]

Returns the stiffness parameters for the tether constraints.

Returns:
Tether solver parameters.

virtual void PxCloth::getVirtualParticles ( PxU32 * indicesBuffer ) const [pure virtual]

Copies index array of virtual particles to the user provided buffer.

Parameters:
[out] indicesBuffer Destination buffer, must be at least 4*getNbVirtualParticles().
See also:
setVirtualParticles()

virtual void PxCloth::getVirtualParticleWeights ( PxVec3 * weightsBuffer ) const [pure virtual]

Copies weight table of virtual particles to the user provided buffer.

Parameters:
[out] weightsBuffer Destination buffer, must be at least getNbVirtualParticleWeights().

virtual PxReal PxCloth::getWakeCounter ( ) const [pure virtual]

Returns the wake counter of the cloth.

Returns:
The wake counter of the cloth.
See also:
isSleeping() setWakeCounter()

virtual PxReal PxCloth::getWindDrag ( ) const [pure virtual]

Returns the coefficient of the air drag on the fabric's triangles.

virtual PxReal PxCloth::getWindLift ( ) const [pure virtual]

Returns the coefficient of the air lift on the fabric's triangles.

virtual PxVec3 PxCloth::getWindVelocity ( ) const [pure virtual]

Returns the velocity of the wind affecting the fabric's triangles.

virtual PxBounds3 PxCloth::getWorldBounds ( float inflation = 1.01f ) const [pure virtual]

Returns world space bounding box.

Parameters:
[in] inflation Scale factor for computed world bounds. Box extents are multiplied by this value.
Returns:
Particle bounds in global coordinates.

Implements PxActor.

virtual bool PxCloth::isKindOf ( const char * superClass ) const [inline, protected, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxActor.

References PxActor::isKindOf().

virtual bool PxCloth::isSleeping ( ) const [pure virtual]

Returns true if cloth is in sleep state.

Note:
It is invalid to use this method if the cloth has not been added to a scene already.
Returns:
True if cloth is in sleep state.

virtual PxClothParticleData* PxCloth::lockParticleData ( ) const [pure virtual]

Acquires read access to the cloth particle data.

Returns:
PxClothParticleData pointer which provides access to positions and weight.
Note:
This function is equivalent to lockParticleData(PxDataAccessFlag::eREADABLE).

virtual PxClothParticleData* PxCloth::lockParticleData ( PxDataAccessFlags flags ) [pure virtual]

Acquires access to the cloth particle data.

This function returns a pointer to a PxClothParticleData instance providing access to the PxClothParticle array of the current and previous iteration. The user is responsible for calling PxClothParticleData::unlock() after reading or updating the data. In case the lock has been requested using PxDataAccessFlag::eWRITABLE, the unlock() call copies the arrays pointed to by PxClothParticleData::particles/previousParticles back to the internal particle buffer. Updating the data when a read-only lock has been requested results in undefined behavior. Requesting multiple concurrent read-only locks is supported, but no other lock may be active when requesting a write lock.

If PxDataAccessFlag::eDEVICE is set in flags then the returned pointers will be to CUDA device memory, this can be used for direct interop with graphics APIs. Note that these pointers should only be considered valid until PxClothParticleData::unlock() is called and should not be stored. PxDataAccessFlag::eDEVICE implies read and write access, and changing the particles/previousParticles members results in undefined behavior.

Parameters:
flags Specifies if particle data is read or written.
Returns:
PxClothParticleData pointer which provides access to positions and weight.

virtual void PxCloth::putToSleep ( ) [pure virtual]

Forces cloth to be put in sleep state.

Note:
It is invalid to use this method if the cloth has not been added to a scene already.

virtual void PxCloth::release ( ) [pure virtual]

Deletes the cloth. Do not keep a reference to the deleted instance.

Implements PxActor.

virtual void PxCloth::removeCollisionCapsule ( PxU32 index ) [pure virtual]

Removes a collision capsule.

Parameters:
[in] index Index of capsule to remove.
Note:
The indices of capsules added after index are decremented by 1.

virtual void PxCloth::removeCollisionConvex ( PxU32 index ) [pure virtual]

Removes a collision convex.

Parameters:
[in] index Index of convex to remove.
Note:
The indices of convexes added after index are decremented by 1.

Planes referenced by this convex will not be removed.

virtual void PxCloth::removeCollisionPlane ( PxU32 index ) [pure virtual]

Removes a collision plane.

Parameters:
[in] index Index of plane to remove.
Note:
The indices of planes added after index are decremented by 1.

Convexes that reference the plane will have the plane removed from their mask. If after removal a convex consists of zero planes, it will also be removed.

virtual void PxCloth::removeCollisionSphere ( PxU32 index ) [pure virtual]

Removes collision sphere.

Parameters:
[in] index Index of sphere to remove.
Note:
The indices of spheres added after index are decremented by 1.

Capsules made from the sphere to be removed are removed as well.

virtual void PxCloth::removeCollisionTriangle ( PxU32 index ) [pure virtual]

Removes a collision triangle.

Parameters:
[in] index Index of triangle to remove.
Note:
The indices of triangles added after index are decremented by 1.

virtual void PxCloth::setAngularDragCoefficient ( PxVec3 dragCoefficient ) [pure virtual]

Sets the angular drag coefficient.

The angular drag coefficient is the portion of the pose rotation that is applied to each particle per stiffness period (see PxCloth::setStiffnessFrequency).

Note:
The scale is specified independently for each local rotation axis.
Parameters:
[in] dragCoefficient New angular drag coefficient between 0.0f and 1.0 (default: 0.0).
Note:
The drag coefficient shouldn't be set higher than the damping coefficient.

virtual void PxCloth::setAngularInertiaScale ( PxVec3 scale ) [pure virtual]

Sets the acceleration scale factor to adjust inertia effect from global pose changes.

Parameters:
[in] scale New scale factor between 0.0 (no inertia) and 1.0 (full inertia) (default: 1.0).
Note:
The scale is specified independently for each local rotation axis.

A value of 0.0 disables all inertia effects of rotations applied through setTargetPos().

See also:
setTargetPose()

virtual void PxCloth::setCentrifugalInertiaScale ( PxVec3 scale ) [pure virtual]

Sets the acceleration scale factor to adjust inertia effect from global pose changes.

Parameters:
[in] scale New scale factor between 0.0 (no centrifugal force) and 1.0 (full centrifugal force) (default: 1.0).
Note:
The scale is specified independently for each local rotation axis.

A value of 0.0 disables all centrifugal forces of rotations applied through setTargetPos().

See also:
setTargetPose()

virtual void PxCloth::setClothFlag | ( | PxClothFlag::Enum | flag,
 |  | bool | value |
 | ) |  |  | [pure virtual]

Sets cloth flags (e.g. use GPU for simulation, enable CCD, collide against scene).

Parameters:
[in] | flag | Mask of which flags to set.
[in] | value | Value to set flags to.

virtual void PxCloth::setClothFlags ( PxClothFlags inFlags ) [pure virtual]

Set all cloth flags.

Parameters:
[in] inFlags Bit mask of flag values

virtual void PxCloth::setCollisionMassScale ( PxReal scalingCoefficient ) [pure virtual]

Sets the collision mass scaling coefficient.

During collision it is possible to artificially increase the mass of a colliding particle, this has an effect comparable to making constraints attached to the particle stiffer and can help reduce stretching and interpenetration around collision shapes.

Parameters:
[in] scalingCoefficient Unitless multiplier that can take on values > 1 (default: 0.0).

virtual void PxCloth::setCollisionPlanes | ( | const PxClothCollisionPlane * | planesBuffer,
 |  | PxU32 | count |
 | ) |  |  | [pure virtual]

Updates positions of collision planes.

Parameters:
[in] | planesBuffer | New plane positions by the end of the next simulate() call.
[in] | count | New number of collision planes.
Note:
You can also use this function to change the number of collision planes.

A maximum of 32 planes are supported.

See also:
clearInterpolation()

virtual void PxCloth::setCollisionSpheres | ( | const PxClothCollisionSphere * | spheresBuffer,
 |  | PxU32 | count |
 | ) |  |  | [pure virtual]

Updates location and radii of collision spheres.

Parameters:
[in] | spheresBuffer | New sphere positions and radii by the end of the next simulate() call.
[in] | count | New number of collision spheres.
Note:
You can also use this function to change the number of collision spheres.

A maximum of 32 spheres are supported.

See also:
clearInterpolation()

virtual void PxCloth::setCollisionTriangles | ( | const PxClothCollisionTriangle * | trianglesBuffer,
 |  | PxU32 | count |
 | ) |  |  | [pure virtual]

Updates positions of collision triangles.

Parameters:
[in] | trianglesBuffer | New triangle positions by the end of the next simulate() call.
[in] | count | New number of collision triangles.
Note:
You can also use this function to change the number of collision triangles.

GPU cloth is limited to 500 triangles per instance.

See also:
clearInterpolation()

virtual void PxCloth::setContactOffset ( PxReal offset ) [pure virtual]

Sets the width by which the cloth bounding box is increased to find nearby scene collision shapes.

The cloth particles collide against shapes in the scene that intersect the cloth bounding box enlarged by the contact offset (if the eSCENE_COLLISION flag is set). Default: 0.0f

Parameters:
[in] offset Range: [0, PX_MAX_F32)
See also:
getContactOffset setRestOffset

virtual void PxCloth::setDampingCoefficient ( PxVec3 dampingCoefficient ) [pure virtual]

Sets the damping coefficient.

The damping coefficient is the portion of local particle velocity that is canceled per stiffness period (see PxCloth::setStiffnessFrequency).

Note:
The scale is specified independently for each local space axis.
Parameters:
[in] dampingCoefficient New damping coefficient between 0.0 and 1.0 (default: 0.0).

virtual void PxCloth::setDragCoefficient ( PxReal scale ) [pure virtual]

Same as setLinearDragCoefficient(PxVec3(coefficient)); setAngularDragCoefficient(PxVec3(coefficient));.

virtual void PxCloth::setExternalAcceleration ( PxVec3 acceleration ) [pure virtual]

Sets external particle accelerations.

Parameters:
[in] acceleration New acceleration in global coordinates (default: 0.0).
Note:
Use this to implement simple wind etc.

virtual void PxCloth::setFrictionCoefficient ( PxReal frictionCoefficient ) [pure virtual]

Sets the collision friction coefficient.

Parameters:
[in] frictionCoefficient New friction coefficient between 0.0 and 1.0 (default: 0.0).
Note:
Currently only spheres and capsules impose friction on the colliding particles.

virtual void PxCloth::setGlobalPose ( const PxTransform & pose ) [pure virtual]

Sets current pose of the cloth without affecting inertia.

Use this to reset the pose (e.g. teleporting).

Parameters:
[in] pose New global pose.
Note:
No pose interpolation is performed.

Inertia is not preserved.

See also:
setTargetPose() for inertia preserving method.

virtual void PxCloth::setInertiaScale ( PxReal scale ) [pure virtual]

Same as setLinearInertiaScale(PxVec3(scale)); setAngularInertiaScale(PxVec3(scale)); getCentrifugalInertiaScale(PxVec3(scale)); .

virtual void PxCloth::setLinearDragCoefficient ( PxVec3 dragCoefficient ) [pure virtual]

Sets the linear drag coefficient.

The linear drag coefficient is the portion of the pose translation that is applied to each particle per stiffness period (see PxCloth::setStiffnessFrequency).

Note:
The scale is specified independently for each local space axis.
Parameters:
[in] dragCoefficient New linear drag coefficient between 0.0f and 1.0 (default: 0.0).
Note:
The drag coefficient shouldn't be set higher than the damping coefficient.

virtual void PxCloth::setLinearInertiaScale ( PxVec3 scale ) [pure virtual]

Sets the acceleration scale factor to adjust inertia effect from global pose changes.

Parameters:
[in] scale New scale factor between 0.0 (no inertia) and 1.0 (full inertia) (default: 1.0).
Note:
The scale is specified independently for each local coordinate axis.

A value of 0.0 disables all inertia effects of translations applied through setTargetPos().

See also:
setTargetPose()

virtual void PxCloth::setMotionConstraintConfig ( const PxClothMotionConstraintConfig & config ) [pure virtual]

Specifies motion constraint scale, bias, and stiffness.

Parameters:
[in] config Motion constraints solver parameters.

virtual void PxCloth::setMotionConstraints ( const PxClothParticleMotionConstraint * motionConstraints ) [pure virtual]

Updates motion constraints (position and radius of the constraint sphere).

Parameters:
[in] motionConstraints motion constraints at the end of the next simulate() call.
Note:
The motionConstraints must either be null to disable motion constraints, or be the same length as the number of particles, see getNbParticles().
See also:
clearInterpolation()

virtual void PxCloth::setParticleAccelerations ( const PxVec4 * particleAccelerations ) [pure virtual]

Updates particle accelerations, w component is ignored.

Parameters:
[in] particleAccelerations New particle accelerations.
Note:
The particleAccelerations must either be null to disable accelerations, or be the same length as the number of particles, see getNbParticles().

virtual void PxCloth::setParticles | ( | const PxClothParticle * | currentParticles,
 |  | const PxClothParticle * | previousParticles |
 | ) |  |  | [pure virtual]

Updates cloth particle location or inverse weight for current and previous particle state.

Parameters:
[in] | currentParticles | The particle data for the current particle state or NULL if the state should not be changed.
[in] | previousParticles | The particle data for the previous particle state or NULL if the state should not be changed.
Note:
The invWeight stored in previousParticles is the new particle inverse mass, or zero for a static particle. However, if invWeight stored in currentParticles is non-zero, it is still used once for the next particle integration and fabric solve.

If currentParticles or previousParticles are non-NULL then they must be the length specified by getNbParticles().

This can be used to teleport particles (use same positions for current and previous).

See also:
PxClothParticle

virtual void PxCloth::setRestOffset ( PxReal offset ) [pure virtual]

Sets the minimum distance between colliding cloth particles and scene shapes.

Cloth particles colliding against shapes in the scene get no closer to the shape's surface than specified by the rest offset (if the eSCENE_COLLISION flag is set). Default: 0.0f

Parameters:
[in] offset Range: [0, PX_MAX_F32)
See also:
getRestOffset setContactOffset

virtual void PxCloth::setRestPositions ( const PxVec4 * restPositions ) [pure virtual]

Sets the cloth particles rest positions.

If non-null the cloth self-collision will consider the rest positions by discarding particle->particle collision where the distance between the associated rest particles is < the self collision distance. This allows self-collision distances that are larger than the minimum edge length in the mesh. Typically this function should be called with the same positions used to construct the cloth instance.

Parameters:
[in] restPositions Undeformed particle positions, the w component will be ignored
Note:
restPositions must either be null to disable rest position consideration, or be the same length as the number of particles, see getNbParticles().

virtual void PxCloth::setSelfCollisionDistance ( PxReal distance ) [pure virtual]

Sets the self collision distance.

A value larger than 0.0 enables particle versus particle collision.

Parameters:
[in] distance Minimum distance at which two particles repel each other (default: 0.0).

virtual void PxCloth::setSelfCollisionIndices | ( | const PxU32 * | indices,
 |  | PxU32 | nbIndices |
 | ) |  |  | [pure virtual]

Sets a subset of cloth particles which participate in self-collision.

If non-null the cloth self-collision will consider a subset of particles instead of all the particles. This can be used to improve self-collision performance or to increase the minimum distance between two self-colliding particles (and therefore the maximum sensible self-collision distance).

Parameters:
[in] | indices | array of particle indices which participate in self-collision.
[in] | nbIndices | number of particle indices, or 0 to use all particles for self-collision.
Note:
These indices will also be used if cloth inter-collision is enabled.

virtual void PxCloth::setSelfCollisionStiffness ( PxReal stiffness ) [pure virtual]

Sets the self collision stiffness.

Self-collision stiffness controls how much two particles repel each other when they are closer than the self-collision distance.

Parameters:
[in] stiffness Fraction of distance residual to resolve per iteration (default: 1.0).

virtual void PxCloth::setSeparationConstraints ( const PxClothParticleSeparationConstraint * separationConstraints ) [pure virtual]

Updates separation constraints (position and radius of the constraint sphere).

Parameters:
[in] separationConstraints separation constraints at the end of the next simulate() call.
Note:
The separationConstraints must either be null to disable separation constraints, or be the same length as the number of particles, see getNbParticles().
See also:
clearInterpolation()

virtual void PxCloth::setSimulationFilterData ( const PxFilterData & data ) [pure virtual]

Sets the user definable collision filter data.

Parameters:
data The data that will be returned in the PxScene filter shader callback.
Note:
To disable collision on a cloth actor it is sufficient to set the filter data to some non-zero value (if using the SDK's default filter shader).
See also:
PxSimulationFilterShader PxFilterData

virtual void PxCloth::setSleepLinearVelocity ( PxReal threshold ) [pure virtual]

Sets the velocity threshold for putting cloth in sleep state.

If none of the particles moves faster (in local space) than the threshold for a while, the cloth will be put in sleep state and simulation will be skipped.

Parameters:
[in] threshold Velocity threshold (default: 0.0f)

virtual void PxCloth::setSolverFrequency ( PxReal frequency ) [pure virtual]

Sets the solver frequency parameter.

Solver frequency specifies how often the simulation step is computed per second. For example, a value of 60 represents one simulation step per frame in a 60fps scene. A value of 120 will represent two simulation steps per frame, etc.

Parameters:
[in] frequency Solver frequency per second (default: 60.0).

virtual void PxCloth::setStiffnessFrequency ( PxReal frequency ) [pure virtual]

Sets the stiffness frequency parameter.

The stiffness frequency controls the power-law nonlinearity of all rate of change parameters (stretch stiffness, shear stiffness, bending stiffness, tether stiffness, self-collision stiffness, motion constraint stiffness, damp coefficient, linear and angular drag coefficients). Increasing the frequency avoids numerical cancellation for values near zero or one, but increases the non-linearity of the parameter. It is not recommended to change this parameter after cloth initialization. For example, the portion of edge overstretch removed per second is equal to the stretch stiffness raised to the power of the stiffness frequency.

Parameters:
[in] frequency Stiffness frequency per second (default: 10.0).

virtual void PxCloth::setStretchConfig | ( | PxClothFabricPhaseType::Enum | type,
 |  | const PxClothStretchConfig & | config |
 | ) |  |  | [pure virtual]

Sets the solver parameters for the vertical solver phases.

Parameters:
[in] | config | Stretch solver parameters.
[in] | type | Type of phases to set config for.

virtual void PxCloth::setTargetPose ( const PxTransform & pose ) [pure virtual]

Sets pose that the cloth should move to by the end of the next simulate() call.

This function will move the cloth in world space. The resulting simulation may reflect inertia effect as a result of pose acceleration.

Parameters:
[in] pose Target pose at the end of the next simulate() call.
See also:
setGlobalPose() to move cloth (deprecated) without inertia effect.

virtual void PxCloth::setTetherConfig ( const PxClothTetherConfig & config ) [pure virtual]

Sets the stiffness parameters for the tether constraints.

Parameters:
[in] config Tether constraints solver parameters.

virtual void PxCloth::setVirtualParticles | ( | PxU32 | numVirtualParticles,
 |  | const PxU32 * | indices,
 |  | PxU32 | numWeights,
 |  | const PxVec3 * | weights |
 | ) |  |  | [pure virtual]

Assigns virtual particles.

Virtual particles provide more robust and accurate collision handling against collision spheres and capsules. More virtual particles will generally increase the accuracy of collision handling, and thus a sufficient number of virtual particles can mimic triangle-based collision handling.
Virtual particles are specified as barycentric interpolation of real particles: The position of a virtual particle is w0 * P0 + w1 * P1 + w2 * P2, where P0, P1, P2 real particle positions. The barycentric weights w0, w1, w2 are stored in a separate table so they can be shared across multiple virtual particles.

Parameters:
[in] | numVirtualParticles | total number of virtual particles.
[in] | indices | Each virtual particle has four indices, the first three for real particle indices, and the last for the weight table index. Thus, the length of indices needs to be 4*numVirtualParticles.
[in] | numWeights | total number of unique weights triples.
[in] | weights | array for barycentric weights.
Note:
Virtual particles only incur a runtime cost during the collision stage. Still, it is advisable to only use virtual particles for areas where high collision accuracy is desired. (e.g. sleeve around elbow).

virtual void PxCloth::setWakeCounter ( PxReal wakeCounterValue ) [pure virtual]

Sets the wake counter for the cloth.

The wake counter value determines how long all particles need to move less than the velocity threshold until the cloth is put to sleep (see setSleepLinearVelocity()).

Note:
Passing in a positive value will wake the cloth up automatically. Default: 0.395 (which corresponds to 20 frames for a time step of 0.02)
Parameters:
[in] wakeCounterValue Wake counter value. Range: [0, PX_MAX_F32)
See also:
isSleeping() getWakeCounter()

virtual void PxCloth::setWindDrag ( PxReal ) [pure virtual]

Sets the coefficient of the air drag on the fabric's triangles.

virtual void PxCloth::setWindLift ( PxReal ) [pure virtual]

Sets the coefficient of the air lift on the fabric's triangles.

virtual void PxCloth::setWindVelocity ( PxVec3 ) [pure virtual]

Sets the velocity of the wind affecting the fabric's triangles.

virtual void PxCloth::wakeUp ( ) [pure virtual]

Forces cloth to wake up from sleep state.

Note:
This will set the wake counter of the cloth to the value specified in PxSceneDesc::wakeCounterResetValue.

It is invalid to use this method if the cloth has not been added to a scene already.

See also:
isSleeping() putToSleep()

The documentation for this class was generated from the following file:
  • PxCloth.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothCollisionSphere Struct Reference

PxClothCollisionSphere Struct Reference
[cloth (deprecated)]

Sphere representation used for cloth-sphere and cloth-capsule collision. More...

#include <PxClothCollisionData.h>

Collaboration diagram for PxClothCollisionSphere:

PxVec3
[legend]

List of all members.

Public Member Functions

PxClothCollisionSphere ()
Default constructor, performs no initialization.
PxClothCollisionSphere (const PxVec3 &p, PxReal r)

Public Attributes

PxVec3 pos
position of the sphere
PxReal radius
radius of the sphere.

Detailed Description

Sphere representation used for cloth-sphere and cloth-capsule collision.

Cloth can collide with spheres and capsules. Each capsule is represented by a pair of spheres with possibly different radii.

Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Constructor & Destructor Documentation

PxClothCollisionSphere::PxClothCollisionSphere ( ) [inline]

Default constructor, performs no initialization.

PxClothCollisionSphere::PxClothCollisionSphere | ( | const PxVec3 & | p,
 |  | PxReal | r |
 | ) |  |  | [inline]

Member Data Documentation

PxVec3 PxClothCollisionSphere::pos

position of the sphere

PxReal PxClothCollisionSphere::radius

radius of the sphere.

The documentation for this struct was generated from the following file:
  • PxClothCollisionData.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothCollisionPlane Struct Reference

PxClothCollisionPlane Struct Reference
[cloth (deprecated)]

Plane representation used for cloth-convex collision. More...

#include <PxClothCollisionData.h>

Collaboration diagram for PxClothCollisionPlane:

PxVec3
[legend]

List of all members.

Public Member Functions

PxClothCollisionPlane ()
Default constructor, performs no initialization.
PxClothCollisionPlane (const PxVec3 &normal_, PxReal distance_)

Public Attributes

PxVec3 normal
The normal to the plane.
PxReal distance
The distance to the origin (in the normal direction).

Detailed Description

Plane representation used for cloth-convex collision.

Cloth can collide with convexes. Each convex is represented by a mask of the planes that make up the convex.

Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Constructor & Destructor Documentation

PxClothCollisionPlane::PxClothCollisionPlane ( ) [inline]

Default constructor, performs no initialization.

PxClothCollisionPlane::PxClothCollisionPlane | ( | const PxVec3 & | normal_,
 |  | PxReal | distance_ |
 | ) |  |  | [inline]

Member Data Documentation

PxReal PxClothCollisionPlane::distance

The distance to the origin (in the normal direction).

PxVec3 PxClothCollisionPlane::normal

The normal to the plane.

The documentation for this struct was generated from the following file:
  • PxClothCollisionData.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothCollisionTriangle Struct Reference

PxClothCollisionTriangle Struct Reference
[cloth (deprecated)]

Triangle representation used for cloth-mesh collision. More...

#include <PxClothCollisionData.h>

Collaboration diagram for PxClothCollisionTriangle:

PxVec3
[legend]

List of all members.

Public Member Functions

PxClothCollisionTriangle ()
Default constructor, performs no initialization.
PxClothCollisionTriangle (const PxVec3 &v0, const PxVec3 &v1, const PxVec3 &v2)

Public Attributes

PxVec3 vertex0
PxVec3 vertex1
PxVec3 vertex2

Detailed Description

Triangle representation used for cloth-mesh collision.

Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Constructor & Destructor Documentation

PxClothCollisionTriangle::PxClothCollisionTriangle ( ) [inline]

Default constructor, performs no initialization.

PxClothCollisionTriangle::PxClothCollisionTriangle | ( | const PxVec3 & | v0,
 |  | const PxVec3 & | v1,
 |  | const PxVec3 & | v2 |
 | ) |  |  | [inline]

Member Data Documentation

PxVec3 PxClothCollisionTriangle::vertex0

PxVec3 PxClothCollisionTriangle::vertex1

PxVec3 PxClothCollisionTriangle::vertex2

The documentation for this struct was generated from the following file:
  • PxClothCollisionData.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothFabricPhaseType Struct Reference

PxClothFabricPhaseType Struct Reference
[cloth (deprecated)]

Describe type of phase in cloth fabric. More...

#include <PxClothFabric.h>

List of all members.

Public Types

enum Enum {
eINVALID,
eVERTICAL,
eHORIZONTAL,
eBENDING,
eSHEARING,
eCOUNT
}

Detailed Description

Describe type of phase in cloth fabric.

See also:
PxClothFabric for an explanation of concepts on phase and set.
Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Member Enumeration Documentation

enum PxClothFabricPhaseType::Enum

Enumerator:
eINVALID | invalid type
eVERTICAL | resists stretching or compression, usually along the gravity
eHORIZONTAL | resists stretching or compression, perpendicular to the gravity
eBENDING | resists out-of-plane bending in angle-based formulation
eSHEARING | resists in-plane shearing along (typically) diagonal edges,
eCOUNT

The documentation for this struct was generated from the following file:
  • PxClothFabric.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothFabricPhase Struct Reference

PxClothFabricPhase Struct Reference
[cloth (deprecated)]

References a set of constraints that can be solved in parallel. More...

#include <PxClothFabric.h>

List of all members.

Public Member Functions

PxClothFabricPhase (PxClothFabricPhaseType::Enum type=PxClothFabricPhaseType::eINVALID, PxU32 index=0)

Public Attributes

PxClothFabricPhaseType::Enum phaseType
Type of constraints to solve.
PxU32 setIndex
Index of the set that contains the particle indices.

Detailed Description

References a set of constraints that can be solved in parallel.

See also:
PxClothFabric for an explanation of the concepts on phase and set.
Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Member Data Documentation

PxClothFabricPhaseType::Enum PxClothFabricPhase::phaseType

Type of constraints to solve.

PxU32 PxClothFabricPhase::setIndex

Index of the set that contains the particle indices.

The documentation for this struct was generated from the following file:
  • PxClothFabric.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothFabricDesc Class Reference

PxClothFabricDesc Class Reference
[cloth (deprecated)]

References all the data required to create a fabric. More...

#include <PxClothFabric.h>

Collaboration diagram for PxClothFabricDesc:

PxClothFabricPhase
[legend]

List of all members.

Public Member Functions

PX_INLINE | PxClothFabricDesc ()
constructor sets to default.
PX_INLINE void | setToDefault ()
(re)sets the structure to the default.
PX_INLINE bool | isValid () const
Returns true if the descriptor is valid.

Public Attributes

PxU32 nbParticles
The number of particles needed when creating a PxCloth instance from the fabric.
PxU32 nbPhases
The number of solver phases.
const PxClothFabricPhase * | phases
Array defining which constraints to solve each phase. See PxClothFabric.getPhases().
PxU32 nbSets
The number of sets in the fabric.
const PxU32 * | sets
Array with an index per set which points one entry beyond the last constraint of the set. See PxClothFabric.getSets().
const PxU32 * | indices
Array of particle indices which specifies the pair of constrained vertices. See PxClothFabric.getParticleIndices().
const PxReal * | restvalues
Array of rest values for each constraint. See PxClothFabric.getRestvalues().
PxU32 nbTethers
Size of tetherAnchors and tetherLengths arrays, needs to be multiple of nbParticles.
const PxU32 * | tetherAnchors
Array of particle indices specifying the tether anchors. See PxClothFabric.getTetherAnchors().
const PxReal * | tetherLengths
Array of rest distance between tethered particle pairs. See PxClothFabric.getTetherLengths().
const PxU32 * | triangles
Array of triangle indices used to calculate air friction.
PxU32 nbTriangles
The number of triangles in the triangles array. (1 triangle means 3 indices in the array).

Detailed Description

References all the data required to create a fabric.

See also:
PxPhysics.createClothFabric(), PxClothFabricCooker.getDescriptor()
Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Member Data Documentation

const PxU32* PxClothFabricDesc::indices

Array of particle indices which specifies the pair of constrained vertices. See PxClothFabric.getParticleIndices().

Referenced by isValid().

PxU32 PxClothFabricDesc::nbParticles

The number of particles needed when creating a PxCloth instance from the fabric.

Referenced by isValid().

PxU32 PxClothFabricDesc::nbPhases

The number of solver phases.

Referenced by isValid().

PxU32 PxClothFabricDesc::nbSets

The number of sets in the fabric.

Referenced by isValid().

PxU32 PxClothFabricDesc::nbTethers

Size of tetherAnchors and tetherLengths arrays, needs to be multiple of nbParticles.

Referenced by isValid().

PxU32 PxClothFabricDesc::nbTriangles

The number of triangles in the triangles array. (1 triangle means 3 indices in the array).

Referenced by isValid().

const PxClothFabricPhase* PxClothFabricDesc::phases

Array defining which constraints to solve each phase. See PxClothFabric.getPhases().

Referenced by isValid().

const PxReal* PxClothFabricDesc::restvalues

Array of rest values for each constraint. See PxClothFabric.getRestvalues().

Referenced by isValid().

const PxU32* PxClothFabricDesc::sets

Array with an index per set which points one entry beyond the last constraint of the set. See PxClothFabric.getSets().

Referenced by isValid().

const PxU32* PxClothFabricDesc::tetherAnchors

Array of particle indices specifying the tether anchors. See PxClothFabric.getTetherAnchors().

Referenced by isValid().

const PxReal* PxClothFabricDesc::tetherLengths

Array of rest distance between tethered particle pairs. See PxClothFabric.getTetherLengths().

Referenced by isValid().

const PxU32* PxClothFabricDesc::triangles

Array of triangle indices used to calculate air friction.

Referenced by isValid().

The documentation for this class was generated from the following file:
  • PxClothFabric.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothFabric Class Reference

PxClothFabric Class Reference
[cloth (deprecated)]

A cloth fabric is a structure that contains all the internal solver constraints of a cloth mesh. More...

#include <PxClothFabric.h>

Inheritance diagram for PxClothFabric:

PxBase
[legend]
Collaboration diagram for PxClothFabric:

PxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

virtual void | release ()=0
Decrements the cloth fabric's reference count, and releases it if the new reference count is zero.
virtual PxU32 | getNbParticles () const =0
Returns number of particles.
virtual PxU32 | getNbPhases () const =0
Returns number of phases.
virtual PxU32 | getNbRestvalues () const =0
Returns number of rest values.
virtual PxU32 | getNbSets () const =0
Returns number of sets.
virtual PxU32 | getNbParticleIndices () const =0
Get number of particle indices.
virtual PxU32 | getNbTethers () const =0
Get number of tether constraints.
virtual PxU32 | getPhases (PxClothFabricPhase *userPhaseBuffer, PxU32 bufferSize) const =0
Copies the phase array to a user specified buffer.
virtual PxU32 | getSets (PxU32 *userSetBuffer, PxU32 bufferSize) const =0
Copies the set array to a user specified buffer.
virtual PxU32 | getParticleIndices (PxU32 *userParticleIndexBuffer, PxU32 bufferSize) const =0
Copies the particle indices array to a user specified buffer.
virtual PxU32 | getRestvalues (PxReal *userRestvalueBuffer, PxU32 bufferSize) const =0
Copies the rest values array to a user specified buffer.
virtual PxU32 | getTetherAnchors (PxU32 *userAnchorBuffer, PxU32 bufferSize) const =0
Copies the tether anchors array to a user specified buffer.
virtual PxU32 | getTetherLengths (PxReal *userLengthBuffer, PxU32 bufferSize) const =0
Copies the tether lengths array to a user specified buffer.
virtual void | scaleRestlengths (PxReal scale)=0
Scale all rest values of length dependent constraints.
virtual PxU32 | getReferenceCount () const =0
Reference count of the cloth instance.
virtual void | acquireReference ()=0
Acquires a counted reference to a cloth fabric.
virtual const char * | getConcreteTypeName () const
Returns string name of dynamic type.

Protected Member Functions

PX_INLINE | PxClothFabric (PxType concreteType, PxBaseFlags baseFlags)
PX_INLINE | PxClothFabric (PxBaseFlags baseFlags)
virtual | ~PxClothFabric ()
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Detailed Description

A cloth fabric is a structure that contains all the internal solver constraints of a cloth mesh.

A fabric consists of phases that represent a group of internal constraints of the same type. Each phase references an array of rest-values and a set of particle indices. The data representation for the fabric has layers of indirect indices:

  • All particle indices for the constraints of the fabric are stored in one linear array and referenced by the sets.
  • Each constraint (particle index pair) has one entry in the restvalues array.
  • The set array holds the prefix sum of the number of constraints per set and is referenced by the phases.
  • A phase consists of the type of constraints, the index of the set referencing the indices.
Additionally, a fabric also stores the data for the tether constraints, which limit the distances between two particles. The tether constraints are stored in an array, and the index of a constraint determines which particle is affected: element i affects particle iN, where N is the number of particles. The tether anchor is the index of the other particle, and the tether length is the maximum distance that these two particles are allowed to be away from each other. A tether constraint is momentum conserving if the anchor particle has infinite mass (zero inverse weight).

Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1
See also:
The fabric structure can be created from a mesh using PxClothFabricCreate. Alternatively, the fabric data can be saved into a stream (see PxClothFabricCooker.save()) and later created from the stream using PxPhysics.createClothFabric(PxInputStream&).

Constructor & Destructor Documentation

PX_INLINE PxClothFabric::PxClothFabric | ( | PxType | concreteType,
 |  | PxBaseFlags | baseFlags |
 | ) |  |  | [inline, protected]

PX_INLINE PxClothFabric::PxClothFabric ( PxBaseFlags baseFlags ) [inline, protected]

virtual PxClothFabric::~PxClothFabric ( ) [inline, protected, virtual]

Member Function Documentation

virtual void PxClothFabric::acquireReference ( ) [pure virtual]

Acquires a counted reference to a cloth fabric.

This method increases the reference count of the cloth fabric by 1. Decrement the reference count by calling release()

virtual const char* PxClothFabric::getConcreteTypeName ( ) const [inline, virtual]

Returns string name of dynamic type.

Returns:
Class name of most derived type of this object.

Implements PxBase.

virtual PxU32 PxClothFabric::getNbParticleIndices ( ) const [pure virtual]

Get number of particle indices.

Returns:
The size of the particle indices array.

virtual PxU32 PxClothFabric::getNbParticles ( ) const [pure virtual]

Returns number of particles.

Returns:
The number of particles needed when creating a PxCloth instance from the fabric.

virtual PxU32 PxClothFabric::getNbPhases ( ) const [pure virtual]

Returns number of phases.

Returns:
The number of solver phases.

virtual PxU32 PxClothFabric::getNbRestvalues ( ) const [pure virtual]

Returns number of rest values.

Returns:
The size of the rest values array.

virtual PxU32 PxClothFabric::getNbSets ( ) const [pure virtual]

Returns number of sets.

Returns:
The size of the set array.

virtual PxU32 PxClothFabric::getNbTethers ( ) const [pure virtual]

Get number of tether constraints.

Returns:
The size of the tether anchors and lengths arrays.

virtual PxU32 PxClothFabric::getParticleIndices | ( | PxU32 * | userParticleIndexBuffer,
 |  | PxU32 | bufferSize |
 | ) |  |  | const [pure virtual]

Copies the particle indices array to a user specified buffer.

The particle indices array determines which particles are affected by each constraint. It has the same length as getNbParticleIndices() and twice the number of constraints.

Parameters:
[in] | userParticleIndexBuffer | Destination buffer to copy the set data to.
[in] | bufferSize | Size of userParticleIndexBuffer, should be at least getNbParticleIndices().
Returns:
getNbParticleIndices() if the copy was successful, 0 otherwise.
Note:
This function is potentially slow. Consider caching the (static) result instead of retrieving it multiple times.

virtual PxU32 PxClothFabric::getPhases | ( | PxClothFabricPhase * | userPhaseBuffer,
 |  | PxU32 | bufferSize |
 | ) |  |  | const [pure virtual]

Copies the phase array to a user specified buffer.

The phase array is a mapping of the phase index to the corresponding phase. The array has the same length as getNbPhases().

Parameters:
[in] | userPhaseBuffer | Destination buffer to copy the phase data to.
[in] | bufferSize | Size of userPhaseBuffer, should be at least getNbPhases().
Returns:
getNbPhases() if the copy was successful, 0 otherwise.
Note:
This function is potentially slow. Consider caching the (static) result instead of retrieving it multiple times.

virtual PxU32 PxClothFabric::getReferenceCount ( ) const [pure virtual]

Reference count of the cloth instance.

At creation, the reference count of the fabric is 1. Every cloth instance referencing this fabric increments the count by 1. When the reference count reaches 0, and only then, the fabric gets released automatically.

See also:
PxCloth

virtual PxU32 PxClothFabric::getRestvalues | ( | PxReal * | userRestvalueBuffer,
 |  | PxU32 | bufferSize |
 | ) |  |  | const [pure virtual]

Copies the rest values array to a user specified buffer.

The rest values array holds the target value of the constraint in rest state, for example edge length for stretch constraints. It stores one value per constraint, so its length is half of getNbParticleIndices(), and it has the same length as getNbRestvalues(). The rest-values are stored in the order they are (indirectly) referenced by the phases.

Parameters:
[in] | userRestvalueBuffer | Destination buffer to copy the set data to.
[in] | bufferSize | Size of userRestvalueBuffer, should be at least getNbRestvalues().
Returns:
getNbRestvalues() if the copy was successful, 0 otherwise.
Note:
This function is potentially slow. Between calling scaleRestlengths(), consider caching the result instead of retrieving it multiple times.

virtual PxU32 PxClothFabric::getSets | ( | PxU32 * | userSetBuffer,
 |  | PxU32 | bufferSize |
 | ) |  |  | const [pure virtual]

Copies the set array to a user specified buffer.

The set array is the inclusive prefix sum of the number of constraints per set. It has the same length as getNbSets().

Parameters:
[in] | userSetBuffer | Destination buffer to copy the set data to.
[in] | bufferSize | Size of userSetBuffer, should be at least getNbSets().
Returns:
getNbSets() if the copy was successful, 0 otherwise.
Note:
Indices of the i-th set are stored at indices [i?2*set[i-1]:0, 2*set[i]) in the indices array.

This function is potentially slow. Consider caching the (static) result instead of retrieving it multiple times.

virtual PxU32 PxClothFabric::getTetherAnchors | ( | PxU32 * | userAnchorBuffer,
 |  | PxU32 | bufferSize |
 | ) |  |  | const [pure virtual]

Copies the tether anchors array to a user specified buffer.

The tether anchors array stores for each particle the index of another particle from which it cannot move further away than specified by the tether lengths array.

Parameters:
[in] | userAnchorBuffer | Destination buffer to copy the set data to.
[in] | bufferSize | Size of userAnchorBuffer, should be at least getNbTethers().
Returns:
getNbTethers() if the copy was successful, 0 otherwise.
Note:
This function is potentially slow, consider caching the result instead of retrieving the data multiple times.
See also:
getTetherLengths, getNbTethers

virtual PxU32 PxClothFabric::getTetherLengths | ( | PxReal * | userLengthBuffer,
 |  | PxU32 | bufferSize |
 | ) |  |  | const [pure virtual]

Copies the tether lengths array to a user specified buffer.

The tether lengths array stores for each particle how far it is allowed to move away from the particle specified by the tether anchor array.

Parameters:
[in] | userLengthBuffer | Destination buffer to copy the set data to.
[in] | bufferSize | Size of userLengthBuffer, should be at least getNbTethers().
Returns:
getNbTethers() if the copy was successful, 0 otherwise.
Note:
This function is potentially slow. Between calling scaleRestlengths(), consider caching the result instead of retrieving it multiple times.
See also:
getTetherAnchors, getNbTethers

virtual bool PxClothFabric::isKindOf ( const char * superClass ) const [inline, protected, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxBase.

References PxBase::isKindOf().

virtual void PxClothFabric::release ( ) [pure virtual]

Decrements the cloth fabric's reference count, and releases it if the new reference count is zero.

See also:
PxPhysics.createClothFabric()

Implements PxBase.

virtual void PxClothFabric::scaleRestlengths ( PxReal scale ) [pure virtual]

Scale all rest values of length dependent constraints.

Parameters:
[in] scale The scale factor to multiply each rest value with.

The documentation for this class was generated from the following file:
  • PxClothFabric.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothFlag Struct Reference

PxClothFlag Struct Reference
[cloth (deprecated)]

flag for behaviors of the cloth solver More...

#include <PxClothTypes.h>

List of all members.

Public Types

enum Enum {
eDEFAULT = 0,
eCUDA = (1<<0),
PX_DEPRECATED = eCUDA,
eSWEPT_CONTACT = (1<<2),
eSCENE_COLLISION = (1<<3),
eCOUNT = 4
}

Detailed Description

flag for behaviors of the cloth solver

Defines flags to turn on/off features of the cloth solver. The flag can be set during the cloth object construction (

See also:
PxPhysics.createCloth() ), or individually after the cloth (deprecated) has been created (

PxCloth.setClothFlag() ).

Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Member Enumeration Documentation

enum PxClothFlag::Enum

Enumerator:
eDEFAULT | default value
eCUDA | use CUDA to simulate cloth
PX_DEPRECATED
Deprecated:
Deprecated, use eCUDA instead
eSWEPT_CONTACT | use swept contact (continuous collision)
eSCENE_COLLISION | collide against rigid body shapes in scene
eCOUNT

The documentation for this struct was generated from the following file:
  • PxClothTypes.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothParticle Struct Reference

PxClothParticle Struct Reference
[cloth (deprecated)]

Per particle data for cloth. More...

#include <PxClothTypes.h>

Collaboration diagram for PxClothParticle:

PxVec3
[legend]

List of all members.

Public Member Functions

PxClothParticle ()
Default constructor, performs no initialization.
PxClothParticle (const PxVec3 &pos_, PxReal invWeight_)

Public Attributes

PxVec3 pos
position of the particle (in cloth local space)
PxReal invWeight
inverse mass of the particle. If set to 0, the particle is fully constrained.

Detailed Description

Per particle data for cloth.

Defines position of the cloth particle as well as inverse mass. When inverse mass is set to 0, the particle gets fully constrained to the position during simulation.

See also:
PxPhysics.createCloth()

PxCloth.setParticles()

Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Constructor & Destructor Documentation

PxClothParticle::PxClothParticle ( ) [inline]

Default constructor, performs no initialization.

PxClothParticle::PxClothParticle | ( | const PxVec3 & | pos_,
 |  | PxReal | invWeight_ |
 | ) |  |  | [inline]

Member Data Documentation

PxReal PxClothParticle::invWeight

inverse mass of the particle. If set to 0, the particle is fully constrained.

PxVec3 PxClothParticle::pos

position of the particle (in cloth local space)

The documentation for this struct was generated from the following file:
  • PxClothTypes.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothParticleMotionConstraint Struct Reference

PxClothParticleMotionConstraint Struct Reference
[cloth (deprecated)]

Constraints for cloth particle motion. More...

#include <PxClothTypes.h>

Collaboration diagram for PxClothParticleMotionConstraint:

PxVec3
[legend]

List of all members.

Public Member Functions

PxClothParticleMotionConstraint ()
Default constructor, performs no initialization.
PxClothParticleMotionConstraint (const PxVec3 &p, PxReal r)

Public Attributes

PxVec3 pos
Center of the motion constraint sphere (in cloth local space).
PxReal radius
Maximum distance the particle can move away from the sphere center.

Detailed Description

Constraints for cloth particle motion.

Defines a spherical volume to which the motion of a particle should be constrained.

Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1
See also:
PxCloth.setMotionConstraints()

Constructor & Destructor Documentation

PxClothParticleMotionConstraint::PxClothParticleMotionConstraint ( ) [inline]

Default constructor, performs no initialization.

PxClothParticleMotionConstraint::PxClothParticleMotionConstraint | ( | const PxVec3 & | p,
 |  | PxReal | r |
 | ) |  |  | [inline]

Member Data Documentation

PxVec3 PxClothParticleMotionConstraint::pos

Center of the motion constraint sphere (in cloth local space).

PxReal PxClothParticleMotionConstraint::radius

Maximum distance the particle can move away from the sphere center.

The documentation for this struct was generated from the following file:
  • PxClothTypes.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothParticleSeparationConstraint Struct Reference

PxClothParticleSeparationConstraint Struct Reference
[cloth (deprecated)]

Separation constraints for cloth particle movement. More...

#include <PxClothTypes.h>

Collaboration diagram for PxClothParticleSeparationConstraint:

PxVec3
[legend]

List of all members.

Public Member Functions

PxClothParticleSeparationConstraint ()
Default constructor, performs no initialization.
PxClothParticleSeparationConstraint (const PxVec3 &p, PxReal r)

Public Attributes

PxVec3 pos
Center of the constraint sphere (in cloth local space).
PxReal radius
Radius of the constraint sphere such that the particle stay outside of this sphere.

Detailed Description

Separation constraints for cloth particle movement.

Defines a spherical volume such that corresponding particles should stay outside.

Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1
See also:
PxCloth.setSeparationConstraints()

Constructor & Destructor Documentation

PxClothParticleSeparationConstraint::PxClothParticleSeparationConstraint ( ) [inline]

Default constructor, performs no initialization.

PxClothParticleSeparationConstraint::PxClothParticleSeparationConstraint | ( | const PxVec3 & | p,
 |  | PxReal | r |
 | ) |  |  | [inline]

Member Data Documentation

PxVec3 PxClothParticleSeparationConstraint::pos

Center of the constraint sphere (in cloth local space).

PxReal PxClothParticleSeparationConstraint::radius

Radius of the constraint sphere such that the particle stay outside of this sphere.

The documentation for this struct was generated from the following file:
  • PxClothTypes.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: particles (deprecated)

particles (deprecated)

Classes

class | PxParticleBase
The particle base class represents the shared module for particle based simulation. This class can't be instantiated. (deprecated). More...
struct | PxParticleBaseFlag
ParticleBase flags (deprecated). More...
class | PxParticleCreationData
Descriptor-like user-side class describing buffers for particle creation. (deprecated). More...
struct | PxParticleFlag
class | PxParticleFluid
The particle fluid class represents the main module for particle based fluid simulation. (deprecated) SPH (Smoothed Particle Hydrodynamics) is used to animate the particles. This class inherits the properties of the PxParticleBase class and adds particle-particle interactions. More...
class | PxParticleFluidReadData
Data layout descriptor for reading fluid particle data from the SDK. (deprecated). More...
struct | PxParticleReadDataFlag
class | PxParticleReadData
Data layout descriptor for reading particle data from the SDK. (deprecated). More...
class | PxParticleSystem
The particle system class represents the main module for particle based simulation. (deprecated). More...

Typedefs

typedef PX_DEPRECATED PxFlags
< PxParticleBaseFlag::Enum,
PxU16 > 		PxParticleBaseFlags
collection of set bits defined in PxParticleBaseFlag. (deprecated)
typedef PX_DEPRECATED PxFlags
< PxParticleReadDataFlag::Enum,
PxU16 > 		PxParticleReadDataFlags
collection of set bits defined in PxParticleReadDataFlag. (deprecated)
typedef PX_DEPRECATED PxFlags
< PxParticleFlag::Enum, PxU16 > 		PxParticleFlags
collection of set bits defined in PxParticleFlag. (deprecated)

Functions

PX_INLINE | PxParticleCreationData::PxParticleCreationData ()
Constructor sets to default.
PX_INLINE void | PxParticleCreationData::setToDefault ()
(Re)sets the structure to the default.
PX_INLINE bool | PxParticleCreationData::isValid () const
Returns true if the current settings are valid.

Detailed Description

Typedef Documentation

typedef PX_DEPRECATED PxFlags<PxParticleBaseFlag::Enum, PxU16> PxParticleBaseFlags

collection of set bits defined in PxParticleBaseFlag. (deprecated)

Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4
See also:
PxParticleBaseFlag

typedef PX_DEPRECATED PxFlags<PxParticleFlag::Enum, PxU16> PxParticleFlags

collection of set bits defined in PxParticleFlag. (deprecated)

Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4
See also:
PxParticleFlag

typedef PX_DEPRECATED PxFlags<PxParticleReadDataFlag::Enum, PxU16> PxParticleReadDataFlags

collection of set bits defined in PxParticleReadDataFlag. (deprecated)

Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4
See also:
PxParticleReadDataFlag

Function Documentation

PX_INLINE bool PxParticleCreationData::isValid ( ) const [inherited]

Returns true if the current settings are valid.

References PxParticleCreationData::indexBuffer, PxParticleCreationData::numParticles, PxParticleCreationData::positionBuffer, and PxStrideIterator< T >::ptr().

PX_INLINE PxParticleCreationData::PxParticleCreationData ( ) [inherited]

Constructor sets to default.

References PxParticleCreationData::flagBuffer, PxParticleCreationData::indexBuffer, PxParticleCreationData::positionBuffer, PxParticleCreationData::restOffsetBuffer, and PxParticleCreationData::velocityBuffer.

Referenced by PxParticleCreationData::setToDefault().

PX_INLINE void PxParticleCreationData::setToDefault ( ) [inherited]

(Re)sets the structure to the default.

References PxParticleCreationData::PxParticleCreationData().


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxParticleBase Class Reference

PxParticleBase Class Reference
[particles (deprecated)]

The particle base class represents the shared module for particle based simulation. This class can't be instantiated. (deprecated). More...

#include <PxParticleBase.h>

Inheritance diagram for PxParticleBase:

PxParticleFluidPxParticleSystemPxActorPxBase
[legend]
Collaboration diagram for PxParticleBase:

PxActorPxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

virtual void | setParticleBaseFlag (PxParticleBaseFlag::Enum flag, bool val)=0
Sets particle system flags.
virtual PxParticleBaseFlags | getParticleBaseFlags () const =0
Returns particle system flags.
Particle Access and Manipulation
virtual PxParticleReadData * | lockParticleReadData (PxDataAccessFlags flags)=0
Locks the particle data and provides the data descriptor for accessing the particles. After reading from the buffers the application needs to call PxParticleReadData::unlock() before any SDK operation can access the buffers. Particularly the buffers need to be unlocked before calling PxParticleBase::lockParticleReadData(), PxParticleBase::createParticles(), PxParticleBase::releaseParticles(), PxScene::fetchResults().
virtual PxParticleReadData * | lockParticleReadData ()=0
Locks the particle read data and provides the data descriptor for accessing the particles.
virtual bool | createParticles (const PxParticleCreationData &creationData)=0
Creates new particles.
virtual void | releaseParticles (PxU32 numParticles, const PxStrideIterator< const PxU32 > &indexBuffer)=0
Releases particles.
virtual void | releaseParticles ()=0
Releases all particles.
virtual void | setPositions (PxU32 numParticles, const PxStrideIterator< const PxU32 > &indexBuffer, const PxStrideIterator< const PxVec3 > &positionBuffer)=0
Sets particle positions.
virtual void | setVelocities (PxU32 numParticles, const PxStrideIterator< const PxU32 > &indexBuffer, const PxStrideIterator< const PxVec3 > &velocityBuffer)=0
Sets particle velocities.
virtual void | setRestOffsets (PxU32 numParticles, const PxStrideIterator< const PxU32 > &indexBuffer, const PxStrideIterator< const PxF32 > &restOffsetBuffer)=0
Sets particle rest offsets.
virtual void | addForces (PxU32 numParticles, const PxStrideIterator< const PxU32 > &indexBuffer, const PxStrideIterator< const PxVec3 > &forceBuffer, PxForceMode::Enum forceMode)=0
Set forces to be applied to the particles when the simulation starts.
ParticleBase Parameters
virtual PxReal | getDamping () const =0
Returns the particle system damping.
virtual void | setDamping (PxReal damp)=0
Sets the particle system damping (must be nonnegative).
virtual PxVec3 | getExternalAcceleration () const =0
Returns the external acceleration applied to each particle at each time step.
virtual void | setExternalAcceleration (const PxVec3 &acceleration)=0
Sets the external acceleration applied to each particle at each time step.
virtual void | getProjectionPlane (PxVec3 &normal, PxReal &distance) const =0
Returns the plane the particles are projected to.
virtual void | setProjectionPlane (const PxVec3 &normal, PxReal distance)=0
Sets the plane the particles are projected to.
Collisions
virtual PxReal | getParticleMass () const =0
Returns the mass of a particle.
virtual void | setParticleMass (PxReal mass)=0
Sets the mass of a particle.
virtual PxReal | getRestitution () const =0
Returns the restitution used for collision with shapes.
virtual void | setRestitution (PxReal rest)=0
Sets the restitution used for collision with shapes.
virtual PxReal | getDynamicFriction () const =0
Returns the dynamic friction used for collision with shapes.
virtual void | setDynamicFriction (PxReal friction)=0
Sets the dynamic friction used for collision with shapes.
virtual PxReal | getStaticFriction () const =0
Returns the static friction used for collision with shapes.
virtual void | setStaticFriction (PxReal friction)=0
Sets the static friction used for collision with shapes.
Collision Filtering
virtual void | setSimulationFilterData (const PxFilterData &data)=0
Sets the user definable collision filter data.
virtual PxFilterData | getSimulationFilterData () const =0
Retrieves the object's collision filter data.

ParticleSystem Property Read Back

virtual PxU32 | getMaxParticles () const =0
Returns the maximum number of particles for this particle system.
virtual PxReal | getMaxMotionDistance () const =0
Returns the maximal motion distance (the particle can move the maximal distance of getMaxMotionDistance() during one timestep).
virtual void | setMaxMotionDistance (PxReal distance)=0
Sets the maximal motion distance (the particle can move the maximal distance during one timestep). Immutable when the particle system is part of a scene.
virtual PxReal | getRestOffset () const =0
Returns the distance between particles and collision geometry, which is maintained during simulation.
virtual void | setRestOffset (PxReal restOffset)=0
Sets the distance between particles and collision geometry, which is maintained during simulation. If per particle restOffsets are used, they need to be in the range [0.0f, restOffset]. Immutable when the particle system is part of a scene.
virtual PxReal | getContactOffset () const =0
Returns the distance at which contacts are generated between particles and collision geometry.
virtual void | setContactOffset (PxReal contactOffset)=0
Sets the distance at which contacts are generated between particles and collision geometry. Immutable when the particle system is part of a scene.
virtual PxReal | getGridSize () const =0
Returns the particle grid size used for internal spatial data structures.
virtual void | setGridSize (PxReal gridSize)=0
Sets the particle grid size used for internal spatial data structures. Immutable when the particle system is part of a scene. The actual grid size used might differ from the grid size set in the setGridSize().
virtual PxParticleReadDataFlags | getParticleReadDataFlags () const =0
Returns particle read data flags.
virtual void | setParticleReadDataFlag (PxParticleReadDataFlag::Enum flag, bool val)=0
Sets particle read data flags.
PX_INLINE | PxParticleBase (PxType concreteType, PxBaseFlags baseFlags)
PX_INLINE | PxParticleBase (PxBaseFlags baseFlags)
virtual | ~PxParticleBase ()
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Detailed Description

The particle base class represents the shared module for particle based simulation. This class can't be instantiated. (deprecated).

The particle base class manages a set of particles. Particles can be created, released and updated directly through the API. When a particle is created the user gets an index for it which can be used to address the particle until it is released again.

Particles collide with static and dynamic shapes. They are also affected by the scene gravity and a user force, as well as global velocity damping. When a particle collides, a particle flag is raised corresponding to the type of actor, static or dynamic, it collided with. Additionally a shape can be flagged as a drain (See PxShapeFlag), in order to get a corresponding particle flag raised when a collision occurs. This information can be used to delete particles.

Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4
See also:
PxParticleCreationData, PxParticleReadData, PxShapeFlag, PxParticleSystem, PxParticleFluid

Constructor & Destructor Documentation

PX_INLINE PxParticleBase::PxParticleBase | ( | PxType | concreteType,
 |  | PxBaseFlags | baseFlags |
 | ) |  |  | [inline, protected]

PX_INLINE PxParticleBase::PxParticleBase ( PxBaseFlags baseFlags ) [inline, protected]

virtual PxParticleBase::~PxParticleBase ( ) [inline, protected, virtual]

Member Function Documentation

virtual void PxParticleBase::addForces | ( | PxU32 | numParticles,
 |  | const PxStrideIterator< const PxU32 > & | indexBuffer,
 |  | const PxStrideIterator< const PxVec3 > & | forceBuffer,
 |  | PxForceMode::Enum | forceMode |
 | ) |  |  | [pure virtual]

Set forces to be applied to the particles when the simulation starts.

This call is ignored on particle system that aren't assigned to a scene.

Parameters:
numParticles | Number of particle updates.
indexBuffer | Structure describing indices of particles that should be updated. (Has to be consistent with numParticles).
forceBuffer | Structure describing values for particle updates depending on forceMode. (Has to be consistent with numParticles).
forceMode | Describes type of update.

virtual bool PxParticleBase::createParticles ( const PxParticleCreationData & creationData ) [pure virtual]

Creates new particles.

The PxParticleCreationData descriptor is used to create new particles based on the provided PxParticleCreationData. Providing particle indices and positions is mandatory. Indices need to be consistent with the available particle slots within the range [0, maxParticles-1]. The new particles can be immediately read from the application readable particle data, PxParticleReadData.

Parameters:
creationData specifies particle attributes for the particles to be created. (all buffers set have to be consistent with numParticles).
Returns:
whether the operation was successful.
See also:
PxParticleCreationData, PxParticleReadData, PxParticlesExt.IndexPool

virtual PxReal PxParticleBase::getContactOffset ( ) const [pure virtual]

Returns the distance at which contacts are generated between particles and collision geometry.

Returns:
contact offset.

virtual PxReal PxParticleBase::getDamping ( ) const [pure virtual]

Returns the particle system damping.

Returns:
The particle system damping.

virtual PxReal PxParticleBase::getDynamicFriction ( ) const [pure virtual]

Returns the dynamic friction used for collision with shapes.

Returns:
The dynamic friction.

virtual PxVec3 PxParticleBase::getExternalAcceleration ( ) const [pure virtual]

Returns the external acceleration applied to each particle at each time step.

Returns:
The external acceleration applied to particles.

virtual PxReal PxParticleBase::getGridSize ( ) const [pure virtual]

Returns the particle grid size used for internal spatial data structures.

The actual grid size used might differ from the grid size set in the setGridSize().

Returns:
The grid size.

virtual PxReal PxParticleBase::getMaxMotionDistance ( ) const [pure virtual]

Returns the maximal motion distance (the particle can move the maximal distance of getMaxMotionDistance() during one timestep).

Returns:
maximum motion distance.

virtual PxU32 PxParticleBase::getMaxParticles ( ) const [pure virtual]

Returns the maximum number of particles for this particle system.

Returns:
Max number of particles for this particle system.

virtual PxParticleBaseFlags PxParticleBase::getParticleBaseFlags ( ) const [pure virtual]

Returns particle system flags.

Returns:
The current flag values.

virtual PxReal PxParticleBase::getParticleMass ( ) const [pure virtual]

Returns the mass of a particle.

Returns:
Particle mass.

virtual PxParticleReadDataFlags PxParticleBase::getParticleReadDataFlags ( ) const [pure virtual]

Returns particle read data flags.

Returns:
The particle read data flags.
See also:
PxParticleReadDataFlags

virtual void PxParticleBase::getProjectionPlane | ( | PxVec3 & | normal,
 |  | PxReal & | distance |
 | ) |  |  | const [pure virtual]

Returns the plane the particles are projected to.

Parameters:
[out] | normal | Particle projection plane normal
[out] | distance | Particle projection plane constant term

virtual PxReal PxParticleBase::getRestitution ( ) const [pure virtual]

Returns the restitution used for collision with shapes.

Returns:
The restitution.

virtual PxReal PxParticleBase::getRestOffset ( ) const [pure virtual]

Returns the distance between particles and collision geometry, which is maintained during simulation.

Returns:
rest offset.

virtual PxFilterData PxParticleBase::getSimulationFilterData ( ) const [pure virtual]

Retrieves the object's collision filter data.

See also:
setSimulationFilterData()

virtual PxReal PxParticleBase::getStaticFriction ( ) const [pure virtual]

Returns the static friction used for collision with shapes.

Returns:
The static friction.

virtual bool PxParticleBase::isKindOf ( const char * superClass ) const [inline, protected, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxActor.

Reimplemented in PxParticleFluid, and PxParticleSystem.

References PxActor::isKindOf().

Referenced by PxParticleSystem::isKindOf(), and PxParticleFluid::isKindOf().

virtual PxParticleReadData* PxParticleBase::lockParticleReadData ( ) [pure virtual]

Locks the particle read data and provides the data descriptor for accessing the particles.

Note:
This method does the same as lockParticleReadData(PxDataAccessFlags::eREADABLE)
See also:
PxParticleReadData

virtual PxParticleReadData* PxParticleBase::lockParticleReadData ( PxDataAccessFlags flags ) [pure virtual]

Locks the particle data and provides the data descriptor for accessing the particles. After reading from the buffers the application needs to call PxParticleReadData::unlock() before any SDK operation can access the buffers. Particularly the buffers need to be unlocked before calling PxParticleBase::lockParticleReadData(), PxParticleBase::createParticles(), PxParticleBase::releaseParticles(), PxScene::fetchResults().

Parameters:
flags If PxDataAccessFlag::eDEVICE is specified for GPU particles then pointers to GPU memory will be returned otherwise it will be ignored.
Note:
PxDataAccessFlag::eWRITEABLE is not supported and will be ignored

If using PxDataAccessFlag::eDEVICE, newly created particles will not become visible in the GPU buffers until a subsequent simulation step has completed

See also:
PxParticleReadData

virtual void PxParticleBase::releaseParticles ( ) [pure virtual]

Releases all particles.

Application readable particle data is updated accordingly.

virtual void PxParticleBase::releaseParticles | ( | PxU32 | numParticles,
 |  | const PxStrideIterator< const PxU32 > & | indexBuffer |
 | ) |  |  | [pure virtual]

Releases particles.

Particles corresponding to passed indices are released. Releasing a particle will immediately mark the particle in the application readable particle data, PxParticleReadData, as being invalid, removing PxParticleFlag::eVALID. Passing duplicate indices is not allowed.

Parameters:
numParticles | Number of particles to be released.
indexBuffer | Structure describing indices of particles that should be deleted. (Has to be consistent with numParticles).
See also:
PxParticleReadData

virtual void PxParticleBase::setContactOffset ( PxReal contactOffset ) [pure virtual]

Sets the distance at which contacts are generated between particles and collision geometry. Immutable when the particle system is part of a scene.

Parameters:
contactOffset New contactOffset value.

virtual void PxParticleBase::setDamping ( PxReal damp ) [pure virtual]

Sets the particle system damping (must be nonnegative).

Parameters:
damp The new particle system damping.

virtual void PxParticleBase::setDynamicFriction ( PxReal friction ) [pure virtual]

Sets the dynamic friction used for collision with shapes.

Must be between 0 and 1.

Parameters:
friction The new dynamic friction

virtual void PxParticleBase::setExternalAcceleration ( const PxVec3 & acceleration ) [pure virtual]

Sets the external acceleration applied to each particle at each time step.

Parameters:
acceleration External acceleration to apply to particles.
See also:
getExternalAcceleration()

virtual void PxParticleBase::setGridSize ( PxReal gridSize ) [pure virtual]

Sets the particle grid size used for internal spatial data structures. Immutable when the particle system is part of a scene. The actual grid size used might differ from the grid size set in the setGridSize().

Parameters:
gridSize New gridSize value.

virtual void PxParticleBase::setMaxMotionDistance ( PxReal distance ) [pure virtual]

Sets the maximal motion distance (the particle can move the maximal distance during one timestep). Immutable when the particle system is part of a scene.

Parameters:
distance New Max motionDistance value.

virtual void PxParticleBase::setParticleBaseFlag | ( | PxParticleBaseFlag::Enum | flag,
 |  | bool | val |
 | ) |  |  | [pure virtual]

Sets particle system flags.

Parameters:
flag | Member of PxParticleBaseFlag.
val | New flag value.

virtual void PxParticleBase::setParticleMass ( PxReal mass ) [pure virtual]

Sets the mass of a particle.

Parameters:
mass The particle mass.

virtual void PxParticleBase::setParticleReadDataFlag | ( | PxParticleReadDataFlag::Enum | flag,
 |  | bool | val |
 | ) |  |  | [pure virtual]

Sets particle read data flags.

Parameters:
flag | Member of PxParticleReadDataFlag.
val | New flag value.
See also:
PxParticleReadDataFlags

virtual void PxParticleBase::setPositions | ( | PxU32 | numParticles,
 |  | const PxStrideIterator< const PxU32 > & | indexBuffer,
 |  | const PxStrideIterator< const PxVec3 > & | positionBuffer |
 | ) |  |  | [pure virtual]

Sets particle positions.

Directly sets the positions of particles. The supplied positions are used to change particles in the order of the indices listed in the index buffer. Duplicate indices are allowed. A position buffer of stride zero is allowed. Application readable particle data is updated accordingly.

Parameters:
numParticles | Number of particle updates.
indexBuffer | Structure describing indices of particles that should be updated. (Has to be consistent with numParticles).
positionBuffer | Structure describing positions for position updates. (Has to be consistent with numParticles).

virtual void PxParticleBase::setProjectionPlane | ( | const PxVec3 & | normal,
 |  | PxReal | distance |
 | ) |  |  | [pure virtual]

Sets the plane the particles are projected to.

Points p on the plane have to fulfill the equation:

(normal.x * p.x) + (normal.y * p.y) + (normal.z * p.z) + d = 0

Parameters:
[in] | normal | Particle projection plane normal
[in] | distance | Particle projection plane constant term

virtual void PxParticleBase::setRestitution ( PxReal rest ) [pure virtual]

Sets the restitution used for collision with shapes.

Must be between 0 and 1.

Parameters:
rest The new restitution.

virtual void PxParticleBase::setRestOffset ( PxReal restOffset ) [pure virtual]

Sets the distance between particles and collision geometry, which is maintained during simulation. If per particle restOffsets are used, they need to be in the range [0.0f, restOffset]. Immutable when the particle system is part of a scene.

Parameters:
restOffset New restOffset value.

virtual void PxParticleBase::setRestOffsets | ( | PxU32 | numParticles,
 |  | const PxStrideIterator< const PxU32 > & | indexBuffer,
 |  | const PxStrideIterator< const PxF32 > & | restOffsetBuffer |
 | ) |  |  | [pure virtual]

Sets particle rest offsets.

Directly sets the rest offsets of particles. The supplied rest offsets are used to change particles in the order of the indices listed in the index buffer. The provided offsets need to be in the range [0.0f, restOffset]. Duplicate indices are allowed. A rest offset buffer of stride zero is allowed. Application readable particle data is updated accordingly.

Parameters:
numParticles | Number of particle updates.
indexBuffer | Structure describing indices of particles that should be updated. (Has to be consistent with numParticles).
restOffsetBuffer | Structure describing rest offsets for rest offset updates. (Has to be consistent with numParticles).
See also:
PxParticleBaseFlag.ePER_PARTICLE_REST_OFFSET

virtual void PxParticleBase::setSimulationFilterData ( const PxFilterData & data ) [pure virtual]

Sets the user definable collision filter data.

See also:
getSimulationFilterData()

virtual void PxParticleBase::setStaticFriction ( PxReal friction ) [pure virtual]

Sets the static friction used for collision with shapes.

Must be non-negative.

Parameters:
friction The new static friction

virtual void PxParticleBase::setVelocities | ( | PxU32 | numParticles,
 |  | const PxStrideIterator< const PxU32 > & | indexBuffer,
 |  | const PxStrideIterator< const PxVec3 > & | velocityBuffer |
 | ) |  |  | [pure virtual]

Sets particle velocities.

Directly sets the velocities of particles. The supplied velocities are used to change particles in the order of the indices listed in the index buffer. Duplicate indices are allowed. A velocity buffer of stride zero is allowed. Application readable particle data is updated accordingly.

Parameters:
numParticles | Number of particle updates.
indexBuffer | Structure describing indices of particles that should be updated. (Has to be consistent with numParticles).
velocityBuffer | Structure describing velocities for velocity updates. (Has to be consistent with numParticles).

The documentation for this class was generated from the following file:
  • PxParticleBase.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxParticleBaseFlag Struct Reference

PxParticleBaseFlag Struct Reference
[particles (deprecated)]

ParticleBase flags (deprecated). More...

#include <PxParticleBaseFlag.h>

List of all members.

Public Types

enum Enum {
eCOLLISION_TWOWAY = (1<<0),
eCOLLISION_WITH_DYNAMIC_ACTORS = (1<<1),
eENABLED = (1<<2),
ePROJECT_TO_PLANE = (1<<3),
ePER_PARTICLE_REST_OFFSET = (1<<4),
ePER_PARTICLE_COLLISION_CACHE_HINT = (1<<5),
eGPU = (1<<6)
}

Detailed Description

ParticleBase flags (deprecated).

Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4

Member Enumeration Documentation

enum PxParticleBaseFlag::Enum

Enumerator:
eCOLLISION_TWOWAY Enable/disable two way collision of particles with the rigid body scene. In either case, particles are influenced by colliding rigid bodies. If eCOLLISION_TWOWAY is not set, rigid bodies are not influenced by colliding particles. Use particleMass to control the strength of the feedback force on rigid bodies.

Note:
Switching this flag while the particle system is part of a scene might have a negative impact on performance.
eCOLLISION_WITH_DYNAMIC_ACTORS Enable/disable collision of particles with dynamic actors. The flag can be turned off as a hint to the sdk to save memory space and execution time. In principle any collisions can be turned off using filters but without or reduced memory and performance benefits.

Note:
Switching this flag while the particle system is part of a scene might have a negative impact on performance.
eENABLED | Enable/disable execution of particle simulation.
ePROJECT_TO_PLANE | Defines whether the particles of this particle system should be projected to a plane. This can be used to build 2D applications, for instance. The projection plane is defined by the parameter projectionPlaneNormal and projectionPlaneDistance.
ePER_PARTICLE_REST_OFFSET Enable/disable per particle rest offsets. Per particle rest offsets can be used to support particles having different sizes with respect to collision.

Note:
This configuration cannot be changed after the particle system was created.
ePER_PARTICLE_COLLISION_CACHE_HINT Ename/disable per particle collision caches. Per particle collision caches improve collision detection performance at the cost of increased memory usage.

Note:
Switching this flag while the particle system is part of a scene might have a negative impact on performance.
eGPU Enable/disable GPU acceleration. Enabling GPU acceleration might fail. In this case the eGPU flag is switched off.

Note:
Switching this flag while the particle system is part of a scene might have a negative impact on performance.
See also:
PxScene.removeActor() PxScene.addActor() PxParticleGpu

The documentation for this struct was generated from the following file:
  • PxParticleBaseFlag.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxParticleCreationData Class Reference

PxParticleCreationData Class Reference
[particles (deprecated)]

Descriptor-like user-side class describing buffers for particle creation. (deprecated). More...

#include <PxParticleCreationData.h>

Collaboration diagram for PxParticleCreationData:

PxStrideIterator\< const PxF32 \>PxStrideIterator\< const PxU32 \>PxStrideIterator\< const PxVec3 \>PxVec3
[legend]

List of all members.

Public Member Functions

PX_INLINE void | setToDefault ()
(Re)sets the structure to the default.
PX_INLINE bool | isValid () const
Returns true if the current settings are valid.
PX_INLINE | PxParticleCreationData ()
Constructor sets to default.

Public Attributes

PxU32 numParticles
The number of particles stored in the buffer.
PxStrideIterator< const PxU32 > | indexBuffer
Particle index data.
PxStrideIterator< const PxVec3 > | positionBuffer
Particle position data.
PxStrideIterator< const PxVec3 > | velocityBuffer
Particle velocity data.
PxStrideIterator< const PxF32 > | restOffsetBuffer
Particle rest offset data.
PxStrideIterator< const PxU32 > | flagBuffer
Particle flags.

Detailed Description

Descriptor-like user-side class describing buffers for particle creation. (deprecated).

PxParticleCreationData is used to create particles within the SDK. The SDK copies the particle data referenced by PxParticleCreationData, it may therefore be deallocated right after the creation call returned.

Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4
See also:
PxParticleBase::createParticles()

Member Data Documentation

PxStrideIterator<const PxU32> PxParticleCreationData::flagBuffer

Particle flags.

PxParticleFlag.eVALID, PxParticleFlag.eCOLLISION_WITH_STATIC, PxParticleFlag.eCOLLISION_WITH_DYNAMIC, PxParticleFlag.eCOLLISION_WITH_DRAIN, PxParticleFlag.eSPATIAL_DATA_STRUCTURE_OVERFLOW are all flags that can't be set on particle creation. They are written by the SDK exclusively.

Providing flag data is optional.

See also:
PxParticleFlag

Referenced by PxParticleCreationData().

PxStrideIterator<const PxU32> PxParticleCreationData::indexBuffer

Particle index data.

When creating particles, providing the particle indices is mandatory.

Referenced by isValid(), and PxParticleCreationData().

PxU32 PxParticleCreationData::numParticles

The number of particles stored in the buffer.

Referenced by isValid().

PxStrideIterator<const PxVec3> PxParticleCreationData::positionBuffer

Particle position data.

When creating particles, providing the particle positions is mandatory.

Referenced by isValid(), and PxParticleCreationData().

PxStrideIterator<const PxF32> PxParticleCreationData::restOffsetBuffer

Particle rest offset data.

Values need to be in the range [0.0f, restOffset]. If PxParticleBaseFlag.ePER_PARTICLE_REST_OFFSET is set, providing per particle rest offset data is mandatory.

See also:
PxParticleBaseFlag.ePER_PARTICLE_REST_OFFSET.

Referenced by PxParticleCreationData().

PxStrideIterator<const PxVec3> PxParticleCreationData::velocityBuffer

Particle velocity data.

Providing velocity data is optional.

Referenced by PxParticleCreationData().

The documentation for this class was generated from the following file:
  • PxParticleCreationData.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxParticleFlag Struct Reference

PxParticleFlag Struct Reference
[particles (deprecated)]

#include <PxParticleFlag.h>

List of all members.

Public Types

enum Enum {
eVALID = (1<<0),
eCOLLISION_WITH_STATIC = (1<<1),
eCOLLISION_WITH_DYNAMIC = (1<<2),
eCOLLISION_WITH_DRAIN = (1<<3),
eSPATIAL_DATA_STRUCTURE_OVERFLOW = (1<<4)
}

Detailed Description

Particle flags are used for additional information on the particles. (deprecated)

Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4

Member Enumeration Documentation

enum PxParticleFlag::Enum

Enumerator:
eVALID Marks a valid particle. The particle data corresponding to these particle flags is valid, i.e. defines a particle, when set. Particles that are not marked with PxParticleFlag::eVALID are ignored during simulation.

Application read only.

eCOLLISION_WITH_STATIC Marks a particle that has collided with a static actor shape.

Application read only.

eCOLLISION_WITH_DYNAMIC Marks a particle that has collided with a dynamic actor shape.

Application read only.

eCOLLISION_WITH_DRAIN Marks a particle that has collided with a shape that has been flagged as a drain (See PxShapeFlag.ePARTICLE_DRAIN).

Application read only.

See also:
PxShapeFlag.ePARTICLE_DRAIN
eSPATIAL_DATA_STRUCTURE_OVERFLOW Marks a particle that had to be ignored for simulation, because the spatial data structure ran out of resources.

Application read only.

The documentation for this struct was generated from the following file:
  • PxParticleFlag.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxParticleFluid Class Reference

PxParticleFluid Class Reference
[particles (deprecated)]

The particle fluid class represents the main module for particle based fluid simulation. (deprecated) SPH (Smoothed Particle Hydrodynamics) is used to animate the particles. This class inherits the properties of the PxParticleBase class and adds particle-particle interactions. More...

#include <PxParticleFluid.h>

Inheritance diagram for PxParticleFluid:

PxParticleBasePxActorPxBase
[legend]
Collaboration diagram for PxParticleFluid:

PxParticleBasePxActorPxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

virtual const char * | getConcreteTypeName () const
Returns string name of dynamic type.
Particle Access and Manipulation
virtual PxParticleFluidReadData * | lockParticleFluidReadData (PxDataAccessFlags flags)=0
Locks the particle data and provides the data descriptor for accessing the particles including fluid particle densities.
virtual PxParticleFluidReadData * | lockParticleFluidReadData ()=0
Locks the particle data and provides the data descriptor for accessing the particles including fluid particle densities.
Particle Fluid Parameters
virtual PxReal | getStiffness () const =0
Returns the fluid stiffness.
virtual void | setStiffness (PxReal stiffness)=0
Sets the fluid stiffness (must be positive).
virtual PxReal | getViscosity () const =0
Returns the fluid viscosity.
virtual void | setViscosity (PxReal viscosity)=0
Sets the fluid viscosity (must be positive).
Particle Fluid Property Read Back
virtual PxReal | getRestParticleDistance () const =0
Returns the typical distance of particles in the relaxed state of the fluid.
Particle Fluid Parameters
virtual void | setRestParticleDistance (PxReal restParticleDistance)=0
Sets the typical distance of particles in the relaxed state of the fluid.

Protected Member Functions

PX_INLINE | PxParticleFluid (PxType concreteType, PxBaseFlags baseFlags)
PX_INLINE | PxParticleFluid (PxBaseFlags baseFlags)
virtual | ~PxParticleFluid ()
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Detailed Description

The particle fluid class represents the main module for particle based fluid simulation. (deprecated) SPH (Smoothed Particle Hydrodynamics) is used to animate the particles. This class inherits the properties of the PxParticleBase class and adds particle-particle interactions.

There are two kinds of particle interaction forces which govern the behaviour of the fluid:

  1. Pressure forces: These forces result from particle densities higher than the "rest density" of the fluid. The rest density is given by specifying the inter-particle distance at which the fluid is in its relaxed state. Particles which are closer than the rest spacing are pushed away from each other.
  2. Viscosity forces: These forces act on neighboring particles depending on the difference of their velocities. Particles drag other particles with them which is used to simulate the viscous behaviour of the fluid.

For a good introduction to SPH fluid simulation, see http://www.matthiasmueller.info/publications/sca03.pdf

Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4
See also:
PxParticleBase, PxParticleFluidReadData, PxPhysics.createParticleFluid

Constructor & Destructor Documentation

PX_INLINE PxParticleFluid::PxParticleFluid | ( | PxType | concreteType,
 |  | PxBaseFlags | baseFlags |
 | ) |  |  | [inline, protected]

PX_INLINE PxParticleFluid::PxParticleFluid ( PxBaseFlags baseFlags ) [inline, protected]

virtual PxParticleFluid::~PxParticleFluid ( ) [inline, protected, virtual]

Member Function Documentation

virtual const char* PxParticleFluid::getConcreteTypeName ( ) const [inline, virtual]

Returns string name of dynamic type.

Returns:
Class name of most derived type of this object.

Implements PxBase.

virtual PxReal PxParticleFluid::getRestParticleDistance ( ) const [pure virtual]

Returns the typical distance of particles in the relaxed state of the fluid.

Returns:
Rest particle distance.

virtual PxReal PxParticleFluid::getStiffness ( ) const [pure virtual]

Returns the fluid stiffness.

Returns:
The fluid stiffness.

virtual PxReal PxParticleFluid::getViscosity ( ) const [pure virtual]

Returns the fluid viscosity.

Returns:
The viscosity of the fluid.

virtual bool PxParticleFluid::isKindOf ( const char * superClass ) const [inline, protected, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxParticleBase.

References PxParticleBase::isKindOf().

virtual PxParticleFluidReadData* PxParticleFluid::lockParticleFluidReadData ( ) [pure virtual]

Locks the particle data and provides the data descriptor for accessing the particles including fluid particle densities.

Note:
This is the same as calling lockParticleFluidReadData(PxDataAccessFlag::eREADABLE).
See also:
PxParticleFluidReadData

PxParticleBase::lockParticleReadData()

virtual PxParticleFluidReadData* PxParticleFluid::lockParticleFluidReadData ( PxDataAccessFlags flags ) [pure virtual]

Locks the particle data and provides the data descriptor for accessing the particles including fluid particle densities.

Note:
Only PxDataAccessFlag::eREADABLE and PxDataAccessFlag::eDEVICE are supported, PxDataAccessFlag::eWRITABLE will be ignored.
See also:
PxParticleFluidReadData

PxParticleBase::lockParticleReadData()

virtual void PxParticleFluid::setRestParticleDistance ( PxReal restParticleDistance ) [pure virtual]

Sets the typical distance of particles in the relaxed state of the fluid.

Parameters:
restParticleDistance The new restParticleDistance of the fluid.

virtual void PxParticleFluid::setStiffness ( PxReal stiffness ) [pure virtual]

Sets the fluid stiffness (must be positive).

Parameters:
stiffness The new fluid stiffness.

virtual void PxParticleFluid::setViscosity ( PxReal viscosity ) [pure virtual]

Sets the fluid viscosity (must be positive).

Parameters:
viscosity The new viscosity of the fluid.

The documentation for this class was generated from the following file:
  • PxParticleFluid.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxParticleFluidReadData Class Reference

PxParticleFluidReadData Class Reference
[particles (deprecated)]

Data layout descriptor for reading fluid particle data from the SDK. (deprecated). More...

#include <PxParticleFluidReadData.h>

Inheritance diagram for PxParticleFluidReadData:

PxParticleReadDataPxLockedData
[legend]
Collaboration diagram for PxParticleFluidReadData:

PxParticleReadDataPxLockedDataPxStrideIterator\< const PxF32 \>PxStrideIterator\< const PxParticleFlags \>PxStrideIterator\< const PxVec3 \>PxVec3
[legend]

List of all members.

Public Member Functions

virtual | ~PxParticleFluidReadData ()
virtual destructor

Public Attributes

PxStrideIterator< const PxF32 > | densityBuffer
Particle density data.

Detailed Description

Data layout descriptor for reading fluid particle data from the SDK. (deprecated).

Additionally to PxParticleReadData, the density can be read from the SDK.

Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4
See also:
PxParticleReadData PxParticleFluid.lockParticleFluidReadData()

Constructor & Destructor Documentation

virtual PxParticleFluidReadData::~PxParticleFluidReadData ( ) [inline, virtual]

virtual destructor

Member Data Documentation

PxStrideIterator<const PxF32> PxParticleFluidReadData::densityBuffer

Particle density data.

The density depends on how close particles are to each other. The density values are normalized such that:

  1. Particles which have no neighbors (no particles closer than restParticleDistance * 2) will have a density of zero.
  2. Particles which are at rest density (distances corresponding to restParticleDistance in the mean) will have a density of one.

The density buffer is only guaranteed to be valid after the particle fluid has been simulated. Otherwise densityBuffer.ptr() is NULL. This also applies to particle fluids that are not assigned to a scene.

The documentation for this class was generated from the following file:
  • PxParticleFluidReadData.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxParticleReadDataFlag Struct Reference

PxParticleReadDataFlag Struct Reference
[particles (deprecated)]

#include <PxParticleReadData.h>

List of all members.

Public Types

enum Enum {
ePOSITION_BUFFER = (1<<0),
eVELOCITY_BUFFER = (1<<1),
eREST_OFFSET_BUFFER = (1<<2),
eFLAGS_BUFFER = (1<<3),
eCOLLISION_NORMAL_BUFFER = (1<<4),
eCOLLISION_VELOCITY_BUFFER = (1<<5),
eDENSITY_BUFFER = (1<<6)
}

Detailed Description

Flags to configure PxParticleBase simulation output that can be read by the application. (deprecated) Disabling unneeded buffers saves memory and improves performance.

Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4

Member Enumeration Documentation

enum PxParticleReadDataFlag::Enum

Enumerator:
ePOSITION_BUFFER Enables reading particle positions from the SDK.
See also:
PxParticleReadData.positionBuffer
eVELOCITY_BUFFER Enables reading particle velocities from the SDK.
See also:
PxParticleReadData.velocityBuffer
eREST_OFFSET_BUFFER Enables reading per particle rest offsets from the SDK. Per particle rest offsets are never changed by the simulation. This option may only be used on particle systems that have PxParticleBaseFlag.ePER_PARTICLE_REST_OFFSET enabled.
See also:
PxParticleBaseFlag.ePER_PARTICLE_REST_OFFSET
eFLAGS_BUFFER Enables reading particle flags from the SDK.
See also:
PxParticleReadData.flagsBuffer
eCOLLISION_NORMAL_BUFFER Enables reading particle collision normals from the SDK.
See also:
PxParticleReadData.collisionNormalBuffer
eCOLLISION_VELOCITY_BUFFER Enables reading particle collision velocities from the SDK.
See also:
PxParticleReadData.collisionVelocity
eDENSITY_BUFFER Enables reading particle densities from the SDK. (PxParticleFluid only)
See also:
PxParticleFluidReadData.densityBuffer

The documentation for this struct was generated from the following file:
  • PxParticleReadData.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxParticleReadData Class Reference

PxParticleReadData Class Reference
[particles (deprecated)]

Data layout descriptor for reading particle data from the SDK. (deprecated). More...

#include <PxParticleReadData.h>

Inheritance diagram for PxParticleReadData:

PxParticleFluidReadDataPxLockedData
[legend]
Collaboration diagram for PxParticleReadData:

PxLockedDataPxStrideIterator\< const PxF32 \>PxStrideIterator\< const PxParticleFlags \>PxStrideIterator\< const PxVec3 \>PxVec3
[legend]

List of all members.

Public Member Functions

virtual PxDataAccessFlags | getDataAccessFlags ()=0
Returns PxDataAccessFlag::eREADABLE, since PxParticleReadData is read only data.
virtual void | unlock ()=0
Unlocks the data.
virtual | ~PxParticleReadData ()
virtual destructor

Public Attributes

PxU32 nbValidParticles
Number of particles (only including particles with PxParticleFlag.eVALID set).
PxU32 validParticleRange
Index after the last valid particle (PxParticleFlag.eVALID set). Its 0 if there are no valid particles.
const PxU32 * | validParticleBitmap
Bitmap marking valid particle indices. The bitmap is defined between [0, (PxParticleReadData.validParticleRange-1) >> 5].
PxStrideIterator< const PxVec3 > | positionBuffer
Particle position data.
PxStrideIterator< const PxVec3 > | velocityBuffer
Particle velocity data.
PxStrideIterator< const PxF32 > | restOffsetBuffer
Particle rest offset data.
PxStrideIterator< const
PxParticleFlags > 		flagsBuffer
Particle flags.
PxStrideIterator< const PxVec3 > | collisionNormalBuffer
Collision normals of colliding particles. The collision normal buffer is only guaranteed to be valid after the particle system has been simulated. Otherwise collisionNormalBuffer.ptr() is NULL. This also applies to particle systems that are not assigned to a scene.
PxStrideIterator< const PxVec3 > | collisionVelocityBuffer
Velocities of particles relative to shapes they collide with. The collision velocity buffer is only guaranteed to be valid after the particle system has been simulated. Otherwise collisionVelocityBuffer.ptr() is NULL. This also applies to particle systems that are not assigned to a scene. The collision velocity is identical to the particle velocity if the particle is not colliding.

Detailed Description

Data layout descriptor for reading particle data from the SDK. (deprecated).

PxParticleReadData is used to retrieve information about simulated particles. It can be accessed by calling PxParticleBase.lockParticleReadData().

Each particle is described by its position, velocity, a set of (PxParticleFlag) flags and information on collisions (collision normal). The particle buffers are sparse, i.e. occupied particle indices will have PxParticleFlag.eVALID set in the corresponding entry of PxParticleReadData.flagsBuffer. Alternatively valid particles can be identified with the bitmap PxParticleReadData.validParticleBitmap. If (and only if) the index range of valid particles PxParticleReadData.validParticleRange is greater 0, i.e. any particles are present, data can be read from the particle buffers. Additionally individual particle buffers can only be read if the corresponding PxParticleReadDataFlag in particleReadDataFlags is set.

The particle data buffer are defined in the range [0, PxParticleReadData.validParticleRange-1]. The bitmap words are defined in the range [0, (PxParticleReadData.validParticleRange-1) >> 5].

Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4
See also:
PxParticleBase::lockParticleReadData()

Constructor & Destructor Documentation

virtual PxParticleReadData::~PxParticleReadData ( ) [inline, virtual]

virtual destructor

Member Function Documentation

virtual PxDataAccessFlags PxParticleReadData::getDataAccessFlags ( ) [pure virtual]

Returns PxDataAccessFlag::eREADABLE, since PxParticleReadData is read only data.

See also:
PxLockedData

Implements PxLockedData.

virtual void PxParticleReadData::unlock ( ) [pure virtual]

Unlocks the data.

See also:
PxLockedData

Implements PxLockedData.

Member Data Documentation

PxStrideIterator<const PxVec3> PxParticleReadData::collisionNormalBuffer

Collision normals of colliding particles. The collision normal buffer is only guaranteed to be valid after the particle system has been simulated. Otherwise collisionNormalBuffer.ptr() is NULL. This also applies to particle systems that are not assigned to a scene.

PxStrideIterator<const PxVec3> PxParticleReadData::collisionVelocityBuffer

Velocities of particles relative to shapes they collide with. The collision velocity buffer is only guaranteed to be valid after the particle system has been simulated. Otherwise collisionVelocityBuffer.ptr() is NULL. This also applies to particle systems that are not assigned to a scene. The collision velocity is identical to the particle velocity if the particle is not colliding.

PxStrideIterator<const PxParticleFlags> PxParticleReadData::flagsBuffer

Particle flags.

PxU32 PxParticleReadData::nbValidParticles

Number of particles (only including particles with PxParticleFlag.eVALID set).

PxStrideIterator<const PxVec3> PxParticleReadData::positionBuffer

Particle position data.

PxStrideIterator<const PxF32> PxParticleReadData::restOffsetBuffer

Particle rest offset data.

const PxU32* PxParticleReadData::validParticleBitmap

Bitmap marking valid particle indices. The bitmap is defined between [0, (PxParticleReadData.validParticleRange-1) >> 5].

Note:
Might be NULL if PxParticleReadData.validParticleRange == 0.

PxU32 PxParticleReadData::validParticleRange

Index after the last valid particle (PxParticleFlag.eVALID set). Its 0 if there are no valid particles.

PxStrideIterator<const PxVec3> PxParticleReadData::velocityBuffer

Particle velocity data.

The documentation for this class was generated from the following file:
  • PxParticleReadData.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxParticleSystem Class Reference

PxParticleSystem Class Reference
[particles (deprecated)]

The particle system class represents the main module for particle based simulation. (deprecated). More...

#include <PxParticleSystem.h>

Inheritance diagram for PxParticleSystem:

PxParticleBasePxActorPxBase
[legend]
Collaboration diagram for PxParticleSystem:

PxParticleBasePxActorPxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

virtual const char * | getConcreteTypeName () const
Returns string name of dynamic type.

Protected Member Functions

PX_INLINE | PxParticleSystem (PxType concreteType, PxBaseFlags baseFlags)
PX_INLINE | PxParticleSystem (PxBaseFlags baseFlags)
virtual | ~PxParticleSystem ()
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Detailed Description

The particle system class represents the main module for particle based simulation. (deprecated).

This class inherits the properties of the PxParticleBase class.

The particle system class manages a set of particles. Particles can be created, released and updated directly through the API. When a particle is created the user gets an id for it which can be used to address the particle until it is released again.

Particles collide with static and dynamic shapes. They are also affected by the scene gravity and a user force, as well as global velocity damping. When a particle collides, a particle flag is raised corresponding to the type of actor, static or dynamic, it collided with. Additionally a shape can be flagged as a drain (See PxShapeFlag), in order to get a corresponding particle flag raised when a collision occurs. This information can be used to delete particles.

The particles of a particle system don't collide with each other. In order to simulate particle-particle interactions use the subclass PxParticleFluid.

Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4
See also:
PxParticleBase, PxParticleReadData, PxPhysics.createParticleSystem

Constructor & Destructor Documentation

PX_INLINE PxParticleSystem::PxParticleSystem | ( | PxType | concreteType,
 |  | PxBaseFlags | baseFlags |
 | ) |  |  | [inline, protected]

PX_INLINE PxParticleSystem::PxParticleSystem ( PxBaseFlags baseFlags ) [inline, protected]

virtual PxParticleSystem::~PxParticleSystem ( ) [inline, protected, virtual]

Member Function Documentation

virtual const char* PxParticleSystem::getConcreteTypeName ( ) const [inline, virtual]

Returns string name of dynamic type.

Returns:
Class name of most derived type of this object.

Implements PxBase.

virtual bool PxParticleSystem::isKindOf ( const char * superClass ) const [inline, protected, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxParticleBase.

References PxParticleBase::isKindOf().

The documentation for this class was generated from the following file:
  • PxParticleSystem.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Physics

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 | PxArticulationDriveCache
Articulation drive cache. More...
class | PxArticulation
a tree structure of bodies connected by joints that is treated as a unit by the dynamics solver More...
struct | PxArticulationJointDriveType
The type of joint drive to use for the articulation joint. 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
Batched query status. More...
struct | PxBatchQueryResult< HitType >
Generic struct for receiving results of single query in a batch. Gets templated on hit type PxRaycastHit, PxSweepHit or PxOverlapHit. More...
struct | PxBatchQueryMemory
Struct for PxBatchQuery memory pointers. More...
class | PxBatchQueryDesc
Descriptor class for PxBatchQuery. More...
struct | PxBroadPhaseType
Broad phase algorithm used in the simulation. More...
class | PxBroadPhaseCallback
Broad-phase callback to receive broad-phase related events. More...
struct | PxBroadPhaseRegion
"Region of interest" for the broad-phase. More...
struct | PxBroadPhaseRegionInfo
Information & stats structure for a region. More...
struct | PxBroadPhaseCaps
Caps class for broad phase. More...
struct | PxConstraintFlag
a table of function pointers for a constraint More...
struct | PxConstraintShaderTable
class | PxConstraint
A plugin class for implementing constraints. More...
struct | Px1DConstraintFlag
constraint row flags More...
struct | PxConstraintSolveHint
constraint type hints which the solver uses to optimize constraint handling More...
struct | Px1DConstraint
A constraint. More...
struct | PxConstraintVisualizationFlag
Flags for determining which components of the constraint should be visualized. More...
struct | PxConstraintInvMassScale
class | PxConstraintVisualizer
struct | PxPvdUpdateType
class | PxConstraintConnector
This class connects a custom constraint to the SDK. 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...
class | PxCCDContactModifyCallback
An interface class that the user can implement in order to modify CCD contact constraints. More...
struct | PxDeletionEventFlag
Flags specifying deletion event types. More...
class | PxDeletionListener
interface to get notification on object deletion 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 | PxFilterObjectFlag
class | PxSimulationFilterCallback
Filter callback to specify handling of collision pairs. More...
struct | PxFilterInfo
struct | PxPairFilteringMode
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...
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 | PxMaterial
Material class to represent a set of surface properties. More...
class | PxPhysics
Abstract singleton factory class used for instancing objects in the Physics SDK. More...
class | PxPruningStructure
A precomputed pruning structure to accelerate scene queries against newly added actors. More...
class | PxRigidActor
PxRigidActor represents a base class shared between dynamic and static rigid bodies in the physics SDK. More...
struct | PxRigidBodyFlag
Collection of flags describing the behavior of a rigid body. More...
class | PxRigidBody
PxRigidBody is a base class shared between dynamic rigid body objects. More...
struct | PxRigidDynamicLockFlag
Collection of flags providing a mechanism to lock motion along/around a specific axis. 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 | PxDominanceGroupPair
Expresses the dominance relationship of a contact. For the time being only three settings are permitted:. More...
struct | PxActorTypeFlag
Identifies each type of actor for retrieving actors from a scene. More...
struct | PxQueryCache
single hit cache for scene queries. More...
class | PxScene
A scene is a collection of bodies, particle systems and constraints which can interact. More...
struct | PxPruningStructureType
Pruning structure used to accelerate scene queries. More...
struct | PxSceneQueryUpdateMode
Scene query update mode. More...
struct | PxFrictionType
Enum for selecting the friction algorithm used for simulation. 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...
struct | PxgDynamicsMemoryConfig
Sizes of pre-allocated buffers use for GPU dynamics. More...
class | PxSceneDesc
Descriptor class for scenes. See PxScene. More...
class | PxSceneReadLock
RAII wrapper for the PxScene read lock. More...
class | PxSceneWriteLock
RAII wrapper for the PxScene write lock. More...
struct | PxShapeFlag
Flags which affect the behavior of PxShapes. More...
class | PxShape
Abstract class for collision shapes. More...
struct | PxContactPairExtraDataType
Extra data item types for contact pairs. More...
struct | PxContactPairExtraDataItem
Base class for items in the extra data stream of contact pairs. More...
struct | PxContactPairVelocity
Velocities of the contact pair rigid bodies. More...
struct | PxContactPairPose
World space actor poses of the contact pair rigid bodies. More...
struct | PxContactPairIndex
Marker for the beginning of a new item set in the extra data stream. More...
struct | PxContactPairExtraDataIterator
A class to iterate over a contact pair extra data stream. 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 | PxSpatialIndexItem
struct | PxSpatialOverlapCallback
Callback class for overlap queries against PxSpatialIndex. More...
struct | PxSpatialLocationCallback
Callback class for raycast and sweep queries against PxSpatialIndex. More...
class | PxSpatialIndex
provides direct access to PhysX' Spatial Query engine More...
struct | PxVisualizationParameter
Debug visualization parameters. More...
class | PxVolumeCache
Volumetric cache for local collision geometry. More...
struct | PxMetaDataEntry
Struct to store meta data definitions. More...
class | PxStringTable
a table to manage strings. Strings allocated through this object are expected to be owned by this object. More...

Defines

#define | PX_USE_PARTICLE_SYSTEM_API 1
#define | PX_USE_CLOTH_API 1
#define | PX_STORE_METADATA(stream, metaData) stream.write(&metaData, sizeof(PxMetaDataEntry))
#define | PX_SIZE_OF(Class, Member) sizeof((reinterpret_cast<Class*>(0))->Member)
#define | PX_DEF_BIN_METADATA_ITEM(stream, Class, type, name, flags)
specifies a binary metadata entry for a member variable of a class
#define | PX_DEF_BIN_METADATA_ITEMS(stream, Class, type, name, flags, count)
specifies a binary metadata entry for a member array variable of a class
#define | PX_DEF_BIN_METADATA_ITEMS_AUTO(stream, Class, type, name, flags)
specifies a binary metadata entry for a member array variable of a class
#define | PX_DEF_BIN_METADATA_CLASS(stream, Class)
specifies a binary metadata entry for a class
#define | PX_DEF_BIN_METADATA_VCLASS(stream, Class)
specifies a binary metadata entry for a virtual class
#define | PX_DEF_BIN_METADATA_TYPEDEF(stream, newType, oldType)
specifies a binary metadata entry for a typedef
#define | PX_DEF_BIN_METADATA_BASE_CLASS(stream, Class, BaseClass)
specifies a binary metadata entry for declaring a base class
#define | PX_DEF_BIN_METADATA_UNION(stream, Class, name)
specifies a binary metadata entry for a union
#define | PX_DEF_BIN_METADATA_UNION_TYPE(stream, Class, type, enumValue)
specifies a binary metadata entry for a particular member type of a union
#define | PX_DEF_BIN_METADATA_EXTRA_ITEM(stream, Class, type, control, align)
specifies a binary metadata entry for extra data
#define | PX_DEF_BIN_METADATA_EXTRA_ITEMS(stream, Class, type, control, count, flags, align)
specifies a binary metadata entry for an array of extra data
#define | PX_DEF_BIN_METADATA_EXTRA_ITEMS_MASKED_CONTROL(stream, Class, type, control, controlMask,count, flags, align)
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
#define | PX_DEF_BIN_METADATA_EXTRA_ARRAY(stream, Class, type, dyn_count, align, flags)
specifies a binary metadata entry for an array of extra data
#define | PX_DEF_BIN_METADATA_EXTRA_NAME(stream, Class, control, align)
specifies a binary metadata entry for an string of extra data
#define | PX_DEF_BIN_METADATA_EXTRA_ALIGN(stream, Class, align)
specifies a binary metadata entry declaring an extra data alignment for a class

Typedefs

typedef PxU8 | PxDominanceGroup
typedef PxFlags
< PxActorFlag::Enum, PxU8 > 		PxActorFlags
collection of set bits defined in PxActorFlag.
typedef PX_DEPRECATED
PxBatchQueryResult
< PxRaycastHit > 		PxRaycastQueryResult
Convenience typedef for the result of a batched raycast query.
typedef PX_DEPRECATED
PxBatchQueryResult< PxSweepHit > 		PxSweepQueryResult
Convenience typedef for the result of a batched sweep query.
typedef PX_DEPRECATED
PxBatchQueryResult
< PxOverlapHit > 		PxOverlapQueryResult
Convenience typedef for the result of a batched overlap query.
typedef PxFlags
< PxConstraintFlag::Enum,
PxU16 > 		PxConstraintFlags
constraint flags
typedef PxFlags
< Px1DConstraintFlag::Type,
PxU16 > 		Px1DConstraintFlags
typedef PxU32(* | PxConstraintSolverPrep )(Px1DConstraint *constraints, PxVec3 &bodyAWorldOffset, PxU32 maxConstraints, PxConstraintInvMassScale &invMassScale, 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
< PxDeletionEventFlag::Enum,
PxU8 > 		PxDeletionEventFlags
Collection of set bits defined in PxDeletionEventFlag.
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
< PxRigidBodyFlag::Enum, PxU8 > 		PxRigidBodyFlags
collection of set bits defined in PxRigidBodyFlag.
typedef PxFlags
< PxRigidDynamicLockFlag::Enum,
PxU16 > 		PxRigidDynamicLockFlags
typedef PxU8 | PxDominanceGroup
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 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 PxU32 | PxSpatialIndexItemId

Functions

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_C_EXPORT PX_PHYSX_CORE_API
void PX_CALL_CONV 		PxRegisterArticulations (physx::PxPhysics &physics)
Enables the usage of the articulations feature. This function is called automatically inside PxCreatePhysics(). On resource constrained platforms, it is possible to call PxCreateBasePhysics() and then NOT call this function to save on code memory if your application does not use articulations. In this case the linker should strip out the relevant implementation code from the library. If you need to use articulations but not some other optional component, you shoud call PxCreateBasePhysics() followed by this call.
PX_C_EXPORT PX_PHYSX_CORE_API
void PX_CALL_CONV 		PxRegisterHeightFields (physx::PxPhysics &physics)
Enables the usage of the heightfield feature.
PX_DEPRECATED PX_C_EXPORT
PX_PHYSX_CORE_API void
PX_CALL_CONV 		PxRegisterLegacyHeightFields (physx::PxPhysics &physics)
Enables the usage of the legacy heightfield feature.
PX_DEPRECATED PX_INLINE void
PX_CALL_CONV 		PxRegisterUnifiedHeightFields (physx::PxPhysics &physics)
Enables the usage of the unified heightfield feature.
PX_DEPRECATED PX_C_EXPORT
PX_PHYSX_CORE_API void
PX_CALL_CONV 		PxRegisterCloth (physx::PxPhysics &physics)
Enables the usage of the cloth feature. This function is called automatically inside PxCreatePhysics(). On resource constrained platforms, it is possible to call PxCreateBasePhysics() and then NOT call this function to save on code memory if your application does not use cloth. In this case the linker should strip out the relevant implementation code from the library. If you need to use cloth but not some other optional component, you shoud call PxCreateBasePhysics() followed by this call.
PX_DEPRECATED PX_C_EXPORT
PX_PHYSX_CORE_API void
PX_CALL_CONV 		PxRegisterParticles (physx::PxPhysics &physics)
Enables the usage of the particles feature. This function is called automatically inside PxCreatePhysics(). (deprecated) On resource constrained platforms, it is possible to call PxCreateBasePhysics() and then NOT call this function to save on code memory if your application does not use particles. In this case the linker should strip out the relevant implementation code from the library. If you need to use particles but not some other optional component, you shoud call PxCreateBasePhysics() followed by this call.
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::PxPvd *pvd=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::PxPvd *pvd=NULL)
Creates an instance of the physics SDK.
PX_C_EXPORT PX_PHYSX_CORE_API
physx::PxPhysics &PX_CALL_CONV 		PxGetPhysics ()
Retrieves the Physics SDK after it has been created.
PX_DEPRECATED
PX_PHYSX_CORE_API
PxSpatialIndex * 		PxCreateSpatialIndex ()
Creates a spatial index.
PX_INLINE | PxBatchQueryDesc::PxBatchQueryDesc (PxU32 maxRaycastsPerExecute, PxU32 maxSweepsPerExecute, PxU32 maxOverlapsPerExecute)
Construct a batch query with specified maximum number of queries per batch.
PX_INLINE bool | PxBatchQueryDesc::isValid () 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.
PX_INLINE void | PxSceneDesc::setToDefault (const PxTolerancesScale &scale)
(re)sets the structure to the default.
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.
PX_INLINE void | PxContactPair::bufferContacts (PxContactPair *newPair, PxU8 *bufferMemory) const
Helper method to clone the contact pair and copy the contact data stream into a user buffer.
PX_INLINE const PxU32 * | PxContactPair::getInternalFaceIndices () const

Variables

struct Px1DConstraint | PX_ALIGN_SUFFIX
A constraint.
static const PxU32 | INVALID_FILTER_PAIR_INDEX = 0xffffffff
static const PxSpatialIndexItemId | PX_SPATIAL_INDEX_INVALID_ITEM_ID = 0xffffffff

Detailed Description

Configuration include file for PhysX SDK

Define Documentation

#define PX_DEF_BIN_METADATA_BASE_CLASS | ( | stream,
 |  | Class,
 |  | BaseClass | )

Value:

{ \
        Class* myClass = reinterpret_cast<Class*>(42);                                                          \
        BaseClass* s = static_cast<BaseClass*>(myClass);                                                        \
        const PxU32 offset = PxU32(size_t(s) - size_t(myClass));                                                \
        PxMetaDataEntry tmp = { #Class, #BaseClass, offset, sizeof(Class), 0, 0, PxMetaDataFlag::eCLASS, 0 };   \
        PX_STORE_METADATA(stream, tmp);                                                                         \
    }
specifies a binary metadata entry for declaring a base class

#define PX_DEF_BIN_METADATA_CLASS | ( | stream,
 |  | Class | )

Value:

{ \
        PxMetaDataEntry tmp = { #Class, 0, 0, sizeof(Class), 0, 0, PxMetaDataFlag::eCLASS, 0 }; \
        PX_STORE_METADATA(stream, tmp); \
    }
specifies a binary metadata entry for a class

#define PX_DEF_BIN_METADATA_EXTRA_ALIGN | ( | stream,
 |  | Class,
 |  | align | )

Value:

{ \
        PxMetaDataEntry tmp = { "PxU8", "Alignment", 0, 0, 0, 0, PxMetaDataFlag::eEXTRA_DATA|PxMetaDataFlag::eALIGNMENT, align}; \
        PX_STORE_METADATA(stream, tmp); \
    }
specifies a binary metadata entry declaring an extra data alignment for a class

#define PX_DEF_BIN_METADATA_EXTRA_ARRAY | ( | stream,
 |  | Class,
 |  | type,
 |  | dyn_count,
 |  | align,
 |  | flags | )

Value:

{ \
        PxMetaDataEntry tmp = { #type, 0, PxU32(PX_OFFSET_OF_RT(Class, dyn_count)), PX_SIZE_OF(Class, dyn_count), align, 0, \
                            PxMetaDataFlag::eEXTRA_DATA|flags, align }; \
        PX_STORE_METADATA(stream, tmp); \
    }
specifies a binary metadata entry for an array of extra data

similar to PX_DEF_BIN_METADATA_EXTRA_ITEMS, but supporting no control - PxMetaDataFlag::ePTR is also not supported

#define PX_DEF_BIN_METADATA_EXTRA_ITEM | ( | stream,
 |  | Class,
 |  | type,
 |  | control,
 |  | align | )

Value:

{ \
        PxMetaDataEntry tmp = { #type, 0, PxU32(PX_OFFSET_OF_RT(Class, control)), sizeof(type), 0, PxU32(PX_SIZE_OF(Class, control)), \
                            PxMetaDataFlag::eEXTRA_DATA|PxMetaDataFlag::eEXTRA_ITEM, align }; \
        PX_STORE_METADATA(stream, tmp); \
    }
specifies a binary metadata entry for extra data

#define PX_DEF_BIN_METADATA_EXTRA_ITEMS | ( | stream,
 |  | Class,
 |  | type,
 |  | control,
 |  | count,
 |  | flags,
 |  | align | )

Value:

{ \
        PxMetaDataEntry tmp = { #type, 0, PxU32(PX_OFFSET_OF_RT(Class, control)), PxU32(PX_SIZE_OF(Class, control)), \
                            PxU32(PX_OFFSET_OF_RT(Class, count)), PxU32(PX_SIZE_OF(Class, count)), \
                            PxMetaDataFlag::eEXTRA_DATA|PxMetaDataFlag::eEXTRA_ITEMS|flags, align }; \
        PX_STORE_METADATA(stream, tmp); \
    }
specifies a binary metadata entry for an array of extra data

#define PX_DEF_BIN_METADATA_EXTRA_ITEMS_MASKED_CONTROL | ( | stream,
 |  | Class,
 |  | type,
 |  | control,
 |  | controlMask,
 |  | count,
 |  | flags,
 |  | align | )

Value:

{ \
        PxMetaDataEntry tmp = { #type, 0, PxU32(PX_OFFSET_OF_RT(Class, control)), PxU32(PX_SIZE_OF(Class, control)), \
                            PxU32(PX_OFFSET_OF_RT(Class, count)), PxU32(PX_SIZE_OF(Class, count)), \
                            PxMetaDataFlag::eCONTROL_MASK|PxMetaDataFlag::eEXTRA_DATA|PxMetaDataFlag::eEXTRA_ITEMS|flags|(controlMask & PxMetaDataFlag::eCONTROL_MASK_RANGE) << 16, \
                            align}; \
        PX_STORE_METADATA(stream, tmp); \
    }
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

See also:
PxMetaDataFlag::eCONTROL_MASK

#define PX_DEF_BIN_METADATA_EXTRA_NAME | ( | stream,
 |  | Class,
 |  | control,
 |  | align | )

Value:

{ \
        PxMetaDataEntry tmp = { "char", "string", 0, 0, 0, 0, PxMetaDataFlag::eEXTRA_DATA|PxMetaDataFlag::eEXTRA_NAME, align }; \
        PX_STORE_METADATA(stream, tmp); \
    }
specifies a binary metadata entry for an string of extra data

#define PX_DEF_BIN_METADATA_ITEM | ( | stream,
 |  | Class,
 |  | type,
 |  | name,
 |  | flags | )

Value:

{ \
        PxMetaDataEntry tmp = { #type, #name, PxU32(PX_OFFSET_OF_RT(Class, name)), PX_SIZE_OF(Class, name), \
                                1, 0, flags, 0}; \
        PX_STORE_METADATA(stream, tmp); \
    }
specifies a binary metadata entry for a member variable of a class

#define PX_DEF_BIN_METADATA_ITEMS | ( | stream,
 |  | Class,
 |  | type,
 |  | name,
 |  | flags,
 |  | count | )

Value:

{ \
        PxMetaDataEntry tmp = { #type, #name, PxU32(PX_OFFSET_OF_RT(Class, name)), PX_SIZE_OF(Class, name), \
                            count, 0, flags, 0}; \
        PX_STORE_METADATA(stream, tmp); \
    }
specifies a binary metadata entry for a member array variable of a class

similar to PX_DEF_BIN_METADATA_ITEMS_AUTO but for cases with mismatch between specified type and array type

#define PX_DEF_BIN_METADATA_ITEMS_AUTO | ( | stream,
 |  | Class,
 |  | type,
 |  | name,
 |  | flags | )

Value:

{ \
        PxMetaDataEntry tmp = { #type, #name, PxU32(PX_OFFSET_OF_RT(Class, name)), PX_SIZE_OF(Class, name), \
                            sizeof((reinterpret_cast<Class*>(0))->name)/sizeof(type), 0, flags, 0}; \
                            PX_STORE_METADATA(stream, tmp); \
    }
specifies a binary metadata entry for a member array variable of a class

similar to PX_DEF_BIN_METADATA_ITEMS but automatically detects the array length, which only works when the specified type matches the type of the array - does not support PxMetaDataFlag::ePTR

#define PX_DEF_BIN_METADATA_TYPEDEF | ( | stream,
 |  | newType,
 |  | oldType | )

Value:

{ \
        PxMetaDataEntry tmp = { #newType, #oldType, 0, 0, 0, 0, PxMetaDataFlag::eTYPEDEF, 0 }; \
        PX_STORE_METADATA(stream, tmp); \
    }
specifies a binary metadata entry for a typedef

#define PX_DEF_BIN_METADATA_UNION | ( | stream,
 |  | Class,
 |  | name | )

Value:

{ \
        PxMetaDataEntry tmp = { #Class, 0, PxU32(PX_OFFSET_OF_RT(Class, name)), PX_SIZE_OF(Class, name), \
                            1, 0, PxMetaDataFlag::eUNION, 0 }; \
        PX_STORE_METADATA(stream, tmp); \
    }
specifies a binary metadata entry for a union

#define PX_DEF_BIN_METADATA_UNION_TYPE | ( | stream,
 |  | Class,
 |  | type,
 |  | enumValue | )

Value:

{ \
        PxMetaDataEntry tmp = { #Class, #type, enumValue, 0, 0, 0, PxMetaDataFlag::eUNION, 0 }; \
        PX_STORE_METADATA(stream, tmp); \
    }
specifies a binary metadata entry for a particular member type of a union

#define PX_DEF_BIN_METADATA_VCLASS | ( | stream,
 |  | Class | )

Value:

{ \
        PxMetaDataEntry tmp = { #Class, 0, 0, sizeof(Class), 0, 0, PxMetaDataFlag::eCLASS|PxMetaDataFlag::eVIRTUAL, 0}; \
        PX_STORE_METADATA(stream, tmp); \
    }
specifies a binary metadata entry for a virtual class

#define PX_SIZE_OF | ( | Class,
 |  | Member | ) | sizeof((reinterpret_cast<Class*>(0))->Member)

#define PX_STORE_METADATA | ( | stream,
 |  | metaData | ) | stream.write(&metaData, sizeof(PxMetaDataEntry))

#define PX_USE_CLOTH_API 1

#define PX_USE_PARTICLE_SYSTEM_API 1

Typedef Documentation

typedef PxFlags<Px1DConstraintFlag::Type, PxU16> Px1DConstraintFlags

typedef PxFlags<PxActorFlag::Enum,PxU8> PxActorFlags

collection of set bits defined in PxActorFlag.

See also:
PxActorFlag

typedef PxFlags<PxActorTypeFlag::Enum,PxU16> PxActorTypeFlags

Collection of set bits defined in PxActorTypeFlag.

See also:
PxActorTypeFlag

typedef PxFlags<PxConstraintFlag::Enum, PxU16> PxConstraintFlags

constraint flags

See also:
PxConstraintFlag

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.

Parameters:
[in] | constantBlock | the constant data block
[out] | bodyAToWorld | 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)
[out] | bodyBToWorld | 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)
[in] | projectToA | 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 &bodyAWorldOffset, PxU32 maxConstraints, PxConstraintInvMassScale &invMassScale, 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.

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

Parameters:
[out] | constraints | an array of solver constraint rows to be filled in
[out] | bodyAWorldOffset | 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.
[in] | maxConstraints | the size of the constraint buffer. At most this many constraints rows may be written
[out] | invMassScale | the inverse mass and inertia scales for the constraint
[in] | constantBlock | the constant data block
[in] | bodyAToWorld | 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)
[in] | bodyBToWorld | 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)
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] | visualizer | The render buffer to render to
[in] | constantBlock | The constant data block
[in] | body0Transform | 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)
[in] | body1Transform | 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)
[in] | flags | The visualization flags (PxConstraintVisualizationFlag)
See also:
PxRenderBuffer

typedef PxFlags<PxContactPairFlag::Enum, PxU16> PxContactPairFlags

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

See also:
PxContactPairFlag

typedef PxFlags<PxContactPairHeaderFlag::Enum, PxU16> PxContactPairHeaderFlags

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

See also:
PxContactPairHeaderFlag

typedef PxFlags<PxDataAccessFlag::Enum,PxU8> PxDataAccessFlags

collection of set bits defined in PxDataAccessFlag.

See also:
PxDataAccessFlag

typedef PxFlags<PxDeletionEventFlag::Enum,PxU8> PxDeletionEventFlags

Collection of set bits defined in PxDeletionEventFlag.

See also:
PxDeletionEventFlag

typedef PxU8 PxDominanceGroup

typedef PxU8 PxDominanceGroup

Group index which allows to specify 1- or 2-way interaction

typedef PxFlags<PxFilterFlag::Enum, PxU16> PxFilterFlags

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

See also:
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.

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

typedef PxFlags<PxMaterialFlag::Enum,PxU16> PxMaterialFlags

collection of set bits defined in PxMaterialFlag.

See also:
PxMaterialFlag

typedef PX_DEPRECATED PxBatchQueryResult<PxOverlapHit> PxOverlapQueryResult

Convenience typedef for the result of a batched overlap query.

typedef PxFlags<PxPairFlag::Enum, PxU16> PxPairFlags

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

See also:
PxPairFlag

typedef PX_DEPRECATED PxBatchQueryResult<PxRaycastHit> PxRaycastQueryResult

Convenience typedef for the result of a batched raycast query.

typedef PxFlags<PxRigidBodyFlag::Enum,PxU8> PxRigidBodyFlags

collection of set bits defined in PxRigidBodyFlag.

See also:
PxRigidBodyFlag

typedef PxFlags<PxRigidDynamicLockFlag::Enum, PxU16> PxRigidDynamicLockFlags

typedef PxFlags<PxSceneFlag::Enum,PxU32> PxSceneFlags

collection of set bits defined in PxSceneFlag.

See also:
PxSceneFlag

typedef PxFlags<PxShapeFlag::Enum,PxU8> PxShapeFlags

collection of set bits defined in PxShapeFlag.

See also:
PxShapeFlag

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.
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 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
  • Cloth objects and rigid body actors
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.
See also:
PxSimulationFilterCallback PxFilterData PxFilterObjectAttributes PxFilterFlag PxFilterFlags PxPairFlag PxPairFlags

typedef PxU32 PxSpatialIndexItemId

typedef PX_DEPRECATED PxBatchQueryResult<PxSweepHit> PxSweepQueryResult

Convenience typedef for the result of a batched sweep query.

typedef PxFlags<PxTriggerPairFlag::Enum, PxU8> PxTriggerPairFlags

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

See also:
PxTriggerPairFlag

Function Documentation

PX_INLINE void PxContactPair::bufferContacts | ( | PxContactPair * | newPair,
 |  | PxU8 * | bufferMemory |
 | ) |  |  | const [inherited]

Helper method to clone the contact pair and copy the contact data stream into a user buffer.

The contact data stream is only accessible during the contact report callback. This helper function provides copy functionality to buffer the contact stream information such that it can get accessed at a later stage.

Parameters:
[out] | newPair | The contact pair info will get copied to this instance. The contact data stream pointer of the copy will be redirected to the provided user buffer. Use NULL to skip the contact pair copy operation.
[out] | bufferMemory | Memory block to store the contact data stream to. At most requiredBufferSize bytes will get written to the buffer.

References PxContactPair::contactCount, PxContactPair::contactImpulses, PxContactPair::contactPatches, PxContactPair::contactPoints, PxContactPair::contactStreamSize, PxContactPair::patchCount, and PxMemCopy().

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:
[out] | 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::contactImpulses, PxContactPair::contactPatches, PxContactPair::contactPoints, PxContactPairFlag::eINTERNAL_CONTACTS_ARE_FLIPPED, PxContactPairFlag::eINTERNAL_HAS_IMPULSES, PxContactPair::flags, PxContactStreamIterator::getContactNormal(), PxContactStreamIterator::getContactPoint(), PxContactStreamIterator::getFaceIndex0(), PxContactStreamIterator::getFaceIndex1(), PxContactPair::getInternalFaceIndices(), PxContactStreamIterator::getSeparation(), PxContactStreamIterator::hasNextContact(), PxContactStreamIterator::hasNextPatch(), PxContactPairPoint::impulse, PxContactPairPoint::internalFaceIndex0, PxContactPairPoint::internalFaceIndex1, PxContactStreamIterator::nextContact(), PxContactStreamIterator::nextPatch(), PxContactPairPoint::normal, PxContactPair::patchCount, PxContactPairPoint::position, and PxContactPairPoint::separation.

PX_INLINE const PxU32 * PxContactPair::getInternalFaceIndices ( ) const [inherited]

References PxContactPair::contactCount, and PxContactPair::contactImpulses.

Referenced by PxContactPair::extractContacts().

PX_INLINE bool PxSceneDesc::isValid ( ) const [inherited]

Returns true if the descriptor is valid.

Returns:
true if the current settings are valid.

References PxSceneDesc::bounceThresholdVelocity, PxSceneDesc::ccdMaxSeparation, PxSceneDesc::contactReportStreamBufferSize, PxSceneDesc::cpuDispatcher, PxSceneDesc::dynamicTreeRebuildRateHint, PxSceneFlag::eADAPTIVE_FORCE, PxPruningStructureType::eDYNAMIC_AABB_TREE, PxSceneFlag::eENABLE_STABILIZATION, PxPruningStructureType::eSTATIC_AABB_TREE, PxSceneDesc::filterShader, PxSceneDesc::filterShaderData, PxSceneDesc::filterShaderDataSize, PxSceneDesc::flags, PxSceneDesc::frictionOffsetThreshold, PxSceneDesc::gpuMaxNumPartitions, PxBounds3::isValid(), PxSceneLimits::isValid(), PxSceneDesc::limits, PxSceneDesc::maxNbContactDataBlocks, PxSceneDesc::nbContactDataBlocks, PxSceneDesc::sanityBounds, PxSceneDesc::staticStructure, and PxSceneDesc::wakeCounterResetValue.

PX_INLINE bool PxSceneLimits::isValid ( ) const [inherited]

Returns true if the descriptor is valid.

Returns:
true if the current settings are valid.

References PxSceneLimits::maxNbRegions.

Referenced by PxSceneDesc::isValid().

PX_INLINE bool PxBatchQueryDesc::isValid ( ) const [inherited]

References PxBatchQueryDesc::filterShaderData, and PxBatchQueryDesc::filterShaderDataSize.

PX_INLINE PxBatchQueryDesc::PxBatchQueryDesc | ( | PxU32 | maxRaycastsPerExecute,
 |  | PxU32 | maxSweepsPerExecute,
 |  | PxU32 | maxOverlapsPerExecute |
 | ) |  |  | [inherited]

Construct a batch query with specified maximum number of queries per batch.

If the number of raycasts/sweeps/overlaps per execute exceeds the limit, the query will be discarded with a warning.

Parameters:
maxRaycastsPerExecute | Maximum number of raycast() calls allowed before execute() call. This has to match the amount of memory allocated for PxBatchQueryMemory::userRaycastResultBuffer.
maxSweepsPerExecute | Maximum number of sweep() calls allowed before execute() call. This has to match the amount of memory allocated for PxBatchQueryMemory::userSweepResultBuffer.
maxOverlapsPerExecute | Maximum number of overlap() calls allowed before execute() call. This has to match the amount of memory allocated for PxBatchQueryMemory::userOverlapResultBuffer.

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::PxPvd * | pvd = 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.
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.
Returns:
PxPhysics instance on success, NULL if operation failed
See also:
PxPhysics, PxFoundation, PxTolerancesScale, PxProfileZoneManager, PxPvd

Referenced by PxCreatePhysics().

PX_INLINE physx::PxPhysics* PxCreatePhysics | ( | physx::PxU32 | version,
 |  | physx::PxFoundation & | foundation,
 |  | const physx::PxTolerancesScale & | scale,
 |  | bool | trackOutstandingAllocations = false,
 |  | physx::PxPvd * | pvd = 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.

Calling this will register all optional code modules (Articulations, HeightFields, Cloth and Particles), preparing them for use. If you do not need some of these modules, consider calling PxCreateBasePhysics() instead and registering needed modules manually. If you would like to use the unified heightfield collision code instead, it is permitted to follow this call with a call to PxRegisterUnifiedHeightFields().

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.
Returns:
PxPhysics instance on success, NULL if operation failed
See also:
PxPhysics, PxCreateBasePhysics, PxRegisterArticulations, PxRegisterHeightFields, PxRegisterCloth, PxRegisterParticles

References PxCreateBasePhysics(), PxRegisterArticulations(), PxRegisterCloth(), PxRegisterHeightFields(), and PxRegisterParticles().

PX_DEPRECATED PX_PHYSX_CORE_API PxSpatialIndex* PxCreateSpatialIndex ( )

Creates a spatial index.

Deprecated:
Spatial index feature has been deprecated in PhysX version 3.4
See also:
PxSpatialIndex

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:
PxRigidBodyFlag::eKINEMATIC

References PxFilterObjectFlag::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 PxFilterObjectFlag::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.

Referenced by PxRigidActorExt::createExclusiveShape().

PX_C_EXPORT PX_PHYSX_CORE_API void PX_CALL_CONV PxRegisterArticulations ( physx::PxPhysics & physics )

Enables the usage of the articulations feature. This function is called automatically inside PxCreatePhysics(). On resource constrained platforms, it is possible to call PxCreateBasePhysics() and then NOT call this function to save on code memory if your application does not use articulations. In this case the linker should strip out the relevant implementation code from the library. If you need to use articulations but not some other optional component, you shoud call PxCreateBasePhysics() followed by this call.

Referenced by PxCreatePhysics().

PX_DEPRECATED PX_C_EXPORT PX_PHYSX_CORE_API void PX_CALL_CONV PxRegisterCloth ( physx::PxPhysics & physics )

Enables the usage of the cloth feature. This function is called automatically inside PxCreatePhysics(). On resource constrained platforms, it is possible to call PxCreateBasePhysics() and then NOT call this function to save on code memory if your application does not use cloth. In this case the linker should strip out the relevant implementation code from the library. If you need to use cloth but not some other optional component, you shoud call PxCreateBasePhysics() followed by this call.

Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Referenced by PxCreatePhysics().

PX_C_EXPORT PX_PHYSX_CORE_API void PX_CALL_CONV PxRegisterHeightFields ( physx::PxPhysics & physics )

Enables the usage of the heightfield feature.

This call will link the default 'unified' implementation of heightfields which is identical to the narrow phase of triangle meshes. This function is called automatically inside PxCreatePhysics().

On resource constrained platforms, it is possible to call PxCreateBasePhysics() and then NOT call this function to save on code memory if your application does not use heightfields. In this case the linker should strip out the relevant implementation code from the library. If you need to use heightfield but not some other optional component, you shoud call PxCreateBasePhysics() followed by this call.

You must call this function at a time where no PxScene instance exists, typically before calling PxPhysics::createScene(). This is to prevent a change to the heightfield implementation code at runtime which would have undefined results.

Calling PxCreateBasePhysics() and then attempting to create a heightfield shape without first calling PxRegisterHeightFields(), PxRegisterUnifiedHeightFields() or PxRegisterLegacyHeightFields() will result in an error.

Referenced by PxCreatePhysics(), and PxRegisterUnifiedHeightFields().

PX_DEPRECATED PX_C_EXPORT PX_PHYSX_CORE_API void PX_CALL_CONV PxRegisterLegacyHeightFields ( physx::PxPhysics & physics )

Enables the usage of the legacy heightfield feature.

This call will link the default 'legacy' implementation of heightfields which uses a special purpose collison code path distinct from triangle meshes.

You must call this function at a time where no PxScene instance exists, typically before calling PxPhysics::createScene(). This is to prevent a change to the heightfield implementation code at runtime which would have undefined results.

Calling PxCreateBasePhysics() and then attempting to create a heightfield shape without first calling PxRegisterHeightFields(), PxRegisterLegacyHeightFields() or PxRegisterUnifiedHeightFields() will result in an error.

PX_DEPRECATED PX_C_EXPORT PX_PHYSX_CORE_API void PX_CALL_CONV PxRegisterParticles ( physx::PxPhysics & physics )

Enables the usage of the particles feature. This function is called automatically inside PxCreatePhysics(). (deprecated) On resource constrained platforms, it is possible to call PxCreateBasePhysics() and then NOT call this function to save on code memory if your application does not use particles. In this case the linker should strip out the relevant implementation code from the library. If you need to use particles but not some other optional component, you shoud call PxCreateBasePhysics() followed by this call.

Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4

Referenced by PxCreatePhysics().

PX_DEPRECATED PX_INLINE void PX_CALL_CONV PxRegisterUnifiedHeightFields ( physx::PxPhysics & physics )

Enables the usage of the unified heightfield feature.

This method is deprecated and provided only for compatibility with legacy applications. It will be removed in future releases. Call PxRegisterHeightFields instead, which also registers unified heightfields.

References PxRegisterHeightFields().

PX_INLINE PxSceneDesc::PxSceneDesc ( const PxTolerancesScale & scale ) [inherited]

constructor sets to default.

Parameters:
[in] scale scale values for the tolerances in the scene, these must be the same values passed into PxCreatePhysics(). The affected tolerances are bounceThresholdVelocity and frictionOffsetThreshold.
See also:
PxCreatePhysics() PxTolerancesScale bounceThresholdVelocity frictionOffsetThreshold

Referenced by PxSceneDesc::setToDefault().

PX_INLINE PxSceneLimits::PxSceneLimits ( ) [inherited]

constructor sets to default

Referenced by PxSceneLimits::setToDefault().

PX_INLINE void PxSceneDesc::setToDefault ( const PxTolerancesScale & scale ) [inherited]

(re)sets the structure to the default.

Parameters:
[in] scale scale values for the tolerances in the scene, these must be the same values passed into PxCreatePhysics(). The affected tolerances are bounceThresholdVelocity and frictionOffsetThreshold.
See also:
PxCreatePhysics() PxTolerancesScale bounceThresholdVelocity frictionOffsetThreshold

References PxSceneDesc::PxSceneDesc().

PX_INLINE void PxSceneLimits::setToDefault ( ) [inherited]

(re)sets the structure to the default

References PxSceneLimits::PxSceneLimits().

Variable Documentation

const PxU32 INVALID_FILTER_PAIR_INDEX = 0xffffffff [static]

PxModifiableContact PX_ALIGN_SUFFIX

A constraint.

A modifiable contact point. This has additional fields per-contact to permit modification by user.

Contact point data including face (feature) indices.

Header for contact patch where all points share same material and normal.

A constraint is expressed as a set of 1-dimensional constraint rows which define the required constraint on the objects' velocities.

Each constraint is either a hard constraint or a spring. We define the velocity at the constraint to be the quantity

v = body0vel.dot(lin0,ang0) - body1vel.dot(lin1, ang1)

For a hard constraint, the solver attempts to generate

1. a set of velocities for the objects which, when integrated, respect the constraint errors:

v + (geometricError / timestep) = velocityTarget

2. a set of velocities for the objects which respect the constraints:

v = velocityTarget

Hard constraints support restitution: if the impact velocity exceeds the bounce threshold, then the target velocity of the constraint will be set to restitution * -v

Alternatively, the solver can attempt to resolve the velocity constraint as an implicit spring:

F = stiffness * -geometricError + damping * (velocityTarget - v)

where F is the constraint force or acceleration. Springs are fully implicit: that is, the force or acceleration is a function of the position and velocity after the solve.

All constraints support limits on the minimum or maximum impulse applied.

Note:
Not all fields are currently exposed to the user.

const PxSpatialIndexItemId PX_SPATIAL_INDEX_INVALID_ITEM_ID = 0xffffffff [static]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxActorFlag Struct Reference

PxActorFlag Struct Reference
[Physics]

Flags which control the behavior of an actor. More...

#include <PxActor.h>

List of all members.

Public Types

enum Enum {
eVISUALIZATION = (1<<0),
eDISABLE_GRAVITY = (1<<1),
eSEND_SLEEP_NOTIFIES = (1<<2),
eDISABLE_SIMULATION = (1<<3)
}

Detailed Description

Flags which control the behavior of an actor.

See also:
PxActorFlags PxActor PxActor.setActorFlag() PxActor.getActorFlags()

Member Enumeration Documentation

enum PxActorFlag::Enum

Enumerator:
eVISUALIZATION Enable debug renderer for this actor.

See also:
PxScene.getRenderBuffer() PxRenderBuffer PxVisualizationParameter
eDISABLE_GRAVITY Disables scene gravity for this actor.
eSEND_SLEEP_NOTIFIES Enables the sending of PxSimulationEventCallback::onWake() and PxSimulationEventCallback::onSleep() notify events.

See also:
PxSimulationEventCallback::onWake() PxSimulationEventCallback::onSleep()
eDISABLE_SIMULATION Disables simulation for the actor.

Note:
This is only supported by PxRigidStatic and PxRigidDynamic actors and can be used to reduce the memory footprint when rigid actors are used for scene queries only.

Setting this flag will remove all constraints attached to the actor from the scene.

If this flag is set, the following calls are forbidden:

  • PxRigidBody: setLinearVelocity(), setAngularVelocity(), addForce(), addTorque(), clearForce(), clearTorque()
  • PxRigidDynamic: setKinematicTarget(), setWakeCounter(), wakeUp(), putToSleep()
Sleeping:
Raising this flag will set all velocities and the wake counter to 0, clear all forces, clear the kinematic target, put the actor to sleep and wake up all touching actors from the previous frame.

The documentation for this struct was generated from the following file:
  • PxActor.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxActorType Struct Reference

PxActorType Struct Reference
[Physics]

Identifies each type of actor. More...

#include <PxActor.h>

List of all members.

Public Types

enum Enum {
eRIGID_STATIC,
eRIGID_DYNAMIC,
PX_DEPRECATED,
PX_DEPRECATED,
eARTICULATION_LINK,
PX_DEPRECATED,
eACTOR_COUNT,
eACTOR_FORCE_DWORD = 0x7fffffff
}

Detailed Description

Identifies each type of actor.

See also:
PxActor

Member Enumeration Documentation

enum PxActorType::Enum

Enumerator:
eRIGID_STATIC A static rigid body.

See also:
PxRigidStatic
eRIGID_DYNAMIC A dynamic rigid body.

See also:
PxRigidDynamic
PX_DEPRECATED A particle system (deprecated).

A cloth.

A particle fluid (deprecated).

Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4
See also:
PxParticleSystem
Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4
See also:
PxParticleFluid
Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1
See also:
PxCloth
PX_DEPRECATED A particle system (deprecated).

A cloth.

A particle fluid (deprecated).

Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4
See also:
PxParticleSystem
Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4
See also:
PxParticleFluid
Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1
See also:
PxCloth
eARTICULATION_LINK An articulation link.

See also:
PxArticulationLink
PX_DEPRECATED A particle system (deprecated).

A cloth.

A particle fluid (deprecated).

Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4
See also:
PxParticleSystem
Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4
See also:
PxParticleFluid
Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1
See also:
PxCloth
eACTOR_COUNT
eACTOR_FORCE_DWORD

The documentation for this struct was generated from the following file:
  • PxActor.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxActor Class Reference

PxActor Class Reference
[Physics]

PxActor is the base class for the main simulation objects in the physics SDK. More...

#include <PxActor.h>

Inheritance diagram for PxActor:

PxClothPxParticleBasePxRigidActorPxBasePxParticleFluidPxParticleSystemPxRigidBodyPxRigidStaticPxArticulationLinkPxRigidDynamic
[legend]
Collaboration diagram for PxActor:

PxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

virtual void | release ()=0
Deletes the actor.
virtual PxActorType::Enum | getType () const =0
Retrieves the type of actor.
virtual PxScene * | getScene () const =0
Retrieves the scene which this actor belongs to.
virtual void | setName (const char *name)=0
Sets a name string for the object that can be retrieved with getName().
virtual const char * | getName () const =0
Retrieves the name string set with setName().
virtual PxBounds3 | getWorldBounds (float inflation=1.01f) const =0
Retrieves the axis aligned bounding box enclosing the actor.
virtual void | setActorFlag (PxActorFlag::Enum flag, bool value)=0
Raises or clears a particular actor flag.
virtual void | setActorFlags (PxActorFlags inFlags)=0
sets the actor flags
virtual PxActorFlags | getActorFlags () const =0
Reads the PxActor flags.
virtual void | setDominanceGroup (PxDominanceGroup dominanceGroup)=0
Assigns dynamic actors a dominance group identifier.
virtual PxDominanceGroup | getDominanceGroup () const =0
Retrieves the value set with setDominanceGroup().
virtual void | setOwnerClient (PxClientID inClient)=0
Sets the owner client of an actor.
virtual PxClientID | getOwnerClient () const =0
Returns the owner client that was specified with at creation time.
virtual PX_DEPRECATED void | setClientBehaviorFlags (PxActorClientBehaviorFlags)=0
Sets the behavior bits of the actor.
virtual PX_DEPRECATED
PxActorClientBehaviorFlags 		getClientBehaviorFlags () const =0
Retrieves the behavior bits of the actor.
virtual PxAggregate * | getAggregate () const =0
Retrieves the aggregate the actor might be a part of.

Public Attributes

void * | userData
user can assign this to whatever, usually to create a 1:1 relationship with a user object.

Protected Member Functions

PX_INLINE | PxActor (PxType concreteType, PxBaseFlags baseFlags)
PX_INLINE | PxActor (PxBaseFlags baseFlags)
virtual | ~PxActor ()
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Detailed Description

PxActor is the base class for the main simulation objects in the physics SDK.

The actor is owned by and contained in a PxScene.

Constructor & Destructor Documentation

PX_INLINE PxActor::PxActor | ( | PxType | concreteType,
 |  | PxBaseFlags | baseFlags |
 | ) |  |  | [inline, protected]

PX_INLINE PxActor::PxActor ( PxBaseFlags baseFlags ) [inline, protected]

virtual PxActor::~PxActor ( ) [inline, protected, virtual]

Member Function Documentation

virtual PxActorFlags PxActor::getActorFlags ( ) const [pure virtual]

Reads the PxActor flags.

See the list of flags PxActorFlag

Returns:
The values of the PxActor flags.
See also:
PxActorFlag setActorFlag()

virtual PxAggregate* PxActor::getAggregate ( ) const [pure virtual]

Retrieves the aggregate the actor might be a part of.

Returns:
The aggregate the actor is a part of, or NULL if the actor does not belong to an aggregate.
See also:
PxAggregate

virtual PX_DEPRECATED PxActorClientBehaviorFlags PxActor::getClientBehaviorFlags ( ) const [pure virtual]

Retrieves the behavior bits of the actor.

The behavior bits determine which types of events the actor will broadcast to foreign clients.

Deprecated:
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4
See also:
PxActorClientBehaviorFlag setClientBehaviorFlags()

virtual PxDominanceGroup PxActor::getDominanceGroup ( ) const [pure virtual]

Retrieves the value set with setDominanceGroup().

Returns:
The dominance group of this actor.
See also:
setDominanceGroup() PxDominanceGroup PxScene::setDominanceGroupPair()

virtual const char* PxActor::getName ( ) const [pure virtual]

Retrieves the name string set with setName().

Returns:
Name string associated with object.
See also:
setName()

virtual PxClientID PxActor::getOwnerClient ( ) const [pure virtual]

Returns the owner client that was specified with at creation time.

This value cannot be changed once the object is placed into the scene.

See also:
PxClientID PxScene::createClient()

virtual PxScene* PxActor::getScene ( ) const [pure virtual]

Retrieves the scene which this actor belongs to.

Returns:
Owner Scene. NULL if not part of a scene.
See also:
PxScene

virtual PxActorType::Enum PxActor::getType ( ) const [pure virtual]

Retrieves the type of actor.

Returns:
The actor type of the actor.
See also:
PxActorType

virtual PxBounds3 PxActor::getWorldBounds ( float inflation = 1.01f ) const [pure virtual]

Retrieves the axis aligned bounding box enclosing the actor.

Parameters:
[in] inflation Scale factor for computed world bounds. Box extents are multiplied by this value.
Returns:
The actor's bounding box.
See also:
PxBounds3

Implemented in PxCloth.

virtual bool PxActor::isKindOf ( const char * superClass ) const [inline, protected, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxBase.

Reimplemented in PxArticulationLink, PxRigidActor, PxRigidBody, PxRigidDynamic, PxRigidStatic, PxCloth, PxParticleBase, PxParticleFluid, and PxParticleSystem.

References PxBase::isKindOf().

Referenced by PxRigidActor::isKindOf(), PxParticleBase::isKindOf(), and PxCloth::isKindOf().

virtual void PxActor::release ( ) [pure virtual]

Deletes the actor.

Do not keep a reference to the deleted instance.

If the actor belongs to a PxAggregate object, it is automatically removed from the aggregate.

See also:
PxBase.release(), PxAggregate

Implements PxBase.

Implemented in PxArticulationLink, PxRigidActor, and PxCloth.

virtual void PxActor::setActorFlag | ( | PxActorFlag::Enum | flag,
 |  | bool | value |
 | ) |  |  | [pure virtual]

Raises or clears a particular actor flag.

See the list of flags PxActorFlag

Sleeping: Does NOT wake the actor up automatically.

Parameters:
[in] | flag | The PxActor flag to raise(set) or clear. See PxActorFlag.
[in] | value | The boolean value to assign to the flag.
Default: PxActorFlag::eVISUALIZATION

See also:
PxActorFlag getActorFlags()

virtual void PxActor::setActorFlags ( PxActorFlags inFlags ) [pure virtual]

sets the actor flags

See the list of flags PxActorFlag

See also:
PxActorFlag setActorFlag()

virtual PX_DEPRECATED void PxActor::setClientBehaviorFlags ( PxActorClientBehaviorFlags ) [pure virtual]

Sets the behavior bits of the actor.

The behavior bits determine which types of events the actor will broadcast to foreign clients. The actor will always send notice for all possible events to its own owner client. By default it will not send any events to any other clients. If the user however raises a bit flag for any event type using this function, that event will then be sent also to any other clients which are programmed to listed to foreign actor events of that type.

Deprecated:
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4
Default: 0

See also:
PxClientID PxActorClientBehaviorFlag PxScene::setClientBehaviorFlags()

virtual void PxActor::setDominanceGroup ( PxDominanceGroup dominanceGroup ) [pure virtual]

Assigns dynamic actors a dominance group identifier.

PxDominanceGroup is a 5 bit group identifier (legal range from 0 to 31).

The PxScene::setDominanceGroupPair() lets you set certain behaviors for pairs of dominance groups. By default every dynamic actor is created in group 0.

Default: 0

Sleeping: Changing the dominance group does NOT wake the actor up automatically.

Parameters:
[in] dominanceGroup The dominance group identifier. Range: [0..31]
See also:
getDominanceGroup() PxDominanceGroup PxScene::setDominanceGroupPair()

virtual void PxActor::setName ( const char * name ) [pure virtual]

Sets a name string for the object that can be retrieved with getName().

This is for debugging and is not used by the SDK. The string is not copied by the SDK, only the pointer is stored.

Parameters:
[in] name String to set the objects name to.
Default: NULL

See also:
getName()

virtual void PxActor::setOwnerClient ( PxClientID inClient ) [pure virtual]

Sets the owner client of an actor.

This cannot be done once the actor has been placed into a scene.

Default: PX_DEFAULT_CLIENT

See also:
PxClientID PxScene::createClient()

Member Data Documentation

void* PxActor::userData

user can assign this to whatever, usually to create a 1:1 relationship with a user object.

The documentation for this class was generated from the following file:
  • PxActor.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxAggregate Class Reference

PxAggregate Class Reference
[Physics]

Class to aggregate actors into a single broad-phase entry. More...

#include <PxAggregate.h>

Inheritance diagram for PxAggregate:

PxBase
[legend]
Collaboration diagram for PxAggregate:

PxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

virtual void | release ()=0
Deletes the aggregate object.
virtual bool | addActor (PxActor &actor)=0
Adds an actor to the aggregate object.
virtual bool | removeActor (PxActor &actor)=0
Removes an actor from the aggregate object.
virtual bool | addArticulation (PxArticulation &articulation)=0
Adds an articulation to the aggregate object.
virtual bool | removeArticulation (PxArticulation &articulation)=0
Removes an articulation from the aggregate object.
virtual PxU32 | getNbActors () const =0
Returns the number of actors contained in the aggregate.
virtual PxU32 | getMaxNbActors () const =0
Retrieves max amount of actors that can be contained in the aggregate.
virtual PxU32 | getActors (PxActor **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0
Retrieve all actors contained in the aggregate.
virtual PxScene * | getScene ()=0
Retrieves the scene which this aggregate belongs to.
virtual bool | getSelfCollision () const =0
Retrieves aggregate's self-collision flag.
virtual const char * | getConcreteTypeName () const
Returns string name of dynamic type.

Protected Member Functions

PX_INLINE | PxAggregate (PxType concreteType, PxBaseFlags baseFlags)
PX_INLINE | PxAggregate (PxBaseFlags baseFlags)
virtual | ~PxAggregate ()
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Detailed Description

Class to aggregate actors into a single broad-phase entry.

A PxAggregate object is a collection of PxActors, which will exist as a single entry in the broad-phase structures. This has 3 main benefits:

1) it reduces "broad phase pollution" by allowing a collection of spatially coherent broad-phase entries to be replaced by a single aggregated entry (e.g. a ragdoll or a single actor with a large number of attached shapes).

2) it reduces broad-phase memory usage

3) filtering can be optimized a lot if self-collisions within an aggregate are not needed. For example if you don't need collisions between ragdoll bones, it's faster to simply disable filtering once and for all, for the aggregate containing the ragdoll, rather than filtering out each bone-bone collision in the filter shader.

See also:
PxActor, PxPhysics.createAggregate

Constructor & Destructor Documentation

PX_INLINE PxAggregate::PxAggregate | ( | PxType | concreteType,
 |  | PxBaseFlags | baseFlags |
 | ) |  |  | [inline, protected]

PX_INLINE PxAggregate::PxAggregate ( PxBaseFlags baseFlags ) [inline, protected]

virtual PxAggregate::~PxAggregate ( ) [inline, protected, virtual]

Member Function Documentation

virtual bool PxAggregate::addActor ( PxActor & actor ) [pure virtual]

Adds an actor to the aggregate object.

A warning is output if the total number of actors is reached, or if the incoming actor already belongs to an aggregate.

If the aggregate belongs to a scene, adding an actor to the aggregate also adds the actor to that scene.

If the actor already belongs to a scene, a warning is output and the call is ignored. You need to remove the actor from the scene first, before adding it to the aggregate.

Parameters:
[in] actor The actor that should be added to the aggregate return true if success

virtual bool PxAggregate::addArticulation ( PxArticulation & articulation ) [pure virtual]

Adds an articulation to the aggregate object.

A warning is output if the total number of actors is reached (every articulation link counts as an actor), or if the incoming articulation already belongs to an aggregate.

If the aggregate belongs to a scene, adding an articulation to the aggregate also adds the articulation to that scene.

If the articulation already belongs to a scene, a warning is output and the call is ignored. You need to remove the articulation from the scene first, before adding it to the aggregate.

Parameters:
[in] articulation The articulation that should be added to the aggregate return true if success

virtual PxU32 PxAggregate::getActors | ( | PxActor ** | userBuffer,
 |  | PxU32 | bufferSize,
 |  | PxU32 | startIndex = 0 |
 | ) |  |  | const [pure virtual]

Retrieve all actors contained in the aggregate.

You can retrieve the number of actor pointers by calling getNbActors()

Parameters:
[out] | userBuffer | The buffer to store the actor pointers.
[in] | bufferSize | Size of provided user buffer.
[in] | startIndex | Index of first actor pointer to be retrieved
Returns:
Number of actor pointers written to the buffer.
See also:
PxShape getNbShapes()

virtual const char* PxAggregate::getConcreteTypeName ( ) const [inline, virtual]

Returns string name of dynamic type.

Returns:
Class name of most derived type of this object.

Implements PxBase.

virtual PxU32 PxAggregate::getMaxNbActors ( ) const [pure virtual]

Retrieves max amount of actors that can be contained in the aggregate.

Returns:
Max aggregate size.
See also:
PxPhysics::createAggregate()

virtual PxU32 PxAggregate::getNbActors ( ) const [pure virtual]

Returns the number of actors contained in the aggregate.

You can use getActors() to retrieve the actor pointers.

Returns:
Number of actors contained in the aggregate.
See also:
PxActor getActors()

virtual PxScene* PxAggregate::getScene ( ) [pure virtual]

Retrieves the scene which this aggregate belongs to.

Returns:
Owner Scene. NULL if not part of a scene.
See also:
PxScene

virtual bool PxAggregate::getSelfCollision ( ) const [pure virtual]

Retrieves aggregate's self-collision flag.

Returns:
self-collision flag

virtual bool PxAggregate::isKindOf ( const char * superClass ) const [inline, protected, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxBase.

References PxBase::isKindOf().

virtual void PxAggregate::release ( ) [pure virtual]

Deletes the aggregate object.

Deleting the PxAggregate object does not delete the aggregated actors. If the PxAggregate object belongs to a scene, the aggregated actors are automatically re-inserted in that scene. If you intend to delete both the PxAggregate and its actors, it is best to release the actors first, then release the PxAggregate when it is empty.

Implements PxBase.

virtual bool PxAggregate::removeActor ( PxActor & actor ) [pure virtual]

Removes an actor from the aggregate object.

A warning is output if the incoming actor does not belong to the aggregate. Otherwise the actor is removed from the aggregate. If the aggregate belongs to a scene, the actor is reinserted in that scene. If you intend to delete the actor, it is best to call PxActor::release() directly. That way the actor will be automatically removed from its aggregate (if any) and not reinserted in a scene.

Parameters:
[in] actor The actor that should be removed from the aggregate return true if success

virtual bool PxAggregate::removeArticulation ( PxArticulation & articulation ) [pure virtual]

Removes an articulation from the aggregate object.

A warning is output if the incoming articulation does not belong to the aggregate. Otherwise the articulation is removed from the aggregate. If the aggregate belongs to a scene, the articulation is reinserted in that scene. If you intend to delete the articulation, it is best to call PxArticulation::release() directly. That way the articulation will be automatically removed from its aggregate (if any) and not reinserted in a scene.

Parameters:
[in] articulation The articulation that should be removed from the aggregate return true if success

The documentation for this class was generated from the following file:
  • PxAggregate.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxArticulationDriveCache Class Reference

PxArticulationDriveCache Class Reference
[Physics]

Articulation drive cache. More...

#include <PxArticulation.h>

List of all members.

Protected Member Functions

PxArticulationDriveCache ()

Detailed Description

Articulation drive cache.

This cache is used for making one or more impulse applications to the articulation.

See also:
PxArticulation PxArticulation.createDriveCache

Constructor & Destructor Documentation

PxArticulationDriveCache::PxArticulationDriveCache ( ) [protected]

The documentation for this class was generated from the following file:
  • PxArticulation.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxArticulation Class Reference

PxArticulation Class Reference
[Physics]

a tree structure of bodies connected by joints that is treated as a unit by the dynamics solver More...

#include <PxArticulation.h>

Inheritance diagram for PxArticulation:

PxBase
[legend]
Collaboration diagram for PxArticulation:

PxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

virtual void | release ()=0
Deletes the articulation.
virtual PxScene * | getScene () const =0
Retrieves the scene which this articulation belongs to.
virtual void | setMaxProjectionIterations (PxU32 iterations)=0
sets maxProjectionIterations.
virtual PxU32 | getMaxProjectionIterations () const =0
gets maxProjectionIterations.
virtual void | setSeparationTolerance (PxReal tolerance)=0
sets separationTolerance.
virtual PxReal | getSeparationTolerance () const =0
gets separationTolerance.
virtual void | setInternalDriveIterations (PxU32 iterations)=0
sets the number of iterations used to compute the drive response to internal forces
virtual PxU32 | getInternalDriveIterations () const =0
gets internal driveIterations.
virtual void | setExternalDriveIterations (PxU32 iterations)=0
sets the number of iterations for drive response to external forces.
virtual PxU32 | getExternalDriveIterations () const =0
gets externalDriveIterations.
virtual void | setSolverIterationCounts (PxU32 minPositionIters, PxU32 minVelocityIters=1)=0
Sets the solver iteration counts for the articulation.
virtual void | getSolverIterationCounts (PxU32 &minPositionIters, PxU32 &minVelocityIters) const =0
Retrieves the solver iteration counts.
virtual bool | isSleeping () const =0
Returns true if this articulation is sleeping.
virtual void | setSleepThreshold (PxReal threshold)=0
Sets the mass-normalized energy threshold below which an articulation may go to sleep.
virtual PxReal | getSleepThreshold () const =0
Returns the mass-normalized energy below which an articulation may go to sleep.
virtual void | setStabilizationThreshold (PxReal threshold)=0
Sets the mass-normalized kinetic energy threshold below which an articulation may participate in stabilization.
virtual PxReal | getStabilizationThreshold () const =0
Returns the mass-normalized kinetic energy below which an articulation may participate in stabilization.
virtual void | setWakeCounter (PxReal wakeCounterValue)=0
Sets the wake counter for the articulation.
virtual PxReal | getWakeCounter () const =0
Returns the wake counter of the articulation.
virtual void | wakeUp ()=0
Wakes up the articulation if it is sleeping.
virtual void | putToSleep ()=0
Forces the articulation to sleep.
virtual PxArticulationLink * | createLink (PxArticulationLink *parent, const PxTransform &pose)=0
adds a link to the articulation with default attribute values.
virtual PxU32 | getNbLinks () const =0
returns the number of links in the articulation
virtual PxU32 | getLinks (PxArticulationLink **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0
returns the set of links in the articulation
virtual void | setName (const char *name)=0
Sets a name string for the object that can be retrieved with getName().
virtual const char * | getName () const =0
Retrieves the name string set with setName().
virtual PxBounds3 | getWorldBounds (float inflation=1.01f) const =0
Retrieves the axis aligned bounding box enclosing the articulation.
virtual PxAggregate * | getAggregate () const =0
Retrieves the aggregate the articulation might be a part of.
virtual PxArticulationDriveCache * | createDriveCache (PxReal compliance, PxU32 driveIterations) const =0
create a drive cache for applying impulses which are propagated to the entire articulation
virtual void | updateDriveCache (PxArticulationDriveCache &driveCache, PxReal compliance, PxU32 driveIterations) const =0
update a drive cache
virtual void | releaseDriveCache (PxArticulationDriveCache &driveCache) const =0
release a drive cache
virtual void | applyImpulse (PxArticulationLink *link, const PxArticulationDriveCache &driveCache, const PxVec3 &linearImpulse, const PxVec3 &angularImpulse)=0
apply an impulse to an entire articulation
virtual void | computeImpulseResponse (PxArticulationLink *link, PxVec3 &linearResponse, PxVec3 &angularResponse, const PxArticulationDriveCache &driveCache, const PxVec3 &linearImpulse, const PxVec3 &angularImpulse) const =0
determine the effect of applying an impulse to an entire articulation, without applying the impulse
virtual const char * | getConcreteTypeName () const
Returns string name of dynamic type.

Public Attributes

void * | userData
user can assign this to whatever, usually to create a 1:1 relationship with a user object.

Protected Member Functions

PX_INLINE | PxArticulation (PxType concreteType, PxBaseFlags baseFlags)
PX_INLINE | PxArticulation (PxBaseFlags baseFlags)
virtual | ~PxArticulation ()
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Detailed Description

a tree structure of bodies connected by joints that is treated as a unit by the dynamics solver

Articulations are more expensive to simulate than the equivalent collection of PxRigidDynamic and PxJoint structures, but because the dynamics solver treats each articulation as a single object, they are much less prone to separation and have better support for actuation. An articulation may have at most 64 links.

See also:
PxArticulationJoint PxArticulationLink PxPhysics.createArticulation

Constructor & Destructor Documentation

PX_INLINE PxArticulation::PxArticulation | ( | PxType | concreteType,
 |  | PxBaseFlags | baseFlags |
 | ) |  |  | [inline, protected]

PX_INLINE PxArticulation::PxArticulation ( PxBaseFlags baseFlags ) [inline, protected]

virtual PxArticulation::~PxArticulation ( ) [inline, protected, virtual]

Member Function Documentation

virtual void PxArticulation::applyImpulse | ( | PxArticulationLink * | link,
 |  | const PxArticulationDriveCache & | driveCache,
 |  | const PxVec3 & | linearImpulse,
 |  | const PxVec3 & | angularImpulse |
 | ) |  |  | [pure virtual]

apply an impulse to an entire articulation

Parameters:
[in] | link | the link to which to apply the impulse
[in] | driveCache | the drive cache
[in] | linearImpulse | the linear impulse to apply
[in] | angularImpulse | the angular impulse to apply
See also:
computeImpulseResponse
Note:
this call may only be made on articulations that are in a scene, and may not be made during simulation

virtual void PxArticulation::computeImpulseResponse | ( | PxArticulationLink * | link,
 |  | PxVec3 & | linearResponse,
 |  | PxVec3 & | angularResponse,
 |  | const PxArticulationDriveCache & | driveCache,
 |  | const PxVec3 & | linearImpulse,
 |  | const PxVec3 & | angularImpulse |
 | ) |  |  | const [pure virtual]

determine the effect of applying an impulse to an entire articulation, without applying the impulse

Parameters:
[in] | link | the link to which to apply the impulse
[out] | linearResponse | the change in linear velocity of the articulation link
[out] | angularResponse | the change in angular velocity of the articulation link
[in] | driveCache | the drive cache
[in] | linearImpulse | the linear impulse to apply
[in] | angularImpulse | the angular impulse to apply
See also:
applyImpulse
This call will wake up the articulation if it is asleep.

Note:
this call may only be made on articulations that are in a scene, and may not be made during simulation

virtual PxArticulationDriveCache* PxArticulation::createDriveCache | ( | PxReal | compliance,
 |  | PxU32 | driveIterations |
 | ) |  |  | const [pure virtual]

create a drive cache for applying impulses which are propagated to the entire articulation

Parameters:
[in] | compliance | the compliance value to use at all joints of the articulation. This is equivalent to the external compliance parameter for articulation joints, as the impulse is treated as an external force
[in] | driveIterations | the number of iterations to use to evaluate the drive strengths
Returns:
a drive cache
See also:
PxArticulationDriveCache updateDriveCache releaseDriveCache applyImpulse computeImpulseResponse
Note:
this call may only be made on articulations that are in a scene, and may not be made during simulation

virtual PxArticulationLink* PxArticulation::createLink | ( | PxArticulationLink * | parent,
 |  | const PxTransform & | pose |
 | ) |  |  | [pure virtual]

adds a link to the articulation with default attribute values.

Parameters:
[in] | parent | the parent link of the articulation. Should be NULL if (and only if) this is the root link
[in] | pose | the initial pose of the new link. Must be a valid transform
Returns:
the new link, or NULL if the link cannot be created because the articulation has reached its maximum link count (currently 64).
See also:
PxArticulationLink

virtual PxAggregate* PxArticulation::getAggregate ( ) const [pure virtual]

Retrieves the aggregate the articulation might be a part of.

Returns:
The aggregate the articulation is a part of, or NULL if the articulation does not belong to an aggregate.
See also:
PxAggregate

virtual const char* PxArticulation::getConcreteTypeName ( ) const [inline, virtual]

Returns string name of dynamic type.

Returns:
Class name of most derived type of this object.

Implements PxBase.

virtual PxU32 PxArticulation::getExternalDriveIterations ( ) const [pure virtual]

gets externalDriveIterations.

Returns:
the number of iterations used to compute the drive response to external forces
See also:
setExternalDriveIterations()

virtual PxU32 PxArticulation::getInternalDriveIterations ( ) const [pure virtual]

gets internal driveIterations.

Returns:
the number of iterations used to compute the drive response to internal forces
See also:
setInternalDriveIterations()

virtual PxU32 PxArticulation::getLinks | ( | PxArticulationLink ** | userBuffer,
 |  | PxU32 | bufferSize,
 |  | PxU32 | startIndex = 0 |
 | ) |  |  | const [pure virtual]

returns the set of links in the articulation

Parameters:
[in] | userBuffer | buffer into which to write an array of articulation link pointers
[in] | bufferSize | the size of the buffer. If this is not large enough to contain all the pointers to links, only as many as will fit are written.
[in] | startIndex | Index of first link pointer to be retrieved
Returns:
the number of links written into the buffer.
See also:
ArticulationLink

virtual PxU32 PxArticulation::getMaxProjectionIterations ( ) const [pure virtual]

gets maxProjectionIterations.

Returns:
the maximum number of projection iterations
See also:
setMaxProjectionIterations()

virtual const char* PxArticulation::getName ( ) const [pure virtual]

Retrieves the name string set with setName().

Returns:
Name string associated with object.
See also:
setName()

virtual PxU32 PxArticulation::getNbLinks ( ) const [pure virtual]

returns the number of links in the articulation

virtual PxScene* PxArticulation::getScene ( ) const [pure virtual]

Retrieves the scene which this articulation belongs to.

Returns:
Owner Scene. NULL if not part of a scene.
See also:
PxScene

virtual PxReal PxArticulation::getSeparationTolerance ( ) const [pure virtual]

gets separationTolerance.

Returns:
the separation tolerance
See also:
setSeparationTolerance()

virtual PxReal PxArticulation::getSleepThreshold ( ) const [pure virtual]

Returns the mass-normalized energy below which an articulation may go to sleep.

Returns:
The energy threshold for sleeping.
See also:
isSleeping() wakeUp() putToSleep() setSleepThreshold()

virtual void PxArticulation::getSolverIterationCounts | ( | PxU32 & | minPositionIters,
 |  | PxU32 & | minVelocityIters |
 | ) |  |  | const [pure virtual]

Retrieves the solver iteration counts.

See also:
setSolverIterationCounts()

virtual PxReal PxArticulation::getStabilizationThreshold ( ) const [pure virtual]

Returns the mass-normalized kinetic energy below which an articulation may participate in stabilization.

Articulations whose kinetic energy divided by their mass is above this threshold will not participate in stabilization.

Returns:
The energy threshold for participating in stabilization.
See also:
setStabilizationThreshold() PxSceneFlag::eENABLE_STABILIZATION

virtual PxReal PxArticulation::getWakeCounter ( ) const [pure virtual]

Returns the wake counter of the articulation.

Returns:
The wake counter of the articulation.
See also:
isSleeping() setWakeCounter()

virtual PxBounds3 PxArticulation::getWorldBounds ( float inflation = 1.01f ) const [pure virtual]

Retrieves the axis aligned bounding box enclosing the articulation.

Parameters:
[in] inflation Scale factor for computed world bounds. Box extents are multiplied by this value.
Returns:
The articulation's bounding box.
See also:
PxBounds3

virtual bool PxArticulation::isKindOf ( const char * superClass ) const [inline, protected, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxBase.

References PxBase::isKindOf().

virtual bool PxArticulation::isSleeping ( ) const [pure virtual]

Returns true if this articulation is sleeping.

When an actor does not move for a period of time, it is no longer simulated in order to save time. This state is called sleeping. However, because the object automatically wakes up when it is either touched by an awake object, or a sleep-affecting property is changed by the user, the entire sleep mechanism should be transparent to the user.

An articulation can only go to sleep if all links are ready for sleeping. An articulation is guaranteed to be awake if at least one of the following holds:

  • The wake counter is positive (see setWakeCounter()).
  • The linear or angular velocity of any link is non-zero.
  • A non-zero force or torque has been applied to the articulation or any of its links.
If an articulation is sleeping, the following state is guaranteed:

  • The wake counter is zero.
  • The linear and angular velocity of all links is zero.
  • There is no force update pending.
When an articulation gets inserted into a scene, it will be considered asleep if all the points above hold, else it will be treated as awake.

If an articulation is asleep after the call to PxScene::fetchResults() returns, it is guaranteed that the poses of the links were not changed. You can use this information to avoid updating the transforms of associated of dependent objects.

Note:
It is invalid to use this method if the articulation has not been added to a scene already.
Returns:
True if the articulation is sleeping.
See also:
isSleeping() wakeUp() putToSleep() getSleepThreshold()

virtual void PxArticulation::putToSleep ( ) [pure virtual]

Forces the articulation to sleep.

The articulation will stay asleep during the next simulation step if not touched by another non-sleeping actor.

Note:
This will set any applied force, the velocity and the wake counter of all bodies in the articulation to zero.

It is invalid to use this method if the articulation has not been added to a scene already.

See also:
isSleeping() wakeUp()

virtual void PxArticulation::release ( ) [pure virtual]

Deletes the articulation.

Do not keep a reference to the deleted instance.

See also:
PxPhysics.createArticulation()

Implements PxBase.

virtual void PxArticulation::releaseDriveCache ( PxArticulationDriveCache & driveCache ) const [pure virtual]

release a drive cache

Parameters:
[in] driveCache the drive cache to release
See also:
createDriveCache updateDriveCache

virtual void PxArticulation::setExternalDriveIterations ( PxU32 iterations ) [pure virtual]

sets the number of iterations for drive response to external forces.

The drive model uses an iterative algorithm to determine the load on each joint of the articulation. This is the number of iterations to use when computing response of the drive to external forces.

Parameters:
[in] iterations the number of iterations used to compute the drive response to external forces.
Default: 4

See also:
getExternalDriveIterations()

virtual void PxArticulation::setInternalDriveIterations ( PxU32 iterations ) [pure virtual]

sets the number of iterations used to compute the drive response to internal forces

The drive model uses an iterative algorithm to determine the load on each joint of the articulation. This is the number of iterations to use when computing response of the drive to internal forces.

Parameters:
[in] iterations the number of iterations used to compute the drive response to internal forces.
Default: 4

See also:
getInternalDriveIterations()

virtual void PxArticulation::setMaxProjectionIterations ( PxU32 iterations ) [pure virtual]

sets maxProjectionIterations.

This is the maximum number of iterations to run projection on the articulation to bring the links back together if the separation tolerance is exceeded.

Parameters:
[in] iterations the maximum number of projection iterations Default: 4
See also:
getMaxProjectionIterations()

virtual void PxArticulation::setName ( const char * name ) [pure virtual]

Sets a name string for the object that can be retrieved with getName().

This is for debugging and is not used by the SDK. The string is not copied by the SDK, only the pointer is stored.

Parameters:
[in] name String to set the objects name to.
See also:
getName()

virtual void PxArticulation::setSeparationTolerance ( PxReal tolerance ) [pure virtual]

sets separationTolerance.

This is the maximum allowed separation of any joint in the articulation before projection is used

Default: 0.1f, scaled by the tolerance scale

Parameters:
[in] tolerance the separation tolerance for the articulation
See also:
getSeparationTolerance()

virtual void PxArticulation::setSleepThreshold ( PxReal threshold ) [pure virtual]

Sets the mass-normalized energy threshold below which an articulation may go to sleep.

The articulation will sleep if the energy of each body is below this threshold.

Parameters:
[in] threshold Energy below which an actor may go to sleep. Range: [0, PX_MAX_F32)
See also:
isSleeping() getSleepThreshold() wakeUp() putToSleep()

virtual void PxArticulation::setSolverIterationCounts | ( | PxU32 | minPositionIters,
 |  | PxU32 | minVelocityIters = 1 |
 | ) |  |  | [pure virtual]

Sets the solver iteration counts for the articulation.

The solver iteration count determines how accurately joints and contacts are resolved. If you are having trouble with jointed bodies oscillating and behaving erratically, then setting a higher position iteration count may improve their stability.

If intersecting bodies are being depenetrated too violently, increase the number of velocity iterations. More velocity iterations will drive the relative exit velocity of the intersecting objects closer to the correct value given the restitution.

Parameters:
[in] | minPositionIters | Number of position iterations the solver should perform for this articulation. Range: [1,255]
[in] | minVelocityIters | Number of velocity iterations the solver should perform for this articulation. Range: [1,255]
See also:
getSolverIterationCounts()

virtual void PxArticulation::setStabilizationThreshold ( PxReal threshold ) [pure virtual]

Sets the mass-normalized kinetic energy threshold below which an articulation may participate in stabilization.

Articulation whose kinetic energy divided by their mass is above this threshold will not participate in stabilization.

This value has no effect if PxSceneFlag::eENABLE_STABILIZATION was not enabled on the PxSceneDesc.

Default: 0.01 * PxTolerancesScale::speed * PxTolerancesScale::speed

Parameters:
[in] threshold Energy below which an actor may participate in stabilization. Range: [0,inf)
See also:
getStabilizationThreshold() PxSceneFlag::eENABLE_STABILIZATION

virtual void PxArticulation::setWakeCounter ( PxReal wakeCounterValue ) [pure virtual]

Sets the wake counter for the articulation.

The wake counter value determines the minimum amount of time until the articulation can be put to sleep. Please note that an articulation will not be put to sleep if the energy is above the specified threshold (see setSleepThreshold()) or if other awake objects are touching it.

Note:
Passing in a positive value will wake the articulation up automatically.
Default: 0.4 (which corresponds to 20 frames for a time step of 0.02)

Parameters:
[in] wakeCounterValue Wake counter value. Range: [0, PX_MAX_F32)
See also:
isSleeping() getWakeCounter()

virtual void PxArticulation::updateDriveCache | ( | PxArticulationDriveCache & | driveCache,
 |  | PxReal | compliance,
 |  | PxU32 | driveIterations |
 | ) |  |  | const [pure virtual]

update a drive cache

Parameters:
[in] | driveCache | the drive cache to update
[in] | compliance | the compliance value to use at all joints of the articulation.
[in] | driveIterations | the number of iterations to use to evaluate the drive strengths
See also:
releaseDriveCache createDriveCache applyImpulse computeImpulseResponse
Note:
this call may only be made on articulations that are in a scene, and may not be made during simulation

virtual void PxArticulation::wakeUp ( ) [pure virtual]

Wakes up the articulation if it is sleeping.

The articulation will get woken up and might cause other touching objects to wake up as well during the next simulation step.

Note:
This will set the wake counter of the articulation to the value specified in PxSceneDesc::wakeCounterResetValue.

It is invalid to use this method if the articulation has not been added to a scene already.

See also:
isSleeping() putToSleep()

Member Data Documentation

void* PxArticulation::userData

user can assign this to whatever, usually to create a 1:1 relationship with a user object.

The documentation for this class was generated from the following file:
  • PxArticulation.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxArticulationJointDriveType Struct Reference

PxArticulationJointDriveType Struct Reference
[Physics]

The type of joint drive to use for the articulation joint. More...

#include <PxArticulationJoint.h>

List of all members.

Public Types

enum Enum {
eTARGET = 0,
eERROR = 1
}

Detailed Description

The type of joint drive to use for the articulation joint.

Two drive models are currently supported. in the TARGET model, the drive spring displacement will be determined as the rotation vector from the relative quaternion beetween child and parent, and the target quaternion.

In the ERROR model, the drive spring displacement will be taken directly from the imaginary part of the relative quaternion. This drive model requires more computation on the part of the application, but allows driving the joint with a spring displacement that is more than a complete rotation.

See also:
PxArticulationJoint

Member Enumeration Documentation

enum PxArticulationJointDriveType::Enum

Enumerator:
eTARGET
eERROR

The documentation for this struct was generated from the following file:
  • PxArticulationJoint.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxArticulationJoint Class Reference

PxArticulationJoint Class Reference
[Physics]

a joint between two links in an articulation. More...

#include <PxArticulationJoint.h>

Inheritance diagram for PxArticulationJoint:

PxBase
[legend]
Collaboration diagram for PxArticulationJoint:

PxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

virtual void | setParentPose (const PxTransform &pose)=0
set the joint pose in the parent frame
virtual PxTransform | getParentPose () const =0
get the joint pose in the parent frame
virtual void | setChildPose (const PxTransform &pose)=0
set the joint pose in the child frame
virtual PxTransform | getChildPose () const =0
get the joint pose in the child frame
virtual void | setTargetOrientation (const PxQuat &orientation)=0
set the target drive
virtual PxQuat | getTargetOrientation () const =0
get the target drive position
virtual void | setTargetVelocity (const PxVec3 &velocity)=0
set the target drive velocity
virtual PxVec3 | getTargetVelocity () const =0
get the target drive velocity
virtual void | setDriveType (PxArticulationJointDriveType::Enum driveType)=0
set the drive type
virtual
PxArticulationJointDriveType::Enum 		getDriveType () const =0
get the drive type
virtual void | setStiffness (PxReal spring)=0
set the drive strength of the joint acceleration spring.
virtual PxReal | getStiffness () const =0
get the drive strength of the joint acceleration spring
virtual void | setDamping (PxReal damping)=0
set the damping of the joint acceleration spring
virtual PxReal | getDamping () const =0
get the damping of the joint acceleration spring
virtual void | setInternalCompliance (PxReal compliance)=0
set the internal compliance
virtual PxReal | getInternalCompliance () const =0
get the internal compliance
virtual void | setExternalCompliance (PxReal compliance)=0
get the drive external compliance
virtual PxReal | getExternalCompliance () const =0
get the drive external compliance
virtual void | setSwingLimit (PxReal zLimit, PxReal yLimit)=0
set the extents of the cone limit. The extents are measured in the frame of the parent.
virtual void | getSwingLimit (PxReal &zLimit, PxReal &yLimit) const =0
get the extents for the swing limit cone
virtual void | setTangentialStiffness (PxReal spring)=0
set the tangential spring for the limit cone Range: ([0, PX_MAX_F32), [0, PX_MAX_F32)) Default: (0.0, 0.0)
virtual PxReal | getTangentialStiffness () const =0
get the tangential spring for the swing limit cone
virtual void | setTangentialDamping (PxReal damping)=0
set the tangential damping for the limit cone Range: ([0, PX_MAX_F32), [0, PX_MAX_F32)) Default: (0.0, 0.0)
virtual PxReal | getTangentialDamping () const =0
get the tangential damping for the swing limit cone
virtual void | setSwingLimitContactDistance (PxReal contactDistance)=0
set the contact distance for the swing limit
virtual PxReal | getSwingLimitContactDistance () const =0
get the contact distance for the swing limit
virtual void | setSwingLimitEnabled (bool enabled)=0
set the flag which enables the swing limit
virtual bool | getSwingLimitEnabled () const =0
get the flag which enables the swing limit
virtual void | setTwistLimit (PxReal lower, PxReal upper)=0
set the bounds of the twistLimit
virtual void | getTwistLimit (PxReal &lower, PxReal &upper) const =0
get the bounds of the twistLimit
virtual void | setTwistLimitEnabled (bool enabled)=0
set the flag which enables the twist limit
virtual bool | getTwistLimitEnabled () const =0
get the twistLimitEnabled flag
virtual void | setTwistLimitContactDistance (PxReal contactDistance)=0
set the contact distance for the swing limit
virtual PxReal | getTwistLimitContactDistance () const =0
get the contact distance for the swing limit
virtual const char * | getConcreteTypeName () const
Returns string name of dynamic type.

Protected Member Functions

PX_INLINE | PxArticulationJoint (PxType concreteType, PxBaseFlags baseFlags)
PX_INLINE | PxArticulationJoint (PxBaseFlags baseFlags)
virtual | ~PxArticulationJoint ()
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Detailed Description

a joint between two links in an articulation.

The joint model is very similar to a PxSphericalJoint with swing and twist limits, and an implicit drive model.

See also:
PxArticulation PxArticulationLink

Constructor & Destructor Documentation

PX_INLINE PxArticulationJoint::PxArticulationJoint | ( | PxType | concreteType,
 |  | PxBaseFlags | baseFlags |
 | ) |  |  | [inline, protected]

PX_INLINE PxArticulationJoint::PxArticulationJoint ( PxBaseFlags baseFlags ) [inline, protected]

virtual PxArticulationJoint::~PxArticulationJoint ( ) [inline, protected, virtual]

Member Function Documentation

virtual PxTransform PxArticulationJoint::getChildPose ( ) const [pure virtual]

get the joint pose in the child frame

Returns:
the joint pose in the child frame
See also:
setChildPose()

virtual const char* PxArticulationJoint::getConcreteTypeName ( ) const [inline, virtual]

Returns string name of dynamic type.

Returns:
Class name of most derived type of this object.

Implements PxBase.

virtual PxReal PxArticulationJoint::getDamping ( ) const [pure virtual]

get the damping of the joint acceleration spring

See also:
setDamping()

virtual PxArticulationJointDriveType::Enum PxArticulationJoint::getDriveType ( ) const [pure virtual]

get the drive type

Returns:
the drive type
See also:
setDriveType()

virtual PxReal PxArticulationJoint::getExternalCompliance ( ) const [pure virtual]

get the drive external compliance

Returns:
the compliance to external forces
See also:
setExternalCompliance()

virtual PxReal PxArticulationJoint::getInternalCompliance ( ) const [pure virtual]

get the internal compliance

Returns:
the compliance to internal forces
See also:
setInternalCompliance()

virtual PxTransform PxArticulationJoint::getParentPose ( ) const [pure virtual]

get the joint pose in the parent frame

Returns:
the joint pose in the parent frame
See also:
setParentPose()

virtual PxReal PxArticulationJoint::getStiffness ( ) const [pure virtual]

get the drive strength of the joint acceleration spring

Returns:
the spring strength of the joint
See also:
setStiffness()

virtual void PxArticulationJoint::getSwingLimit | ( | PxReal & | zLimit,
 |  | PxReal & | yLimit |
 | ) |  |  | const [pure virtual]

get the extents for the swing limit cone

Parameters:
[out] | zLimit | the allowed extent of rotation around the z-axis
[out] | yLimit | the allowed extent of rotation around the y-axis
Note:
Please note the order of zLimit and yLimit.
See also:
setSwingLimit()

virtual PxReal PxArticulationJoint::getSwingLimitContactDistance ( ) const [pure virtual]

get the contact distance for the swing limit

Returns:
the contact distance for the swing limit cone
See also:
setSwingLimitContactDistance()

virtual bool PxArticulationJoint::getSwingLimitEnabled ( ) const [pure virtual]

get the flag which enables the swing limit

Returns:
whether the swing limit is enabled
See also:
setSwingLimitEnabled()

virtual PxReal PxArticulationJoint::getTangentialDamping ( ) const [pure virtual]

get the tangential damping for the swing limit cone

Returns:
the tangential damping
See also:
setTangentialDamping()

virtual PxReal PxArticulationJoint::getTangentialStiffness ( ) const [pure virtual]

get the tangential spring for the swing limit cone

Returns:
the tangential spring
See also:
setTangentialStiffness()

virtual PxQuat PxArticulationJoint::getTargetOrientation ( ) const [pure virtual]

get the target drive position

Returns:
the joint drive target position
See also:
setTargetOrientation()

virtual PxVec3 PxArticulationJoint::getTargetVelocity ( ) const [pure virtual]

get the target drive velocity

Returns:
the target velocity for the joint
See also:
setTargetVelocity()

virtual void PxArticulationJoint::getTwistLimit | ( | PxReal & | lower,
 |  | PxReal & | upper |
 | ) |  |  | const [pure virtual]

get the bounds of the twistLimit

Parameters:
[out] | lower | the lower extent of the twist limit
[out] | upper | the upper extent of the twist limit
See also:
setTwistLimit()

virtual PxReal PxArticulationJoint::getTwistLimitContactDistance ( ) const [pure virtual]

get the contact distance for the swing limit

Returns:
the contact distance for the twist limit
See also:
setTwistLimitContactDistance()

virtual bool PxArticulationJoint::getTwistLimitEnabled ( ) const [pure virtual]

get the twistLimitEnabled flag

Returns:
whether the twist limit is enabled
See also:
setTwistLimitEnabled()

virtual bool PxArticulationJoint::isKindOf ( const char * superClass ) const [inline, protected, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxBase.

References PxBase::isKindOf().

virtual void PxArticulationJoint::setChildPose ( const PxTransform & pose ) [pure virtual]

set the joint pose in the child frame

Parameters:
[in] pose the joint pose in the child frame Default: the identity matrix
See also:
getChildPose()

virtual void PxArticulationJoint::setDamping ( PxReal damping ) [pure virtual]

set the damping of the joint acceleration spring

The acceleration generated by the spring drive is proportional to this value and the difference between the angular velocity of the joint and the target drive velocity.

Parameters:
[in] damping the damping of the joint drive Range: [0, PX_MAX_F32)
Default: 0.0
See also:
getDamping()

virtual void PxArticulationJoint::setDriveType ( PxArticulationJointDriveType::Enum driveType ) [pure virtual]

set the drive type

Parameters:
[in] driveType the drive type for the joint Default: PxArticulationJointDriveType::eTARGET
See also:
getDriveType()

virtual void PxArticulationJoint::setExternalCompliance ( PxReal compliance ) [pure virtual]

get the drive external compliance

Compliance determines the extent to which the joint resists acceleration.

There are separate values for resistance to accelerations caused by external forces such as gravity and contact forces, and internal forces generated from other joints.

A low compliance means that forces have little effect, a compliance of 1 means the joint does not resist such forces at all.

Parameters:
[in] compliance the compliance to external forces Range: (0, 1] Default: 0.0
See also:
getExternalCompliance()

virtual void PxArticulationJoint::setInternalCompliance ( PxReal compliance ) [pure virtual]

set the internal compliance

Compliance determines the extent to which the joint resists acceleration.

There are separate values for resistance to accelerations caused by external forces such as gravity and contact forces, and internal forces generated from other joints.

A low compliance means that forces have little effect, a compliance of 1 means the joint does not resist such forces at all.

Parameters:
[in] compliance the compliance to internal forces Range: (0, 1] Default: 0.0
See also:
getInternalCompliance()

virtual void PxArticulationJoint::setParentPose ( const PxTransform & pose ) [pure virtual]

set the joint pose in the parent frame

Parameters:
[in] pose the joint pose in the parent frame Default: the identity matrix
See also:
getParentPose()

virtual void PxArticulationJoint::setStiffness ( PxReal spring ) [pure virtual]

set the drive strength of the joint acceleration spring.

The acceleration generated by the spring drive is proportional to this value and the angle between the drive target position and the current position.

Parameters:
[in] spring the spring strength of the joint Range: [0, PX_MAX_F32)
Default: 0.0
See also:
getStiffness()

virtual void PxArticulationJoint::setSwingLimit | ( | PxReal | zLimit,
 |  | PxReal | yLimit |
 | ) |  |  | [pure virtual]

set the extents of the cone limit. The extents are measured in the frame of the parent.

Note that very small or highly elliptical limit cones may result in jitter.

Parameters:
[in] | zLimit | the allowed extent of rotation around the z-axis
[in] | yLimit | the allowed extent of rotation around the y-axis Range: ( (0, Pi), (0, Pi) ) Default: (Pi/4, Pi/4)
Note:
Please note the order of zLimit and yLimit.

virtual void PxArticulationJoint::setSwingLimitContactDistance ( PxReal contactDistance ) [pure virtual]

set the contact distance for the swing limit

The contact distance should be less than either limit angle.

Range: [0, Pi] Default: 0.05 radians

See also:
getSwingLimitContactDistance()

virtual void PxArticulationJoint::setSwingLimitEnabled ( bool enabled ) [pure virtual]

set the flag which enables the swing limit

Parameters:
[in] enabled whether the limit is enabled Default: false
See also:
getSwingLimitEnabled()

virtual void PxArticulationJoint::setTangentialDamping ( PxReal damping ) [pure virtual]

set the tangential damping for the limit cone Range: ([0, PX_MAX_F32), [0, PX_MAX_F32)) Default: (0.0, 0.0)

virtual void PxArticulationJoint::setTangentialStiffness ( PxReal spring ) [pure virtual]

set the tangential spring for the limit cone Range: ([0, PX_MAX_F32), [0, PX_MAX_F32)) Default: (0.0, 0.0)

virtual void PxArticulationJoint::setTargetOrientation ( const PxQuat & orientation ) [pure virtual]

set the target drive

This is the target position for the joint drive, measured in the parent constraint frame.

Parameters:
[in] orientation the target orientation for the joint Range: a unit quaternion Default: the identity quaternion
See also:
getTargetOrientation()

virtual void PxArticulationJoint::setTargetVelocity ( const PxVec3 & velocity ) [pure virtual]

set the target drive velocity

This is the target velocity for the joint drive, measured in the parent constraint frame

Parameters:
[in] velocity the target velocity for the joint Default: the zero vector
See also:
getTargetVelocity()

virtual void PxArticulationJoint::setTwistLimit | ( | PxReal | lower,
 |  | PxReal | upper |
 | ) |  |  | [pure virtual]

set the bounds of the twistLimit

Parameters:
[in] | lower | the lower extent of the twist limit
[in] | upper | the upper extent of the twist limit Range: (-Pi, Pi) Default: (-Pi/4, Pi/4)
The lower limit value must be less than the upper limit if the limit is enabled

See also:
getTwistLimit()

virtual void PxArticulationJoint::setTwistLimitContactDistance ( PxReal contactDistance ) [pure virtual]

set the contact distance for the swing limit

The contact distance should be less than half the distance between the upper and lower limits.

Range: [0, Pi) Default: 0.05 radians

See also:
getTwistLimitContactDistance()

virtual void PxArticulationJoint::setTwistLimitEnabled ( bool enabled ) [pure virtual]

set the flag which enables the twist limit

Parameters:
[in] enabled whether the twist limit is enabled Default: false
See also:
getTwistLimitEnabled()

The documentation for this class was generated from the following file:
  • PxArticulationJoint.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxArticulationLink Class Reference

PxArticulationLink Class Reference
[Physics]

a component of an articulation that represents a rigid body More...

#include <PxArticulationLink.h>

Inheritance diagram for PxArticulationLink:

PxRigidBodyPxRigidActorPxActorPxBase
[legend]
Collaboration diagram for PxArticulationLink:

PxRigidBodyPxRigidActorPxActorPxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

virtual void | release ()=0
Deletes the articulation link.
virtual PxArticulation & | getArticulation () const =0
get the articulation to which this articulation link belongs
virtual PxArticulationJoint * | getInboundJoint () const =0
Get the joint which connects this link to its parent.
virtual PxU32 | getNbChildren () const =0
Get number of child links.
virtual PxU32 | getChildren (PxArticulationLink **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0
Retrieve all the child links.
virtual const char * | getConcreteTypeName () const
Returns string name of dynamic type.

Protected Member Functions

PX_INLINE | PxArticulationLink (PxType concreteType, PxBaseFlags baseFlags)
PX_INLINE | PxArticulationLink (PxBaseFlags baseFlags)
virtual | ~PxArticulationLink ()
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Detailed Description

a component of an articulation that represents a rigid body

A limited subset of the properties of PxRigidDynamic are supported. In particular, sleep properties are attributes of the articulation rather than each individual body, damping and velocity limits are not supported, and links may not be kinematic.

See also:
PxArticulation PxArticulation.createLink PxArticulationJoint PxRigidBody

Constructor & Destructor Documentation

PX_INLINE PxArticulationLink::PxArticulationLink | ( | PxType | concreteType,
 |  | PxBaseFlags | baseFlags |
 | ) |  |  | [inline, protected]

PX_INLINE PxArticulationLink::PxArticulationLink ( PxBaseFlags baseFlags ) [inline, protected]

virtual PxArticulationLink::~PxArticulationLink ( ) [inline, protected, virtual]

Member Function Documentation

virtual PxArticulation& PxArticulationLink::getArticulation ( ) const [pure virtual]

get the articulation to which this articulation link belongs

Returns:
the articulation to which this link belongs

virtual PxU32 PxArticulationLink::getChildren | ( | PxArticulationLink ** | userBuffer,
 |  | PxU32 | bufferSize,
 |  | PxU32 | startIndex = 0 |
 | ) |  |  | const [pure virtual]

Retrieve all the child links.

Parameters:
[out] | userBuffer | The buffer to receive articulation link pointers.
[in] | bufferSize | Size of provided user buffer.
Returns:
Number of articulation links written to the buffer.
Parameters:
[in] startIndex Index of first child pointer to be retrieved
See also:
getNbChildren()

virtual const char* PxArticulationLink::getConcreteTypeName ( ) const [inline, virtual]

Returns string name of dynamic type.

Returns:
Class name of most derived type of this object.

Implements PxBase.

virtual PxArticulationJoint* PxArticulationLink::getInboundJoint ( ) const [pure virtual]

Get the joint which connects this link to its parent.

Returns:
The joint connecting the link to the parent. NULL for the root link.
See also:
PxArticulationJoint

virtual PxU32 PxArticulationLink::getNbChildren ( ) const [pure virtual]

Get number of child links.

Returns:
the number of child links
See also:
getChildren()

virtual bool PxArticulationLink::isKindOf ( const char * superClass ) const [inline, protected, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxRigidBody.

References PxRigidBody::isKindOf().

virtual void PxArticulationLink::release ( ) [pure virtual]

Deletes the articulation link.

Note:
Only a leaf articulation link can be released
Do not keep a reference to the deleted instance.

See also:
PxArticulation::createLink()

Implements PxRigidActor.

The documentation for this class was generated from the following file:
  • PxArticulationLink.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBatchQueryStatus Struct Reference

PxBatchQueryStatus Struct Reference
[Physics]

Batched query status. More...

#include <PxBatchQueryDesc.h>

List of all members.

Public Types

enum Enum {
ePENDING = 0,
eSUCCESS,
eOVERFLOW
}

Detailed Description

Batched query status.

Deprecated:
The batched query feature has been deprecated in PhysX version 3.4

Member Enumeration Documentation

enum PxBatchQueryStatus::Enum

Enumerator:
ePENDING | This is the initial state before a query starts.
eSUCCESS | The query is finished; results have been written into the result and hit buffers.
eOVERFLOW | The query results were incomplete due to touch hit buffer overflow. Blocking hit is still correct.

The documentation for this struct was generated from the following file:
  • PxBatchQueryDesc.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBatchQueryResult< HitType > Struct Template Reference

PxBatchQueryResult< HitType > Struct Template Reference
[Physics]

Generic struct for receiving results of single query in a batch. Gets templated on hit type PxRaycastHit, PxSweepHit or PxOverlapHit. More...

#include <PxBatchQueryDesc.h>

Collaboration diagram for PxBatchQueryResult< HitType >:

[legend]

List of all members.

Public Member Functions

PX_INLINE PxU32 | getNbAnyHits () const
Computes the number of any hits in this result, blocking or touching.
PX_INLINE const HitType & | getAnyHit (const PxU32 index) const
Convenience iterator used to access any hits in this result, blocking or touching.

Public Attributes

HitType | block
Holds the closest blocking hit for a single query in a batch. Only valid if hasBlock is true.
HitType * | touches
PxU32 nbTouches
Number of touching hits returned by this query, works in tandem with touches pointer.
void * | userData
Copy of the userData pointer specified in the corresponding query.
PxU8 | queryStatus
Takes on values from PxBatchQueryStatus::Enum.
bool | hasBlock
True if there was a blocking hit.
PxU16 | pad
pads the struct to 16 bytes.

Detailed Description

template<typename HitType>
struct PxBatchQueryResult< HitType >

Generic struct for receiving results of single query in a batch. Gets templated on hit type PxRaycastHit, PxSweepHit or PxOverlapHit.

Deprecated:
The batched query feature has been deprecated in PhysX version 3.4

Member Function Documentation

template<typename HitType >
PX_INLINE const HitType& PxBatchQueryResult< HitType >::getAnyHit ( const PxU32 index ) const [inline]

Convenience iterator used to access any hits in this result, blocking or touching.

References PX_ASSERT.

template<typename HitType >
PX_INLINE PxU32 PxBatchQueryResult< HitType >::getNbAnyHits ( ) const [inline]

Computes the number of any hits in this result, blocking or touching.

Member Data Documentation

template<typename HitType >
HitType PxBatchQueryResult< HitType >::block

Holds the closest blocking hit for a single query in a batch. Only valid if hasBlock is true.

template<typename HitType >
bool PxBatchQueryResult< HitType >::hasBlock

True if there was a blocking hit.

template<typename HitType >
PxU32 PxBatchQueryResult< HitType >::nbTouches

Number of touching hits returned by this query, works in tandem with touches pointer.

template<typename HitType >
PxU16 PxBatchQueryResult< HitType >::pad

pads the struct to 16 bytes.

template<typename HitType >
PxU8 PxBatchQueryResult< HitType >::queryStatus

Takes on values from PxBatchQueryStatus::Enum.

template<typename HitType >
HitType* PxBatchQueryResult< HitType >::touches

This pointer will either be set to NULL for 0 nbTouches or will point into the user provided batch query results buffer specified in PxBatchQueryDesc.

template<typename HitType >
void* PxBatchQueryResult< HitType >::userData

Copy of the userData pointer specified in the corresponding query.

The documentation for this struct was generated from the following file:
  • PxBatchQueryDesc.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBatchQueryMemory Struct Reference

PxBatchQueryMemory Struct Reference
[Physics]

Struct for PxBatchQuery memory pointers. More...

#include <PxBatchQueryDesc.h>

Collaboration diagram for PxBatchQueryMemory:

PxRaycastHitPxLocationHitPxSweepHitPxQueryHitPxOverlapHitPxActorShapePxRigidActorPxActorPxBasePxShapePxFlags\< PxBaseFlag::Enum, PxU16 \>PxVec3
[legend]

List of all members.

Public Member Functions

PX_FORCE_INLINE PxU32 | getMaxRaycastsPerExecute () const
PX_FORCE_INLINE PxU32 | getMaxSweepsPerExecute () const
PX_FORCE_INLINE PxU32 | getMaxOverlapsPerExecute () const
PxBatchQueryMemory (PxU32 raycastResultBufferSize_, PxU32 sweepResultBufferSize_, PxU32 overlapResultBufferSize_)

Public Attributes

PxRaycastQueryResult * userRaycastResultBuffer
The pointer to the user-allocated buffer for results of raycast queries in corresponding order of issue.
PxRaycastHit * userRaycastTouchBuffer
The pointer to the user-allocated buffer for raycast touch hits.
PxSweepQueryResult * userSweepResultBuffer
The pointer to the user-allocated buffer for results of sweep queries in corresponding order of issue.
PxSweepHit * userSweepTouchBuffer
The pointer to the user-allocated buffer for sweep hits.
PxOverlapQueryResult * userOverlapResultBuffer
The pointer to the user-allocated buffer for results of overlap queries in corresponding order of issue.
PxOverlapHit * userOverlapTouchBuffer
The pointer to the user-allocated buffer for overlap hits.
PxU32 raycastTouchBufferSize
Capacity of the user-allocated userRaycastTouchBuffer in elements.
PxU32 sweepTouchBufferSize
Capacity of the user-allocated userSweepTouchBuffer in elements.
PxU32 overlapTouchBufferSize
Capacity of the user-allocated userOverlapTouchBuffer in elements.

Protected Attributes

PxU32 raycastResultBufferSize
PxU32 sweepResultBufferSize
PxU32 overlapResultBufferSize

Detailed Description

Struct for PxBatchQuery memory pointers.

Deprecated:
The batched query feature has been deprecated in PhysX version 3.4
See also:
PxBatchQuery PxBatchQueryDesc

Constructor & Destructor Documentation

PxBatchQueryMemory::PxBatchQueryMemory | ( | PxU32 | raycastResultBufferSize_,
 |  | PxU32 | sweepResultBufferSize_,
 |  | PxU32 | overlapResultBufferSize_ |
 | ) |  |  | [inline]

Member Function Documentation

PX_FORCE_INLINE PxU32 PxBatchQueryMemory::getMaxOverlapsPerExecute ( ) const [inline]

Returns:
Capacity of the user-allocated userOverlapResultBuffer in elements (max number of overlap() calls before execute() call)

PX_FORCE_INLINE PxU32 PxBatchQueryMemory::getMaxRaycastsPerExecute ( ) const [inline]

Returns:
Capacity of the user-allocated userRaycastResultBuffer in elements (max number of raycast() calls before execute() call)

PX_FORCE_INLINE PxU32 PxBatchQueryMemory::getMaxSweepsPerExecute ( ) const [inline]

Returns:
Capacity of the user-allocated userSweepResultBuffer in elements (max number of sweep() calls before execute() call)

Member Data Documentation

PxU32 PxBatchQueryMemory::overlapResultBufferSize [protected]

PxU32 PxBatchQueryMemory::overlapTouchBufferSize

Capacity of the user-allocated userOverlapTouchBuffer in elements.

PxU32 PxBatchQueryMemory::raycastResultBufferSize [protected]

PxU32 PxBatchQueryMemory::raycastTouchBufferSize

Capacity of the user-allocated userRaycastTouchBuffer in elements.

PxU32 PxBatchQueryMemory::sweepResultBufferSize [protected]

PxU32 PxBatchQueryMemory::sweepTouchBufferSize

Capacity of the user-allocated userSweepTouchBuffer in elements.

PxOverlapQueryResult* PxBatchQueryMemory::userOverlapResultBuffer

The pointer to the user-allocated buffer for results of overlap queries in corresponding order of issue.

Note:
The size should be large enough to fit the number of expected overlap queries.
See also:
PxRaycastQueryResult

PxOverlapHit* PxBatchQueryMemory::userOverlapTouchBuffer

The pointer to the user-allocated buffer for overlap hits.

Note:
The size of this buffer should be large enough to store the hits returned. If the buffer is too small to store hits, the related PxOverlapQueryResult.queryStatus will be set to eABORTED

PxRaycastQueryResult* PxBatchQueryMemory::userRaycastResultBuffer

The pointer to the user-allocated buffer for results of raycast queries in corresponding order of issue.

Note:
The size should be large enough to fit the number of expected raycast queries.
See also:
PxRaycastQueryResult

PxRaycastHit* PxBatchQueryMemory::userRaycastTouchBuffer

The pointer to the user-allocated buffer for raycast touch hits.

Note:
The size of this buffer should be large enough to store PxRaycastHit. If the buffer is too small to store hits, the related PxRaycastQueryResult.queryStatus will be set to eOVERFLOW

PxSweepQueryResult* PxBatchQueryMemory::userSweepResultBuffer

The pointer to the user-allocated buffer for results of sweep queries in corresponding order of issue.

Note:
The size should be large enough to fit the number of expected sweep queries.
See also:
PxRaycastQueryResult

PxSweepHit* PxBatchQueryMemory::userSweepTouchBuffer

The pointer to the user-allocated buffer for sweep hits.

Note:
The size of this buffer should be large enough to store PxSweepHit. If the buffer is too small to store hits, the related PxSweepQueryResult.queryStatus will be set to eOVERFLOW

The documentation for this struct was generated from the following file:
  • PxBatchQueryDesc.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBatchQueryDesc Class Reference

PxBatchQueryDesc Class Reference
[Physics]

Descriptor class for PxBatchQuery. More...

#include <PxBatchQueryDesc.h>

Collaboration diagram for PxBatchQueryDesc:

PxBatchQueryMemoryPxRaycastHitPxLocationHitPxSweepHitPxQueryHitPxOverlapHitPxActorShapePxRigidActorPxActorPxBasePxShapePxFlags\< PxBaseFlag::Enum, PxU16 \>PxVec3
[legend]

List of all members.

Public Member Functions

PX_INLINE | PxBatchQueryDesc (PxU32 maxRaycastsPerExecute, PxU32 maxSweepsPerExecute, PxU32 maxOverlapsPerExecute)
Construct a batch query with specified maximum number of queries per batch.
PX_INLINE bool | isValid () const

Public Attributes

void * | filterShaderData
Shared global filter data which will get passed into the filter shader.
PxU32 filterShaderDataSize
Size (in bytes) of the shared global filter data filterShaderData.
PxBatchQueryPreFilterShader preFilterShader
The custom preFilter shader to use for filtering.
PxBatchQueryPostFilterShader postFilterShader
The custom postFilter shader to use for filtering.
PX_DEPRECATED PxClientID | ownerClient
client that creates and owns this scene query.
PxBatchQueryMemory queryMemory
User memory buffers for the query.

Detailed Description

Descriptor class for PxBatchQuery.

Deprecated:
The batched query feature has been deprecated in PhysX version 3.4
See also:
PxBatchQuery PxSceneQueryExecuteMode

Member Data Documentation

void* PxBatchQueryDesc::filterShaderData

Shared global filter data which will get passed into the filter shader.

Note:
The provided data will get copied to internal buffers and this copy will be used for filtering calls.
Default: NULL

See also:
PxSimulationFilterShader

Referenced by isValid().

PxU32 PxBatchQueryDesc::filterShaderDataSize

Size (in bytes) of the shared global filter data filterShaderData.

Default: 0

See also:
PxSimulationFilterShader filterShaderData

Referenced by isValid().

PX_DEPRECATED PxClientID PxBatchQueryDesc::ownerClient

client that creates and owns this scene query.

This value will be used as an override when PX_DEFAULT_CLIENT value is passed to the query in PxQueryFilterData.clientId.

See also:
PxScene::createClient()

PxBatchQueryPostFilterShader PxBatchQueryDesc::postFilterShader

The custom postFilter shader to use for filtering.

See also:
PxBatchQueryPostFilterShader PxDefaultPostFilterShader

PxBatchQueryPreFilterShader PxBatchQueryDesc::preFilterShader

The custom preFilter shader to use for filtering.

See also:
PxBatchQueryPreFilterShader PxDefaultPreFilterShader

PxBatchQueryMemory PxBatchQueryDesc::queryMemory

User memory buffers for the query.

See also:
PxBatchQueryMemory

The documentation for this class was generated from the following file:
  • PxBatchQueryDesc.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBroadPhaseType Struct Reference

PxBroadPhaseType Struct Reference
[Physics]

Broad phase algorithm used in the simulation. More...

#include <PxBroadPhase.h>

List of all members.

Public Types

enum Enum {
eSAP,
eMBP,
eGPU,
eLAST
}

Detailed Description

Broad phase algorithm used in the simulation.

eSAP is a good generic choice with great performance when many objects are sleeping. Performance can degrade significantly though, when all objects are moving, or when large numbers of objects are added to or removed from the broad phase. This algorithm does not need world bounds to be defined in order to work.

eMBP is an alternative broad phase algorithm that does not suffer from the same performance issues as eSAP when all objects are moving or when inserting large numbers of objects. However its generic performance when many objects are sleeping might be inferior to eSAP, and it requires users to define world bounds in order to work.

Member Enumeration Documentation

enum PxBroadPhaseType::Enum

Enumerator:
eSAP | 3-axes sweep-and-prune
eMBP | Multi box pruning.
eGPU
eLAST

The documentation for this struct was generated from the following file:
  • PxBroadPhase.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBroadPhaseCallback Class Reference

PxBroadPhaseCallback Class Reference
[Physics]

Broad-phase callback to receive broad-phase related events. More...

#include <PxBroadPhase.h>

List of all members.

Public Member Functions

virtual | ~PxBroadPhaseCallback ()
virtual void | onObjectOutOfBounds (PxShape &shape, PxActor &actor)=0
Out-of-bounds notification.
virtual void | onObjectOutOfBounds (PxAggregate &aggregate)=0
Out-of-bounds notification.

Detailed Description

Broad-phase callback to receive broad-phase related events.

Each broadphase callback object is associated with a PxClientID. It is possible to register different callbacks for different clients. The callback functions are called this way:

  • for shapes/actors, the callback assigned to the actors' clients are used
  • for aggregates, the callbacks assigned to clients from aggregated actors are used

Note:
SDK state should not be modified from within the callbacks. In particular objects should not be created or destroyed. If state modification is needed then the changes should be stored to a buffer and performed after the simulation step.
Threading: It is not necessary to make this class thread safe as it will only be called in the context of the user thread.

See also:
PxSceneDesc PxScene.setBroadPhaseCallback() PxScene.getBroadPhaseCallback()

Constructor & Destructor Documentation

virtual PxBroadPhaseCallback::~PxBroadPhaseCallback ( ) [inline, virtual]

Member Function Documentation

virtual void PxBroadPhaseCallback::onObjectOutOfBounds ( PxAggregate & aggregate ) [pure virtual]

Out-of-bounds notification.

This function is called when an aggregate leaves the broad-phase.

Parameters:
[in] aggregate Aggregate that left the broad-phase bounds

virtual void PxBroadPhaseCallback::onObjectOutOfBounds | ( | PxShape & | shape,
 |  | PxActor & | actor |
 | ) |  |  | [pure virtual]

Out-of-bounds notification.

This function is called when an object leaves the broad-phase.

Parameters:
[in] | shape | Shape that left the broad-phase bounds
[in] | actor | Owner actor

The documentation for this class was generated from the following file:
  • PxBroadPhase.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBroadPhaseRegion Struct Reference

PxBroadPhaseRegion Struct Reference
[Physics]

"Region of interest" for the broad-phase. More...

#include <PxBroadPhase.h>

Collaboration diagram for PxBroadPhaseRegion:

PxBounds3PxVec3
[legend]

List of all members.

Public Attributes

PxBounds3 bounds
Region's bounds.
void * userData
Region's user-provided data.

Detailed Description

"Region of interest" for the broad-phase.

This is currently only used for the PxBroadPhaseType::eMBP broad-phase, which requires zones or regions to be defined when the simulation starts in order to work. Regions can overlap and be added or removed at runtime, but at least one region needs to be defined when the scene is created.

If objects that do no overlap any region are inserted into the scene, they will not be added to the broad-phase and thus collisions will be disabled for them. A PxBroadPhaseCallback out-of-bounds notification will be sent for each one of those objects.

The total number of regions is limited by PxBroadPhaseCaps::maxNbRegions.

The number of regions has a direct impact on performance and memory usage, so it is recommended to experiment with various settings to find the best combination for your game. A good default setup is to start with global bounds around the whole world, and subdivide these bounds into 4*4 regions. The PxBroadPhaseExt::createRegionsFromWorldBounds function can do that for you.

See also:
PxBroadPhaseCallback PxBroadPhaseExt.createRegionsFromWorldBounds

Member Data Documentation

PxBounds3 PxBroadPhaseRegion::bounds

Region's bounds.

void* PxBroadPhaseRegion::userData

Region's user-provided data.

The documentation for this struct was generated from the following file:
  • PxBroadPhase.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBroadPhaseRegionInfo Struct Reference

PxBroadPhaseRegionInfo Struct Reference
[Physics]

Information & stats structure for a region. More...

#include <PxBroadPhase.h>

Collaboration diagram for PxBroadPhaseRegionInfo:

PxBroadPhaseRegionPxBounds3PxVec3
[legend]

List of all members.

Public Attributes

PxBroadPhaseRegion region
User-provided region data.
PxU32 nbStaticObjects
Number of static objects in the region.
PxU32 nbDynamicObjects
Number of dynamic objects in the region.
bool | active
True if region is currently used, i.e. it has not been removed.
bool | overlap
True if region overlaps other regions (regions that are just touching are not considering overlapping).

Detailed Description

Information & stats structure for a region.

Member Data Documentation

bool PxBroadPhaseRegionInfo::active

True if region is currently used, i.e. it has not been removed.

PxU32 PxBroadPhaseRegionInfo::nbDynamicObjects

Number of dynamic objects in the region.

PxU32 PxBroadPhaseRegionInfo::nbStaticObjects

Number of static objects in the region.

bool PxBroadPhaseRegionInfo::overlap

True if region overlaps other regions (regions that are just touching are not considering overlapping).

PxBroadPhaseRegion PxBroadPhaseRegionInfo::region

User-provided region data.

The documentation for this struct was generated from the following file:
  • PxBroadPhase.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBroadPhaseCaps Struct Reference

PxBroadPhaseCaps Struct Reference
[Physics]

Caps class for broad phase. More...

#include <PxBroadPhase.h>

List of all members.

Public Attributes

PxU32 maxNbRegions
Max number of regions supported by the broad-phase.
PxU32 maxNbObjects
Max number of objects supported by the broad-phase.
bool needsPredefinedBounds
If true, broad-phase needs 'regions' to work.

Detailed Description

Caps class for broad phase.

Member Data Documentation

PxU32 PxBroadPhaseCaps::maxNbObjects

Max number of objects supported by the broad-phase.

PxU32 PxBroadPhaseCaps::maxNbRegions

Max number of regions supported by the broad-phase.

bool PxBroadPhaseCaps::needsPredefinedBounds

If true, broad-phase needs 'regions' to work.

The documentation for this struct was generated from the following file:
  • PxBroadPhase.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxConstraintFlag Struct Reference

PxConstraintFlag Struct Reference
[Physics]

a table of function pointers for a constraint More...

#include <PxConstraint.h>

List of all members.

Public Types

enum Enum {
eBROKEN = 1<<0,
ePROJECT_TO_ACTOR0 = 1<<1,
ePROJECT_TO_ACTOR1 = 1<<2,
ePROJECTION = ePROJECT_TO_ACTOR0 | ePROJECT_TO_ACTOR1,
eCOLLISION_ENABLED = 1<<3,
eVISUALIZATION = 1<<4,
eDRIVE_LIMITS_ARE_FORCES = 1<<5,
eIMPROVED_SLERP = 1<<7,
eDISABLE_PREPROCESSING = 1<<8,
eGPU_COMPATIBLE = 1<<9
}

Detailed Description

a table of function pointers for a constraint

See also:
PxConstraint constraint flags
Note:
eBROKEN is a read only flag

Member Enumeration Documentation

enum PxConstraintFlag::Enum

Enumerator:
eBROKEN | whether the constraint is broken
ePROJECT_TO_ACTOR0 | whether actor1 should get projected to actor0 for this constraint (note: projection of a static/kinematic actor to a dynamic actor will be ignored)
ePROJECT_TO_ACTOR1 | whether actor0 should get projected to actor1 for this constraint (note: projection of a static/kinematic actor to a dynamic actor will be ignored)
ePROJECTION | whether the actors should get projected for this constraint (the direction will be chosen by PhysX)
eCOLLISION_ENABLED | whether contacts should be generated between the objects this constraint constrains
eVISUALIZATION | whether this constraint should be visualized, if constraint visualization is turned on
eDRIVE_LIMITS_ARE_FORCES | limits for drive strength are forces rather than impulses
eIMPROVED_SLERP | perform preprocessing for improved accuracy on D6 Slerp Drive (this flag will be removed in a future release when preprocessing is no longer required)
eDISABLE_PREPROCESSING | suppress constraint preprocessing, intended for use with rowResponseThreshold. May result in worse solver accuracy for ill-conditioned constraints.
eGPU_COMPATIBLE | the constraint type is supported by gpu dynamic

The documentation for this struct was generated from the following file:
  • PxConstraint.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxConstraintShaderTable Struct Reference

PxConstraintShaderTable Struct Reference
[Physics]

#include <PxConstraint.h>

List of all members.

Public Types

enum { eMAX_SOLVERPRPEP_DATASIZE = 400 }

Public Attributes

PxConstraintSolverPrep solverPrep
solver constraint generation function
PxConstraintProject project
constraint projection function
PxConstraintVisualize visualize
constraint visualization function
PxConstraintFlag::Enum flag
gpu constraint

Member Enumeration Documentation

anonymous enum

Enumerator:
eMAX_SOLVERPRPEP_DATASIZE

Member Data Documentation

PxConstraintFlag::Enum PxConstraintShaderTable::flag

gpu constraint

PxConstraintProject PxConstraintShaderTable::project

constraint projection function

PxConstraintSolverPrep PxConstraintShaderTable::solverPrep

solver constraint generation function

PxConstraintVisualize PxConstraintShaderTable::visualize

constraint visualization function

The documentation for this struct was generated from the following file:
  • PxConstraint.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxConstraint Class Reference

PxConstraint Class Reference
[Physics]

A plugin class for implementing constraints. More...

#include <PxConstraint.h>

Inheritance diagram for PxConstraint:

PxBase
[legend]
Collaboration diagram for PxConstraint:

PxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

virtual void | release ()=0
Releases a PxConstraint instance.
virtual PxScene * | getScene () const =0
Retrieves the scene which this constraint belongs to.
virtual void | getActors (PxRigidActor *&actor0, PxRigidActor *&actor1) const =0
Retrieves the actors for this constraint.
virtual void | setActors (PxRigidActor *actor0, PxRigidActor *actor1)=0
Sets the actors for this constraint.
virtual void | markDirty ()=0
Notify the scene that the constraint shader data has been updated by the application.
virtual void | setFlags (PxConstraintFlags flags)=0
Set the flags for this constraint.
virtual PxConstraintFlags | getFlags () const =0
Retrieve the flags for this constraint.
virtual void | setFlag (PxConstraintFlag::Enum flag, bool value)=0
Set a flag for this constraint.
virtual void | getForce (PxVec3 &linear, PxVec3 &angular) const =0
Retrieve the constraint force most recently applied to maintain this constraint.
virtual bool | isValid () const =0
whether the constraint is valid.
virtual void | setBreakForce (PxReal linear, PxReal angular)=0
Set the break force and torque thresholds for this constraint.
virtual void | getBreakForce (PxReal &linear, PxReal &angular) const =0
Retrieve the constraint break force and torque thresholds.
virtual void | setMinResponseThreshold (PxReal threshold)=0
Set the minimum response threshold for a constraint row.
virtual PxReal | getMinResponseThreshold () const =0
Retrieve the constraint break force and torque thresholds.
virtual void * | getExternalReference (PxU32 &typeID)=0
Fetch external owner of the constraint.
virtual void | setConstraintFunctions (PxConstraintConnector &connector, const PxConstraintShaderTable &shaders)=0
Set the constraint functions for this constraint.
virtual const char * | getConcreteTypeName () const
Returns string name of dynamic type.

Protected Member Functions

PX_INLINE | PxConstraint (PxType concreteType, PxBaseFlags baseFlags)
PX_INLINE | PxConstraint (PxBaseFlags baseFlags)
virtual | ~PxConstraint ()
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Detailed Description

A plugin class for implementing constraints.

See also:
PxPhysics.createConstraint

Constructor & Destructor Documentation

PX_INLINE PxConstraint::PxConstraint | ( | PxType | concreteType,
 |  | PxBaseFlags | baseFlags |
 | ) |  |  | [inline, protected]

PX_INLINE PxConstraint::PxConstraint ( PxBaseFlags baseFlags ) [inline, protected]

virtual PxConstraint::~PxConstraint ( ) [inline, protected, virtual]

Member Function Documentation

virtual void PxConstraint::getActors | ( | PxRigidActor *& | actor0,
 |  | PxRigidActor *& | actor1 |
 | ) |  |  | const [pure virtual]

Retrieves the actors for this constraint.

Parameters:
[out] | actor0 | a reference to the pointer for the first actor
[out] | actor1 | a reference to the pointer for the second actor
See also:
PxActor

virtual void PxConstraint::getBreakForce | ( | PxReal & | linear,
 |  | PxReal & | angular |
 | ) |  |  | const [pure virtual]

Retrieve the constraint break force and torque thresholds.

Parameters:
[out] | linear | the linear break threshold
[out] | angular | the angular break threshold

virtual const char* PxConstraint::getConcreteTypeName ( ) const [inline, virtual]

Returns string name of dynamic type.

Returns:
Class name of most derived type of this object.

Implements PxBase.

virtual void* PxConstraint::getExternalReference ( PxU32 & typeID ) [pure virtual]

Fetch external owner of the constraint.

Provides a reference to the external owner of a constraint and a unique owner type ID.

Parameters:
[out] typeID Unique type identifier of the external object.
Returns:
Reference to the external object which owns the constraint.
See also:
PxConstraintConnector.getExternalReference()

virtual PxConstraintFlags PxConstraint::getFlags ( ) const [pure virtual]

Retrieve the flags for this constraint.

Returns:
the constraint flags
See also:
PxConstraintFlags

virtual void PxConstraint::getForce | ( | PxVec3 & | linear,
 |  | PxVec3 & | angular |
 | ) |  |  | const [pure virtual]

Retrieve the constraint force most recently applied to maintain this constraint.

Parameters:
[out] | linear | the constraint force
[out] | angular | the constraint torque

virtual PxReal PxConstraint::getMinResponseThreshold ( ) const [pure virtual]

Retrieve the constraint break force and torque thresholds.

Returns:
the minimum response threshold for a constraint row

virtual PxScene* PxConstraint::getScene ( ) const [pure virtual]

Retrieves the scene which this constraint belongs to.

Returns:
Owner Scene. NULL if not part of a scene.
See also:
PxScene

virtual bool PxConstraint::isKindOf ( const char * superClass ) const [inline, protected, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxBase.

References PxBase::isKindOf().

virtual bool PxConstraint::isValid ( ) const [pure virtual]

whether the constraint is valid.

A constraint is valid if it has at least one dynamic rigid body or articulation link. A constraint that is not valid may not be inserted into a scene, and therefore a static actor to which an invalid constraint is attached may not be inserted into a scene.

Invalid constraints arise only when an actor to which the constraint is attached has been deleted.

virtual void PxConstraint::markDirty ( ) [pure virtual]

Notify the scene that the constraint shader data has been updated by the application.

virtual void PxConstraint::release ( ) [pure virtual]

Releases a PxConstraint instance.

Note:
This call does not wake up the connected rigid bodies.
See also:
PxPhysics.createConstraint, PxBase.release()

Implements PxBase.

virtual void PxConstraint::setActors | ( | PxRigidActor * | actor0,
 |  | PxRigidActor * | actor1 |
 | ) |  |  | [pure virtual]

Sets the actors for this constraint.

Parameters:
[in] | actor0 | a reference to the pointer for the first actor
[in] | actor1 | a reference to the pointer for the second actor
See also:
PxActor

virtual void PxConstraint::setBreakForce | ( | PxReal | linear,
 |  | PxReal | angular |
 | ) |  |  | [pure virtual]

Set the break force and torque thresholds for this constraint.

If either the force or torque measured at the constraint exceed these thresholds the constraint will break.

Parameters:
[in] | linear | the linear break threshold
[in] | angular | the angular break threshold

virtual void PxConstraint::setConstraintFunctions | ( | PxConstraintConnector & | connector,
 |  | const PxConstraintShaderTable & | shaders |
 | ) |  |  | [pure virtual]

Set the constraint functions for this constraint.

Parameters:
[in] | connector | the constraint connector object by which the SDK communicates with the constraint.
[in] | shaders | the shader table for the constraint
See also:
PxConstraintConnector PxConstraintSolverPrep PxConstraintProject PxConstraintVisualize

virtual void PxConstraint::setFlag | ( | PxConstraintFlag::Enum | flag,
 |  | bool | value |
 | ) |  |  | [pure virtual]

Set a flag for this constraint.

Parameters:
[in] | flag | the constraint flag
[in] | value | the new value of the flag
See also:
PxConstraintFlags

virtual void PxConstraint::setFlags ( PxConstraintFlags flags ) [pure virtual]

Set the flags for this constraint.

Parameters:
[in] flags the new constraint flags
default: PxConstraintFlag::eDRIVE_LIMITS_ARE_FORCES

See also:
PxConstraintFlags

virtual void PxConstraint::setMinResponseThreshold ( PxReal threshold ) [pure virtual]

Set the minimum response threshold for a constraint row.

When using mass modification for a joint or infinite inertia for a jointed body, very stiff solver constraints can be generated which can destabilize simulation. Setting this value to a small positive value (e.g. 1e-8) will cause constraint rows to be ignored if very large changes in impulses will generate only small changes in velocity. When setting this value, also set PxConstraintFlag::eDISABLE_PREPROCESSING. The solver accuracy for this joint may be reduced.

Parameters:
[in] threshold the minimum response threshold
See also:
PxConstraintFlag::eDISABLE_PREPROCESSING

The documentation for this class was generated from the following file:
  • PxConstraint.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Px1DConstraintFlag Struct Reference

Px1DConstraintFlag Struct Reference
[Physics]

constraint row flags More...

#include <PxConstraintDesc.h>

List of all members.

Public Types

enum Type {
eSPRING = 1<<0,
eACCELERATION_SPRING = 1<<1,
eRESTITUTION = 1<<2,
eKEEPBIAS = 1<<3,
eOUTPUT_FORCE = 1<<4,
eHAS_DRIVE_LIMIT = 1<<5
}

Public Member Functions

PX_CUDA_CALLABLE Px1DConstraintFlag ()

Detailed Description

constraint row flags

These flags configure the post-processing of constraint rows and the behavior of the solver while solving constraints

Member Enumeration Documentation

enum Px1DConstraintFlag::Type

Enumerator:
eSPRING | whether the constraint is a spring. Mutually exclusive with eRESTITUTION. If set, eKEEPBIAS is ignored.
eACCELERATION_SPRING | whether the constraint is a force or acceleration spring. Only valid if eSPRING is set.
eRESTITUTION | whether the restitution model should be applied to generate the target velocity. Mutually exclusive with eSPRING. If restitution causes a bounces, eKEEPBIAS is ignored
eKEEPBIAS | whether to keep the error term when solving for velocity. Ignored if restitution generates bounce, or eSPRING is set.
eOUTPUT_FORCE | whether to accumulate the force value from this constraint in the force total that is reported for the constraint and tested for breakage
eHAS_DRIVE_LIMIT | whether the constraint has a drive force limit (which will be scaled by dt unless PxConstraintFlag::eLIMITS_ARE_FORCES is set)

Constructor & Destructor Documentation

PX_CUDA_CALLABLE Px1DConstraintFlag::Px1DConstraintFlag ( ) [inline]

The documentation for this struct was generated from the following file:
  • PxConstraintDesc.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxConstraintSolveHint Struct Reference

PxConstraintSolveHint Struct Reference
[Physics]

constraint type hints which the solver uses to optimize constraint handling More...

#include <PxConstraintDesc.h>

List of all members.

Public Types

enum Enum {
eNONE = 0,
eACCELERATION1 = 256,
eSLERP_SPRING = 258,
eACCELERATION2 = 512,
eACCELERATION3 = 768,
eEQUALITY = 1024,
eINEQUALITY = 1025
}

Detailed Description

constraint type hints which the solver uses to optimize constraint handling

Member Enumeration Documentation

enum PxConstraintSolveHint::Enum

Enumerator:
eNONE | no special properties
eACCELERATION1 | a group of acceleration drive constraints with the same stiffness and drive parameters
eSLERP_SPRING | temporary special value to identify SLERP drive rows
eACCELERATION2 | a group of acceleration drive constraints with the same stiffness and drive parameters
eACCELERATION3 | a group of acceleration drive constraints with the same stiffness and drive parameters
eEQUALITY | equality constraints with no force limit and no velocity target
eINEQUALITY | inequality constraints with (0, PX_MAX_FLT force limits)

The documentation for this struct was generated from the following file:
  • PxConstraintDesc.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Px1DConstraint Struct Reference

Px1DConstraint Struct Reference
[Physics]

A constraint. More...

#include <PxConstraintDesc.h>

Collaboration diagram for Px1DConstraint:

PxVec3
[legend]

List of all members.

Public Attributes

PxVec3 linear0
linear component of velocity jacobian in world space
PxReal | geometricError
geometric error of the constraint along this axis
PxVec3 angular0
angular component of velocity jacobian in world space
PxReal | velocityTarget
velocity target for the constraint along this axis
PxVec3 linear1
linear component of velocity jacobian in world space
PxReal | minImpulse
minimum impulse the solver may apply to enforce this constraint
PxVec3 angular1
angular component of velocity jacobian in world space
PxReal | maxImpulse
maximum impulse the solver may apply to enforce this constraint
union {
struct SpringModifiers {
PxReal stiffness
spring parameter, for spring constraints
PxReal damping
damping parameter, for spring constraints
} spring
struct RestitutionModifiers {
PxReal restitution
restitution parameter for determining additional "bounce"
PxReal velocityThreshold
minimum impact velocity for bounce
} bounce
} mods
PxReal | forInternalUse
for internal use only
PxU16 | flags
a set of Px1DConstraintFlags
PxU16 | solveHint
constraint optimization hint, should be an element of PxConstraintSolveHint

Detailed Description

A constraint.

A constraint is expressed as a set of 1-dimensional constraint rows which define the required constraint on the objects' velocities.

Each constraint is either a hard constraint or a spring. We define the velocity at the constraint to be the quantity

v = body0vel.dot(lin0,ang0) - body1vel.dot(lin1, ang1)

For a hard constraint, the solver attempts to generate

1. a set of velocities for the objects which, when integrated, respect the constraint errors:

v + (geometricError / timestep) = velocityTarget

2. a set of velocities for the objects which respect the constraints:

v = velocityTarget

Hard constraints support restitution: if the impact velocity exceeds the bounce threshold, then the target velocity of the constraint will be set to restitution * -v

Alternatively, the solver can attempt to resolve the velocity constraint as an implicit spring:

F = stiffness * -geometricError + damping * (velocityTarget - v)

where F is the constraint force or acceleration. Springs are fully implicit: that is, the force or acceleration is a function of the position and velocity after the solve.

All constraints support limits on the minimum or maximum impulse applied.

Member Data Documentation

PxVec3 Px1DConstraint::angular0

angular component of velocity jacobian in world space

PxVec3 Px1DConstraint::angular1

angular component of velocity jacobian in world space

struct { ... } ::RestitutionModifiers Px1DConstraint::bounce

PxReal Px1DConstraint::damping

damping parameter, for spring constraints

PxU16 Px1DConstraint::flags

a set of Px1DConstraintFlags

PxReal Px1DConstraint::forInternalUse

for internal use only

PxReal Px1DConstraint::geometricError

geometric error of the constraint along this axis

PxVec3 Px1DConstraint::linear0

linear component of velocity jacobian in world space

PxVec3 Px1DConstraint::linear1

linear component of velocity jacobian in world space

PxReal Px1DConstraint::maxImpulse

maximum impulse the solver may apply to enforce this constraint

PxReal Px1DConstraint::minImpulse

minimum impulse the solver may apply to enforce this constraint

union { ... } Px1DConstraint::mods

PxReal Px1DConstraint::restitution

restitution parameter for determining additional "bounce"

PxU16 Px1DConstraint::solveHint

constraint optimization hint, should be an element of PxConstraintSolveHint

struct { ... } ::SpringModifiers Px1DConstraint::spring

PxReal Px1DConstraint::stiffness

spring parameter, for spring constraints

PxReal Px1DConstraint::velocityTarget

velocity target for the constraint along this axis

PxReal Px1DConstraint::velocityThreshold

minimum impact velocity for bounce

The documentation for this struct was generated from the following file:
  • PxConstraintDesc.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxConstraintVisualizationFlag Struct Reference

PxConstraintVisualizationFlag Struct Reference
[Physics]

Flags for determining which components of the constraint should be visualized. More...

#include <PxConstraintDesc.h>

List of all members.

Public Types

enum Enum {
eLOCAL_FRAMES = 1,
eLIMITS = 2
}

Detailed Description

Flags for determining which components of the constraint should be visualized.

See also:
PxConstraintVisualize

Member Enumeration Documentation

enum PxConstraintVisualizationFlag::Enum

Enumerator:
eLOCAL_FRAMES | visualize constraint frames
eLIMITS | visualize constraint limits

The documentation for this struct was generated from the following file:
  • PxConstraintDesc.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxConstraintInvMassScale Struct Reference

PxConstraintInvMassScale Struct Reference
[Physics]

#include <PxConstraintDesc.h>

List of all members.

Public Member Functions

PxConstraintInvMassScale ()
PxConstraintInvMassScale (PxReal lin0, PxReal ang0, PxReal lin1, PxReal ang1)

Public Attributes

PxReal | linear0
multiplier for inverse mass of body0
PxReal | angular0
multiplier for inverse MoI of body0
PxReal | linear1
multiplier for inverse mass of body1
PxReal | angular1
multiplier for inverse MoI of body1

Constructor & Destructor Documentation

PxConstraintInvMassScale::PxConstraintInvMassScale ( ) [inline]

PxConstraintInvMassScale::PxConstraintInvMassScale | ( | PxReal | lin0,
 |  | PxReal | ang0,
 |  | PxReal | lin1,
 |  | PxReal | ang1 |
 | ) |  |  | [inline]

Member Data Documentation

PxReal PxConstraintInvMassScale::angular0

multiplier for inverse MoI of body0

PxReal PxConstraintInvMassScale::angular1

multiplier for inverse MoI of body1

PxReal PxConstraintInvMassScale::linear0

multiplier for inverse mass of body0

PxReal PxConstraintInvMassScale::linear1

multiplier for inverse mass of body1

The documentation for this struct was generated from the following file:
  • PxConstraintDesc.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxConstraintVisualizer Class Reference

PxConstraintVisualizer Class Reference
[Physics]

#include <PxConstraintDesc.h>

List of all members.

Public Member Functions

virtual void | visualizeJointFrames (const PxTransform &parent, const PxTransform &child)=0
virtual void | visualizeLinearLimit (const PxTransform &t0, const PxTransform &t1, PxReal value, bool active)=0
virtual void | visualizeAngularLimit (const PxTransform &t0, PxReal lower, PxReal upper, bool active)=0
virtual void | visualizeLimitCone (const PxTransform &t, PxReal ySwing, PxReal zSwing, bool active)=0
virtual void | visualizeDoubleCone (const PxTransform &t, PxReal angle, bool active)=0
virtual void | visualizeLine (const PxVec3 &p0, const PxVec3 &p1, PxU32 color)=0

Protected Member Functions

virtual | ~PxConstraintVisualizer ()

Detailed Description

API used to visualize details about a constraint.

Constructor & Destructor Documentation

virtual PxConstraintVisualizer::~PxConstraintVisualizer ( ) [inline, protected, virtual]

Member Function Documentation

virtual void PxConstraintVisualizer::visualizeAngularLimit | ( | const PxTransform & | t0,
 |  | PxReal | lower,
 |  | PxReal | upper,
 |  | bool | active |
 | ) |  |  | [pure virtual]

virtual void PxConstraintVisualizer::visualizeDoubleCone | ( | const PxTransform & | t,
 |  | PxReal | angle,
 |  | bool | active |
 | ) |  |  | [pure virtual]

virtual void PxConstraintVisualizer::visualizeJointFrames | ( | const PxTransform & | parent,
 |  | const PxTransform & | child |
 | ) |  |  | [pure virtual]

virtual void PxConstraintVisualizer::visualizeLimitCone | ( | const PxTransform & | t,
 |  | PxReal | ySwing,
 |  | PxReal | zSwing,
 |  | bool | active |
 | ) |  |  | [pure virtual]

virtual void PxConstraintVisualizer::visualizeLine | ( | const PxVec3 & | p0,
 |  | const PxVec3 & | p1,
 |  | PxU32 | color |
 | ) |  |  | [pure virtual]

virtual void PxConstraintVisualizer::visualizeLinearLimit | ( | const PxTransform & | t0,
 |  | const PxTransform & | t1,
 |  | PxReal | value,
 |  | bool | active |
 | ) |  |  | [pure virtual]

The documentation for this class was generated from the following file:
  • PxConstraintDesc.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPvdUpdateType Struct Reference

PxPvdUpdateType Struct Reference
[Physics]

#include <PxConstraintDesc.h>

List of all members.

Public Types

enum Enum {
CREATE_INSTANCE,
RELEASE_INSTANCE,
UPDATE_ALL_PROPERTIES,
UPDATE_SIM_PROPERTIES
}

Member Enumeration Documentation

enum PxPvdUpdateType::Enum

Enumerator:
CREATE_INSTANCE
RELEASE_INSTANCE
UPDATE_ALL_PROPERTIES
UPDATE_SIM_PROPERTIES

The documentation for this struct was generated from the following file:
  • PxConstraintDesc.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxConstraintConnector Class Reference

PxConstraintConnector Class Reference
[Physics]

This class connects a custom constraint to the SDK. More...

#include <PxConstraintDesc.h>

List of all members.

Public Member Functions

virtual void * | prepareData ()=0
virtual bool | updatePvdProperties (physx::pvdsdk::PvdDataStream &pvdConnection, const PxConstraint *c, PxPvdUpdateType::Enum updateType) const =0
virtual void | onConstraintRelease ()=0
virtual void | onComShift (PxU32 actor)=0
virtual void | onOriginShift (const PxVec3 &shift)=0
virtual void * | getExternalReference (PxU32 &typeID)=0
Fetches external data for a constraint.
virtual PxBase * | getSerializable ()=0
Obtain a reference to a PxBase interface if the constraint has one.
virtual PxConstraintSolverPrep | getPrep () const =0
Obtain the shader function pointer used to prep rows for this constraint.
virtual const void * | getConstantBlock () const =0
Obtain the pointer to the constraint's constant data.
virtual | ~PxConstraintConnector ()
virtual destructor

Detailed Description

This class connects a custom constraint to the SDK.

This class connects a custom constraint to the SDK, and functions are called by the SDK to query the custom implementation for specific information to pass on to the application or inform the constraint when the application makes calls into the SDK which will update the custom constraint's internal implementation

Constructor & Destructor Documentation

virtual PxConstraintConnector::~PxConstraintConnector ( ) [inline, virtual]

virtual destructor

Member Function Documentation

virtual const void* PxConstraintConnector::getConstantBlock ( ) const [pure virtual]

Obtain the pointer to the constraint's constant data.

virtual void* PxConstraintConnector::getExternalReference ( PxU32 & typeID ) [pure virtual]

Fetches external data for a constraint.

This function is used by the SDK to acquire a reference to the owner of a constraint and a unique owner type ID. This information will be passed on when a breakable constraint breaks or when PxConstraint::getExternalReference() is called.

Parameters:
[out] typeID Unique type identifier of the external object. The value 0xffffffff is reserved and should not be used. Furthermore, if the PhysX extensions library is used, some other IDs are reserved already (see PxConstraintExtIDs)
Returns:
Reference to the external object which owns the constraint.
See also:
PxConstraintInfo PxSimulationEventCallback.onConstraintBreak()

virtual PxConstraintSolverPrep PxConstraintConnector::getPrep ( ) const [pure virtual]

Obtain the shader function pointer used to prep rows for this constraint.

virtual PxBase* PxConstraintConnector::getSerializable ( ) [pure virtual]

Obtain a reference to a PxBase interface if the constraint has one.

If the constraint does not implement the PxBase interface, it should return NULL.

virtual void PxConstraintConnector::onComShift ( PxU32 actor ) [pure virtual]

This function is called by the SDK when the CoM of one of the actors is moved. Since the API specifies constraint positions relative to actors, and the constraint shader functions are supplied with coordinates relative to bodies, some synchronization is usually required when the application moves an object's center of mass.

virtual void PxConstraintConnector::onConstraintRelease ( ) [pure virtual]

When the SDK deletes a PxConstraint object this function is called by the SDK. In general custom constraints should not be deleted directly by applications: rather, the constraint should respond to a release() request by calling PxConstraint::release(), then wait for this call to release its own resources, so that even if the release() call occurs during a simulation step, the deletion of the constraint is buffered until that step completes.

This function is also called when a PxConstraint object is deleted on cleanup due to destruction of the PxPhysics object.

virtual void PxConstraintConnector::onOriginShift ( const PxVec3 & shift ) [pure virtual]

This function is called by the SDK when the scene origin gets shifted and allows to adjust custom data which contains world space transforms.

Note:
If the adjustments affect constraint shader data, it is necessary to call PxConstraint::markDirty() to make sure that the data gets synced at the beginning of the next simulation step.
Parameters:
[in] shift Translation vector the origin is shifted by.
See also:
PxScene.shiftOrigin()

virtual void* PxConstraintConnector::prepareData ( ) [pure virtual]

when the constraint is marked dirty, this function is called at the start of the simulation step for the SDK to copy the constraint data block.

virtual bool PxConstraintConnector::updatePvdProperties | ( | physx::pvdsdk::PvdDataStream & | pvdConnection,
 |  | const PxConstraint * | c,
 |  | PxPvdUpdateType::Enum | updateType |
 | ) |  |  | const [pure virtual]

this function is called by the SDK to update PVD's view of it

The documentation for this class was generated from the following file:
  • PxConstraintDesc.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxContactSet Class Reference

PxContactSet Class Reference
[Physics]

An array of contact points, as passed to contact modification. More...

#include <PxContactModifyCallback.h>

Collaboration diagram for PxContactSet:

PxModifiableContactPxExtendedContactPxContactPxVec3
[legend]

List of all members.

Public Member Functions

PX_FORCE_INLINE const PxVec3 & | getPoint (PxU32 i) const
Get the position of a specific contact point in the set.
PX_FORCE_INLINE void | setPoint (PxU32 i, const PxVec3 &p)
Alter the position of a specific contact point in the set.
PX_FORCE_INLINE const PxVec3 & | getNormal (PxU32 i) const
Get the contact normal of a specific contact point in the set.
PX_FORCE_INLINE void | setNormal (PxU32 i, const PxVec3 &n)
Alter the contact normal of a specific contact point in the set.
PX_FORCE_INLINE PxReal | getSeparation (PxU32 i) const
Get the separation of a specific contact point in the set.
PX_FORCE_INLINE void | setSeparation (PxU32 i, PxReal s)
Alter the separation of a specific contact point in the set.
PX_FORCE_INLINE const PxVec3 & | getTargetVelocity (PxU32 i) const
Get the target velocity of a specific contact point in the set.
PX_FORCE_INLINE void | setTargetVelocity (PxU32 i, const PxVec3 &v)
Alter the target velocity of a specific contact point in the set.
PX_FORCE_INLINE PxU32 | getInternalFaceIndex0 (PxU32 i)
Get the face index with respect to the first shape of the pair for a specific contact point in the set.
PX_FORCE_INLINE PxU32 | getInternalFaceIndex1 (PxU32 i)
Get the face index with respect to the second shape of the pair for a specific contact point in the set.
PX_FORCE_INLINE PxReal | getMaxImpulse (PxU32 i) const
Get the maximum impulse for a specific contact point in the set.
PX_FORCE_INLINE void | setMaxImpulse (PxU32 i, PxReal s)
Alter the maximum impulse for a specific contact point in the set.
PX_FORCE_INLINE PxReal | getRestitution (PxU32 i) const
Get the restitution coefficient for a specific contact point in the set.
PX_FORCE_INLINE void | setRestitution (PxU32 i, PxReal r)
Alter the restitution coefficient for a specific contact point in the set.
PX_FORCE_INLINE PxReal | getStaticFriction (PxU32 i) const
Get the static friction coefficient for a specific contact point in the set.
PX_FORCE_INLINE void | setStaticFriction (PxU32 i, PxReal f)
Alter the static friction coefficient for a specific contact point in the set.
PX_FORCE_INLINE PxReal | getDynamicFriction (PxU32 i) const
Get the static friction coefficient for a specific contact point in the set.
PX_FORCE_INLINE void | setDynamicFriction (PxU32 i, PxReal f)
Alter the static dynamic coefficient for a specific contact point in the set.
PX_FORCE_INLINE void | ignore (PxU32 i)
Ignore the contact point.
PX_FORCE_INLINE PxU32 | size () const
The number of contact points in the set.
PX_FORCE_INLINE PxReal | getInvMassScale0 () const
Returns the invMassScale of body 0.
PX_FORCE_INLINE PxReal | getInvMassScale1 () const
Returns the invMassScale of body 1.
PX_FORCE_INLINE PxReal | getInvInertiaScale0 () const
Returns the invInertiaScale of body 0.
PX_FORCE_INLINE PxReal | getInvInertiaScale1 () const
Returns the invInertiaScale of body 1.
PX_FORCE_INLINE void | setInvMassScale0 (const PxReal scale)
Sets the invMassScale of body 0.
PX_FORCE_INLINE void | setInvMassScale1 (const PxReal scale)
Sets the invMassScale of body 1.
PX_FORCE_INLINE void | setInvInertiaScale0 (const PxReal scale)
Sets the invInertiaScale of body 0.
PX_FORCE_INLINE void | setInvInertiaScale1 (const PxReal scale)
Sets the invInertiaScale of body 1.

Protected Member Functions

PX_FORCE_INLINE PxContactPatch * | getPatch () const

Protected Attributes

PxU32 mCount
Number of contact points in the set.
PxModifiableContact * mContacts
The contact points of the set.

Detailed Description

An array of contact points, as passed to contact modification.

The word 'set' in the name does not imply that duplicates are filtered in any way. This initial set of contacts does potentially get reduced to a smaller set before being passed to the solver.

You can use the accessors to read and write contact properties. The number of contacts is immutable, other than being able to disable contacts using ignore().

See also:
PxContactModifyCallback, PxModifiableContact

Member Function Documentation

PX_FORCE_INLINE PxReal PxContactSet::getDynamicFriction ( PxU32 i ) const [inline]

Get the static friction coefficient for a specific contact point in the set.

See also:
PxModifiableContact.dynamicFriction

PX_FORCE_INLINE PxU32 PxContactSet::getInternalFaceIndex0 ( PxU32 i ) [inline]

Get the face index with respect to the first shape of the pair for a specific contact point in the set.

See also:
PxModifiableContact.internalFaceIndex0

References PX_UNUSED(), and PXC_CONTACT_NO_FACE_INDEX.

PX_FORCE_INLINE PxU32 PxContactSet::getInternalFaceIndex1 ( PxU32 i ) [inline]

Get the face index with respect to the second shape of the pair for a specific contact point in the set.

See also:
PxModifiableContact.internalFaceIndex1

References PxContactPatch::eHAS_FACE_INDICES, PxContactPatch::internalFlags, and PXC_CONTACT_NO_FACE_INDEX.

PX_FORCE_INLINE PxReal PxContactSet::getInvInertiaScale0 ( ) const [inline]

Returns the invInertiaScale of body 0.

A value < 1.0 makes this contact treat the body as if it had larger inertia. A value of 0.f makes this contact treat the body as if it had infinite inertia. Any value > 1.f makes this contact treat the body as if it had smaller inertia.

PX_FORCE_INLINE PxReal PxContactSet::getInvInertiaScale1 ( ) const [inline]

Returns the invInertiaScale of body 1.

A value < 1.0 makes this contact treat the body as if it had larger inertia. A value of 0.f makes this contact treat the body as if it had infinite inertia. Any value > 1.f makes this contact treat the body as if it had smaller inertia.

PX_FORCE_INLINE PxReal PxContactSet::getInvMassScale0 ( ) const [inline]

Returns the invMassScale of body 0.

A value < 1.0 makes this contact treat the body as if it had larger mass. A value of 0.f makes this contact treat the body as if it had infinite mass. Any value > 1.f makes this contact treat the body as if it had smaller mass.

PX_FORCE_INLINE PxReal PxContactSet::getInvMassScale1 ( ) const [inline]

Returns the invMassScale of body 1.

A value < 1.0 makes this contact treat the body as if it had larger mass. A value of 0.f makes this contact treat the body as if it had infinite mass. Any value > 1.f makes this contact treat the body as if it had smaller mass.

PX_FORCE_INLINE PxReal PxContactSet::getMaxImpulse ( PxU32 i ) const [inline]

Get the maximum impulse for a specific contact point in the set.

See also:
PxModifiableContact.maxImpulse

PX_FORCE_INLINE const PxVec3& PxContactSet::getNormal ( PxU32 i ) const [inline]

Get the contact normal of a specific contact point in the set.

See also:
PxModifiableContact.normal

PX_FORCE_INLINE PxContactPatch* PxContactSet::getPatch ( ) const [inline, protected]

PX_FORCE_INLINE const PxVec3& PxContactSet::getPoint ( PxU32 i ) const [inline]

Get the position of a specific contact point in the set.

See also:
PxModifiableContact.point

PX_FORCE_INLINE PxReal PxContactSet::getRestitution ( PxU32 i ) const [inline]

Get the restitution coefficient for a specific contact point in the set.

See also:
PxModifiableContact.restitution

PX_FORCE_INLINE PxReal PxContactSet::getSeparation ( PxU32 i ) const [inline]

Get the separation of a specific contact point in the set.

See also:
PxModifiableContact.separation

PX_FORCE_INLINE PxReal PxContactSet::getStaticFriction ( PxU32 i ) const [inline]

Get the static friction coefficient for a specific contact point in the set.

See also:
PxModifiableContact.staticFriction

PX_FORCE_INLINE const PxVec3& PxContactSet::getTargetVelocity ( PxU32 i ) const [inline]

Get the target velocity of a specific contact point in the set.

See also:
PxModifiableContact.targetVelocity

PX_FORCE_INLINE void PxContactSet::ignore ( PxU32 i ) [inline]

Ignore the contact point.

If a contact point is ignored then no force will get applied at this point. This can be used to disable collision in certain areas of a shape, for example.

PX_FORCE_INLINE void PxContactSet::setDynamicFriction | ( | PxU32 | i,
 |  | PxReal | f |
 | ) |  |  | [inline]

Alter the static dynamic coefficient for a specific contact point in the set.

See also:
PxModifiableContact.dynamic

References PxContactPatch::eREGENERATE_PATCHES, and PxContactPatch::internalFlags.

PX_FORCE_INLINE void PxContactSet::setInvInertiaScale0 ( const PxReal scale ) [inline]

Sets the invInertiaScale of body 0.

This can be set to any value in the range [0, PX_MAX_F32). A value < 1.0 makes this contact treat the body as if it had larger inertia. A value of 0.f makes this contact treat the body as if it had infinite inertia. Any value > 1.f makes this contact treat the body as if it had smaller inertia.

References PxContactPatch::eHAS_MODIFIED_MASS_RATIOS, and PxContactPatch::internalFlags.

PX_FORCE_INLINE void PxContactSet::setInvInertiaScale1 ( const PxReal scale ) [inline]

Sets the invInertiaScale of body 1.

This can be set to any value in the range [0, PX_MAX_F32). A value < 1.0 makes this contact treat the body as if it had larger inertia. A value of 0.f makes this contact treat the body as if it had infinite inertia. Any value > 1.f makes this contact treat the body as if it had smaller inertia.

References PxContactPatch::eHAS_MODIFIED_MASS_RATIOS, and PxContactPatch::internalFlags.

PX_FORCE_INLINE void PxContactSet::setInvMassScale0 ( const PxReal scale ) [inline]

Sets the invMassScale of body 0.

This can be set to any value in the range [0, PX_MAX_F32). A value < 1.0 makes this contact treat the body as if it had larger mass. A value of 0.f makes this contact treat the body as if it had infinite mass. Any value > 1.f makes this contact treat the body as if it had smaller mass.

References PxContactPatch::eHAS_MODIFIED_MASS_RATIOS, and PxContactPatch::internalFlags.

PX_FORCE_INLINE void PxContactSet::setInvMassScale1 ( const PxReal scale ) [inline]

Sets the invMassScale of body 1.

This can be set to any value in the range [0, PX_MAX_F32). A value < 1.0 makes this contact treat the body as if it had larger mass. A value of 0.f makes this contact treat the body as if it had infinite mass. Any value > 1.f makes this contact treat the body as if it had smaller mass.

References PxContactPatch::eHAS_MODIFIED_MASS_RATIOS, and PxContactPatch::internalFlags.

PX_FORCE_INLINE void PxContactSet::setMaxImpulse | ( | PxU32 | i,
 |  | PxReal | s |
 | ) |  |  | [inline]

Alter the maximum impulse for a specific contact point in the set.

Note:
Must be nonnegative. If set to zero, the contact point will be ignored
See also:
PxModifiableContact.maxImpulse

References PxContactPatch::eHAS_MAX_IMPULSE, and PxContactPatch::internalFlags.

PX_FORCE_INLINE void PxContactSet::setNormal | ( | PxU32 | i,
 |  | const PxVec3 & | n |
 | ) |  |  | [inline]

Alter the contact normal of a specific contact point in the set.

Note:
Changing the normal can cause contact points to be ignored.
See also:
PxModifiableContact.normal

References PxContactPatch::eREGENERATE_PATCHES, and PxContactPatch::internalFlags.

PX_FORCE_INLINE void PxContactSet::setPoint | ( | PxU32 | i,
 |  | const PxVec3 & | p |
 | ) |  |  | [inline]

Alter the position of a specific contact point in the set.

See also:
PxModifiableContact.point

PX_FORCE_INLINE void PxContactSet::setRestitution | ( | PxU32 | i,
 |  | PxReal | r |
 | ) |  |  | [inline]

Alter the restitution coefficient for a specific contact point in the set.

Note:
Valid ranges [0,1]
See also:
PxModifiableContact.restitution

References PxContactPatch::eREGENERATE_PATCHES, and PxContactPatch::internalFlags.

PX_FORCE_INLINE void PxContactSet::setSeparation | ( | PxU32 | i,
 |  | PxReal | s |
 | ) |  |  | [inline]

Alter the separation of a specific contact point in the set.

See also:
PxModifiableContact.separation

PX_FORCE_INLINE void PxContactSet::setStaticFriction | ( | PxU32 | i,
 |  | PxReal | f |
 | ) |  |  | [inline]

Alter the static friction coefficient for a specific contact point in the set.

See also:
PxModifiableContact.staticFriction

References PxContactPatch::eREGENERATE_PATCHES, and PxContactPatch::internalFlags.

PX_FORCE_INLINE void PxContactSet::setTargetVelocity | ( | PxU32 | i,
 |  | const PxVec3 & | v |
 | ) |  |  | [inline]

Alter the target velocity of a specific contact point in the set.

See also:
PxModifiableContact.targetVelocity

References PxContactPatch::eHAS_TARGET_VELOCITY, and PxContactPatch::internalFlags.

PX_FORCE_INLINE PxU32 PxContactSet::size ( ) const [inline]

The number of contact points in the set.

Member Data Documentation

PxModifiableContact* PxContactSet::mContacts [protected]

The contact points of the set.

PxU32 PxContactSet::mCount [protected]

Number of contact points in the set.

The documentation for this class was generated from the following file:
  • PxContactModifyCallback.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxContactModifyPair Class Reference

PxContactModifyPair Class Reference
[Physics]

An array of instances of this class is passed to PxContactModifyCallback::onContactModify(). More...

#include <PxContactModifyCallback.h>

Collaboration diagram for PxContactModifyPair:

PxRigidActorPxActorPxBasePxShapePxFlags\< PxBaseFlag::Enum, PxU16 \>PxContactSetPxModifiableContactPxExtendedContactPxContactPxVec3PxTransformPxQuat
[legend]

List of all members.

Public Attributes

const PxRigidActor * | actor [2]
The actors which make up the pair in contact.
const PxShape * | shape [2]
The shapes which make up the pair in contact.
PxTransform | transform [2]
The shape to world transforms of the two shapes.
PxContactSet contacts
An array of contact points between these two shapes.

Detailed Description

An array of instances of this class is passed to PxContactModifyCallback::onContactModify().

See also:
PxContactModifyCallback

Member Data Documentation

const PxRigidActor* PxContactModifyPair::actor[2]

The actors which make up the pair in contact.

Note that these are the actors as seen by the simulation, and may have been deleted since the simulation step started.

PxContactSet PxContactModifyPair::contacts

An array of contact points between these two shapes.

const PxShape* PxContactModifyPair::shape[2]

The shapes which make up the pair in contact.

Note that these are the shapes as seen by the simulation, and may have been deleted since the simulation step started.

PxTransform PxContactModifyPair::transform[2]

The shape to world transforms of the two shapes.

These are the transforms as the simulation engine sees them, and may have been modified by the application since the simulation step started.

The documentation for this class was generated from the following file:
  • PxContactModifyCallback.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxContactModifyCallback Class Reference

PxContactModifyCallback Class Reference
[Physics]

An interface class that the user can implement in order to modify contact constraints. More...

#include <PxContactModifyCallback.h>

List of all members.

Public Member Functions

virtual void | onContactModify (PxContactModifyPair *const pairs, PxU32 count)=0
Passes modifiable arrays of contacts to the application.

Protected Member Functions

virtual | ~PxContactModifyCallback ()

Detailed Description

An interface class that the user can implement in order to modify contact constraints.

Threading: It is necessary to make this class thread safe as it will be called in the context of the simulation thread. It might also be necessary to make it reentrant, since some calls can be made by multi-threaded parts of the physics engine.

You can enable the use of this contact modification callback by raising the flag PxPairFlag::eMODIFY_CONTACTS in the filter shader/callback (see PxSimulationFilterShader) for a pair of rigid body objects.

Please note: + Raising the contact modification flag will not wake the actors up automatically. + It is not possible to turn off the performance degradation by simply removing the callback from the scene, the filter shader/callback has to be used to clear the contact modification flag. + The contacts will only be reported as long as the actors are awake. There will be no callbacks while the actors are sleeping.

See also:
PxScene.setContactModifyCallback() PxScene.getContactModifyCallback()

Constructor & Destructor Documentation

virtual PxContactModifyCallback::~PxContactModifyCallback ( ) [inline, protected, virtual]

Member Function Documentation

virtual void PxContactModifyCallback::onContactModify | ( | PxContactModifyPair *const | pairs,
 |  | PxU32 | count |
 | ) |  |  | [pure virtual]

Passes modifiable arrays of contacts to the application.

The initial contacts are as determined fresh each frame by collision detection.

The number of contacts can not be changed, so you cannot add your own contacts. You may however disable contacts using PxContactSet::ignore().

See also:
PxContactModifyPair

The documentation for this class was generated from the following file:
  • PxContactModifyCallback.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCCDContactModifyCallback Class Reference

PxCCDContactModifyCallback Class Reference
[Physics]

An interface class that the user can implement in order to modify CCD contact constraints. More...

#include <PxContactModifyCallback.h>

List of all members.

Public Member Functions

virtual void | onCCDContactModify (PxContactModifyPair *const pairs, PxU32 count)=0
Passes modifiable arrays of contacts to the application.

Protected Member Functions

virtual | ~PxCCDContactModifyCallback ()

Detailed Description

An interface class that the user can implement in order to modify CCD contact constraints.

Threading: It is necessary to make this class thread safe as it will be called in the context of the simulation thread. It might also be necessary to make it reentrant, since some calls can be made by multi-threaded parts of the physics engine.

You can enable the use of this contact modification callback by raising the flag PxPairFlag::eMODIFY_CONTACTS in the filter shader/callback (see PxSimulationFilterShader) for a pair of rigid body objects.

Please note: + Raising the contact modification flag will not wake the actors up automatically. + It is not possible to turn off the performance degradation by simply removing the callback from the scene, the filter shader/callback has to be used to clear the contact modification flag. + The contacts will only be reported as long as the actors are awake. There will be no callbacks while the actors are sleeping.

See also:
PxScene.setContactModifyCallback() PxScene.getContactModifyCallback()

Constructor & Destructor Documentation

virtual PxCCDContactModifyCallback::~PxCCDContactModifyCallback ( ) [inline, protected, virtual]

Member Function Documentation

virtual void PxCCDContactModifyCallback::onCCDContactModify | ( | PxContactModifyPair *const | pairs,
 |  | PxU32 | count |
 | ) |  |  | [pure virtual]

Passes modifiable arrays of contacts to the application.

The initial contacts are as determined fresh each frame by collision detection.

The number of contacts can not be changed, so you cannot add your own contacts. You may however disable contacts using PxContactSet::ignore().

See also:
PxContactModifyPair

The documentation for this class was generated from the following file:
  • PxContactModifyCallback.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDeletionEventFlag Struct Reference

PxDeletionEventFlag Struct Reference
[Physics]

Flags specifying deletion event types. More...

#include <PxDeletionListener.h>

List of all members.

Public Types

enum Enum {
eUSER_RELEASE = (1<<0),
eMEMORY_RELEASE = (1<<1)
}

Detailed Description

Flags specifying deletion event types.

See also:
PxDeletionListener::onRelease PxPhysics.registerDeletionListener()

Member Enumeration Documentation

enum PxDeletionEventFlag::Enum

Enumerator:
eUSER_RELEASE | The user has called release on an object.
eMEMORY_RELEASE | The destructor of an object has been called and the memory has been released.

The documentation for this struct was generated from the following file:
  • PxDeletionListener.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDeletionListener Class Reference

PxDeletionListener Class Reference
[Physics]

interface to get notification on object deletion More...

#include <PxDeletionListener.h>

List of all members.

Public Member Functions

virtual void | onRelease (const PxBase *observed, void *userData, PxDeletionEventFlag::Enum deletionEvent)=0
Notification if an object or its memory gets released.

Protected Member Functions

PxDeletionListener ()
virtual | ~PxDeletionListener ()

Detailed Description

interface to get notification on object deletion

Constructor & Destructor Documentation

PxDeletionListener::PxDeletionListener ( ) [inline, protected]

virtual PxDeletionListener::~PxDeletionListener ( ) [inline, protected, virtual]

Member Function Documentation

virtual void PxDeletionListener::onRelease | ( | const PxBase * | observed,
 |  | void * | userData,
 |  | PxDeletionEventFlag::Enum | deletionEvent |
 | ) |  |  | [pure virtual]

Notification if an object or its memory gets released.

If release() gets called on a PxBase object, an eUSER_RELEASE event will get fired immediately. The object state can be queried in the callback but it is not allowed to change the state. Furthermore, when reading from the object it is the user's responsibility to make sure that no other thread is writing at the same time to the object (this includes the simulation itself, i.e., PxScene::fetchResults() must not get called at the same time).

Calling release() on a PxBase object does not necessarily trigger its destructor immediately. For example, the object can be shared and might still be referenced by other objects or the simulation might still be running and accessing the object state. In such cases the destructor will be called as soon as it is safe to do so. After the destruction of the object and its memory, an eMEMORY_RELEASE event will get fired. In this case it is not allowed to dereference the object pointer in the callback.

Parameters:
[in] | observed | The object for which the deletion event gets fired.
[in] | userData | The user data pointer of the object for which the deletion event gets fired. Not available for all object types in which case it will be set to 0.
[in] | deletionEvent | The type of deletion event. Do not dereference the object pointer argument if the event is eMEMORY_RELEASE.

The documentation for this class was generated from the following file:
  • PxDeletionListener.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPairFlag Struct Reference

PxPairFlag Struct Reference
[Physics]

Collection of flags describing the actions to take for a collision pair. More...

#include <PxFiltering.h>

List of all members.

Public Types

enum Enum {
eSOLVE_CONTACT = (1<<0),
eMODIFY_CONTACTS = (1<<1),
eNOTIFY_TOUCH_FOUND = (1<<2),
eNOTIFY_TOUCH_PERSISTS = (1<<3),
eNOTIFY_TOUCH_LOST = (1<<4),
eNOTIFY_TOUCH_CCD = (1<<5),
eNOTIFY_THRESHOLD_FORCE_FOUND = (1<<6),
eNOTIFY_THRESHOLD_FORCE_PERSISTS = (1<<7),
eNOTIFY_THRESHOLD_FORCE_LOST = (1<<8),
eNOTIFY_CONTACT_POINTS = (1<<9),
eDETECT_DISCRETE_CONTACT = (1<<10),
eDETECT_CCD_CONTACT = (1<<11),
ePRE_SOLVER_VELOCITY = (1<<12),
ePOST_SOLVER_VELOCITY = (1<<13),
eCONTACT_EVENT_POSE = (1<<14),
eNEXT_FREE = (1<<15),
eCONTACT_DEFAULT = eSOLVE_CONTACT | eDETECT_DISCRETE_CONTACT,
eTRIGGER_DEFAULT = eNOTIFY_TOUCH_FOUND | eNOTIFY_TOUCH_LOST | eDETECT_DISCRETE_CONTACT
}

Detailed Description

Collection of flags describing the actions to take for a collision pair.

See also:
PxPairFlags PxSimulationFilterShader.filter() PxSimulationFilterCallback

Member Enumeration Documentation

enum PxPairFlag::Enum

Enumerator:
eSOLVE_CONTACT Process the contacts of this collision pair in the dynamics solver.

Note:
Only takes effect if the colliding actors are rigid bodies.
eMODIFY_CONTACTS Call contact modification callback for this collision pair.

Note:
Only takes effect if the colliding actors are rigid bodies.
See also:
PxContactModifyCallback
eNOTIFY_TOUCH_FOUND Call contact report callback or trigger callback when this collision pair starts to be in contact.

If one of the two collision objects is a trigger shape (see PxShapeFlag::eTRIGGER_SHAPE) then the trigger callback will get called as soon as the other object enters the trigger volume. If none of the two collision objects is a trigger shape then the contact report callback will get called when the actors of this collision pair start to be in contact.

Note:
Only takes effect if the colliding actors are rigid bodies.

Only takes effect if eDETECT_DISCRETE_CONTACT or eDETECT_CCD_CONTACT is raised

See also:
PxSimulationEventCallback.onContact() PxSimulationEventCallback.onTrigger()
eNOTIFY_TOUCH_PERSISTS Call contact report callback while this collision pair is in contact.

If none of the two collision objects is a trigger shape then the contact report callback will get called while the actors of this collision pair are in contact.

Note:
Triggers do not support this event. Persistent trigger contacts need to be tracked separately by observing eNOTIFY_TOUCH_FOUND/eNOTIFY_TOUCH_LOST events.

Only takes effect if the colliding actors are rigid bodies.

No report will get sent if the objects in contact are sleeping.

Only takes effect if eDETECT_DISCRETE_CONTACT or eDETECT_CCD_CONTACT is raised

If this flag gets enabled while a pair is in touch already, there will be no eNOTIFY_TOUCH_PERSISTS events until the pair loses and regains touch.

See also:
PxSimulationEventCallback.onContact() PxSimulationEventCallback.onTrigger()
eNOTIFY_TOUCH_LOST Call contact report callback or trigger callback when this collision pair stops to be in contact.

If one of the two collision objects is a trigger shape (see PxShapeFlag::eTRIGGER_SHAPE) then the trigger callback will get called as soon as the other object leaves the trigger volume. If none of the two collision objects is a trigger shape then the contact report callback will get called when the actors of this collision pair stop to be in contact.

Note:
Only takes effect if the colliding actors are rigid bodies.

This event will also get triggered if one of the colliding objects gets deleted.

Only takes effect if eDETECT_DISCRETE_CONTACT or eDETECT_CCD_CONTACT is raised

See also:
PxSimulationEventCallback.onContact() PxSimulationEventCallback.onTrigger()
eNOTIFY_TOUCH_CCD Call contact report callback when this collision pair is in contact during CCD passes.

If CCD with multiple passes is enabled, then a fast moving object might bounce on and off the same object multiple times. Hence, the same pair might be in contact multiple times during a simulation step. This flag will make sure that all the detected collision during CCD will get reported. For performance reasons, the system can not always tell whether the contact pair lost touch in one of the previous CCD passes and thus can also not always tell whether the contact is new or has persisted. eNOTIFY_TOUCH_CCD just reports when the two collision objects were detected as being in contact during a CCD pass.

Note:
Only takes effect if the colliding actors are rigid bodies.

Trigger shapes are not supported.

Only takes effect if eDETECT_CCD_CONTACT is raised

See also:
PxSimulationEventCallback.onContact() PxSimulationEventCallback.onTrigger()
eNOTIFY_THRESHOLD_FORCE_FOUND Call contact report callback when the contact force between the actors of this collision pair exceeds one of the actor-defined force thresholds.

Note:
Only takes effect if the colliding actors are rigid bodies.

Only takes effect if eDETECT_DISCRETE_CONTACT or eDETECT_CCD_CONTACT is raised

See also:
PxSimulationEventCallback.onContact()
eNOTIFY_THRESHOLD_FORCE_PERSISTS Call contact report callback when the contact force between the actors of this collision pair continues to exceed one of the actor-defined force thresholds.

Note:
Only takes effect if the colliding actors are rigid bodies.

If a pair gets re-filtered and this flag has previously been disabled, then the report will not get fired in the same frame even if the force threshold has been reached in the previous one (unless eNOTIFY_THRESHOLD_FORCE_FOUND has been set in the previous frame).

Only takes effect if eDETECT_DISCRETE_CONTACT or eDETECT_CCD_CONTACT is raised

See also:
PxSimulationEventCallback.onContact()
eNOTIFY_THRESHOLD_FORCE_LOST Call contact report callback when the contact force between the actors of this collision pair falls below one of the actor-defined force thresholds (includes the case where this collision pair stops being in contact).

Note:
Only takes effect if the colliding actors are rigid bodies.

If a pair gets re-filtered and this flag has previously been disabled, then the report will not get fired in the same frame even if the force threshold has been reached in the previous one (unless eNOTIFY_THRESHOLD_FORCE_FOUND or eNOTIFY_THRESHOLD_FORCE_PERSISTS has been set in the previous frame).

Only takes effect if eDETECT_DISCRETE_CONTACT or eDETECT_CCD_CONTACT is raised

See also:
PxSimulationEventCallback.onContact()
eNOTIFY_CONTACT_POINTS Provide contact points in contact reports for this collision pair.

Note:
Only takes effect if the colliding actors are rigid bodies and if used in combination with the flags eNOTIFY_TOUCH_... or eNOTIFY_THRESHOLD_FORCE_...

Only takes effect if eDETECT_DISCRETE_CONTACT or eDETECT_CCD_CONTACT is raised

See also:
PxSimulationEventCallback.onContact() PxContactPair PxContactPair.extractContacts()
eDETECT_DISCRETE_CONTACT This flag is used to indicate whether this pair generates discrete collision detection contacts.

Note:
Contacts are only responded to if eSOLVE_CONTACT is enabled.
eDETECT_CCD_CONTACT This flag is used to indicate whether this pair generates CCD contacts.

Note:
The contacts will only be responded to if eSOLVE_CONTACT is enabled on this pair.

The scene must have PxSceneFlag::eENABLE_CCD enabled to use this feature.

Non-static bodies of the pair should have PxRigidBodyFlag::eENABLE_CCD specified for this feature to work correctly.

This flag is not supported with trigger shapes. However, CCD trigger events can be emulated using non-trigger shapes and requesting eNOTIFY_TOUCH_FOUND and eNOTIFY_TOUCH_LOST and not raising eSOLVE_CONTACT on the pair.

See also:
PxRigidBodyFlag::eENABLE_CCD

PxSceneFlag::eENABLE_CCD

ePRE_SOLVER_VELOCITY Provide pre solver velocities in contact reports for this collision pair.

If the collision pair has contact reports enabled, the velocities of the rigid bodies before contacts have been solved will be provided in the contact report callback unless the pair lost touch in which case no data will be provided.

Note:
Usually it is not necessary to request these velocities as they will be available by querying the velocity from the provided PxRigidActor object directly. However, it might be the case that the velocity of a rigid body gets set while the simulation is running in which case the PxRigidActor would return this new velocity in the contact report callback and not the velocity the simulation used.
See also:
PxSimulationEventCallback.onContact(), PxContactPairVelocity, PxContactPairHeader.extraDataStream
ePOST_SOLVER_VELOCITY Provide post solver velocities in contact reports for this collision pair.

If the collision pair has contact reports enabled, the velocities of the rigid bodies after contacts have been solved will be provided in the contact report callback unless the pair lost touch in which case no data will be provided.

See also:
PxSimulationEventCallback.onContact(), PxContactPairVelocity, PxContactPairHeader.extraDataStream
eCONTACT_EVENT_POSE Provide rigid body poses in contact reports for this collision pair.

If the collision pair has contact reports enabled, the rigid body poses at the contact event will be provided in the contact report callback unless the pair lost touch in which case no data will be provided.

Note:
Usually it is not necessary to request these poses as they will be available by querying the pose from the provided PxRigidActor object directly. However, it might be the case that the pose of a rigid body gets set while the simulation is running in which case the PxRigidActor would return this new pose in the contact report callback and not the pose the simulation used. Another use case is related to CCD with multiple passes enabled, A fast moving object might bounce on and off the same object multiple times. This flag can be used to request the rigid body poses at the time of impact for each such collision event.
See also:
PxSimulationEventCallback.onContact(), PxContactPairPose, PxContactPairHeader.extraDataStream
eNEXT_FREE | For internal use only.
eCONTACT_DEFAULT | Provided default flag to do simple contact processing for this collision pair.
eTRIGGER_DEFAULT | Provided default flag to get commonly used trigger behavior for this collision pair.

The documentation for this struct was generated from the following file:
  • PxFiltering.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxFilterFlag Struct Reference

PxFilterFlag Struct Reference
[Physics]

Collection of flags describing the filter actions to take for a collision pair. More...

#include <PxFiltering.h>

List of all members.

Public Types

enum Enum {
eKILL = (1<<0),
eSUPPRESS = (1<<1),
eCALLBACK = (1<<2),
eNOTIFY = (1<<3) | eCALLBACK,
eDEFAULT = 0
}

Detailed Description

Collection of flags describing the filter actions to take for a collision pair.

See also:
PxFilterFlags PxSimulationFilterShader PxSimulationFilterCallback

Member Enumeration Documentation

enum PxFilterFlag::Enum

Enumerator:
eKILL Ignore the collision pair as long as the bounding volumes of the pair objects overlap.

Killed pairs will be ignored by the simulation and won't run through the filter again until one of the following occurs:

  • The bounding volumes of the two objects overlap again (after being separated)
  • The user enforces a re-filtering (see PxScene::resetFiltering())
See also:
PxScene::resetFiltering()
eSUPPRESS Ignore the collision pair as long as the bounding volumes of the pair objects overlap or until filtering relevant data changes for one of the collision objects.

Suppressed pairs will be ignored by the simulation and won't make another filter request until one of the following occurs:

  • Same conditions as for killed pairs (see eKILL)
  • The filter data or the filter object attributes change for one of the collision objects
Note:
For PxCloth objects, eSUPPRESS will be treated as eKILL.
See also:
PxFilterData PxFilterObjectAttributes
eCALLBACK Invoke the filter callback (PxSimulationFilterCallback::pairFound()) for this collision pair.

See also:
PxSimulationFilterCallback
eNOTIFY Track this collision pair with the filter callback mechanism.

When the bounding volumes of the collision pair lose contact, the filter callback PxSimulationFilterCallback::pairLost() will be invoked. Furthermore, the filter status of the collision pair can be adjusted through PxSimulationFilterCallback::statusChange() once per frame (until a pairLost() notification occurs).

See also:
PxSimulationFilterCallback
eDEFAULT Provided default to get standard behavior:.

The application configure the pair's collision properties once when bounding volume overlap is found and doesn't get asked again about that pair until overlap status or filter properties changes, or re-filtering is requested.

No notification is provided when bounding volume overlap is lost

The pair will not be killed or suppressed, so collision detection will be processed

The documentation for this struct was generated from the following file:
  • PxFiltering.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxFilterData Struct Reference

PxFilterData Struct Reference
[Physics]

PxFilterData is user-definable data which gets passed into the collision filtering shader and/or callback. More...

#include <PxFiltering.h>

List of all members.

Public Member Functions

PX_INLINE | PxFilterData (const PxEMPTY)
PX_INLINE | PxFilterData ()
Default constructor.
PX_INLINE | PxFilterData (const PxFilterData &fd)
Copy constructor.
PX_INLINE | PxFilterData (PxU32 w0, PxU32 w1, PxU32 w2, PxU32 w3)
Constructor to set filter data initially.
PX_INLINE void | setToDefault ()
(re)sets the structure to the default.
PX_INLINE void | operator= (const PxFilterData &fd)
Assignment operator.
PX_INLINE bool | operator== (const PxFilterData &a) const
Comparison operator to allow use in Array.
PX_INLINE bool | operator!= (const PxFilterData &a) const
Comparison operator to allow use in Array.

Public Attributes

PxU32 word0
PxU32 word1
PxU32 word2
PxU32 word3

Detailed Description

PxFilterData is user-definable data which gets passed into the collision filtering shader and/or callback.

See also:
PxShape.setSimulationFilterData() PxShape.getSimulationFilterData() PxSimulationFilterShader PxSimulationFilterCallback

Constructor & Destructor Documentation

PX_INLINE PxFilterData::PxFilterData ( const PxEMPTY ) [inline]

PX_INLINE PxFilterData::PxFilterData ( ) [inline]

Default constructor.

PX_INLINE PxFilterData::PxFilterData ( const PxFilterData & fd ) [inline]

Copy constructor.

PX_INLINE PxFilterData::PxFilterData | ( | PxU32 | w0,
 |  | PxU32 | w1,
 |  | PxU32 | w2,
 |  | PxU32 | w3 |
 | ) |  |  | [inline]

Constructor to set filter data initially.

Member Function Documentation

PX_INLINE bool PxFilterData::operator!= ( const PxFilterData & a ) const [inline]

Comparison operator to allow use in Array.

PX_INLINE void PxFilterData::operator= ( const PxFilterData & fd ) [inline]

Assignment operator.

References word0, word1, word2, and word3.

PX_INLINE bool PxFilterData::operator== ( const PxFilterData & a ) const [inline]

Comparison operator to allow use in Array.

References word0, word1, word2, and word3.

PX_INLINE void PxFilterData::setToDefault ( ) [inline]

(re)sets the structure to the default.

Member Data Documentation

PxU32 PxFilterData::word0

Referenced by operator=(), and operator==().

PxU32 PxFilterData::word1

Referenced by operator=(), and operator==().

PxU32 PxFilterData::word2

Referenced by operator=(), and operator==().

PxU32 PxFilterData::word3

Referenced by operator=(), and operator==().

The documentation for this struct was generated from the following file:
  • PxFiltering.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxFilterObjectType Struct Reference

PxFilterObjectType Struct Reference
[Physics]

Identifies each type of filter object. More...

#include <PxFiltering.h>

List of all members.

Public Types

enum Enum {
eRIGID_STATIC,
eRIGID_DYNAMIC,
PX_DEPRECATED,
PX_DEPRECATED,
eARTICULATION,
eCLOTH,
eMAX_TYPE_COUNT = 16,
eUNDEFINED = eMAX_TYPE_COUNT-1
}

Detailed Description

Identifies each type of filter object.

See also:
PxGetFilterObjectType()

Member Enumeration Documentation

enum PxFilterObjectType::Enum

Enumerator:
eRIGID_STATIC A static rigid body.

See also:
PxRigidStatic
eRIGID_DYNAMIC A dynamic rigid body.

See also:
PxRigidDynamic
PX_DEPRECATED A particle system (deprecated).

A particle fluid (deprecated).

Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4
See also:
PxParticleSystem
Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4
See also:
PxParticleFluid
PX_DEPRECATED A particle system (deprecated).

A particle fluid (deprecated).

Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4
See also:
PxParticleSystem
Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4
See also:
PxParticleFluid
eARTICULATION An articulation.

See also:
PxArticulation
eCLOTH A cloth object.

See also:
PxCloth
eMAX_TYPE_COUNT
eUNDEFINED

The documentation for this struct was generated from the following file:
  • PxFiltering.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxFilterObjectFlag Struct Reference

PxFilterObjectFlag Struct Reference
[Physics]

#include <PxFiltering.h>

List of all members.

Public Types

enum Enum {
eKINEMATIC = (1<<4),
eTRIGGER = (1<<5)
}

Member Enumeration Documentation

enum PxFilterObjectFlag::Enum

Enumerator:
eKINEMATIC
eTRIGGER

The documentation for this struct was generated from the following file:
  • PxFiltering.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSimulationFilterCallback Class Reference

PxSimulationFilterCallback Class Reference
[Physics]

Filter callback to specify handling of collision pairs. More...

#include <PxFiltering.h>

List of all members.

Public Member Functions

virtual PxFilterFlags | pairFound (PxU32 pairID, PxFilterObjectAttributes attributes0, PxFilterData filterData0, const PxActor *a0, const PxShape *s0, PxFilterObjectAttributes attributes1, PxFilterData filterData1, const PxActor *a1, const PxShape *s1, PxPairFlags &pairFlags)=0
Filter method to specify how a pair of potentially colliding objects should be processed.
virtual void | pairLost (PxU32 pairID, PxFilterObjectAttributes attributes0, PxFilterData filterData0, PxFilterObjectAttributes attributes1, PxFilterData filterData1, bool objectRemoved)=0
Callback to inform that a tracked collision pair is gone.
virtual bool | statusChange (PxU32 &pairID, PxPairFlags &pairFlags, PxFilterFlags &filterFlags)=0
Callback to give the opportunity to change the filter state of a tracked collision pair.

Protected Member Functions

virtual | ~PxSimulationFilterCallback ()

Detailed Description

Filter callback to specify handling of collision pairs.

This class is provided to implement more complex and flexible collision pair filtering logic, for instance, taking the state of the user application into account. Filter callbacks also give the user the opportunity to track collision pairs and update their filter state.

You might want to check the documentation on PxSimulationFilterShader as well since it includes more general information on filtering.

Note:
SDK state should not be modified from within the callbacks. In particular objects should not be created or destroyed. If state modification is needed then the changes should be stored to a buffer and performed after the simulation step.

The callbacks may execute in user threads or simulation threads, possibly simultaneously. The corresponding objects may have been deleted by the application earlier in the frame. It is the application's responsibility to prevent race conditions arising from using the SDK API in the callback while an application thread is making write calls to the scene, and to ensure that the callbacks are thread-safe. Return values which depend on when the callback is called during the frame will introduce nondeterminism into the simulation.

See also:
PxSceneDesc.filterCallback PxSimulationFilterShader

Constructor & Destructor Documentation

virtual PxSimulationFilterCallback::~PxSimulationFilterCallback ( ) [inline, protected, virtual]

Member Function Documentation

virtual PxFilterFlags PxSimulationFilterCallback::pairFound | ( | PxU32 | pairID,
 |  | PxFilterObjectAttributes | attributes0,
 |  | PxFilterData | filterData0,
 |  | const PxActor * | a0,
 |  | const PxShape * | s0,
 |  | PxFilterObjectAttributes | attributes1,
 |  | PxFilterData | filterData1,
 |  | const PxActor * | a1,
 |  | const PxShape * | s1,
 |  | PxPairFlags & | pairFlags |
 | ) |  |  | [pure virtual]

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

This method gets called when the filter flags returned by the filter shader (see PxSimulationFilterShader) indicate that the filter callback should be invoked (PxFilterFlag::eCALLBACK or PxFilterFlag::eNOTIFY set). Return the PxFilterFlag flags and set the PxPairFlag flags to define what the simulation should do with the given collision pair.

Parameters:
[in] | pairID | Unique ID of the collision pair used to issue filter status changes for the pair (see statusChange())
[in] | attributes0 | The filter attribute of the first object
[in] | filterData0 | The custom filter data of the first object
[in] | a0 | Actor pointer of the first object
[in] | s0 | Shape pointer of the first object (NULL if the object has no shapes, for example in the case of a particle system)
[in] | attributes1 | The filter attribute of the second object
[in] | filterData1 | The custom filter data of the second object
[in] | a1 | Actor pointer of the second object
[in] | s1 | Shape pointer of the second object (NULL if the object has no shapes, for example in the case of a particle system)
[in,out] | pairFlags | In: Pair flags returned by the filter shader. Out: Additional information on how an accepted pair should get processed
Returns:
Filter flags defining whether the pair should be discarded, temporarily ignored or processed and whether the pair should be tracked and send a report on pair deletion through the filter callback
See also:
PxSimulationFilterShader PxFilterData PxFilterObjectAttributes PxFilterFlag PxPairFlag

virtual void PxSimulationFilterCallback::pairLost | ( | PxU32 | pairID,
 |  | PxFilterObjectAttributes | attributes0,
 |  | PxFilterData | filterData0,
 |  | PxFilterObjectAttributes | attributes1,
 |  | PxFilterData | filterData1,
 |  | bool | objectRemoved |
 | ) |  |  | [pure virtual]

Callback to inform that a tracked collision pair is gone.

This method gets called when a collision pair disappears or gets re-filtered. Only applies to collision pairs which have been marked as filter callback pairs (PxFilterFlag::eNOTIFY set in pairFound()).

Parameters:
[in] | pairID | Unique ID of the collision pair that disappeared
[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
[in] | objectRemoved | True if the pair was lost because one of the objects got removed from the scene
See also:
pairFound() PxSimulationFilterShader PxFilterData PxFilterObjectAttributes

virtual bool PxSimulationFilterCallback::statusChange | ( | PxU32 & | pairID,
 |  | PxPairFlags & | pairFlags,
 |  | PxFilterFlags & | filterFlags |
 | ) |  |  | [pure virtual]

Callback to give the opportunity to change the filter state of a tracked collision pair.

This method gets called once per simulation step to let the application change the filter and pair flags of a collision pair that has been reported in pairFound() and requested callbacks by setting PxFilterFlag::eNOTIFY. To request a change of filter status, the target pair has to be specified by its ID, the new filter and pair flags have to be provided and the method should return true.

Note:
If this method changes the filter status of a collision pair and the pair should keep being tracked by the filter callbacks then PxFilterFlag::eNOTIFY has to be set.

The application is responsible to ensure that this method does not get called for pairs that have been reported as lost, see pairLost().

Parameters:
[out] | pairID | ID of the collision pair for which the filter status should be changed
[out] | pairFlags | The new pairFlags to apply to the collision pair
[out] | filterFlags | The new filterFlags to apply to the collision pair
Returns:
True if the changes should be applied. In this case the method will get called again. False if no more status changes should be done in the current simulation step. In that case the provided flags will be discarded.
See also:
pairFound() pairLost() PxFilterFlag PxPairFlag

The documentation for this class was generated from the following file:
  • PxFiltering.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxFilterInfo Struct Reference

PxFilterInfo Struct Reference
[Physics]

#include <PxFiltering.h>

Collaboration diagram for PxFilterInfo:

PxFlags\< PxFilterFlag::Enum, PxU16 \>PxFlags\< PxPairFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

PX_FORCE_INLINE | PxFilterInfo ()
PX_FORCE_INLINE | PxFilterInfo (PxFilterFlags filterFlags_)

Public Attributes

PxFilterFlags filterFlags
PxPairFlags pairFlags
PxU32 filterPairIndex

Constructor & Destructor Documentation

PX_FORCE_INLINE PxFilterInfo::PxFilterInfo ( ) [inline]

PX_FORCE_INLINE PxFilterInfo::PxFilterInfo ( PxFilterFlags filterFlags_ ) [inline]

Member Data Documentation

PxFilterFlags PxFilterInfo::filterFlags

PxU32 PxFilterInfo::filterPairIndex

PxPairFlags PxFilterInfo::pairFlags

The documentation for this struct was generated from the following file:
  • PxFiltering.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPairFilteringMode Struct Reference

PxPairFilteringMode Struct Reference
[Physics]

#include <PxFiltering.h>

List of all members.

Public Types

enum Enum {
eKEEP,
eSUPPRESS,
eKILL,
eDEFAULT
}

Member Enumeration Documentation

enum PxPairFilteringMode::Enum

Enumerator:
eKEEP | Output pair from BP, potentially send to user callbacks, create regular interaction object. Similar to enabling PxSceneFlag::eENABLE_KINEMATIC_STATIC_PAIRS / PxSceneFlag::eENABLE_KINEMATIC_PAIRS.
eSUPPRESS | Output pair from BP, create interaction marker. Can be later switched to regular interaction. Similar to disabling PxSceneFlag::eENABLE_KINEMATIC_STATIC_PAIRS / PxSceneFlag::eENABLE_KINEMATIC_PAIRS.
eKILL | Don't output pair from BP. Cannot be later switched to regular interaction, needs "resetFiltering" call.
eDEFAULT | Default is to ignore the mode and use PxSceneFlag::eENABLE_KINEMATIC_STATIC_PAIRS and PxSceneFlag::eENABLE_KINEMATIC_PAIRS instead (compatibility).

The documentation for this struct was generated from the following file:
  • PxFiltering.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxForceMode Struct Reference

PxForceMode Struct Reference
[Physics]

Parameter to addForce() and addTorque() calls, determines the exact operation that is carried out. More...

#include <PxForceMode.h>

List of all members.

Public Types

enum Enum {
eFORCE,
eIMPULSE,
eVELOCITY_CHANGE,
eACCELERATION
}

Detailed Description

Parameter to addForce() and addTorque() calls, determines the exact operation that is carried out.

See also:
PxRigidBody.addForce() PxRigidBody.addTorque()

Member Enumeration Documentation

enum PxForceMode::Enum

Enumerator:
eFORCE | parameter has unit of mass * distance/ time^2, i.e. a force
eIMPULSE | parameter has unit of mass * distance /time
eVELOCITY_CHANGE | parameter has unit of distance / time, i.e. the effect is mass independent: a velocity change.
eACCELERATION | parameter has unit of distance/ time^2, i.e. an acceleration. It gets treated just like a force except the mass is not divided out before integration.

The documentation for this struct was generated from the following file:
  • PxForceMode.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDataAccessFlag Struct Reference

PxDataAccessFlag Struct Reference
[Physics]

#include <PxLockedData.h>

List of all members.

Public Types

enum Enum {
eREADABLE = (1 << 0),
eWRITABLE = (1 << 1),
eDEVICE = (1 << 2)
}

Member Enumeration Documentation

enum PxDataAccessFlag::Enum

Enumerator:
eREADABLE
eWRITABLE
eDEVICE

The documentation for this struct was generated from the following file:
  • PxLockedData.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxLockedData Class Reference

PxLockedData Class Reference
[Physics]

Parent class for bulk data that is shared between the SDK and the application. More...

#include <PxLockedData.h>

Inheritance diagram for PxLockedData:

PxParticleReadDataPxParticleFluidReadData
[legend]

List of all members.

Public Member Functions

virtual PxDataAccessFlags | getDataAccessFlags ()=0
Any combination of PxDataAccessFlag::eREADABLE and PxDataAccessFlag::eWRITABLE.
virtual void | unlock ()=0
Unlocks the bulk data.
virtual | ~PxLockedData ()
virtual destructor

Detailed Description

Parent class for bulk data that is shared between the SDK and the application.

Constructor & Destructor Documentation

virtual PxLockedData::~PxLockedData ( ) [inline, virtual]

virtual destructor

Member Function Documentation

virtual PxDataAccessFlags PxLockedData::getDataAccessFlags ( ) [pure virtual]

Any combination of PxDataAccessFlag::eREADABLE and PxDataAccessFlag::eWRITABLE.

See also:
PxDataAccessFlag

Implemented in PxParticleReadData.

virtual void PxLockedData::unlock ( ) [pure virtual]

Unlocks the bulk data.

Implemented in PxParticleReadData.

The documentation for this class was generated from the following file:
  • PxLockedData.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMaterialFlag Struct Reference

PxMaterialFlag Struct Reference
[Physics]

Flags which control the behavior of a material. More...

#include <PxMaterial.h>

List of all members.

Public Types

enum Enum {
eDISABLE_FRICTION = 1 << 0,
eDISABLE_STRONG_FRICTION = 1 << 1
}

Detailed Description

Flags which control the behavior of a material.

See also:
PxMaterial

Member Enumeration Documentation

enum PxMaterialFlag::Enum

Enumerator:
eDISABLE_FRICTION If this flag is set, friction computations are always skipped between shapes with this material and any other shape.
eDISABLE_STRONG_FRICTION The difference between "normal" and "strong" friction is that the strong friction feature remembers the "friction error" between simulation steps. The friction is a force trying to hold objects in place (or slow them down) and this is handled in the solver. But since the solver is only an approximation, the result of the friction calculation can include a small "error" - e.g. a box resting on a slope should not move at all if the static friction is in action, but could slowly glide down the slope because of a small friction error in each simulation step. The strong friction counter-acts this by remembering the small error and taking it to account during the next simulation step.

However, in some cases the strong friction could cause problems, and this is why it is possible to disable the strong friction feature by setting this flag. One example is raycast vehicles, that are sliding fast across the surface, but still need a precise steering behavior. It may be a good idea to reenable the strong friction when objects are coming to a rest, to prevent them from slowly creeping down inclines.

Note: This flag only has an effect if the PxMaterialFlag::eDISABLE_FRICTION bit is 0.

The documentation for this struct was generated from the following file:
  • PxMaterial.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCombineMode Struct Reference

PxCombineMode Struct Reference
[Physics]

enumeration that determines the way in which two material properties will be combined to yield a friction or restitution coefficient for a collision. More...

#include <PxMaterial.h>

List of all members.

Public Types

enum Enum {
eAVERAGE = 0,
eMIN = 1,
eMULTIPLY = 2,
eMAX = 3,
eN_VALUES = 4,
ePAD_32 = 0x7fffffff
}

Detailed Description

enumeration that determines the way in which two material properties will be combined to yield a friction or restitution coefficient for a collision.

When two actors come in contact with each other, they each have materials with various coefficients, but we only need a single set of coefficients for the pair.

Physics doesn't have any inherent combinations because the coefficients are determined empirically on a case by case basis. However, simulating this with a pairwise lookup table is often impractical.

For this reason the following combine behaviors are available:

eAVERAGE eMIN eMULTIPLY eMAX

The effective combine mode for the pair is maximum(material0.combineMode, material1.combineMode).

See also:
PxMaterial.setFrictionCombineMode() PxMaterial.getFrictionCombineMode() PxMaterial.setRestitutionCombineMode() PxMaterial.getFrictionCombineMode()

Member Enumeration Documentation

enum PxCombineMode::Enum

Enumerator:
eAVERAGE | Average: (a + b)/2.
eMIN | Minimum: minimum(a,b).
eMULTIPLY | Multiply: a*b.
eMAX | Maximum: maximum(a,b).
eN_VALUES | This is not a valid combine mode, it is a sentinel to denote the number of possible values. We assert that the variable's value is smaller than this.
ePAD_32 | This is not a valid combine mode, it is to assure that the size of the enum type is big enough.

The documentation for this struct was generated from the following file:
  • PxMaterial.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMaterial Class Reference

PxMaterial Class Reference
[Physics]

Material class to represent a set of surface properties. More...

#include <PxMaterial.h>

Inheritance diagram for PxMaterial:

PxBase
[legend]
Collaboration diagram for PxMaterial:

PxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

virtual void | release ()=0
Decrements the reference count of a material and releases it if the new reference count is zero.
virtual PxU32 | getReferenceCount () const =0
Returns the reference count of the material.
virtual void | acquireReference ()=0
Acquires a counted reference to a material.
virtual void | setDynamicFriction (PxReal coef)=0
Sets the coefficient of dynamic friction.
virtual PxReal | getDynamicFriction () const =0
Retrieves the DynamicFriction value.
virtual void | setStaticFriction (PxReal coef)=0
Sets the coefficient of static friction.
virtual PxReal | getStaticFriction () const =0
Retrieves the coefficient of static friction.
virtual void | setRestitution (PxReal rest)=0
Sets the coefficient of restitution.
virtual PxReal | getRestitution () const =0
Retrieves the coefficient of restitution.
virtual void | setFlag (PxMaterialFlag::Enum flag, bool)=0
Raises or clears a particular material flag.
virtual void | setFlags (PxMaterialFlags inFlags)=0
sets all the material flags.
virtual PxMaterialFlags | getFlags () const =0
Retrieves the flags. See PxMaterialFlag.
virtual void | setFrictionCombineMode (PxCombineMode::Enum combMode)=0
Sets the friction combine mode.
virtual PxCombineMode::Enum | getFrictionCombineMode () const =0
Retrieves the friction combine mode.
virtual void | setRestitutionCombineMode (PxCombineMode::Enum combMode)=0
Sets the restitution combine mode.
virtual PxCombineMode::Enum | getRestitutionCombineMode () const =0
Retrieves the restitution combine mode.
virtual const char * | getConcreteTypeName () const
Returns string name of dynamic type.

Public Attributes

void * | userData
user can assign this to whatever, usually to create a 1:1 relationship with a user object.

Protected Member Functions

PX_INLINE | PxMaterial (PxType concreteType, PxBaseFlags baseFlags)
PX_INLINE | PxMaterial (PxBaseFlags baseFlags)
virtual | ~PxMaterial ()
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Detailed Description

Material class to represent a set of surface properties.

See also:
PxPhysics.createMaterial

Constructor & Destructor Documentation

PX_INLINE PxMaterial::PxMaterial | ( | PxType | concreteType,
 |  | PxBaseFlags | baseFlags |
 | ) |  |  | [inline, protected]

PX_INLINE PxMaterial::PxMaterial ( PxBaseFlags baseFlags ) [inline, protected]

virtual PxMaterial::~PxMaterial ( ) [inline, protected, virtual]

Member Function Documentation

virtual void PxMaterial::acquireReference ( ) [pure virtual]

Acquires a counted reference to a material.

This method increases the reference count of the material by 1. Decrement the reference count by calling release()

virtual const char* PxMaterial::getConcreteTypeName ( ) const [inline, virtual]

Returns string name of dynamic type.

Returns:
Class name of most derived type of this object.

Implements PxBase.

virtual PxReal PxMaterial::getDynamicFriction ( ) const [pure virtual]

Retrieves the DynamicFriction value.

Returns:
The coefficient of dynamic friction.
See also:
setDynamicFriction

virtual PxMaterialFlags PxMaterial::getFlags ( ) const [pure virtual]

Retrieves the flags. See PxMaterialFlag.

Returns:
The material flags.
See also:
PxMaterialFlag setFlags()

virtual PxCombineMode::Enum PxMaterial::getFrictionCombineMode ( ) const [pure virtual]

Retrieves the friction combine mode.

See setFrictionCombineMode.

Returns:
The friction combine mode for this material.
See also:
PxCombineMode setFrictionCombineMode()

virtual PxU32 PxMaterial::getReferenceCount ( ) const [pure virtual]

Returns the reference count of the material.

At creation, the reference count of the material is 1. Every shape referencing this material increments the count by 1. When the reference count reaches 0, and only then, the material gets destroyed automatically.

Returns:
the current reference count.

virtual PxReal PxMaterial::getRestitution ( ) const [pure virtual]

Retrieves the coefficient of restitution.

See setRestitution.

Returns:
The coefficient of restitution.
See also:
setRestitution()

virtual PxCombineMode::Enum PxMaterial::getRestitutionCombineMode ( ) const [pure virtual]

Retrieves the restitution combine mode.

See setRestitutionCombineMode.

Returns:
The coefficient of restitution combine mode for this material.
See also:
PxCombineMode setRestitutionCombineMode getRestitution()

virtual PxReal PxMaterial::getStaticFriction ( ) const [pure virtual]

Retrieves the coefficient of static friction.

Returns:
The coefficient of static friction.
See also:
setStaticFriction

virtual bool PxMaterial::isKindOf ( const char * superClass ) const [inline, protected, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxBase.

References PxBase::isKindOf().

virtual void PxMaterial::release ( ) [pure virtual]

Decrements the reference count of a material and releases it if the new reference count is zero.

See also:
PxPhysics.createMaterial()

Implements PxBase.

virtual void PxMaterial::setDynamicFriction ( PxReal coef ) [pure virtual]

Sets the coefficient of dynamic friction.

The coefficient of dynamic friction should be in [0, PX_MAX_F32). If set to greater than staticFriction, the effective value of staticFriction will be increased to match.

Sleeping: Does NOT wake any actors which may be affected.

Parameters:
[in] coef Coefficient of dynamic friction. Range: [0, PX_MAX_F32)
See also:
getDynamicFriction()

virtual void PxMaterial::setFlag | ( | PxMaterialFlag::Enum | flag,
 |  | bool |  |
 | ) |  |  | [pure virtual]

Raises or clears a particular material flag.

See the list of flags PxMaterialFlag

Sleeping: Does NOT wake any actors which may be affected.

Parameters:
[in] flag The PxMaterial flag to raise(set) or clear.
See also:
getFlags() PxMaterialFlag

virtual void PxMaterial::setFlags ( PxMaterialFlags inFlags ) [pure virtual]

sets all the material flags.

See the list of flags PxMaterialFlag

Sleeping: Does NOT wake any actors which may be affected.

virtual void PxMaterial::setFrictionCombineMode ( PxCombineMode::Enum combMode ) [pure virtual]

Sets the friction combine mode.

See the enum PxCombineMode .

Sleeping: Does NOT wake any actors which may be affected.

Parameters:
[in] combMode Friction combine mode to set for this material. See PxCombineMode.
See also:
PxCombineMode getFrictionCombineMode setStaticFriction() setDynamicFriction()

virtual void PxMaterial::setRestitution ( PxReal rest ) [pure virtual]

Sets the coefficient of restitution.

A coefficient of 0 makes the object bounce as little as possible, higher values up to 1.0 result in more bounce.

Sleeping: Does NOT wake any actors which may be affected.

Parameters:
[in] rest Coefficient of restitution. Range: [0,1]
See also:
getRestitution()

virtual void PxMaterial::setRestitutionCombineMode ( PxCombineMode::Enum combMode ) [pure virtual]

Sets the restitution combine mode.

See the enum PxCombineMode .

Sleeping: Does NOT wake any actors which may be affected.

Parameters:
[in] combMode Restitution combine mode for this material. See PxCombineMode.
See also:
PxCombineMode getRestitutionCombineMode() setRestitution()

virtual void PxMaterial::setStaticFriction ( PxReal coef ) [pure virtual]

Sets the coefficient of static friction.

The coefficient of static friction should be in the range [0, PX_MAX_F32)

Sleeping: Does NOT wake any actors which may be affected.

Parameters:
[in] coef Coefficient of static friction. Range: [0, PX_MAX_F32)
See also:
getStaticFriction()

Member Data Documentation

void* PxMaterial::userData

user can assign this to whatever, usually to create a 1:1 relationship with a user object.

The documentation for this class was generated from the following file:
  • PxMaterial.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPhysics Class Reference

PxPhysics Class Reference
[Physics]

Abstract singleton factory class used for instancing objects in the Physics SDK. More...

#include <PxPhysics.h>

List of all members.

Public Member Functions

Basics
virtual | ~PxPhysics ()
virtual void | release ()=0
Destroys the instance it is called on.
virtual PxFoundation & | getFoundation ()=0
Retrieves the Foundation instance.
virtual PxAggregate * | createAggregate (PxU32 maxSize, bool enableSelfCollision)=0
Creates an aggregate with the specified maximum size and selfCollision property.
virtual const PxTolerancesScale & | getTolerancesScale () const =0
Returns the simulation tolerance parameters.
Meshes
virtual PxTriangleMesh * | createTriangleMesh (PxInputStream &stream)=0
Creates a triangle mesh object.
virtual PxU32 | getNbTriangleMeshes () const =0
Return the number of triangle meshes that currently exist.
virtual PxU32 | getTriangleMeshes (PxTriangleMesh **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0
Writes the array of triangle mesh pointers to a user buffer.
virtual PxHeightField * | createHeightField (PxInputStream &stream)=0
Creates a heightfield object from previously cooked stream.
virtual PxU32 | getNbHeightFields () const =0
Return the number of heightfields that currently exist.
virtual PxU32 | getHeightFields (PxHeightField **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0
Writes the array of heightfield pointers to a user buffer.
virtual PxConvexMesh * | createConvexMesh (PxInputStream &stream)=0
Creates a convex mesh object.
virtual PxU32 | getNbConvexMeshes () const =0
Return the number of convex meshes that currently exist.
virtual PxU32 | getConvexMeshes (PxConvexMesh **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0
Writes the array of convex mesh pointers to a user buffer.
virtual PX_DEPRECATED
PxClothFabric * 		createClothFabric (PxInputStream &stream)=0
Creates a cloth fabric object.
virtual PX_DEPRECATED
PxClothFabric * 		createClothFabric (const PxClothFabricDesc &desc)=0
Creates a cloth fabric object from particle connectivity and restlength information.
virtual PX_DEPRECATED PxU32 | getNbClothFabrics () const =0
Return the number of cloth fabrics that currently exist.
virtual PX_DEPRECATED PxU32 | getClothFabrics (PxClothFabric **userBuffer, PxU32 bufferSize) const =0
Writes the array of cloth fabrics to a user buffer.
Scenes
virtual PxScene * | createScene (const PxSceneDesc &sceneDesc)=0
Creates a scene.
virtual PxU32 | getNbScenes () const =0
Gets number of created scenes.
virtual PxU32 | getScenes (PxScene **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0
Writes the array of scene pointers to a user buffer.
Actors
virtual PxRigidStatic * | createRigidStatic (const PxTransform &pose)=0
Creates a static rigid actor with the specified pose and all other fields initialized to their default values.
virtual PxRigidDynamic * | createRigidDynamic (const PxTransform &pose)=0
Creates a dynamic rigid actor with the specified pose and all other fields initialized to their default values.
virtual PX_DEPRECATED
PxParticleSystem * 		createParticleSystem (PxU32 maxParticles, bool perParticleRestOffset=false)=0
Creates a particle system. (deprecated).
virtual PX_DEPRECATED
PxParticleFluid * 		createParticleFluid (PxU32 maxParticles, bool perParticleRestOffset=false)=0
Creates a particle fluid. (deprecated).
virtual PX_DEPRECATED PxCloth * | createCloth (const PxTransform &globalPose, PxClothFabric &fabric, const PxClothParticle *particles, PxClothFlags flags)=0
Creates a cloth.
virtual PxPruningStructure * | createPruningStructure (PxRigidActor *const *actors, PxU32 nbActors)=0
Creates a pruning structure from actors.
Shapes
PX_FORCE_INLINE PxShape * | createShape (const PxGeometry &geometry, const PxMaterial &material, bool isExclusive=false, PxShapeFlags shapeFlags=PxShapeFlag::eVISUALIZATION|PxShapeFlag::eSCENE_QUERY_SHAPE|PxShapeFlag::eSIMULATION_SHAPE)
Creates a shape which may be attached to multiple actors.
virtual PxShape * | createShape (const PxGeometry &geometry, PxMaterial *const *materials, PxU16 materialCount, bool isExclusive=false, PxShapeFlags shapeFlags=PxShapeFlag::eVISUALIZATION|PxShapeFlag::eSCENE_QUERY_SHAPE|PxShapeFlag::eSIMULATION_SHAPE)=0
Creates a shape which may be attached to multiple actors.
virtual PxU32 | getNbShapes () const =0
Return the number of shapes that currently exist.
virtual PxU32 | getShapes (PxShape **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0
Writes the array of shape pointers to a user buffer.
Constraints and Articulations
virtual PxConstraint * | createConstraint (PxRigidActor *actor0, PxRigidActor *actor1, PxConstraintConnector &connector, const PxConstraintShaderTable &shaders, PxU32 dataSize)=0
Creates a constraint shader.
virtual PxArticulation * | createArticulation ()=0
Creates an articulation with all fields initialized to their default values.
Materials
virtual PxMaterial * | createMaterial (PxReal staticFriction, PxReal dynamicFriction, PxReal restitution)=0
Creates a new material with default properties.
virtual PxU32 | getNbMaterials () const =0
Return the number of materials that currently exist.
virtual PxU32 | getMaterials (PxMaterial **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0
Writes the array of material pointers to a user buffer.
Deletion Listeners
virtual void | registerDeletionListener (PxDeletionListener &observer, const PxDeletionEventFlags &deletionEvents, bool restrictedObjectSet=false)=0
Register a deletion listener. Listeners will be called whenever an object is deleted.
virtual void | unregisterDeletionListener (PxDeletionListener &observer)=0
Unregister a deletion listener.
virtual void | registerDeletionListenerObjects (PxDeletionListener &observer, const PxBase *const *observables, PxU32 observableCount)=0
Register specific objects for deletion events.
virtual void | unregisterDeletionListenerObjects (PxDeletionListener &observer, const PxBase *const *observables, PxU32 observableCount)=0
Unregister specific objects for deletion events.
virtual
PxPhysicsInsertionCallback & 		getPhysicsInsertionCallback ()=0
Gets PxPhysics object insertion interface.

Detailed Description

Abstract singleton factory class used for instancing objects in the Physics SDK.

In addition you can use PxPhysics to set global parameters which will effect all scenes and create objects that can be shared across multiple scenes.

You can get an instance of this class by calling PxCreateBasePhysics() or PxCreatePhysics() with pre-registered modules.

See also:
PxCreatePhysics() PxCreateBasePhysics() PxScene PxVisualizationParameter

Constructor & Destructor Documentation

virtual PxPhysics::~PxPhysics ( ) [inline, virtual]

Member Function Documentation

virtual PxAggregate* PxPhysics::createAggregate | ( | PxU32 | maxSize,
 |  | bool | enableSelfCollision |
 | ) |  |  | [pure virtual]

Creates an aggregate with the specified maximum size and selfCollision property.

Parameters:
[in] | maxSize | the maximum number of actors that may be placed in the aggregate. This value must not exceed 128, otherwise NULL will be returned.
[in] | enableSelfCollision | whether the aggregate supports self-collision
Returns:
The new aggregate.
See also:
PxAggregate

virtual PxArticulation* PxPhysics::createArticulation ( ) [pure virtual]

Creates an articulation with all fields initialized to their default values.

Returns:
the new articulation
See also:
PxArticulation, PxRegisterArticulations

virtual PX_DEPRECATED PxCloth* PxPhysics::createCloth | ( | const PxTransform & | globalPose,
 |  | PxClothFabric & | fabric,
 |  | const PxClothParticle * | particles,
 |  | PxClothFlags | flags |
 | ) |  |  | [pure virtual]

Creates a cloth.

Parameters:
globalPose | The world space transform of the cloth.
fabric | The fabric the cloth should use.
particles | Particle definition buffer. The size of the buffer has to match fabric.getNbParticles().
flags | Cloth flags.
Returns:
The new cloth.
Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1
See also:
PxCloth PxClothFabric PxClothFlags PxRegisterCloth

virtual PX_DEPRECATED PxClothFabric* PxPhysics::createClothFabric ( const PxClothFabricDesc & desc ) [pure virtual]

Creates a cloth fabric object from particle connectivity and restlength information.

Note:
The particle connectivity can be created using PxClothFabricCooker in extensions.
This can then be instanced into PxCloth objects.

Parameters:
[in] desc Fabric descriptor, see PxClothFabricDesc.
Returns:
The new cloth fabric.
Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1
See also:
PxClothFabric PxClothFabric.release() PxCloth

virtual PX_DEPRECATED PxClothFabric* PxPhysics::createClothFabric ( PxInputStream & stream ) [pure virtual]

Creates a cloth fabric object.

This can then be instanced into PxCloth objects.

Parameters:
[in] stream The stream to load the cloth fabric from.
Returns:
The new cloth fabric.
Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1
See also:
PxClothFabric PxClothFabric.release() PxInputStream PxCloth PxRegisterCloth

virtual PxConstraint* PxPhysics::createConstraint | ( | PxRigidActor * | actor0,
 |  | PxRigidActor * | actor1,
 |  | PxConstraintConnector & | connector,
 |  | const PxConstraintShaderTable & | shaders,
 |  | PxU32 | dataSize |
 | ) |  |  | [pure virtual]

Creates a constraint shader.

Note:
A constraint shader will get added automatically to the scene the two linked actors belong to. Either, but not both, of actor0 and actor1 may be NULL to denote attachment to the world.
Parameters:
[in] | actor0 | the first actor
[in] | actor1 | the second actor
[in] | connector | the connector object, which the SDK uses to communicate with the infrastructure for the constraint
[in] | shaders | the shader functions for the constraint
[in] | dataSize | the size of the data block for the shader
Returns:
The new shader.
See also:
PxConstraint

virtual PxConvexMesh* PxPhysics::createConvexMesh ( PxInputStream & stream ) [pure virtual]

Creates a convex mesh object.

This can then be instanced into PxShape objects.

Parameters:
[in] stream The stream to load the convex mesh from.
Returns:
The new convex mesh.
See also:
PxConvexMesh PxConvexMesh.release() PxInputStream createTriangleMesh() PxConvexMeshGeometry PxShape

virtual PxHeightField* PxPhysics::createHeightField ( PxInputStream & stream ) [pure virtual]

Creates a heightfield object from previously cooked stream.

This can then be instanced into PxShape objects.

Parameters:
[in] stream The heightfield mesh stream.
Returns:
The new heightfield.
See also:
PxHeightField PxHeightField.release() PxInputStream PxRegisterHeightFields PxRegisterUnifiedHeightFields

virtual PxMaterial* PxPhysics::createMaterial | ( | PxReal | staticFriction,
 |  | PxReal | dynamicFriction,
 |  | PxReal | restitution |
 | ) |  |  | [pure virtual]

Creates a new material with default properties.

Returns:
The new material.
Parameters:
staticFriction | the coefficient of static friction
dynamicFriction | the coefficient of dynamic friction
restitution | the coefficient of restitution
See also:
PxMaterial

virtual PX_DEPRECATED PxParticleFluid* PxPhysics::createParticleFluid | ( | PxU32 | maxParticles,
 |  | bool | perParticleRestOffset = false |
 | ) |  |  | [pure virtual]

Creates a particle fluid. (deprecated).

Parameters:
maxParticles | the maximum number of particles that may be placed in the particle fluid
perParticleRestOffset | whether the ParticleFluid supports perParticleRestOffset
Returns:
The new particle fluid.
Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4
See also:
PxParticleFluid PxRegisterParticles

virtual PX_DEPRECATED PxParticleSystem* PxPhysics::createParticleSystem | ( | PxU32 | maxParticles,
 |  | bool | perParticleRestOffset = false |
 | ) |  |  | [pure virtual]

Creates a particle system. (deprecated).

Parameters:
maxParticles | the maximum number of particles that may be placed in the particle system
perParticleRestOffset | whether the ParticleSystem supports perParticleRestOffset
Returns:
The new particle system.
Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4
See also:
PxParticleSystem PxRegisterParticles

virtual PxPruningStructure* PxPhysics::createPruningStructure | ( | PxRigidActor *const * | actors,
 |  | PxU32 | nbActors |
 | ) |  |  | [pure virtual]

Creates a pruning structure from actors.

Note:
Every provided actor needs at least one shape with the eSCENE_QUERY_SHAPE flag set.

Both static and dynamic actors can be provided.

It is not allowed to pass in actors which are already part of a scene.

Articulation links cannot be provided.

Parameters:
[in] | actors | Array of actors to add to the pruning structure. Must be non NULL.
[in] | nbActors | Number of actors in the array. Must be >0.
Returns:
Pruning structure created from given actors, or NULL if any of the actors did not comply with the above requirements.
See also:
PxActor PxPruningStructure

virtual PxRigidDynamic* PxPhysics::createRigidDynamic ( const PxTransform & pose ) [pure virtual]

Creates a dynamic rigid actor with the specified pose and all other fields initialized to their default values.

Parameters:
[in] pose the initial pose of the actor. Must be a valid transform
See also:
PxRigidDynamic

virtual PxRigidStatic* PxPhysics::createRigidStatic ( const PxTransform & pose ) [pure virtual]

Creates a static rigid actor with the specified pose and all other fields initialized to their default values.

Parameters:
[in] pose the initial pose of the actor. Must be a valid transform
See also:
PxRigidStatic

virtual PxScene* PxPhysics::createScene ( const PxSceneDesc & sceneDesc ) [pure virtual]

Creates a scene.

Note:
Every scene uses a Thread Local Storage slot. This imposes a platform specific limit on the number of scenes that can be created.
Parameters:
[in] sceneDesc Scene descriptor. See PxSceneDesc
Returns:
The new scene object.
See also:
PxScene PxScene.release() PxSceneDesc

virtual PxShape* PxPhysics::createShape | ( | const PxGeometry & | geometry,
 |  | PxMaterial *const * | materials,
 |  | PxU16 | materialCount,
 |  | bool | isExclusive = false,
 |  | PxShapeFlags | shapeFlags = PxShapeFlag::eVISUALIZATION|PxShapeFlag::eSCENE_QUERY_SHAPE|PxShapeFlag::eSIMULATION_SHAPE |
 | ) |  |  | [pure virtual]

Creates a shape which may be attached to multiple actors.

The shape will be created with a reference count of 1.

Parameters:
[in] | geometry | the geometry for the shape
[in] | materials | the materials for the shape
[in] | materialCount | the number of materials
[in] | isExclusive | whether this shape is exclusive to a single actor or may be shared
[in] | shapeFlags | the PxShapeFlags to be set
Shared shapes are not mutable when they are attached to an actor

See also:
PxShape

PX_FORCE_INLINE PxShape* PxPhysics::createShape | ( | const PxGeometry & | geometry,
 |  | const PxMaterial & | material,
 |  | bool | isExclusive = false,
 |  | PxShapeFlags | shapeFlags = PxShapeFlag::eVISUALIZATION | PxShapeFlag::eSCENE_QUERY_SHAPE | PxShapeFlag::eSIMULATION_SHAPE |
 | ) |  |  | [inline]

Creates a shape which may be attached to multiple actors.

The shape will be created with a reference count of 1.

Parameters:
[in] | geometry | the geometry for the shape
[in] | material | the material for the shape
[in] | isExclusive | whether this shape is exclusive to a single actor or maybe be shared
[in] | shapeFlags | the PxShapeFlags to be set
Shared shapes are not mutable when they are attached to an actor

See also:
PxShape

virtual PxTriangleMesh* PxPhysics::createTriangleMesh ( PxInputStream & stream ) [pure virtual]

Creates a triangle mesh object.

This can then be instanced into PxShape objects.

Parameters:
[in] stream The triangle mesh stream.
Returns:
The new triangle mesh.
See also:
PxTriangleMesh PxMeshPreprocessingFlag PxTriangleMesh.release() PxInputStream PxTriangleMeshFlag

virtual PX_DEPRECATED PxU32 PxPhysics::getClothFabrics | ( | PxClothFabric ** | userBuffer,
 |  | PxU32 | bufferSize |
 | ) |  |  | const [pure virtual]

Writes the array of cloth fabrics to a user buffer.

Returns the number of pointers written.

The ordering of the cloth fabrics in the array is not specified.

Parameters:
[out] | userBuffer | The buffer to receive cloth fabric pointers.
[in] | bufferSize | The number of cloth fabric pointers which can be stored in the buffer.
Returns:
The number of cloth fabric pointers written to userBuffer, this should be less or equal to bufferSize.
Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1
See also:
getNbClothFabrics() PxClothFabric

virtual PxU32 PxPhysics::getConvexMeshes | ( | PxConvexMesh ** | userBuffer,
 |  | PxU32 | bufferSize,
 |  | PxU32 | startIndex = 0 |
 | ) |  |  | const [pure virtual]

Writes the array of convex mesh pointers to a user buffer.

Returns the number of pointers written.

The ordering of the convex meshes in the array is not specified.

Parameters:
[out] | userBuffer | The buffer to receive convex mesh pointers.
[in] | bufferSize | The number of convex mesh pointers which can be stored in the buffer.
[in] | startIndex | Index of first convex mesh pointer to be retrieved
Returns:
The number of convex mesh pointers written to userBuffer, this should be less or equal to bufferSize.
See also:
getNbConvexMeshes() PxConvexMesh

virtual PxFoundation& PxPhysics::getFoundation ( ) [pure virtual]

Retrieves the Foundation instance.

Returns:
A reference to the Foundation object.

virtual PxU32 PxPhysics::getHeightFields | ( | PxHeightField ** | userBuffer,
 |  | PxU32 | bufferSize,
 |  | PxU32 | startIndex = 0 |
 | ) |  |  | const [pure virtual]

Writes the array of heightfield pointers to a user buffer.

Returns the number of pointers written.

The ordering of the heightfields in the array is not specified.

Parameters:
[out] | userBuffer | The buffer to receive heightfield pointers.
[in] | bufferSize | The number of heightfield pointers which can be stored in the buffer.
[in] | startIndex | Index of first heightfield pointer to be retrieved
Returns:
The number of heightfield pointers written to userBuffer, this should be less or equal to bufferSize.
See also:
getNbHeightFields() PxHeightField

virtual PxU32 PxPhysics::getMaterials | ( | PxMaterial ** | userBuffer,
 |  | PxU32 | bufferSize,
 |  | PxU32 | startIndex = 0 |
 | ) |  |  | const [pure virtual]

Writes the array of material pointers to a user buffer.

Returns the number of pointers written.

The ordering of the materials in the array is not specified.

Parameters:
[out] | userBuffer | The buffer to receive material pointers.
[in] | bufferSize | The number of material pointers which can be stored in the buffer.
[in] | startIndex | Index of first material pointer to be retrieved
Returns:
The number of material pointers written to userBuffer, this should be less or equal to bufferSize.
See also:
getNbMaterials() PxMaterial

virtual PX_DEPRECATED PxU32 PxPhysics::getNbClothFabrics ( ) const [pure virtual]

Return the number of cloth fabrics that currently exist.

Returns:
Number of cloth fabrics.
Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1
See also:
getClothFabrics()

virtual PxU32 PxPhysics::getNbConvexMeshes ( ) const [pure virtual]

Return the number of convex meshes that currently exist.

Returns:
Number of convex meshes.
See also:
getConvexMeshes()

virtual PxU32 PxPhysics::getNbHeightFields ( ) const [pure virtual]

Return the number of heightfields that currently exist.

Returns:
Number of heightfields.
See also:
getHeightFields()

virtual PxU32 PxPhysics::getNbMaterials ( ) const [pure virtual]

Return the number of materials that currently exist.

Returns:
Number of materials.
See also:
getMaterials()

virtual PxU32 PxPhysics::getNbScenes ( ) const [pure virtual]

Gets number of created scenes.

Returns:
The number of scenes created.
See also:
getScene()

virtual PxU32 PxPhysics::getNbShapes ( ) const [pure virtual]

Return the number of shapes that currently exist.

Returns:
Number of shapes.
See also:
getShapes()

virtual PxU32 PxPhysics::getNbTriangleMeshes ( ) const [pure virtual]

Return the number of triangle meshes that currently exist.

Returns:
Number of triangle meshes.
See also:
getTriangleMeshes()

virtual PxPhysicsInsertionCallback& PxPhysics::getPhysicsInsertionCallback ( ) [pure virtual]

Gets PxPhysics object insertion interface.

The insertion interface is needed ie. for PxCooking::createTriangleMesh, this allows runtime mesh creation. This is not advised to do, please use offline cooking if possible.

See also:
PxCooking::createTriangleMesh PxCooking::createHeightfield

virtual PxU32 PxPhysics::getScenes | ( | PxScene ** | userBuffer,
 |  | PxU32 | bufferSize,
 |  | PxU32 | startIndex = 0 |
 | ) |  |  | const [pure virtual]

Writes the array of scene pointers to a user buffer.

Returns the number of pointers written.

The ordering of the scene pointers in the array is not specified.

Parameters:
[out] | userBuffer | The buffer to receive scene pointers.
[in] | bufferSize | The number of scene pointers which can be stored in the buffer.
[in] | startIndex | Index of first scene pointer to be retrieved
Returns:
The number of scene pointers written to userBuffer, this should be less or equal to bufferSize.
See also:
getNbScenes() PxScene

virtual PxU32 PxPhysics::getShapes | ( | PxShape ** | userBuffer,
 |  | PxU32 | bufferSize,
 |  | PxU32 | startIndex = 0 |
 | ) |  |  | const [pure virtual]

Writes the array of shape pointers to a user buffer.

Returns the number of pointers written.

The ordering of the shapes in the array is not specified.

Parameters:
[out] | userBuffer | The buffer to receive shape pointers.
[in] | bufferSize | The number of shape pointers which can be stored in the buffer.
[in] | startIndex | Index of first shape pointer to be retrieved
Returns:
The number of shape pointers written to userBuffer, this should be less or equal to bufferSize.
See also:
getNbShapes() PxShape

virtual const PxTolerancesScale& PxPhysics::getTolerancesScale ( ) const [pure virtual]

Returns the simulation tolerance parameters.

Returns:
The current simulation tolerance parameters.

virtual PxU32 PxPhysics::getTriangleMeshes | ( | PxTriangleMesh ** | userBuffer,
 |  | PxU32 | bufferSize,
 |  | PxU32 | startIndex = 0 |
 | ) |  |  | const [pure virtual]

Writes the array of triangle mesh pointers to a user buffer.

Returns the number of pointers written.

The ordering of the triangle meshes in the array is not specified.

Parameters:
[out] | userBuffer | The buffer to receive triangle mesh pointers.
[in] | bufferSize | The number of triangle mesh pointers which can be stored in the buffer.
[in] | startIndex | Index of first mesh pointer to be retrieved
Returns:
The number of triangle mesh pointers written to userBuffer, this should be less or equal to bufferSize.
See also:
getNbTriangleMeshes() PxTriangleMesh

virtual void PxPhysics::registerDeletionListener | ( | PxDeletionListener & | observer,
 |  | const PxDeletionEventFlags & | deletionEvents,
 |  | bool | restrictedObjectSet = false |
 | ) |  |  | [pure virtual]

Register a deletion listener. Listeners will be called whenever an object is deleted.

It is illegal to register or unregister a deletion listener while deletions are being processed.

Note:
By default a registered listener will receive events from all objects. Set the restrictedObjectSet parameter to true on registration and use registerDeletionListenerObjects to restrict the received events to specific objects.

The deletion events are only supported on core PhysX objects. In general, objects in extension modules do not provide this functionality, however, in the case of PxJoint objects, the underlying PxConstraint will send the events.

Parameters:
[in] | observer | Observer object to send notifications to.
[in] | deletionEvents | The deletion event types to get notified of.
[in] | restrictedObjectSet | If false, the deletion listener will get events from all objects, else the objects to receive events from have to be specified explicitly through registerDeletionListenerObjects.
See also:
PxDeletionListener unregisterDeletionListener

virtual void PxPhysics::registerDeletionListenerObjects | ( | PxDeletionListener & | observer,
 |  | const PxBase *const * | observables,
 |  | PxU32 | observableCount |
 | ) |  |  | [pure virtual]

Register specific objects for deletion events.

This method allows for a deletion listener to limit deletion events to specific objects only.

Note:
It is illegal to register or unregister objects while deletions are being processed.

The deletion listener has to be registered through registerDeletionListener() and configured to support restricted objects sets prior to this method being used.

Parameters:
[in] | observer | Observer object to send notifications to.
[in] | observables | List of objects for which to receive deletion events. Only PhysX core objects are supported. In the case of PxJoint objects, the underlying PxConstraint can be used to get the events.
[in] | observableCount | Size of the observables list.
See also:
PxDeletionListener unregisterDeletionListenerObjects

virtual void PxPhysics::release ( ) [pure virtual]

Destroys the instance it is called on.

Use this release method to destroy an instance of this class. Be sure to not keep a reference to this object after calling release. Avoid release calls while a scene is simulating (in between simulate() and fetchResults() calls).

Note that this must be called once for each prior call to PxCreatePhysics, as there is a reference counter. Also note that you mustn't destroy the allocator or the error callback (if available) until after the reference count reaches 0 and the SDK is actually removed.

Releasing an SDK will also release any scenes, triangle meshes, convex meshes, heightfields and shapes created through it, provided the user hasn't already done so.

Note:
This function is required to be called to release foundation usage.
See also:
PxCreatePhysics()

virtual void PxPhysics::unregisterDeletionListener ( PxDeletionListener & observer ) [pure virtual]

Unregister a deletion listener.

It is illegal to register or unregister a deletion listener while deletions are being processed.

Parameters:
[in] observer Observer object to send notifications to
See also:
PxDeletionListener registerDeletionListener

virtual void PxPhysics::unregisterDeletionListenerObjects | ( | PxDeletionListener & | observer,
 |  | const PxBase *const * | observables,
 |  | PxU32 | observableCount |
 | ) |  |  | [pure virtual]

Unregister specific objects for deletion events.

This method allows to clear previously registered objects for a deletion listener (see registerDeletionListenerObjects()).

Note:
It is illegal to register or unregister objects while deletions are being processed.

The deletion listener has to be registered through registerDeletionListener() and configured to support restricted objects sets prior to this method being used.

Parameters:
[in] | observer | Observer object to stop sending notifications to.
[in] | observables | List of objects for which to not receive deletion events anymore.
[in] | observableCount | Size of the observables list.
See also:
PxDeletionListener registerDeletionListenerObjects

The documentation for this class was generated from the following file:
  • PxPhysics.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPruningStructure Class Reference

PxPruningStructure Class Reference
[Physics]

A precomputed pruning structure to accelerate scene queries against newly added actors. More...

#include <PxPruningStructure.h>

Inheritance diagram for PxPruningStructure:

PxBase
[legend]
Collaboration diagram for PxPruningStructure:

PxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

virtual void | release ()=0
Release this object.
virtual PxU32 | getRigidActors (PxRigidActor **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0
Retrieve rigid actors in the pruning structure.
virtual PxU32 | getNbRigidActors () const =0
Returns the number of rigid actors in the pruning structure.
virtual const char * | getConcreteTypeName () const
Returns string name of dynamic type.

Protected Member Functions

PX_INLINE | PxPruningStructure (PxType concreteType, PxBaseFlags baseFlags)
PX_INLINE | PxPruningStructure (PxBaseFlags baseFlags)
virtual | ~PxPruningStructure ()
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Detailed Description

A precomputed pruning structure to accelerate scene queries against newly added actors.

The pruning structure can be provided to PxScene:: addActors() in which case it will get merged directly into the scene query optimization AABB tree, thus leading to improved performance when doing queries against the newly added actors. This applies to both static and dynamic actors.

Note:
PxPruningStructure objects can be added to a collection and get serialized.

Adding a PxPruningStructure object to a collection will also add the actors that were used to build the pruning structure.

PxPruningStructure must be released before its rigid actors.

PxRigidBody objects can be in one PxPruningStructure only.

Changing the bounds of PxRigidBody objects assigned to a pruning structure that has not been added to a scene yet will invalidate the pruning structure. Same happens if shape scene query flags change or shape gets removed from an actor.

See also:
PxScene::addActors PxCollection

Constructor & Destructor Documentation

PX_INLINE PxPruningStructure::PxPruningStructure | ( | PxType | concreteType,
 |  | PxBaseFlags | baseFlags |
 | ) |  |  | [inline, protected]

PX_INLINE PxPruningStructure::PxPruningStructure ( PxBaseFlags baseFlags ) [inline, protected]

virtual PxPruningStructure::~PxPruningStructure ( ) [inline, protected, virtual]

Member Function Documentation

virtual const char* PxPruningStructure::getConcreteTypeName ( ) const [inline, virtual]

Returns string name of dynamic type.

Returns:
Class name of most derived type of this object.

Implements PxBase.

virtual PxU32 PxPruningStructure::getNbRigidActors ( ) const [pure virtual]

Returns the number of rigid actors in the pruning structure.

You can use getRigidActors() to retrieve the rigid actor pointers.

Returns:
Number of rigid actors in the pruning structure.
See also:
PxRigidActor

virtual PxU32 PxPruningStructure::getRigidActors | ( | PxRigidActor ** | userBuffer,
 |  | PxU32 | bufferSize,
 |  | PxU32 | startIndex = 0 |
 | ) |  |  | const [pure virtual]

Retrieve rigid actors in the pruning structure.

You can retrieve the number of rigid actor pointers by calling getNbRigidActors()

Parameters:
[out] | userBuffer | The buffer to store the actor pointers.
[in] | bufferSize | Size of provided user buffer.
[in] | startIndex | Index of first actor pointer to be retrieved
Returns:
Number of rigid actor pointers written to the buffer.
See also:
PxRigidActor

virtual bool PxPruningStructure::isKindOf ( const char * superClass ) const [inline, protected, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxBase.

References PxBase::isKindOf().

virtual void PxPruningStructure::release ( ) [pure virtual]

Release this object.

Implements PxBase.

The documentation for this class was generated from the following file:
  • PxPruningStructure.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRigidActor Class Reference

PxRigidActor Class Reference
[Physics]

PxRigidActor represents a base class shared between dynamic and static rigid bodies in the physics SDK. More...

#include <PxRigidActor.h>

Inheritance diagram for PxRigidActor:

PxRigidBodyPxRigidStaticPxActorPxBasePxArticulationLinkPxRigidDynamic
[legend]
Collaboration diagram for PxRigidActor:

PxActorPxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

virtual void | release ()=0
Deletes the rigid actor object.
Global Pose Manipulation
virtual PxTransform | getGlobalPose () const =0
Retrieves the actors world space transform.
virtual void | setGlobalPose (const PxTransform &pose, bool autowake=true)=0
Method for setting an actor's pose in the world.
Shapes
virtual PX_DEPRECATED PxShape * | createShape (const PxGeometry &geometry, PxMaterial *const *materials, PxU16 materialCount, PxShapeFlags shapeFlags=PxShapeFlag::eVISUALIZATION|PxShapeFlag::eSCENE_QUERY_SHAPE|PxShapeFlag::eSIMULATION_SHAPE)=0
Creates a new shape with default properties and a list of materials and adds it to the list of shapes of this actor.
PX_DEPRECATED PX_FORCE_INLINE
PxShape * 		createShape (const PxGeometry &geometry, const PxMaterial &material, PxShapeFlags shapeFlags=PxShapeFlag::eVISUALIZATION|PxShapeFlag::eSCENE_QUERY_SHAPE|PxShapeFlag::eSIMULATION_SHAPE)
Creates a new shape with default properties and a single material adds it to the list of shapes of this actor.
virtual void | attachShape (PxShape &shape)=0
virtual void | detachShape (PxShape &shape, bool wakeOnLostTouch=true)=0
virtual PxU32 | getNbShapes () const =0
Returns the number of shapes assigned to the actor.
virtual PxU32 | getShapes (PxShape **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0
Retrieve all the shape pointers belonging to the actor.

Constraints

virtual PxU32 | getNbConstraints () const =0
Returns the number of constraint shaders attached to the actor.
virtual PxU32 | getConstraints (PxConstraint **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0
Retrieve all the constraint shader pointers belonging to the actor.
PX_INLINE | PxRigidActor (PxType concreteType, PxBaseFlags baseFlags)
PX_INLINE | PxRigidActor (PxBaseFlags baseFlags)
virtual | ~PxRigidActor ()
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Detailed Description

PxRigidActor represents a base class shared between dynamic and static rigid bodies in the physics SDK.

PxRigidActor objects specify the geometry of the object by defining a set of attached shapes (see PxShape, createShape()).

See also:
PxActor

Constructor & Destructor Documentation

PX_INLINE PxRigidActor::PxRigidActor | ( | PxType | concreteType,
 |  | PxBaseFlags | baseFlags |
 | ) |  |  | [inline, protected]

PX_INLINE PxRigidActor::PxRigidActor ( PxBaseFlags baseFlags ) [inline, protected]

virtual PxRigidActor::~PxRigidActor ( ) [inline, protected, virtual]

Member Function Documentation

virtual void PxRigidActor::attachShape ( PxShape & shape ) [pure virtual]

attach a shared shape to an actor

This call will increment the reference count of the shape.

Note:
Mass properties of dynamic rigid actors will not automatically be recomputed to reflect the new mass distribution implied by the shape. Follow this call with a call to the PhysX extensions method PxRigidBodyExt::updateMassAndInertia() to do that.
Attaching a triangle mesh, heightfield or plane geometry shape configured as eSIMULATION_SHAPE is not supported for non-kinematic PxRigidDynamic instances.

Sleeping: Does NOT wake the actor up automatically.

Parameters:
[in] shape the shape to attach.

Referenced by PxRigidActorExt::createExclusiveShape().

PX_DEPRECATED PX_FORCE_INLINE PxShape* PxRigidActor::createShape | ( | const PxGeometry & | geometry,
 |  | const PxMaterial & | material,
 |  | PxShapeFlags | shapeFlags = PxShapeFlag::eVISUALIZATION | PxShapeFlag::eSCENE_QUERY_SHAPE | PxShapeFlag::eSIMULATION_SHAPE |
 | ) |  |  | [inline]

Creates a new shape with default properties and a single material adds it to the list of shapes of this actor.

This is equivalent to the following

PxShape* shape(...) = PxGetPhysics().createShape(...); // reference count is 1 actor->attachShape(shape); // increments reference count shape->release(); // releases user reference, leaving reference count at 1

As a consequence, detachShape() will result in the release of the last reference, and the shape will be deleted.

Note:
The default shape flags to be set are: eVISUALIZATION, eSIMULATION_SHAPE, eSCENE_QUERY_SHAPE (see PxShapeFlag). Triangle mesh, heightfield or plane geometry shapes configured as eSIMULATION_SHAPE are not supported for non-kinematic PxRigidDynamic instances.

Creating compounds with a very large number of shapes may adversely affect performance and stability.

Sleeping: Does NOT wake the actor up automatically.

Parameters:
[in] | geometry | the geometry of the shape
[in] | material | the material for the shape
[in] | shapeFlags | optional PxShapeFlags
Returns:
The newly created shape.
Note:
this method is deprecated, please use PxPhysics::createShape() and PxRigidActor::attachShape() or PxRigidActorExt::createExclusiveShape()
See also:
PxShape PxShape::release(), PxPhysics::createShape(), PxRigidActor::attachShape(), PxRigidActorExt::createExclusiveShape()

virtual PX_DEPRECATED PxShape* PxRigidActor::createShape | ( | const PxGeometry & | geometry,
 |  | PxMaterial *const * | materials,
 |  | PxU16 | materialCount,
 |  | PxShapeFlags | shapeFlags = PxShapeFlag::eVISUALIZATION|PxShapeFlag::eSCENE_QUERY_SHAPE|PxShapeFlag::eSIMULATION_SHAPE |
 | ) |  |  | [pure virtual]

Creates a new shape with default properties and a list of materials and adds it to the list of shapes of this actor.

This is equivalent to the following

PxShape* shape(...) = PxGetPhysics().createShape(...); // reference count is 1 actor->attachShape(shape); // increments reference count shape->release(); // releases user reference, leaving reference count at 1

As a consequence, detachShape() will result in the release of the last reference, and the shape will be deleted.

Note:
The default shape flags to be set are: eVISUALIZATION, eSIMULATION_SHAPE, eSCENE_QUERY_SHAPE (see PxShapeFlag). Triangle mesh, heightfield or plane geometry shapes configured as eSIMULATION_SHAPE are not supported for non-kinematic PxRigidDynamic instances.

Creating compounds with a very large number of shapes may adversely affect performance and stability.

Sleeping: Does NOT wake the actor up automatically.

Parameters:
[in] | geometry | the geometry of the shape
[in] | materials | a pointer to an array of material pointers
[in] | materialCount | the count of materials
[in] | shapeFlags | optional PxShapeFlags
Returns:
The newly created shape.
Note:
this method is deprecated, please use PxPhysics::createShape() and PxRigidActor::attachShape() or PxRigidActorExt::createExclusiveShape()
See also:
PxShape PxShape::release(), PxPhysics::createShape(), PxRigidActor::attachShape(), PxRigidActorExt::createExclusiveShape()

virtual void PxRigidActor::detachShape | ( | PxShape & | shape,
 |  | bool | wakeOnLostTouch = true |
 | ) |  |  | [pure virtual]

detach a shape from an actor.

This will also decrement the reference count of the PxShape, and if the reference count is zero, will cause it to be deleted.

Sleeping: Does NOT wake the actor up automatically.

Parameters:
[in] | shape | the shape to detach.
[in] | wakeOnLostTouch | Specifies whether touching objects from the previous frame should get woken up in the next frame. Only applies to PxArticulation and PxRigidActor types.

virtual PxU32 PxRigidActor::getConstraints | ( | PxConstraint ** | userBuffer,
 |  | PxU32 | bufferSize,
 |  | PxU32 | startIndex = 0 |
 | ) |  |  | const [pure virtual]

Retrieve all the constraint shader pointers belonging to the actor.

You can retrieve the number of constraint shader pointers by calling getNbConstraints()

Note: Removing constraint shaders with PxConstraint::release() will invalidate the pointer of the released constraint.

Parameters:
[out] | userBuffer | The buffer to store the constraint shader pointers.
[in] | bufferSize | Size of provided user buffer.
[in] | startIndex | Index of first constraint pointer to be retrieved
Returns:
Number of constraint shader pointers written to the buffer.
See also:
PxConstraint getNbConstraints() PxConstraint::release()

virtual PxTransform PxRigidActor::getGlobalPose ( ) const [pure virtual]

Retrieves the actors world space transform.

The getGlobalPose() method retrieves the actor's current actor space to world space transformation.

Returns:
Global pose of object.
See also:
PxRigidDynamic.setGlobalPose() PxRigidStatic.setGlobalPose()

Referenced by PxShapeExt::getGlobalPose().

virtual PxU32 PxRigidActor::getNbConstraints ( ) const [pure virtual]

Returns the number of constraint shaders attached to the actor.

You can use getConstraints() to retrieve the constraint shader pointers.

Returns:
Number of constraint shaders attached to this actor.
See also:
PxConstraint getConstraints()

virtual PxU32 PxRigidActor::getNbShapes ( ) const [pure virtual]

Returns the number of shapes assigned to the actor.

You can use getShapes() to retrieve the shape pointers.

Returns:
Number of shapes associated with this actor.
See also:
PxShape getShapes()

virtual PxU32 PxRigidActor::getShapes | ( | PxShape ** | userBuffer,
 |  | PxU32 | bufferSize,
 |  | PxU32 | startIndex = 0 |
 | ) |  |  | const [pure virtual]

Retrieve all the shape pointers belonging to the actor.

These are the shapes used by the actor for collision detection.

You can retrieve the number of shape pointers by calling getNbShapes()

Note: Removing shapes with PxShape::release() will invalidate the pointer of the released shape.

Parameters:
[out] | userBuffer | The buffer to store the shape pointers.
[in] | bufferSize | Size of provided user buffer.
[in] | startIndex | Index of first shape pointer to be retrieved
Returns:
Number of shape pointers written to the buffer.
See also:
PxShape getNbShapes() PxShape::release()

virtual bool PxRigidActor::isKindOf ( const char * superClass ) const [inline, protected, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxActor.

Reimplemented in PxArticulationLink, PxRigidBody, PxRigidDynamic, and PxRigidStatic.

References PxActor::isKindOf().

Referenced by PxRigidStatic::isKindOf(), and PxRigidBody::isKindOf().

virtual void PxRigidActor::release ( ) [pure virtual]

Deletes the rigid actor object.

Also releases any shapes associated with the actor.

Releasing an actor will affect any objects that are connected to the actor (constraint shaders like joints etc.). Such connected objects will be deleted upon scene deletion, or explicitly by the user by calling release() on these objects. It is recommended to always remove all objects that reference actors before the actors themselves are removed. It is not possible to retrieve list of dead connected objects.

Sleeping: This call will awaken any sleeping actors contacting the deleted actor (directly or indirectly).

Calls PxActor::release() so you might want to check the documentation of that method as well.

See also:
PxActor::release()

Implements PxActor.

Implemented in PxArticulationLink.

virtual void PxRigidActor::setGlobalPose | ( | const PxTransform & | pose,
 |  | bool | autowake = true |
 | ) |  |  | [pure virtual]

Method for setting an actor's pose in the world.

This method instantaneously changes the actor space to world space transformation.

This method is mainly for dynamic rigid bodies (see PxRigidDynamic). Calling this method on static actors is likely to result in a performance penalty, since internal optimization structures for static actors may need to be recomputed. In addition, moving static actors will not interact correctly with dynamic actors or joints.

To directly control an actor's position and have it correctly interact with dynamic bodies and joints, create a dynamic body with the PxRigidBodyFlag::eKINEMATIC flag, then use the setKinematicTarget() commands to define its path.

Even when moving dynamic actors, exercise restraint in making use of this method. Where possible, avoid:

  • moving actors into other actors, thus causing overlap (an invalid physical state)
  • moving an actor that is connected by a joint to another away from the other (thus causing joint error)
Sleeping: This call wakes dynamic actors if they are sleeping and the autowake parameter is true (default).

Parameters:
[in] | pose | Transformation from the actors local frame to the global frame. Range: rigid body transform.
[in] | autowake | whether to wake the object if it is dynamic. This parameter has no effect for static or kinematic actors. If true and the current wake counter value is smaller than PxSceneDesc::wakeCounterResetValue it will get increased to the reset value.
See also:
getGlobalPose()

The documentation for this class was generated from the following file:
  • PxRigidActor.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRigidBodyFlag Struct Reference

PxRigidBodyFlag Struct Reference
[Physics]

Collection of flags describing the behavior of a rigid body. More...

#include <PxRigidBody.h>

List of all members.

Public Types

enum Enum {
eKINEMATIC = (1<<0),
eUSE_KINEMATIC_TARGET_FOR_SCENE_QUERIES = (1<<1),
eENABLE_CCD = (1<<2),
eENABLE_CCD_FRICTION = (1<<3),
eENABLE_POSE_INTEGRATION_PREVIEW = (1 << 4),
eENABLE_SPECULATIVE_CCD = (1 << 5),
eENABLE_CCD_MAX_CONTACT_IMPULSE = (1 << 6)
}

Detailed Description

Collection of flags describing the behavior of a rigid body.

See also:
PxRigidBody.setRigidBodyFlag(), PxRigidBody.getRigidBodyFlags()

Member Enumeration Documentation

enum PxRigidBodyFlag::Enum

Enumerator:
eKINEMATIC Enables kinematic mode for the actor.

Kinematic actors are special dynamic actors that are not influenced by forces (such as gravity), and have no momentum. They are considered to have infinite mass and can be moved around the world using the setKinematicTarget() method. They will push regular dynamic actors out of the way. Kinematics will not collide with static or other kinematic objects.

Kinematic actors are great for moving platforms or characters, where direct motion control is desired.

You can not connect Reduced joints to kinematic actors. Lagrange joints work ok if the platform is moving with a relatively low, uniform velocity.

Sleeping:

  • Setting this flag on a dynamic actor will put the actor to sleep and set the velocities to 0.
  • If this flag gets cleared, the current sleep state of the actor will be kept.
Note:
kinematic actors are incompatible with CCD so raising this flag will automatically clear eENABLE_CCD
See also:
PxRigidDynamic.setKinematicTarget() Enable kinematic mode for the body.
eUSE_KINEMATIC_TARGET_FOR_SCENE_QUERIES Use the kinematic target transform for scene queries.

If this flag is raised, then scene queries will treat the kinematic target transform as the current pose of the body (instead of using the actual pose). Without this flag, the kinematic target will only take effect with respect to scene queries after a simulation step.

See also:
PxRigidDynamic.setKinematicTarget()
eENABLE_CCD Enables swept integration for the actor.

If this flag is raised and CCD is enabled on the scene, then this body will be simulated by the CCD system to ensure that collisions are not missed due to high-speed motion. Note individual shape pairs still need to enable PxPairFlag::eDETECT_CCD_CONTACT in the collision filtering to enable the CCD to respond to individual interactions.

Note:
kinematic actors are incompatible with CCD so this flag will be cleared automatically when raised on a kinematic actor Enable CCD for the body.
eENABLE_CCD_FRICTION Enabled CCD in swept integration for the actor.

If this flag is raised and CCD is enabled, CCD interactions will simulate friction. By default, friction is disabled in CCD interactions because CCD friction has been observed to introduce some simulation artifacts. CCD friction was enabled in previous versions of the SDK. Raising this flag will result in behavior that is a closer match for previous versions of the SDK.

Note:
This flag requires PxRigidBodyFlag::eENABLE_CCD to be raised to have any effect.
eENABLE_POSE_INTEGRATION_PREVIEW Register a rigid body for reporting pose changes by the simulation at an early stage.

Sometimes it might be advantageous to get access to the new pose of a rigid body as early as possible and not wait until the call to fetchResults() returns. Setting this flag will schedule the rigid body to get reported in PxSimulationEventCallback::onAdvance(). Please refer to the documentation of that callback to understand the behavior and limitations of this functionality.

See also:
PxSimulationEventCallback::onAdvance()
eENABLE_SPECULATIVE_CCD | Register a rigid body to dynamicly adjust contact offset based on velocity. This can be used to achieve a CCD effect.
eENABLE_CCD_MAX_CONTACT_IMPULSE | Permit CCD to limit maxContactImpulse. This is useful for use-cases like a destruction system but can cause visual artefacts so is not enabled by default.

The documentation for this struct was generated from the following file:
  • PxRigidBody.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRigidBody Class Reference

PxRigidBody Class Reference
[Physics]

PxRigidBody is a base class shared between dynamic rigid body objects. More...

#include <PxRigidBody.h>

Inheritance diagram for PxRigidBody:

PxArticulationLinkPxRigidDynamicPxRigidActorPxActorPxBase
[legend]
Collaboration diagram for PxRigidBody:

PxRigidActorPxActorPxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

Mass Manipulation
virtual void | setCMassLocalPose (const PxTransform &pose)=0
Sets the pose of the center of mass relative to the actor.
virtual PxTransform | getCMassLocalPose () const =0
Retrieves the center of mass pose relative to the actor frame.
virtual void | setMass (PxReal mass)=0
Sets the mass of a dynamic actor.
virtual PxReal | getMass () const =0
Retrieves the mass of the actor.
virtual PxReal | getInvMass () const =0
Retrieves the inverse mass of the actor.
virtual void | setMassSpaceInertiaTensor (const PxVec3 &m)=0
Sets the inertia tensor, using a parameter specified in mass space coordinates.
virtual PxVec3 | getMassSpaceInertiaTensor () const =0
Retrieves the diagonal inertia tensor of the actor relative to the mass coordinate frame.
virtual PxVec3 | getMassSpaceInvInertiaTensor () const =0
Retrieves the diagonal inverse inertia tensor of the actor relative to the mass coordinate frame.
Velocity
virtual PxVec3 | getLinearVelocity () const =0
Retrieves the linear velocity of an actor.
virtual void | setLinearVelocity (const PxVec3 &linVel, bool autowake=true)=0
Sets the linear velocity of the actor.
virtual PxVec3 | getAngularVelocity () const =0
Retrieves the angular velocity of the actor.
virtual void | setAngularVelocity (const PxVec3 &angVel, bool autowake=true)=0
Sets the angular velocity of the actor.

Forces

virtual void | addForce (const PxVec3 &force, PxForceMode::Enum mode=PxForceMode::eFORCE, bool autowake=true)=0
Applies a force (or impulse) defined in the global coordinate frame to the actor at its center of mass.
virtual void | addTorque (const PxVec3 &torque, PxForceMode::Enum mode=PxForceMode::eFORCE, bool autowake=true)=0
Applies an impulsive torque defined in the global coordinate frame to the actor.
virtual void | clearForce (PxForceMode::Enum mode=PxForceMode::eFORCE)=0
Clears the accumulated forces (sets the accumulated force back to zero).
virtual void | clearTorque (PxForceMode::Enum mode=PxForceMode::eFORCE)=0
Clears the impulsive torque defined in the global coordinate frame to the actor.
virtual void | setRigidBodyFlag (PxRigidBodyFlag::Enum flag, bool value)=0
Raises or clears a particular rigid body flag.
virtual void | setRigidBodyFlags (PxRigidBodyFlags inFlags)=0
virtual PxRigidBodyFlags | getRigidBodyFlags () const =0
Reads the PxRigidBody flags.
virtual void | setMinCCDAdvanceCoefficient (PxReal advanceCoefficient)=0
Sets the CCD minimum advance coefficient.
virtual PxReal | getMinCCDAdvanceCoefficient () const =0
Gets the CCD minimum advance coefficient.
virtual void | setMaxDepenetrationVelocity (PxReal biasClamp)=0
Sets the maximum depenetration velocity permitted to be introduced by the solver. This value controls how much velocity the solver can introduce to correct for penetrations in contacts.
virtual PxReal | getMaxDepenetrationVelocity () const =0
Returns the maximum depenetration velocity the solver is permitted to introduced. This value controls how much velocity the solver can introduce to correct for penetrations in contacts.
virtual void | setMaxContactImpulse (PxReal maxImpulse)=0
Sets a limit on the impulse that may be applied at a contact. The maximum impulse at a contact between two dynamic or kinematic bodies will be the minimum of the two limit values. For a collision between a static and a dynamic body, the impulse is limited by the value for the dynamic body.
virtual PxReal | getMaxContactImpulse () const =0
Returns the maximum impulse that may be applied at a contact.
PX_INLINE | PxRigidBody (PxType concreteType, PxBaseFlags baseFlags)
PX_INLINE | PxRigidBody (PxBaseFlags baseFlags)
virtual | ~PxRigidBody ()
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Detailed Description

PxRigidBody is a base class shared between dynamic rigid body objects.

See also:
PxRigidActor

Constructor & Destructor Documentation

PX_INLINE PxRigidBody::PxRigidBody | ( | PxType | concreteType,
 |  | PxBaseFlags | baseFlags |
 | ) |  |  | [inline, protected]

PX_INLINE PxRigidBody::PxRigidBody ( PxBaseFlags baseFlags ) [inline, protected]

virtual PxRigidBody::~PxRigidBody ( ) [inline, protected, virtual]

Member Function Documentation

virtual void PxRigidBody::addForce | ( | const PxVec3 & | force,
 |  | PxForceMode::Enum | mode = PxForceMode::eFORCE,
 |  | bool | autowake = true |
 | ) |  |  | [pure virtual]

Applies a force (or impulse) defined in the global coordinate frame to the actor at its center of mass.

This will not induce a torque.

PxForceMode determines if the force is to be conventional or impulsive.

Each actor has an acceleration and a velocity change accumulator which are directly modified using the modes PxForceMode::eACCELERATION and PxForceMode::eVELOCITY_CHANGE respectively. The modes PxForceMode::eFORCE and PxForceMode::eIMPULSE also modify these same accumulators and are just short hand for multiplying the vector parameter by inverse mass and then using PxForceMode::eACCELERATION and PxForceMode::eVELOCITY_CHANGE respectively.

Note:
It is invalid to use this method if the actor has not been added to a scene already or if PxActorFlag::eDISABLE_SIMULATION is set.

The force modes PxForceMode::eIMPULSE and PxForceMode::eVELOCITY_CHANGE can not be applied to articulation links.

if this is called on an articulation link, only the link is updated, not the entire articulation.

see PxRigidBodyExt::computeVelocityDeltaFromImpulse for details of how to compute the change in linear velocity that will arise from the application of an impulsive force, where an impulsive force is applied force multiplied by a timestep.

Sleeping: This call wakes the actor if it is sleeping and the autowake parameter is true (default) or the force is non-zero.

Parameters:
[in] | force | Force/Impulse to apply defined in the global frame.
[in] | mode | The mode to use when applying the force/impulse(see PxForceMode)
[in] | autowake | Specify if the call should wake up the actor if it is currently asleep. If true and the current wake counter value is smaller than PxSceneDesc::wakeCounterResetValue it will get increased to the reset value.
See also:
PxForceMode addTorque

virtual void PxRigidBody::addTorque | ( | const PxVec3 & | torque,
 |  | PxForceMode::Enum | mode = PxForceMode::eFORCE,
 |  | bool | autowake = true |
 | ) |  |  | [pure virtual]

Applies an impulsive torque defined in the global coordinate frame to the actor.

PxForceMode determines if the torque is to be conventional or impulsive.

Each actor has an angular acceleration and an angular velocity change accumulator which are directly modified using the modes PxForceMode::eACCELERATION and PxForceMode::eVELOCITY_CHANGE respectively. The modes PxForceMode::eFORCE and PxForceMode::eIMPULSE also modify these same accumulators and are just short hand for multiplying the vector parameter by inverse inertia and then using PxForceMode::eACCELERATION and PxForceMode::eVELOCITY_CHANGE respectively.

Note:
It is invalid to use this method if the actor has not been added to a scene already or if PxActorFlag::eDISABLE_SIMULATION is set.

The force modes PxForceMode::eIMPULSE and PxForceMode::eVELOCITY_CHANGE can not be applied to articulation links.

if this called on an articulation link, only the link is updated, not the entire articulation.

see PxRigidBodyExt::computeVelocityDeltaFromImpulse for details of how to compute the change in angular velocity that will arise from the application of an impulsive torque, where an impulsive torque is an applied torque multiplied by a timestep.

Sleeping: This call wakes the actor if it is sleeping and the autowake parameter is true (default) or the torque is non-zero.

Parameters:
[in] | torque | Torque to apply defined in the global frame. Range: torque vector
[in] | mode | The mode to use when applying the force/impulse(see PxForceMode).
[in] | autowake | whether to wake up the object if it is asleep. If true and the current wake counter value is smaller than PxSceneDesc::wakeCounterResetValue it will get increased to the reset value.
See also:
PxForceMode addForce()

virtual void PxRigidBody::clearForce ( PxForceMode::Enum mode = PxForceMode::eFORCE ) [pure virtual]

Clears the accumulated forces (sets the accumulated force back to zero).

Each actor has an acceleration and a velocity change accumulator which are directly modified using the modes PxForceMode::eACCELERATION and PxForceMode::eVELOCITY_CHANGE respectively. The modes PxForceMode::eFORCE and PxForceMode::eIMPULSE also modify these same accumulators (see PxRigidBody::addForce() for details); therefore the effect of calling clearForce(PxForceMode::eFORCE) is equivalent to calling clearForce(PxForceMode::eACCELERATION), and the effect of calling clearForce(PxForceMode::eIMPULSE) is equivalent to calling clearForce(PxForceMode::eVELOCITY_CHANGE).

PxForceMode determines if the cleared force is to be conventional or impulsive.

Note:
The force modes PxForceMode::eIMPULSE and PxForceMode::eVELOCITY_CHANGE can not be applied to articulation links.

It is invalid to use this method if the actor has not been added to a scene already or if PxActorFlag::eDISABLE_SIMULATION is set.

Parameters:
[in] mode The mode to use when clearing the force/impulse(see PxForceMode)
See also:
PxForceMode addForce

virtual void PxRigidBody::clearTorque ( PxForceMode::Enum mode = PxForceMode::eFORCE ) [pure virtual]

Clears the impulsive torque defined in the global coordinate frame to the actor.

PxForceMode determines if the cleared torque is to be conventional or impulsive.

Each actor has an angular acceleration and a velocity change accumulator which are directly modified using the modes PxForceMode::eACCELERATION and PxForceMode::eVELOCITY_CHANGE respectively. The modes PxForceMode::eFORCE and PxForceMode::eIMPULSE also modify these same accumulators (see PxRigidBody::addTorque() for details); therefore the effect of calling clearTorque(PxForceMode::eFORCE) is equivalent to calling clearTorque(PxForceMode::eACCELERATION), and the effect of calling clearTorque(PxForceMode::eIMPULSE) is equivalent to calling clearTorque(PxForceMode::eVELOCITY_CHANGE).

Note:
The force modes PxForceMode::eIMPULSE and PxForceMode::eVELOCITY_CHANGE can not be applied to articulation links.

It is invalid to use this method if the actor has not been added to a scene already or if PxActorFlag::eDISABLE_SIMULATION is set.

Parameters:
[in] mode The mode to use when clearing the force/impulse(see PxForceMode).
See also:
PxForceMode addTorque

virtual PxVec3 PxRigidBody::getAngularVelocity ( ) const [pure virtual]

Retrieves the angular velocity of the actor.

Returns:
The angular velocity of the actor.
See also:
PxRigidDynamic.setAngularVelocity() getLinearVelocity()

virtual PxTransform PxRigidBody::getCMassLocalPose ( ) const [pure virtual]

Retrieves the center of mass pose relative to the actor frame.

Returns:
The center of mass pose relative to the actor frame.
See also:
setCMassLocalPose() PxRigidBodyDesc.massLocalPose

virtual PxReal PxRigidBody::getInvMass ( ) const [pure virtual]

Retrieves the inverse mass of the actor.

Returns:
The inverse mass of this actor.
See also:
setMass() PxRigidBodyDesc.mass setMassSpaceInertiaTensor()

virtual PxVec3 PxRigidBody::getLinearVelocity ( ) const [pure virtual]

Retrieves the linear velocity of an actor.

Returns:
The linear velocity of the actor.
See also:
PxRigidDynamic.setLinearVelocity() getAngularVelocity()

virtual PxReal PxRigidBody::getMass ( ) const [pure virtual]

Retrieves the mass of the actor.

Note:
A value of 0 is interpreted as infinite mass.
Returns:
The mass of this actor.
See also:
setMass() PxRigidBodyDesc.mass setMassSpaceInertiaTensor()

virtual PxVec3 PxRigidBody::getMassSpaceInertiaTensor ( ) const [pure virtual]

Retrieves the diagonal inertia tensor of the actor relative to the mass coordinate frame.

This method retrieves a mass frame inertia vector.

Returns:
The mass space inertia tensor of this actor.
Note:
A value of 0 in an element is interpreted as infinite inertia along that axis.
See also:
PxRigidBodyDesc.massSpaceInertia setMassSpaceInertiaTensor() setMass() setCMassLocalPose()

virtual PxVec3 PxRigidBody::getMassSpaceInvInertiaTensor ( ) const [pure virtual]

Retrieves the diagonal inverse inertia tensor of the actor relative to the mass coordinate frame.

This method retrieves a mass frame inverse inertia vector.

Note:
A value of 0 in an element is interpreted as infinite inertia along that axis.
Returns:
The mass space inverse inertia tensor of this actor.
See also:
PxRigidBodyDesc.massSpaceInertia setMassSpaceInertiaTensor() setMass() setCMassLocalPose()

virtual PxReal PxRigidBody::getMaxContactImpulse ( ) const [pure virtual]

Returns the maximum impulse that may be applied at a contact.

Returns:
The maximum impulse that may be applied at a contact
See also:
setMaxContactImpulse

virtual PxReal PxRigidBody::getMaxDepenetrationVelocity ( ) const [pure virtual]

Returns the maximum depenetration velocity the solver is permitted to introduced. This value controls how much velocity the solver can introduce to correct for penetrations in contacts.

Returns:
The maximum penetration bias applied by the solver.

virtual PxReal PxRigidBody::getMinCCDAdvanceCoefficient ( ) const [pure virtual]

Gets the CCD minimum advance coefficient.

Returns:
The value of the CCD min advance coefficient.
See also:
setMinCCDAdvanceCoefficient

virtual PxRigidBodyFlags PxRigidBody::getRigidBodyFlags ( ) const [pure virtual]

Reads the PxRigidBody flags.

See the list of flags PxRigidBodyFlag

Returns:
The values of the PxRigidBody flags.
See also:
PxRigidBodyFlag setRigidBodyFlag()

virtual bool PxRigidBody::isKindOf ( const char * superClass ) const [inline, protected, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxRigidActor.

Reimplemented in PxArticulationLink, and PxRigidDynamic.

References PxRigidActor::isKindOf().

Referenced by PxRigidDynamic::isKindOf(), and PxArticulationLink::isKindOf().

virtual void PxRigidBody::setAngularVelocity | ( | const PxVec3 & | angVel,
 |  | bool | autowake = true |
 | ) |  |  | [pure virtual]

Sets the angular velocity of the actor.

Note that if you continuously set the angular velocity of an actor yourself, forces such as friction will not be able to rotate the actor, because forces directly influence only the velocity/momentum.

Default: (0.0, 0.0, 0.0)

Sleeping: This call wakes the actor if it is sleeping, the autowake parameter is true (default) or the new velocity is non-zero

Note:
It is invalid to use this method if PxActorFlag::eDISABLE_SIMULATION is set.
Parameters:
[in] | angVel | New angular velocity of actor. Range: angular velocity vector
[in] | autowake | Whether to wake the object up if it is asleep and the velocity is non-zero. If true and the current wake counter value is smaller than PxSceneDesc::wakeCounterResetValue it will get increased to the reset value.
See also:
getAngularVelocity() setLinearVelocity()

virtual void PxRigidBody::setCMassLocalPose ( const PxTransform & pose ) [pure virtual]

Sets the pose of the center of mass relative to the actor.

Note:
Changing this transform will not move the actor in the world!

Setting an unrealistic center of mass which is a long way from the body can make it difficult for the SDK to solve constraints. Perhaps leading to instability and jittering bodies.

Default: the identity transform

Parameters:
[in] pose Mass frame offset transform relative to the actor frame. Range: rigid body transform.
See also:
getCMassLocalPose() PxRigidBodyDesc.massLocalPose

virtual void PxRigidBody::setLinearVelocity | ( | const PxVec3 & | linVel,
 |  | bool | autowake = true |
 | ) |  |  | [pure virtual]

Sets the linear velocity of the actor.

Note that if you continuously set the velocity of an actor yourself, forces such as gravity or friction will not be able to manifest themselves, because forces directly influence only the velocity/momentum of an actor.

Default: (0.0, 0.0, 0.0)

Sleeping: This call wakes the actor if it is sleeping, the autowake parameter is true (default) or the new velocity is non-zero

Note:
It is invalid to use this method if PxActorFlag::eDISABLE_SIMULATION is set.
Parameters:
[in] | linVel | New linear velocity of actor. Range: velocity vector
[in] | autowake | Whether to wake the object up if it is asleep and the velocity is non-zero. If true and the current wake counter value is smaller than PxSceneDesc::wakeCounterResetValue it will get increased to the reset value.
See also:
getLinearVelocity() setAngularVelocity()

virtual void PxRigidBody::setMass ( PxReal mass ) [pure virtual]

Sets the mass of a dynamic actor.

The mass must be non-negative.

setMass() does not update the inertial properties of the body, to change the inertia tensor use setMassSpaceInertiaTensor() or the PhysX extensions method PxRigidBodyExt::updateMassAndInertia().

Note:
A value of 0 is interpreted as infinite mass.

Values of 0 are not permitted for instances of PxArticulationLink but are permitted for instances of PxRigidDynamic.

Default: 1.0

Sleeping: Does NOT wake the actor up automatically.

Parameters:
[in] mass New mass value for the actor. Range: [0, PX_MAX_F32)
See also:
getMass() PxRigidBodyDesc.mass setMassSpaceInertiaTensor()

virtual void PxRigidBody::setMassSpaceInertiaTensor ( const PxVec3 & m ) [pure virtual]

Sets the inertia tensor, using a parameter specified in mass space coordinates.

Note that such matrices are diagonal -- the passed vector is the diagonal.

If you have a non diagonal world/actor space inertia tensor(3x3 matrix). Then you need to diagonalize it and set an appropriate mass space transform. See setCMassLocalPose().

The inertia tensor elements must be non-negative.

Note:
A value of 0 in an element is interpreted as infinite inertia along that axis.

Values of 0 are not permitted for instances of PxArticulationLink but are permitted for instances of PxRigidDynamic.

Default: (1.0, 1.0, 1.0)

Sleeping: Does NOT wake the actor up automatically.

Parameters:
[in] m New mass space inertia tensor for the actor.
See also:
PxRigidBodyDesc.massSpaceInertia getMassSpaceInertia() setMass() setCMassLocalPose()

virtual void PxRigidBody::setMaxContactImpulse ( PxReal maxImpulse ) [pure virtual]

Sets a limit on the impulse that may be applied at a contact. The maximum impulse at a contact between two dynamic or kinematic bodies will be the minimum of the two limit values. For a collision between a static and a dynamic body, the impulse is limited by the value for the dynamic body.

This value is not used in CCD unless PxRigidBodyFlag::eENABLE_CCD_MAX_CONTACT_IMPULSE is raised on the body.

Parameters:
[in] maxImpulse the maximum contact impulse. Range: [0, PX_MAX_F32] Default: PX_MAX_F32
See also:
getMaxContactImpulse

virtual void PxRigidBody::setMaxDepenetrationVelocity ( PxReal biasClamp ) [pure virtual]

Sets the maximum depenetration velocity permitted to be introduced by the solver. This value controls how much velocity the solver can introduce to correct for penetrations in contacts.

Parameters:
[in] biasClamp The maximum velocity to de-penetrate by Range: (0, PX_MAX_F32].

virtual void PxRigidBody::setMinCCDAdvanceCoefficient ( PxReal advanceCoefficient ) [pure virtual]

Sets the CCD minimum advance coefficient.

The CCD minimum advance coefficient is a value in the range [0, 1] that is used to control the minimum amount of time a body is integrated when it has a CCD contact. The actual minimum amount of time that is integrated depends on various properties, including the relative speed and collision shapes of the bodies involved in the contact. From these properties, a numeric value is calculated that determines the maximum distance (and therefore maximum time) which these bodies could be integrated forwards that would ensure that these bodies did not pass through each-other. This value is then scaled by CCD minimum advance coefficient to determine the amount of time that will be consumed in the CCD pass.

Things to consider: A large value (approaching 1) ensures that the objects will always advance some time. However, larger values increase the chances of objects gently drifting through each-other in scenes which the constraint solver can't converge, e.g. scenes where an object is being dragged through a wall with a constraint. A value of 0 ensures that the pair of objects stop at the exact time-of-impact and will not gently drift through each-other. However, with very small/thin objects initially in contact, this can lead to a large amount of time being dropped and increases the chances of jamming. Jamming occurs when the an object is persistently in contact with an object such that the time-of-impact is 0, which results in no time being advanced for those objects in that CCD pass.

The chances of jamming can be reduced by increasing the number of CCD mass

See also:
PxSceneDesc.ccdMaxPasses. However, increasing this number increases the CCD overhead.
Parameters:
[in] advanceCoefficient The CCD min advance coefficient. Range: [0, 1] Default: 0.15

virtual void PxRigidBody::setRigidBodyFlag | ( | PxRigidBodyFlag::Enum | flag,
 |  | bool | value |
 | ) |  |  | [pure virtual]

Raises or clears a particular rigid body flag.

See the list of flags PxRigidBodyFlag

Default: no flags are set

Sleeping: Does NOT wake the actor up automatically.

Parameters:
[in] | flag | The PxRigidBody flag to raise(set) or clear. See PxRigidBodyFlag.
[in] | value | The new boolean value for the flag.
See also:
PxRigidBodyFlag getRigidBodyFlags()

virtual void PxRigidBody::setRigidBodyFlags ( PxRigidBodyFlags inFlags ) [pure virtual]

The documentation for this class was generated from the following file:
  • PxRigidBody.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRigidDynamicLockFlag Struct Reference

PxRigidDynamicLockFlag Struct Reference
[Physics]

Collection of flags providing a mechanism to lock motion along/around a specific axis. More...

#include <PxRigidDynamic.h>

List of all members.

Public Types

enum Enum {
eLOCK_LINEAR_X = (1 << 0),
eLOCK_LINEAR_Y = (1 << 1),
eLOCK_LINEAR_Z = (1 << 2),
eLOCK_ANGULAR_X = (1 << 3),
eLOCK_ANGULAR_Y = (1 << 4),
eLOCK_ANGULAR_Z = (1 << 5)
}

Detailed Description

Collection of flags providing a mechanism to lock motion along/around a specific axis.

See also:
PxRigidDynamic.setRigidDynamicLockFlag(), PxRigidBody.getRigidDynamicLockFlags()

Member Enumeration Documentation

enum PxRigidDynamicLockFlag::Enum

Enumerator:
eLOCK_LINEAR_X
eLOCK_LINEAR_Y
eLOCK_LINEAR_Z
eLOCK_ANGULAR_X
eLOCK_ANGULAR_Y
eLOCK_ANGULAR_Z

The documentation for this struct was generated from the following file:
  • PxRigidDynamic.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRigidDynamic Class Reference

PxRigidDynamic Class Reference
[Physics]

PxRigidDynamic represents a dynamic rigid simulation object in the physics SDK. More...

#include <PxRigidDynamic.h>

Inheritance diagram for PxRigidDynamic:

PxRigidBodyPxRigidActorPxActorPxBase
[legend]
Collaboration diagram for PxRigidDynamic:

PxRigidBodyPxRigidActorPxActorPxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

Kinematic Actors
virtual void | setKinematicTarget (const PxTransform &destination)=0
Moves kinematically controlled dynamic actors through the game world.
virtual bool | getKinematicTarget (PxTransform &target) const =0
Get target pose of a kinematically controlled dynamic actor.
Damping
virtual void | setLinearDamping (PxReal linDamp)=0
Sets the linear damping coefficient.
virtual PxReal | getLinearDamping () const =0
Retrieves the linear damping coefficient.
virtual void | setAngularDamping (PxReal angDamp)=0
Sets the angular damping coefficient.
virtual PxReal | getAngularDamping () const =0
Retrieves the angular damping coefficient.
Velocity
virtual void | setMaxAngularVelocity (PxReal maxAngVel)=0
Lets you set the maximum angular velocity permitted for this actor.
virtual PxReal | getMaxAngularVelocity () const =0
Retrieves the maximum angular velocity permitted for this actor.

Sleeping

virtual bool | isSleeping () const =0
Returns true if this body is sleeping.
virtual void | setSleepThreshold (PxReal threshold)=0
Sets the mass-normalized kinetic energy threshold below which an actor may go to sleep.
virtual PxReal | getSleepThreshold () const =0
Returns the mass-normalized kinetic energy below which an actor may go to sleep.
virtual void | setStabilizationThreshold (PxReal threshold)=0
Sets the mass-normalized kinetic energy threshold below which an actor may participate in stabilization.
virtual PxReal | getStabilizationThreshold () const =0
Returns the mass-normalized kinetic energy below which an actor may participate in stabilization.
virtual PxRigidDynamicLockFlags | getRigidDynamicLockFlags () const =0
Reads the PxRigidDynamic lock flags.
virtual void | setRigidDynamicLockFlag (PxRigidDynamicLockFlag::Enum flag, bool value)=0
Raises or clears a particular rigid dynamic lock flag.
virtual void | setRigidDynamicLockFlags (PxRigidDynamicLockFlags flags)=0
virtual void | setWakeCounter (PxReal wakeCounterValue)=0
Sets the wake counter for the actor.
virtual PxReal | getWakeCounter () const =0
Returns the wake counter of the actor.
virtual void | wakeUp ()=0
Wakes up the actor if it is sleeping.
virtual void | putToSleep ()=0
Forces the actor to sleep.
virtual void | setSolverIterationCounts (PxU32 minPositionIters, PxU32 minVelocityIters=1)=0
Sets the solver iteration counts for the body.
virtual void | getSolverIterationCounts (PxU32 &minPositionIters, PxU32 &minVelocityIters) const =0
Retrieves the solver iteration counts.
virtual PxReal | getContactReportThreshold () const =0
Retrieves the force threshold for contact reports.
virtual void | setContactReportThreshold (PxReal threshold)=0
Sets the force threshold for contact reports.
virtual const char * | getConcreteTypeName () const
Returns string name of dynamic type.
PX_INLINE | PxRigidDynamic (PxType concreteType, PxBaseFlags baseFlags)
PX_INLINE | PxRigidDynamic (PxBaseFlags baseFlags)
virtual | ~PxRigidDynamic ()
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Detailed Description

PxRigidDynamic represents a dynamic rigid simulation object in the physics SDK.

Creation

Instances of this class are created by calling PxPhysics::createRigidDynamic() and deleted with release().

Visualizations

  • PxVisualizationParameter::eACTOR_AXES
  • PxVisualizationParameter::eBODY_AXES
  • PxVisualizationParameter::eBODY_MASS_AXES
  • PxVisualizationParameter::eBODY_LIN_VELOCITY
  • PxVisualizationParameter::eBODY_ANG_VELOCITY
See also:
PxRigidBody PxPhysics.createRigidDynamic() release()

Constructor & Destructor Documentation

PX_INLINE PxRigidDynamic::PxRigidDynamic | ( | PxType | concreteType,
 |  | PxBaseFlags | baseFlags |
 | ) |  |  | [inline, protected]

PX_INLINE PxRigidDynamic::PxRigidDynamic ( PxBaseFlags baseFlags ) [inline, protected]

virtual PxRigidDynamic::~PxRigidDynamic ( ) [inline, protected, virtual]

Member Function Documentation

virtual PxReal PxRigidDynamic::getAngularDamping ( ) const [pure virtual]

Retrieves the angular damping coefficient.

Returns:
The angular damping coefficient associated with this actor.
See also:
setAngularDamping() getLinearDamping()

virtual const char* PxRigidDynamic::getConcreteTypeName ( ) const [inline, virtual]

Returns string name of dynamic type.

Returns:
Class name of most derived type of this object.

Implements PxBase.

virtual PxReal PxRigidDynamic::getContactReportThreshold ( ) const [pure virtual]

Retrieves the force threshold for contact reports.

The contact report threshold is a force threshold. If the force between two actors exceeds this threshold for either of the two actors, a contact report will be generated according to the contact report threshold flags provided by the filter shader/callback. See PxPairFlag.

The threshold used for a collision between a dynamic actor and the static environment is the threshold of the dynamic actor, and all contacts with static actors are summed to find the total normal force.

Default: PX_MAX_F32

Returns:
Force threshold for contact reports.
See also:
setContactReportThreshold PxPairFlag PxSimulationFilterShader PxSimulationFilterCallback

virtual bool PxRigidDynamic::getKinematicTarget ( PxTransform & target ) const [pure virtual]

Get target pose of a kinematically controlled dynamic actor.

Parameters:
[out] target Transform to write the target pose to. Only valid if the method returns true.
Returns:
True if the actor is a kinematically controlled dynamic and the target has been set, else False.
See also:
setKinematicTarget() PxRigidBodyFlag setRigidBodyFlag()

virtual PxReal PxRigidDynamic::getLinearDamping ( ) const [pure virtual]

Retrieves the linear damping coefficient.

Returns:
The linear damping coefficient associated with this actor.
See also:
setLinearDamping() getAngularDamping()

virtual PxReal PxRigidDynamic::getMaxAngularVelocity ( ) const [pure virtual]

Retrieves the maximum angular velocity permitted for this actor.

Returns:
The maximum allowed angular velocity for this actor.
See also:
setMaxAngularVelocity

virtual PxRigidDynamicLockFlags PxRigidDynamic::getRigidDynamicLockFlags ( ) const [pure virtual]

Reads the PxRigidDynamic lock flags.

See the list of flags PxRigidDynamicLockFlag

Returns:
The values of the PxRigidDynamicLock flags.
See also:
PxRigidDynamicLockFlag setRigidDynamicLockFlag()

virtual PxReal PxRigidDynamic::getSleepThreshold ( ) const [pure virtual]

Returns the mass-normalized kinetic energy below which an actor may go to sleep.

Returns:
The energy threshold for sleeping.
See also:
isSleeping() wakeUp() putToSleep() setSleepThreshold()

virtual void PxRigidDynamic::getSolverIterationCounts | ( | PxU32 & | minPositionIters,
 |  | PxU32 & | minVelocityIters |
 | ) |  |  | const [pure virtual]

Retrieves the solver iteration counts.

See also:
setSolverIterationCounts()

virtual PxReal PxRigidDynamic::getStabilizationThreshold ( ) const [pure virtual]

Returns the mass-normalized kinetic energy below which an actor may participate in stabilization.

Actors whose kinetic energy divided by their mass is above this threshold will not participate in stabilization.

Returns:
The energy threshold for participating in stabilization.
See also:
setStabilizationThreshold() PxSceneFlag::eENABLE_STABILIZATION

virtual PxReal PxRigidDynamic::getWakeCounter ( ) const [pure virtual]

Returns the wake counter of the actor.

Returns:
The wake counter of the actor.
See also:
isSleeping() setWakeCounter()

virtual bool PxRigidDynamic::isKindOf ( const char * superClass ) const [inline, protected, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxRigidBody.

References PxRigidBody::isKindOf().

virtual bool PxRigidDynamic::isSleeping ( ) const [pure virtual]

Returns true if this body is sleeping.

When an actor does not move for a period of time, it is no longer simulated in order to save time. This state is called sleeping. However, because the object automatically wakes up when it is either touched by an awake object, or one of its properties is changed by the user, the entire sleep mechanism should be transparent to the user.

In general, a dynamic rigid actor is guaranteed to be awake if at least one of the following holds:

  • The wake counter is positive (see setWakeCounter()).
  • The linear or angular velocity is non-zero.
  • A non-zero force or torque has been applied.
If a dynamic rigid actor is sleeping, the following state is guaranteed:

  • The wake counter is zero.
  • The linear and angular velocity is zero.
  • There is no force update pending.
When an actor gets inserted into a scene, it will be considered asleep if all the points above hold, else it will be treated as awake.

If an actor is asleep after the call to PxScene::fetchResults() returns, it is guaranteed that the pose of the actor was not changed. You can use this information to avoid updating the transforms of associated objects.

Note:
A kinematic actor is asleep unless a target pose has been set (in which case it will stay awake until the end of the next simulation step where no target pose has been set anymore). The wake counter will get set to zero or to the reset value PxSceneDesc::wakeCounterResetValue in the case where a target pose has been set to be consistent with the definitions above.

It is invalid to use this method if the actor has not been added to a scene already.

Returns:
True if the actor is sleeping.
See also:
isSleeping() wakeUp() putToSleep() getSleepThreshold()

virtual void PxRigidDynamic::putToSleep ( ) [pure virtual]

Forces the actor to sleep.

The actor will stay asleep during the next simulation step if not touched by another non-sleeping actor.

Note:
Any applied force will be cleared and the velocity and the wake counter of the actor will be set to 0.

It is invalid to use this method if the actor has not been added to a scene already or if PxActorFlag::eDISABLE_SIMULATION is set.

It is invalid to use this method for kinematic actors since the sleep state for kinematics is defined based on whether a target pose has been set (see the comment in isSleeping()).

See also:
isSleeping() wakeUp()

virtual void PxRigidDynamic::setAngularDamping ( PxReal angDamp ) [pure virtual]

Sets the angular damping coefficient.

Zero represents no damping.

The angular damping coefficient must be nonnegative.

Default: 0.05

Parameters:
[in] angDamp Angular damping coefficient. Range: [0, PX_MAX_F32)
See also:
getAngularDamping() setLinearDamping()

virtual void PxRigidDynamic::setContactReportThreshold ( PxReal threshold ) [pure virtual]

Sets the force threshold for contact reports.

See getContactReportThreshold().

Parameters:
[in] threshold Force threshold for contact reports. Range: [0, PX_MAX_F32)
See also:
getContactReportThreshold PxPairFlag

virtual void PxRigidDynamic::setKinematicTarget ( const PxTransform & destination ) [pure virtual]

Moves kinematically controlled dynamic actors through the game world.

You set a dynamic actor to be kinematic using the PxRigidBodyFlag::eKINEMATIC flag with setRigidBodyFlag().

The move command will result in a velocity that will move the body into the desired pose. After the move is carried out during a single time step, the velocity is returned to zero. Thus, you must continuously call this in every time step for kinematic actors so that they move along a path.

This function simply stores the move destination until the next simulation step is processed, so consecutive calls will simply overwrite the stored target variable.

The motion is always fully carried out.

Note:
It is invalid to use this method if the actor has not been added to a scene already or if PxActorFlag::eDISABLE_SIMULATION is set.
Sleeping: This call wakes the actor if it is sleeping and will set the wake counter to PxSceneDesc::wakeCounterResetValue.

Parameters:
[in] destination The desired pose for the kinematic actor, in the global frame. Range: rigid body transform.
See also:
getKinematicTarget() PxRigidBodyFlag setRigidBodyFlag()

virtual void PxRigidDynamic::setLinearDamping ( PxReal linDamp ) [pure virtual]

Sets the linear damping coefficient.

Zero represents no damping. The damping coefficient must be nonnegative.

Default: 0.0

Parameters:
[in] linDamp Linear damping coefficient. Range: [0, PX_MAX_F32)
See also:
getLinearDamping() setAngularDamping()

virtual void PxRigidDynamic::setMaxAngularVelocity ( PxReal maxAngVel ) [pure virtual]

Lets you set the maximum angular velocity permitted for this actor.

For various internal computations, very quickly rotating actors introduce error into the simulation, which leads to undesired results.

With this function, you can set the maximum angular velocity permitted for this rigid body. Higher angular velocities are clamped to this value.

Note: The angular velocity is clamped to the set value before the solver, which means that the limit may still be momentarily exceeded.

Default: 7.0

Parameters:
[in] maxAngVel Max allowable angular velocity for actor. Range: [0, PX_MAX_F32)
See also:
getMaxAngularVelocity()

virtual void PxRigidDynamic::setRigidDynamicLockFlag | ( | PxRigidDynamicLockFlag::Enum | flag,
 |  | bool | value |
 | ) |  |  | [pure virtual]

Raises or clears a particular rigid dynamic lock flag.

See the list of flags PxRigidDynamicLockFlag

Default: no flags are set

Parameters:
[in] | flag | The PxRigidDynamicLockBody flag to raise(set) or clear. See PxRigidBodyFlag.
[in] | value | The new boolean value for the flag.
See also:
PxRigidDynamicLockFlag getRigidDynamicLockFlags()

virtual void PxRigidDynamic::setRigidDynamicLockFlags ( PxRigidDynamicLockFlags flags ) [pure virtual]

virtual void PxRigidDynamic::setSleepThreshold ( PxReal threshold ) [pure virtual]

Sets the mass-normalized kinetic energy threshold below which an actor may go to sleep.

Actors whose kinetic energy divided by their mass is below this threshold will be candidates for sleeping.

Default: 5e-5f * PxTolerancesScale::speed * PxTolerancesScale::speed

Parameters:
[in] threshold Energy below which an actor may go to sleep. Range: [0, PX_MAX_F32)
See also:
isSleeping() getSleepThreshold() wakeUp() putToSleep() PxTolerancesScale

virtual void PxRigidDynamic::setSolverIterationCounts | ( | PxU32 | minPositionIters,
 |  | PxU32 | minVelocityIters = 1 |
 | ) |  |  | [pure virtual]

Sets the solver iteration counts for the body.

The solver iteration count determines how accurately joints and contacts are resolved. If you are having trouble with jointed bodies oscillating and behaving erratically, then setting a higher position iteration count may improve their stability.

If intersecting bodies are being depenetrated too violently, increase the number of velocity iterations. More velocity iterations will drive the relative exit velocity of the intersecting objects closer to the correct value given the restitution.

Default: 4 position iterations, 1 velocity iteration

Parameters:
[in] | minPositionIters | Number of position iterations the solver should perform for this body. Range: [1,255]
[in] | minVelocityIters | Number of velocity iterations the solver should perform for this body. Range: [1,255]
See also:
getSolverIterationCounts()

virtual void PxRigidDynamic::setStabilizationThreshold ( PxReal threshold ) [pure virtual]

Sets the mass-normalized kinetic energy threshold below which an actor may participate in stabilization.

Actors whose kinetic energy divided by their mass is above this threshold will not participate in stabilization.

This value has no effect if PxSceneFlag::eENABLE_STABILIZATION was not enabled on the PxSceneDesc.

Default: 1e-5f * PxTolerancesScale::speed * PxTolerancesScale::speed

Parameters:
[in] threshold Energy below which an actor may participate in stabilization. Range: [0,inf)
See also:
getStabilizationThreshold() PxSceneFlag::eENABLE_STABILIZATION

virtual void PxRigidDynamic::setWakeCounter ( PxReal wakeCounterValue ) [pure virtual]

Sets the wake counter for the actor.

The wake counter value determines the minimum amount of time until the body can be put to sleep. Please note that a body will not be put to sleep if the energy is above the specified threshold (see setSleepThreshold()) or if other awake bodies are touching it.

Note:
Passing in a positive value will wake the actor up automatically.

It is invalid to use this method for kinematic actors since the wake counter for kinematics is defined based on whether a target pose has been set (see the comment in isSleeping()).

It is invalid to use this method if PxActorFlag::eDISABLE_SIMULATION is set.

Default: 0.4 (which corresponds to 20 frames for a time step of 0.02)

Parameters:
[in] wakeCounterValue Wake counter value. Range: [0, PX_MAX_F32)
See also:
isSleeping() getWakeCounter()

virtual void PxRigidDynamic::wakeUp ( ) [pure virtual]

Wakes up the actor if it is sleeping.

The actor will get woken up and might cause other touching actors to wake up as well during the next simulation step.

Note:
This will set the wake counter of the actor to the value specified in PxSceneDesc::wakeCounterResetValue.

It is invalid to use this method if the actor has not been added to a scene already or if PxActorFlag::eDISABLE_SIMULATION is set.

It is invalid to use this method for kinematic actors since the sleep state for kinematics is defined based on whether a target pose has been set (see the comment in isSleeping()).

See also:
isSleeping() putToSleep()

The documentation for this class was generated from the following file:
  • PxRigidDynamic.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRigidStatic Class Reference

PxRigidStatic Class Reference
[Physics]

PxRigidStatic represents a static rigid body simulation object in the physics SDK. More...

#include <PxRigidStatic.h>

Inheritance diagram for PxRigidStatic:

PxRigidActorPxActorPxBase
[legend]
Collaboration diagram for PxRigidStatic:

PxRigidActorPxActorPxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

virtual const char * | getConcreteTypeName () const
Returns string name of dynamic type.

Protected Member Functions

PX_INLINE | PxRigidStatic (PxType concreteType, PxBaseFlags baseFlags)
PX_INLINE | PxRigidStatic (PxBaseFlags baseFlags)
virtual | ~PxRigidStatic ()
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Detailed Description

PxRigidStatic represents a static rigid body simulation object in the physics SDK.

PxRigidStatic objects are static rigid physics entities. They shall be used to define solid objects which are fixed in the world.

Creation

Instances of this class are created by calling PxPhysics::createRigidStatic() and deleted with release().

Visualizations

  • PxVisualizationParameter::eACTOR_AXES
See also:
PxRigidActor PxPhysics.createRigidStatic() release()

Constructor & Destructor Documentation

PX_INLINE PxRigidStatic::PxRigidStatic | ( | PxType | concreteType,
 |  | PxBaseFlags | baseFlags |
 | ) |  |  | [inline, protected]

PX_INLINE PxRigidStatic::PxRigidStatic ( PxBaseFlags baseFlags ) [inline, protected]

virtual PxRigidStatic::~PxRigidStatic ( ) [inline, protected, virtual]

Member Function Documentation

virtual const char* PxRigidStatic::getConcreteTypeName ( ) const [inline, virtual]

Returns string name of dynamic type.

Returns:
Class name of most derived type of this object.

Implements PxBase.

virtual bool PxRigidStatic::isKindOf ( const char * superClass ) const [inline, protected, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxRigidActor.

References PxRigidActor::isKindOf().

The documentation for this class was generated from the following file:
  • PxRigidStatic.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxActiveTransform Struct Reference

PxActiveTransform Struct Reference
[Physics]

Data struct for use with Active Transform Notification. Used with PxScene::getActiveTransforms(). More...

#include <PxScene.h>

Collaboration diagram for PxActiveTransform:

PxActorPxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>PxTransformPxVec3PxQuat
[legend]

List of all members.

Public Attributes

PxActor * actor
Affected actor.
void * userData
User data of the actor.
PxTransform actor2World
Actor-to-world transform of the actor.

Detailed Description

Data struct for use with Active Transform Notification. Used with PxScene::getActiveTransforms().

See also:
PxScene

Member Data Documentation

PxActor* PxActiveTransform::actor

Affected actor.

PxTransform PxActiveTransform::actor2World

Actor-to-world transform of the actor.

void* PxActiveTransform::userData

User data of the actor.

The documentation for this struct was generated from the following file:
  • PxScene.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDominanceGroupPair Struct Reference

PxDominanceGroupPair Struct Reference
[Physics]

Expresses the dominance relationship of a contact. For the time being only three settings are permitted:. More...

#include <PxScene.h>

List of all members.

Public Member Functions

PxDominanceGroupPair (PxU8 a, PxU8 b)

Public Attributes

PxU8 | dominance0
PxU8 | dominance1

Detailed Description

Expresses the dominance relationship of a contact. For the time being only three settings are permitted:.

(1, 1), (0, 1), and (1, 0).

See also:
getDominanceGroup() PxDominanceGroup PxScene::setDominanceGroupPair()

Constructor & Destructor Documentation

PxDominanceGroupPair::PxDominanceGroupPair | ( | PxU8 | a,
 |  | PxU8 | b |
 | ) |  |  | [inline]

Member Data Documentation

PxU8 PxDominanceGroupPair::dominance0

PxU8 PxDominanceGroupPair::dominance1

The documentation for this struct was generated from the following file:
  • PxScene.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxActorTypeFlag Struct Reference

PxActorTypeFlag Struct Reference
[Physics]

Identifies each type of actor for retrieving actors from a scene. More...

#include <PxScene.h>

List of all members.

Public Types

enum Enum {
eRIGID_STATIC = (1 << 0),
eRIGID_DYNAMIC = (1 << 1),
PX_DEPRECATED = (1 << 2),
PX_DEPRECATED = (1 << 2),
PX_DEPRECATED = (1 << 2)
}

Detailed Description

Identifies each type of actor for retrieving actors from a scene.

Note:
PxArticulationLink objects are not supported. Use the PxArticulation object to retrieve all its links.
See also:
PxScene::getActors(), PxScene::getNbActors()

Member Enumeration Documentation

enum PxActorTypeFlag::Enum

Enumerator:
eRIGID_STATIC A static rigid body.

See also:
PxRigidStatic
eRIGID_DYNAMIC A dynamic rigid body.

See also:
PxRigidDynamic
PX_DEPRECATED A particle system (deprecated).

A cloth.

A particle fluid (deprecated).

Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4
See also:
PxParticleSystem
Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4
See also:
PxParticleFluid
Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1
See also:
PxCloth
PX_DEPRECATED A particle system (deprecated).

A cloth.

A particle fluid (deprecated).

Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4
See also:
PxParticleSystem
Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4
See also:
PxParticleFluid
Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1
See also:
PxCloth
PX_DEPRECATED A particle system (deprecated).

A cloth.

A particle fluid (deprecated).

Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4
See also:
PxParticleSystem
Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4
See also:
PxParticleFluid
Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1
See also:
PxCloth

The documentation for this struct was generated from the following file:
  • PxScene.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxQueryCache Struct Reference

PxQueryCache Struct Reference
[Physics]

single hit cache for scene queries. More...

#include <PxScene.h>

Collaboration diagram for PxQueryCache:

PxRigidActorPxActorPxBasePxShapePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

PX_INLINE | PxQueryCache ()
constructor sets to default
PX_INLINE | PxQueryCache (PxShape *s, PxU32 findex)
constructor to set properties

Public Attributes

PxShape * shape
Shape to test for intersection first.
PxRigidActor * actor
Actor to which the shape belongs.
PxU32 faceIndex
Triangle index to test first - NOT CURRENTLY SUPPORTED.

Detailed Description

single hit cache for scene queries.

If a cache object is supplied to a scene query, the cached actor/shape pair is checked for intersection first.

Note:
Filters are not executed for the cached shape.

If intersection is found, the hit is treated as blocking.

Typically actor and shape from the last PxHitCallback.block query result is used as a cached actor/shape pair.

Using past touching hits as cache will produce incorrect behavior since the cached hit will always be treated as blocking.

Cache is only used if no touch buffer was provided, for single nearest blocking hit queries and queries using eANY_HIT flag.

if non-zero touch buffer was provided, cache will be ignored

It is the user's responsibility to ensure that the shape and actor are valid, so care must be taken when deleting shapes to invalidate cached references.

The faceIndex field is an additional hint for a mesh or height field which is not currently used.

See also:
PxScene.raycast

Constructor & Destructor Documentation

PX_INLINE PxQueryCache::PxQueryCache ( ) [inline]

constructor sets to default

PX_INLINE PxQueryCache::PxQueryCache | ( | PxShape * | s,
 |  | PxU32 | findex |
 | ) |  |  | [inline]

constructor to set properties

Member Data Documentation

PxRigidActor* PxQueryCache::actor

Actor to which the shape belongs.

PxU32 PxQueryCache::faceIndex

Triangle index to test first - NOT CURRENTLY SUPPORTED.

PxShape* PxQueryCache::shape

Shape to test for intersection first.

The documentation for this struct was generated from the following file:
  • PxScene.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxScene Class Reference

PxScene Class Reference
[Physics]

A scene is a collection of bodies, particle systems and constraints which can interact. More...

#include <PxScene.h>

List of all members.

Public Member Functions

virtual PxReal | getWakeCounterResetValue () const =0
Returns the wake counter reset value.
virtual void | shiftOrigin (const PxVec3 &shift)=0
Shift the scene origin by the specified vector.
virtual PxPvdSceneClient * | getScenePvdClient ()=0
Returns the Pvd client associated with the scene.
Add/Remove Contained Objects
virtual void | addArticulation (PxArticulation &articulation)=0
Adds an articulation to this scene.
virtual void | removeArticulation (PxArticulation &articulation, bool wakeOnLostTouch=true)=0
Removes an articulation from this scene.
virtual void | addActor (PxActor &actor)=0
Adds an actor to this scene.
virtual void | addActors (PxActor *const *actors, PxU32 nbActors)=0
Adds actors to this scene.
virtual void | addActors (const PxPruningStructure &pruningStructure)=0
Adds a pruning structure together with its actors to this scene.
virtual void | removeActor (PxActor &actor, bool wakeOnLostTouch=true)=0
Removes an actor from this scene.
virtual void | removeActors (PxActor *const *actors, PxU32 nbActors, bool wakeOnLostTouch=true)=0
Removes actors from this scene.
virtual void | addAggregate (PxAggregate &aggregate)=0
Adds an aggregate to this scene.
virtual void | removeAggregate (PxAggregate &aggregate, bool wakeOnLostTouch=true)=0
Removes an aggregate from this scene.
virtual void | addCollection (const PxCollection &collection)=0
Adds objects in the collection to this scene.
Contained Object Retrieval
virtual PxU32 | getNbActors (PxActorTypeFlags types) const =0
Retrieve the number of actors of certain types in the scene.
virtual PxU32 | getActors (PxActorTypeFlags types, PxActor **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0
Retrieve an array of all the actors of certain types in the scene.
virtual PX_DEPRECATED const
PxActiveTransform * 		getActiveTransforms (PxU32 &nbTransformsOut, PxClientID client=PX_DEFAULT_CLIENT)=0
Queries the PxScene for a list of the PxActors whose transforms have been updated during the previous simulation step.
virtual PxActor ** | getActiveActors (PxU32 &nbActorsOut, PX_DEPRECATED PxClientID client=PX_DEFAULT_CLIENT)=0
Queries the PxScene for a list of the PxActors whose transforms have been updated during the previous simulation step.
virtual PxU32 | getNbArticulations () const =0
Returns the number of articulations in the scene.
virtual PxU32 | getArticulations (PxArticulation **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0
Retrieve all the articulations in the scene.
virtual PxU32 | getNbConstraints () const =0
Returns the number of constraint shaders in the scene.
virtual PxU32 | getConstraints (PxConstraint **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0
Retrieve all the constraint shaders in the scene.
virtual PxU32 | getNbAggregates () const =0
Returns the number of aggregates in the scene.
virtual PxU32 | getAggregates (PxAggregate **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0
Retrieve all the aggregates in the scene.
Dominance
virtual void | setDominanceGroupPair (PxDominanceGroup group1, PxDominanceGroup group2, const PxDominanceGroupPair &dominance)=0
Specifies the dominance behavior of contacts between two actors with two certain dominance groups.
virtual PxDominanceGroupPair | getDominanceGroupPair (PxDominanceGroup group1, PxDominanceGroup group2) const =0
Samples the dominance matrix.
Dispatcher
virtual PxCpuDispatcher * | getCpuDispatcher () const =0
Return the cpu dispatcher that was set in PxSceneDesc::cpuDispatcher when creating the scene with PxPhysics::createScene.
virtual PxGpuDispatcher * | getGpuDispatcher () const =0
Return the gpu dispatcher that was set in PxSceneDesc::gpuDispatcher when creating the scene with PxPhysics::createScene.
Multiclient
virtual PxClientID | createClient ()=0
Reserves a new client ID.
virtual PX_DEPRECATED void | setClientBehaviorFlags (PxClientID client, PxClientBehaviorFlags clientBehaviorFlags)=0
Sets behavior bits for a client.
virtual PX_DEPRECATED
PxClientBehaviorFlags 		getClientBehaviorFlags (PxClientID client) const =0
Retrieves behavior bits for a client.
Cloth
virtual PX_DEPRECATED void | setClothInterCollisionDistance (PxF32 distance)=0
Sets the minimum separation distance for cloth inter-collision.
virtual PX_DEPRECATED PxF32 | getClothInterCollisionDistance () const =0
Retrieves distance used for cloth inter-collision.
virtual PX_DEPRECATED void | setClothInterCollisionStiffness (PxF32 stiffness)=0
Sets the cloth inter-collision stiffness.
virtual PX_DEPRECATED PxF32 | getClothInterCollisionStiffness () const =0
Retrieves the stiffness coefficient used for cloth inter-collision.
virtual PX_DEPRECATED void | setClothInterCollisionNbIterations (PxU32 nbIterations)=0
Sets the number of inter-collision separation iterations to perform.
virtual PX_DEPRECATED PxU32 | getClothInterCollisionNbIterations () const =0
Retrieves the number of iterations used for cloth inter-collision.
Callbacks
virtual void | setSimulationEventCallback (PxSimulationEventCallback *callback, PX_DEPRECATED PxClientID client=PX_DEFAULT_CLIENT)=0
Sets a user notify object which receives special simulation events when they occur.
virtual PxSimulationEventCallback * | getSimulationEventCallback (PX_DEPRECATED PxClientID client=PX_DEFAULT_CLIENT) const =0
Retrieves the simulationEventCallback pointer set with setSimulationEventCallback().
virtual void | setContactModifyCallback (PxContactModifyCallback *callback)=0
Sets a user callback object, which receives callbacks on all contacts generated for specified actors.
virtual void | setCCDContactModifyCallback (PxCCDContactModifyCallback *callback)=0
Sets a user callback object, which receives callbacks on all CCD contacts generated for specified actors.
virtual PxContactModifyCallback * | getContactModifyCallback () const =0
Retrieves the PxContactModifyCallback pointer set with setContactModifyCallback().
virtual
PxCCDContactModifyCallback * 		getCCDContactModifyCallback () const =0
Retrieves the PxCCDContactModifyCallback pointer set with setContactModifyCallback().
virtual void | setBroadPhaseCallback (PxBroadPhaseCallback *callback, PX_DEPRECATED PxClientID client=PX_DEFAULT_CLIENT)=0
Sets a broad-phase user callback object.
virtual PxBroadPhaseCallback * | getBroadPhaseCallback (PX_DEPRECATED PxClientID client=PX_DEFAULT_CLIENT) const =0
Retrieves the PxBroadPhaseCallback pointer set with setBroadPhaseCallback().
Collision Filtering
virtual void | setFilterShaderData (const void *data, PxU32 dataSize)=0
Sets the shared global filter data which will get passed into the filter shader.
virtual const void * | getFilterShaderData () const =0
Gets the shared global filter data in use for this scene.
virtual PxU32 | getFilterShaderDataSize () const =0
Gets the size of the shared global filter data (PxSceneDesc.filterShaderData).
virtual PxSimulationFilterShader | getFilterShader () const =0
Gets the custom collision filter shader in use for this scene.
virtual
PxSimulationFilterCallback * 		getFilterCallback () const =0
Gets the custom collision filter callback in use for this scene.
virtual void | resetFiltering (PxActor &actor)=0
Marks the object to reset interactions and re-run collision filters in the next simulation step.
virtual void | resetFiltering (PxRigidActor &actor, PxShape *const *shapes, PxU32 shapeCount)=0
Marks the object to reset interactions and re-run collision filters for specified shapes in the next simulation step.
Simulation
virtual void | simulate (PxReal elapsedTime, physx::PxBaseTask *completionTask=NULL, void *scratchMemBlock=0, PxU32 scratchMemBlockSize=0, bool controlSimulation=true)=0
Advances the simulation by an elapsedTime time.
virtual void | advance (physx::PxBaseTask *completionTask=0)=0
Performs dynamics phase of the simulation pipeline.
virtual void | collide (PxReal elapsedTime, physx::PxBaseTask *completionTask=0, void *scratchMemBlock=0, PxU32 scratchMemBlockSize=0, bool controlSimulation=true)=0
Performs collision detection for the scene over elapsedTime.
virtual bool | checkResults (bool block=false)=0
This checks to see if the simulation run has completed.
virtual bool | fetchCollision (bool block=false)=0
virtual bool | fetchResults (bool block=false, PxU32 *errorState=0)=0
virtual bool | fetchResultsStart (const PxContactPairHeader *&contactPairs, PxU32 &nbContactPairs, bool block=false)=0
virtual void | processCallbacks (physx::PxBaseTask *continuation)=0
virtual void | fetchResultsFinish (PxU32 *errorState=0)=0
virtual void | flushSimulation (bool sendPendingReports=false)=0
Clear internal buffers and free memory.
virtual void | setGravity (const PxVec3 &vec)=0
Sets a constant gravity for the entire scene.
virtual PxVec3 | getGravity () const =0
Retrieves the current gravity setting.
virtual void | setBounceThresholdVelocity (const PxReal t)=0
Set the bounce threshold velocity. Collision speeds below this threshold will not cause a bounce.
virtual PxReal | getBounceThresholdVelocity () const =0
Return the bounce threshold velocity.
virtual void | setCCDMaxPasses (PxU32 ccdMaxPasses)=0
Sets the maximum number of CCD passes.
virtual PxU32 | getCCDMaxPasses () const =0
Gets the maximum number of CCD passes.
virtual PxReal | getFrictionOffsetThreshold () const =0
Return the value of frictionOffsetThreshold that was set in PxSceneDesc when creating the scene with PxPhysics::createScene.
virtual void | setFrictionType (PxFrictionType::Enum frictionType)=0
Set the friction model.
virtual PxFrictionType::Enum | getFrictionType () const =0
Return the friction model.
Visualization and Statistics
virtual bool | setVisualizationParameter (PxVisualizationParameter::Enum param, PxReal value)=0
Function that lets you set debug visualization parameters.
virtual PxReal | getVisualizationParameter (PxVisualizationParameter::Enum paramEnum) const =0
Function that lets you query debug visualization parameters.
virtual void | setVisualizationCullingBox (const PxBounds3 &box)=0
Defines a box in world space to which visualization geometry will be (conservatively) culled. Use a non-empty culling box to enable the feature, and an empty culling box to disable it.
virtual PxBounds3 | getVisualizationCullingBox () const =0
Retrieves the visualization culling box.
virtual const PxRenderBuffer & | getRenderBuffer ()=0
Retrieves the render buffer.
virtual void | getSimulationStatistics (PxSimulationStatistics &stats) const =0
Call this method to retrieve statistics for the current simulation step.
Scene Query
virtual
PxPruningStructureType::Enum 		getStaticStructure () const =0
Return the value of PxSceneDesc::staticStructure that was set when creating the scene with PxPhysics::createScene.
virtual
PxPruningStructureType::Enum 		getDynamicStructure () const =0
Return the value of PxSceneDesc::dynamicStructure that was set when creating the scene with PxPhysics::createScene.
virtual void | flushQueryUpdates ()=0
Flushes any changes in the simulation to the scene query representation.
virtual PX_DEPRECATED
PxBatchQuery * 		createBatchQuery (const PxBatchQueryDesc &desc)=0
Creates a BatchQuery object.
virtual PX_DEPRECATED
PxVolumeCache * 		createVolumeCache (PxU32 maxStaticShapes=32, PxU32 maxDynamicShapes=8)=0
Creates a volume cache. See the Guide, "Scene Queries" section, "Volume Caching" subsection for more information.
virtual void | setDynamicTreeRebuildRateHint (PxU32 dynamicTreeRebuildRateHint)=0
Sets the rebuild rate of the dynamic tree pruning structures.
virtual PxU32 | getDynamicTreeRebuildRateHint () const =0
Retrieves the rebuild rate of the dynamic tree pruning structures.
virtual void | forceDynamicTreeRebuild (bool rebuildStaticStructure, bool rebuildDynamicStructure)=0
Forces dynamic trees to be immediately rebuilt.
virtual void | setSceneQueryUpdateMode (PxSceneQueryUpdateMode::Enum updateMode)=0
Sets scene query update mode.
virtual
PxSceneQueryUpdateMode::Enum 		getSceneQueryUpdateMode () const =0
Gets scene query update mode.
virtual void | sceneQueriesUpdate (physx::PxBaseTask *completionTask=NULL, bool controlSimulation=true)=0
Executes scene queries update tasks. This function will refit dirty shapes within the pruner and will execute a task to build a new AABB tree, which is build on a different thread. The new AABB tree is built based on the dynamic tree rebuild hint rate. Once the new tree is ready it will be commited in next fetchQueries call, which must be called after.
virtual bool | checkQueries (bool block=false)=0
This checks to see if the scene queries update has completed.
virtual bool | fetchQueries (bool block=false)=0
virtual bool | raycast (const PxVec3 &origin, const PxVec3 &unitDir, const PxReal distance, PxRaycastCallback &hitCall, PxHitFlags hitFlags=PxHitFlags(PxHitFlag::eDEFAULT), const PxQueryFilterData &filterData=PxQueryFilterData(), PxQueryFilterCallback *filterCall=NULL, const PxQueryCache *cache=NULL) const =0
Performs a raycast against objects in the scene, returns results in a PxRaycastBuffer object or via a custom user callback implementation inheriting from PxRaycastCallback.
virtual bool | sweep (const PxGeometry &geometry, const PxTransform &pose, const PxVec3 &unitDir, const PxReal distance, PxSweepCallback &hitCall, PxHitFlags hitFlags=PxHitFlags(PxHitFlag::eDEFAULT), const PxQueryFilterData &filterData=PxQueryFilterData(), PxQueryFilterCallback *filterCall=NULL, const PxQueryCache *cache=NULL, const PxReal inflation=0.f) const =0
Performs a sweep test against objects in the scene, returns results in a PxSweepBuffer object or via a custom user callback implementation inheriting from PxSweepCallback.
virtual bool | overlap (const PxGeometry &geometry, const PxTransform &pose, PxOverlapCallback &hitCall, const PxQueryFilterData &filterData=PxQueryFilterData(), PxQueryFilterCallback *filterCall=NULL) const =0
Performs an overlap test of a given geometry against objects in the scene, returns results in a PxOverlapBuffer object or via a custom user callback implementation inheriting from PxOverlapCallback.
virtual PxU32 | getSceneQueryStaticTimestamp () const =0
Retrieves the scene's internal scene query timestamp, increased each time a change to the static scene query structure is performed.
Broad-phase
virtual PxBroadPhaseType::Enum | getBroadPhaseType () const =0
Returns broad-phase type.
virtual bool | getBroadPhaseCaps (PxBroadPhaseCaps &caps) const =0
Gets broad-phase caps.
virtual PxU32 | getNbBroadPhaseRegions () const =0
Returns number of regions currently registered in the broad-phase.
virtual PxU32 | getBroadPhaseRegions (PxBroadPhaseRegionInfo *userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0
Gets broad-phase regions.
virtual PxU32 | addBroadPhaseRegion (const PxBroadPhaseRegion &region, bool populateRegion=false)=0
Adds a new broad-phase region.
virtual bool | removeBroadPhaseRegion (PxU32 handle)=0
Removes a new broad-phase region.
Threads and Memory
virtual PxTaskManager * | getTaskManager () const =0
Get the task manager associated with this scene.
virtual void | lockRead (const char *file=NULL, PxU32 line=0)=0
Lock the scene for reading from the calling thread.
virtual void | unlockRead ()=0
Unlock the scene from reading.
virtual void | lockWrite (const char *file=NULL, PxU32 line=0)=0
Lock the scene for writing from this thread.
virtual void | unlockWrite ()=0
Unlock the scene from writing.
virtual void | setNbContactDataBlocks (PxU32 numBlocks)=0
set the cache blocks that can be used during simulate().
virtual PxU32 | getNbContactDataBlocksUsed () const =0
get the number of cache blocks currently used by the scene
virtual PxU32 | getMaxNbContactDataBlocksUsed () const =0
get the maximum number of cache blocks used by the scene
virtual PxU32 | getContactReportStreamBufferSize () const =0
Return the value of PxSceneDesc::contactReportStreamBufferSize that was set when creating the scene with PxPhysics::createScene.
virtual void | setSolverBatchSize (PxU32 solverBatchSize)=0
Sets the number of actors required to spawn a separate rigid body solver thread.
virtual PxU32 | getSolverBatchSize () const =0
Retrieves the number of actors required to spawn a separate rigid body solver thread.

Public Attributes

void * | userData
user can assign this to whatever, usually to create a 1:1 relationship with a user object.

Basics

PxScene ()
virtual | ~PxScene ()
virtual void | release ()=0
Deletes the scene.
virtual void | setFlag (PxSceneFlag::Enum flag, bool value)=0
Sets a scene flag. You can only set one flag at a time.
virtual PxSceneFlags | getFlags () const =0
Get the scene flags.
virtual void | setLimits (const PxSceneLimits &limits)=0
Set new scene limits.
virtual PxSceneLimits | getLimits () const =0
Get current scene limits.
virtual PxPhysics & | getPhysics ()=0
Call this method to retrieve the Physics SDK.
virtual PxU32 | getTimestamp () const =0
Retrieves the scene's internal timestamp, increased each time a simulation step is completed.

Detailed Description

A scene is a collection of bodies, particle systems and constraints which can interact.

The scene simulates the behavior of these objects over time. Several scenes may exist at the same time, but each body, particle system or constraint is specific to a scene -- they may not be shared.

See also:
PxSceneDesc PxPhysics.createScene() release()

Constructor & Destructor Documentation

PxScene::PxScene ( ) [inline, protected]

virtual PxScene::~PxScene ( ) [inline, protected, virtual]

Member Function Documentation

virtual void PxScene::addActor ( PxActor & actor ) [pure virtual]

Adds an actor to this scene.

Note:
If the actor is already assigned to a scene (see PxActor::getScene), the call is ignored and an error is issued.

If the actor has an invalid constraint, in checked builds the call is ignored and an error is issued.

You can not add individual articulation links (see PxArticulationLink) to the scene. Use addArticulation() instead.

If the actor is a PxRigidActor then each assigned PxConstraint object will get added to the scene automatically if it connects to another actor that is part of the scene already.

Parameters:
[in] actor Actor to add to scene.
See also:
PxActor, PxConstraint::isValid()

virtual void PxScene::addActors ( const PxPruningStructure & pruningStructure ) [pure virtual]

Adds a pruning structure together with its actors to this scene.

Note:
If an actor in the pruning structure contains an invalid constraint, in checked builds the call is ignored and an error is issued.

For all actors in the pruning structure each assigned PxConstraint object will get added to the scene automatically if it connects to another actor that is part of the scene already.

This method is optimized for high performance, and does not support buffering. It may not be called during simulation.

Merging a PxPruningStructure into an active scene query optimization AABB tree might unbalance the tree. A typical use case for PxPruningStructure is a large world scenario where blocks of closely positioned actors get streamed in. The merge process finds the best node in the active scene query optimization AABB tree and inserts the PxPruningStructure. Therefore using PxPruningStructure for actors scattered throughout the world will result in an unbalanced tree.

Parameters:
[in] pruningStructure Pruning structure for a set of actors.
See also:
PxPhysics::createPruningStructure, PxPruningStructure

virtual void PxScene::addActors | ( | PxActor *const * | actors,
 |  | PxU32 | nbActors |
 | ) |  |  | [pure virtual]

Adds actors to this scene.

Note:
If one of the actors is already assigned to a scene (see PxActor::getScene), the call is ignored and an error is issued.

You can not add individual articulation links (see PxArticulationLink) to the scene. Use addArticulation() instead.

If an actor in the array contains an invalid constraint, in checked builds the call is ignored and an error is issued.

If an actor in the array is a PxRigidActor then each assigned PxConstraint object will get added to the scene automatically if it connects to another actor that is part of the scene already.

this method is optimized for high performance, and does not support buffering. It may not be called during simulation.

Parameters:
[in] | actors | Array of actors to add to scene.
[in] | nbActors | Number of actors in the array.
See also:
PxActor, PxConstraint::isValid()

virtual void PxScene::addAggregate ( PxAggregate & aggregate ) [pure virtual]

Adds an aggregate to this scene.

Note:
If the aggregate is already assigned to a scene (see PxAggregate::getScene), the call is ignored and an error is issued.

If the aggregate contains an actor with an invalid constraint, in checked builds the call is ignored and an error is issued.

If the aggregate already contains actors, those actors are added to the scene as well.

Parameters:
[in] aggregate Aggregate to add to scene.
See also:
PxAggregate, PxConstraint::isValid()

virtual void PxScene::addArticulation ( PxArticulation & articulation ) [pure virtual]

Adds an articulation to this scene.

Note:
If the articulation is already assigned to a scene (see PxArticulation::getScene), the call is ignored and an error is issued.
Parameters:
[in] articulation Articulation to add to scene. See PxArticulation
See also:
PxArticulation

virtual PxU32 PxScene::addBroadPhaseRegion | ( | const PxBroadPhaseRegion & | region,
 |  | bool | populateRegion = false |
 | ) |  |  | [pure virtual]

Adds a new broad-phase region.

Note that by default, objects already existing in the SDK that might touch this region will not be automatically added to the region. In other words the newly created region will be empty, and will only be populated with new objects when they are added to the simulation, or with already existing objects when they are updated.

It is nonetheless possible to override this default behavior and let the SDK populate the new region automatically with already existing objects overlapping the incoming region. This has a cost though, and it should only be used when the game can not guarantee that all objects within the new region will be added to the simulation after the region itself.

Parameters:
[in] | region | User-provided region data
[in] | populateRegion | Automatically populate new region with already existing objects overlapping it
Returns:
Handle for newly created region, or 0xffffffff in case of failure.

virtual void PxScene::addCollection ( const PxCollection & collection ) [pure virtual]

Adds objects in the collection to this scene.

This function adds the following types of objects to this scene: PxActor, PxAggregate, PxArticulation. This method is typically used after deserializing the collection in order to populate the scene with deserialized objects.

Note:
If the collection contains an actor with an invalid constraint, in checked builds the call is ignored and an error is issued.
Parameters:
[in] collection Objects to add to this scene. See PxCollection
See also:
PxCollection, PxConstraint::isValid()

virtual void PxScene::advance ( physx::PxBaseTask * completionTask = 0 ) [pure virtual]

Performs dynamics phase of the simulation pipeline.

Note:
Calls to advance() should follow calls to fetchCollision(). An error message will be issued if this sequence is not followed.
Parameters:
[in] completionTask if non-NULL, this task will have its refcount incremented in advance(), then decremented when the scene is ready to have fetchResults called. So the task will not run until the application also calls removeReference().

virtual bool PxScene::checkQueries ( bool block = false ) [pure virtual]

This checks to see if the scene queries update has completed.

This does not cause the data available for reading to be updated with the results of the scene queries update, it is simply a status check. The bool will allow it to either return immediately or block waiting for the condition to be met so that it can return true

Parameters:
[in] block When set to true will block until the condition is met.
Returns:
True if the results are available.
See also:
sceneQueriesUpdate() fetchResults()

virtual bool PxScene::checkResults ( bool block = false ) [pure virtual]

This checks to see if the simulation run has completed.

This does not cause the data available for reading to be updated with the results of the simulation, it is simply a status check. The bool will allow it to either return immediately or block waiting for the condition to be met so that it can return true

Parameters:
[in] block When set to true will block until the condition is met.
Returns:
True if the results are available.
See also:
simulate() fetchResults()

virtual void PxScene::collide | ( | PxReal | elapsedTime,
 |  | physx::PxBaseTask * | completionTask = 0,
 |  | void * | scratchMemBlock = 0,
 |  | PxU32 | scratchMemBlockSize = 0,
 |  | bool | controlSimulation = true |
 | ) |  |  | [pure virtual]

Performs collision detection for the scene over elapsedTime.

Note:
Calls to collide() should be the first method called to simulate a frame.
Parameters:
[in] | elapsedTime | Amount of time to advance simulation by. The parameter has to be larger than 0, else the resulting behavior will be undefined. Range: (0, PX_MAX_F32)
[in] | completionTask | if non-NULL, this task will have its refcount incremented in collide(), then decremented when the scene is ready to have fetchResults called. So the task will not run until the application also calls removeReference().
[in] | scratchMemBlock | a memory region for physx to use for temporary data during simulation. This block may be reused by the application after fetchResults returns. Must be aligned on a 16-byte boundary
[in] | scratchMemBlockSize | the size of the scratch memory block. Must be a multiple of 16K.
[in] | controlSimulation | if true, the scene controls its PxTaskManager simulation state. Leave true unless the application is calling the PxTaskManager start/stopSimulation() methods itself.

virtual PX_DEPRECATED PxBatchQuery* PxScene::createBatchQuery ( const PxBatchQueryDesc & desc ) [pure virtual]

Creates a BatchQuery object.

Scene queries like raycasts, overlap tests and sweeps are batched in this object and are then executed at once. See PxBatchQuery.

Deprecated:
The batched query feature has been deprecated in PhysX version 3.4
Parameters:
[in] desc The descriptor of scene query. Scene Queries need to register a callback. See PxBatchQueryDesc.
See also:
PxBatchQuery PxBatchQueryDesc

virtual PxClientID PxScene::createClient ( ) [pure virtual]

Reserves a new client ID.

PX_DEFAULT_CLIENT is always available as the default clientID. Additional clients are returned by this function. Clients cannot be released once created. An error is reported when more than a supported number of clients (currently 128) are created.

See also:
PxClientBehaviorFlag PxClientID setClientBehaviorFlags() PxActor::setClientBehaviorFlags()

virtual PX_DEPRECATED PxVolumeCache* PxScene::createVolumeCache | ( | PxU32 | maxStaticShapes = 32,
 |  | PxU32 | maxDynamicShapes = 8 |
 | ) |  |  | [pure virtual]

Creates a volume cache. See the Guide, "Scene Queries" section, "Volume Caching" subsection for more information.

Deprecated:
The volume cache feature has been deprecated in PhysX version 3.4
See also:
PxVolumeCache PxVolumeCache.release()

virtual bool PxScene::fetchCollision ( bool block = false ) [pure virtual]

This method must be called after collide() and before advance(). It will wait for the collision phase to finish. If the user makes an illegal simulation call, the SDK will issue an error message.

Parameters:
[in] block When set to true will block until the condition is met, which is collision must finish running.

virtual bool PxScene::fetchQueries ( bool block = false ) [pure virtual]

This method must be called after sceneQueriesUpdate. It will wait for the scene queries update to finish. If the user makes an illegal scene queries update call, the SDK will issue an error message.

If a new AABB tree build finished, then during fetchQueries the current tree within the pruning structure is swapped with the new tree.

Parameters:
[in] block When set to true will block until the condition is met, which is tree built task must finish running.

virtual bool PxScene::fetchResults | ( | bool | block = false,
 |  | PxU32 * | errorState = 0 |
 | ) |  |  | [pure virtual]

This is the big brother to checkResults() it basically does the following:

    if ( checkResults(block) )
    {
        fire appropriate callbacks
        swap buffers
        return true
    }
    else
        return false

Parameters:
[in] | block | When set to true will block until results are available.
[out] | errorState | Used to retrieve hardware error codes. A non zero value indicates an error.
Returns:
True if the results have been fetched.
See also:
simulate() checkResults()

virtual void PxScene::fetchResultsFinish ( PxU32 * errorState = 0 ) [pure virtual]

This call performs the second section of fetchResults: the buffer swap and subsequent callbacks.

It must be called after fetchResultsStart() returns and contact reports have been processed.

Note that once fetchResultsFinish() has been called, the contact streams returned in fetchResultsStart() will be invalid.

Parameters:
[out] errorState Used to retrieve hardware error codes. A non zero value indicates an error.
See also:
simulate() checkResults() fetchResults() fetchResultsStart()

virtual bool PxScene::fetchResultsStart | ( | const PxContactPairHeader *& | contactPairs,
 |  | PxU32 & | nbContactPairs,
 |  | bool | block = false |
 | ) |  |  | [pure virtual]

This call performs the first section of fetchResults (callbacks fired before swapBuffers), and returns a pointer to a to the contact streams output by the simulation. It can be used to process contact pairs in parallel, which is often a limiting factor for fetchResults() performance.

After calling this function and processing the contact streams, call fetchResultsFinish(). Note that writes to the simulation are not permitted between the start of fetchResultsStart() and the end of fetchResultsFinish().

Parameters:
[in] | block | When set to true will block until results are available.
[out] | contactPairs | an array of pointers to contact pair headers
[out] | nbContactPairs | the number of contact pairs
Returns:
True if the results have been fetched.
See also:
simulate() checkResults() fetchResults() fetchResultsFinish()

virtual void PxScene::flushQueryUpdates ( ) [pure virtual]

Flushes any changes in the simulation to the scene query representation.

This method updates the state of the scene query representation to match changes in the scene state.

By default, these changes are buffered until the next query is submitted. Calling this function will not change the results from scene queries, but can be used to ensure that a query will not perform update work in the course of its execution.

A thread performing updates will hold a write lock on the query structure, and thus stall other querying threads. In multithread scenarios it can be useful to explicitly schedule the period where this lock may be held for a significant period, so that subsequent queries issued from multiple threads will not block.

Note that while queries will block during the execution of this method, other read operations on the scene will not.

virtual void PxScene::flushSimulation ( bool sendPendingReports = false ) [pure virtual]

Clear internal buffers and free memory.

This method can be used to clear buffers and free internal memory without having to destroy the scene. Can be useful if the physics data gets streamed in and a checkpoint with a clean state should be created.

Note:
It is not allowed to call this method while the simulation is running. The call will fail.
Parameters:
[in] sendPendingReports When set to true pending reports will be sent out before the buffers get cleaned up (for instance lost touch contact/trigger reports due to deleted objects).

virtual void PxScene::forceDynamicTreeRebuild | ( | bool | rebuildStaticStructure,
 |  | bool | rebuildDynamicStructure |
 | ) |  |  | [pure virtual]

Forces dynamic trees to be immediately rebuilt.

Parameters:
[in] | rebuildStaticStructure | True to rebuild the dynamic tree containing static objects
[in] | rebuildDynamicStructure | True to rebuild the dynamic tree containing dynamic objects
See also:
PxSceneDesc.dynamicTreeRebuildRateHint setDynamicTreeRebuildRateHint() getDynamicTreeRebuildRateHint()

virtual PxActor** PxScene::getActiveActors | ( | PxU32 & | nbActorsOut,
 |  | PX_DEPRECATED PxClientID | client = PX_DEFAULT_CLIENT |
 | ) |  |  | [pure virtual]

Queries the PxScene for a list of the PxActors whose transforms have been updated during the previous simulation step.

Note:
PxSceneFlag::eENABLE_ACTIVE_ACTORS must be set. Multiclient behavior: the system returns only the list of active actors owned by the specified client.

Do not use this method while the simulation is running. Calls to this method while the simulation is running will be ignored and NULL will be returned.

Parameters:
[out] | nbActorsOut | The number of actors returned.
[in] | client | The client whose actors the caller is interested in.
Deprecated:
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4
Returns:
A pointer to the list of active PxActors generated during the last call to fetchResults().
See also:
PxActor

virtual PX_DEPRECATED const PxActiveTransform* PxScene::getActiveTransforms | ( | PxU32 & | nbTransformsOut,
 |  | PxClientID | client = PX_DEFAULT_CLIENT |
 | ) |  |  | [pure virtual]

Queries the PxScene for a list of the PxActors whose transforms have been updated during the previous simulation step.

Note:
PxSceneFlag::eENABLE_ACTIVETRANSFORMS must be set. Multiclient behavior: Active transforms return only the list of active actors owned by the specified client.

Do not use this method while the simulation is running. Calls to this method while the simulation is running will be ignored and NULL will be returned.

Parameters:
[out] | nbTransformsOut | The number of transforms returned.
[in] | client | The client whose actors the caller is interested in.
Returns:
A pointer to the list of PxActiveTransforms generated during the last call to fetchResults().
See also:
PxActiveTransform

virtual PxU32 PxScene::getActors | ( | PxActorTypeFlags | types,
 |  | PxActor ** | userBuffer,
 |  | PxU32 | bufferSize,
 |  | PxU32 | startIndex = 0 |
 | ) |  |  | const [pure virtual]

Retrieve an array of all the actors of certain types in the scene.

Parameters:
[in] | types | Combination of actor types to retrieve.
[out] | userBuffer | The buffer to receive actor pointers.
[in] | bufferSize | Size of provided user buffer.
[in] | startIndex | Index of first actor pointer to be retrieved
Returns:
Number of actors written to the buffer.
See also:
getNbActors()

virtual PxU32 PxScene::getAggregates | ( | PxAggregate ** | userBuffer,
 |  | PxU32 | bufferSize,
 |  | PxU32 | startIndex = 0 |
 | ) |  |  | const [pure virtual]

Retrieve all the aggregates in the scene.

Parameters:
[out] | userBuffer | The buffer to receive aggregates pointers.
[in] | bufferSize | Size of provided user buffer.
[in] | startIndex | Index of first aggregate pointer to be retrieved
Returns:
Number of aggregates written to the buffer.
See also:
getNbAggregates()

virtual PxU32 PxScene::getArticulations | ( | PxArticulation ** | userBuffer,
 |  | PxU32 | bufferSize,
 |  | PxU32 | startIndex = 0 |
 | ) |  |  | const [pure virtual]

Retrieve all the articulations in the scene.

Parameters:
[out] | userBuffer | The buffer to receive articulations pointers.
[in] | bufferSize | Size of provided user buffer.
[in] | startIndex | Index of first articulations pointer to be retrieved
Returns:
Number of articulations written to the buffer.
See also:
getNbArticulations()

virtual PxReal PxScene::getBounceThresholdVelocity ( ) const [pure virtual]

Return the bounce threshold velocity.

See also:
PxSceneDesc.bounceThresholdVelocity, setBounceThresholdVelocity

virtual PxBroadPhaseCallback* PxScene::getBroadPhaseCallback ( PX_DEPRECATED PxClientID client = PX_DEFAULT_CLIENT ) const [pure virtual]

Retrieves the PxBroadPhaseCallback pointer set with setBroadPhaseCallback().

Parameters:
[in] client The client whose callback object is to be returned.
Returns:
The current broad-phase callback pointer. See PxBroadPhaseCallback.
Deprecated:
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4
See also:
PxBroadPhaseCallback setBroadPhaseCallback()

virtual bool PxScene::getBroadPhaseCaps ( PxBroadPhaseCaps & caps ) const [pure virtual]

Gets broad-phase caps.

Parameters:
[out] caps Broad-phase caps
Returns:
True if success

virtual PxU32 PxScene::getBroadPhaseRegions | ( | PxBroadPhaseRegionInfo * | userBuffer,
 |  | PxU32 | bufferSize,
 |  | PxU32 | startIndex = 0 |
 | ) |  |  | const [pure virtual]

Gets broad-phase regions.

Parameters:
[out] | userBuffer | Returned broad-phase regions
[in] | bufferSize | Size of userBuffer
[in] | startIndex | Index of first desired region, in [0 ; getNbRegions()[
Returns:
Number of written out regions

virtual PxBroadPhaseType::Enum PxScene::getBroadPhaseType ( ) const [pure virtual]

Returns broad-phase type.

Returns:
Broad-phase type

virtual PxCCDContactModifyCallback* PxScene::getCCDContactModifyCallback ( ) const [pure virtual]

Retrieves the PxCCDContactModifyCallback pointer set with setContactModifyCallback().

Returns:
The current user contact modify callback pointer. See PxContactModifyCallback.
See also:
PxContactModifyCallback setContactModifyCallback()

virtual PxU32 PxScene::getCCDMaxPasses ( ) const [pure virtual]

Gets the maximum number of CCD passes.

Returns:
The maximum number of CCD passes.
See also:
PxSceneDesc::ccdMaxPasses setCCDMaxPasses()

virtual PX_DEPRECATED PxClientBehaviorFlags PxScene::getClientBehaviorFlags ( PxClientID client ) const [pure virtual]

Retrieves behavior bits for a client.

Deprecated:
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4
See also:
PxClientBehaviorFlag PxClientID setClientBehaviorFlags() createClient()

virtual PX_DEPRECATED PxF32 PxScene::getClothInterCollisionDistance ( ) const [pure virtual]

Retrieves distance used for cloth inter-collision.

Returns:
The distance used for cloth inter-collision.
Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

virtual PX_DEPRECATED PxU32 PxScene::getClothInterCollisionNbIterations ( ) const [pure virtual]

Retrieves the number of iterations used for cloth inter-collision.

Returns:
The number of iterations used for cloth inter-collision.
Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

virtual PX_DEPRECATED PxF32 PxScene::getClothInterCollisionStiffness ( ) const [pure virtual]

Retrieves the stiffness coefficient used for cloth inter-collision.

Returns:
The stiffness coefficient used for cloth inter-collision.
Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

virtual PxU32 PxScene::getConstraints | ( | PxConstraint ** | userBuffer,
 |  | PxU32 | bufferSize,
 |  | PxU32 | startIndex = 0 |
 | ) |  |  | const [pure virtual]

Retrieve all the constraint shaders in the scene.

Parameters:
[out] | userBuffer | The buffer to receive constraint shader pointers.
[in] | bufferSize | Size of provided user buffer.
[in] | startIndex | Index of first constraint pointer to be retrieved
Returns:
Number of constraint shaders written to the buffer.
See also:
getNbConstraints()

virtual PxContactModifyCallback* PxScene::getContactModifyCallback ( ) const [pure virtual]

Retrieves the PxContactModifyCallback pointer set with setContactModifyCallback().

Returns:
The current user contact modify callback pointer. See PxContactModifyCallback.
See also:
PxContactModifyCallback setContactModifyCallback()

virtual PxU32 PxScene::getContactReportStreamBufferSize ( ) const [pure virtual]

Return the value of PxSceneDesc::contactReportStreamBufferSize that was set when creating the scene with PxPhysics::createScene.

See also:
PxSceneDesc::contactReportStreamBufferSize, PxPhysics::createScene

virtual PxCpuDispatcher* PxScene::getCpuDispatcher ( ) const [pure virtual]

Return the cpu dispatcher that was set in PxSceneDesc::cpuDispatcher when creating the scene with PxPhysics::createScene.

See also:
PxSceneDesc::cpuDispatcher, PxPhysics::createScene

virtual PxDominanceGroupPair PxScene::getDominanceGroupPair | ( | PxDominanceGroup | group1,
 |  | PxDominanceGroup | group2 |
 | ) |  |  | const [pure virtual]

Samples the dominance matrix.

See also:
setDominanceGroupPair() PxDominanceGroup PxDominanceGroupPair PxActor::setDominanceGroup() PxActor::getDominanceGroup()

virtual PxPruningStructureType::Enum PxScene::getDynamicStructure ( ) const [pure virtual]

Return the value of PxSceneDesc::dynamicStructure that was set when creating the scene with PxPhysics::createScene.

See also:
PxSceneDesc::dynamicStructure, PxPhysics::createScene

virtual PxU32 PxScene::getDynamicTreeRebuildRateHint ( ) const [pure virtual]

Retrieves the rebuild rate of the dynamic tree pruning structures.

Returns:
The rebuild rate of the dynamic tree pruning structures.
See also:
PxSceneDesc.dynamicTreeRebuildRateHint setDynamicTreeRebuildRateHint() forceDynamicTreeRebuild()

virtual PxSimulationFilterCallback* PxScene::getFilterCallback ( ) const [pure virtual]

Gets the custom collision filter callback in use for this scene.

Returns:
Filter callback class that defines the collision pair filtering.
See also:
PxSceneDesc.filterCallback PxSimulationFilterCallback

virtual PxSimulationFilterShader PxScene::getFilterShader ( ) const [pure virtual]

Gets the custom collision filter shader in use for this scene.

Returns:
Filter shader class that defines the collision pair filtering.
See also:
PxSceneDesc.filterShader PxSimulationFilterShader

virtual const void* PxScene::getFilterShaderData ( ) const [pure virtual]

Gets the shared global filter data in use for this scene.

Note:
The reference points to a copy of the original filter data specified in PxSceneDesc.filterShaderData or provided by setFilterShaderData().
Returns:
Shared filter data for filter shader.
See also:
getFilterShaderDataSize() setFilterShaderData() PxSceneDesc.filterShaderData PxSimulationFilterShader

virtual PxU32 PxScene::getFilterShaderDataSize ( ) const [pure virtual]

Gets the size of the shared global filter data (PxSceneDesc.filterShaderData).

Returns:
Size of shared filter data [bytes].
See also:
getFilterShaderData() PxSceneDesc.filterShaderDataSize PxSimulationFilterShader

virtual PxSceneFlags PxScene::getFlags ( ) const [pure virtual]

Get the scene flags.

Returns:
The scene flags. See PxSceneFlag
See also:
PxSceneFlag

virtual PxReal PxScene::getFrictionOffsetThreshold ( ) const [pure virtual]

Return the value of frictionOffsetThreshold that was set in PxSceneDesc when creating the scene with PxPhysics::createScene.

See also:
PxSceneDesc::frictionOffsetThreshold, PxPhysics::createScene

virtual PxFrictionType::Enum PxScene::getFrictionType ( ) const [pure virtual]

Return the friction model.

See also:
PxFrictionType, PxSceneDesc::frictionType

virtual PxGpuDispatcher* PxScene::getGpuDispatcher ( ) const [pure virtual]

Return the gpu dispatcher that was set in PxSceneDesc::gpuDispatcher when creating the scene with PxPhysics::createScene.

Platform specific: Applies to PC GPU only.

See also:
PxSceneDesc::gpuDispatcher, PxPhysics::createScene

virtual PxVec3 PxScene::getGravity ( ) const [pure virtual]

Retrieves the current gravity setting.

Returns:
The current gravity for the scene.
See also:
setGravity() PxSceneDesc.gravity

virtual PxSceneLimits PxScene::getLimits ( ) const [pure virtual]

Get current scene limits.

Returns:
Current scene limits.
See also:
PxSceneLimits

virtual PxU32 PxScene::getMaxNbContactDataBlocksUsed ( ) const [pure virtual]

get the maximum number of cache blocks used by the scene

This function may not be called while the scene is simulating

Returns:
the maximum number of cache blocks everused by the scene
See also:
PxSceneDesc.nbContactDataBlocks PxSceneDesc.maxNbContactDataBlocks flushSimulation() setNbContactDataBlocks() getNbContactDataBlocksUsed()

virtual PxU32 PxScene::getNbActors ( PxActorTypeFlags types ) const [pure virtual]

Retrieve the number of actors of certain types in the scene.

Parameters:
[in] types Combination of actor types.
Returns:
the number of actors.
See also:
getActors()

virtual PxU32 PxScene::getNbAggregates ( ) const [pure virtual]

Returns the number of aggregates in the scene.

Returns:
the number of aggregates in this scene.
See also:
getAggregates()

virtual PxU32 PxScene::getNbArticulations ( ) const [pure virtual]

Returns the number of articulations in the scene.

Returns:
the number of articulations in this scene.
See also:
getArticulations()

virtual PxU32 PxScene::getNbBroadPhaseRegions ( ) const [pure virtual]

Returns number of regions currently registered in the broad-phase.

Returns:
Number of regions

virtual PxU32 PxScene::getNbConstraints ( ) const [pure virtual]

Returns the number of constraint shaders in the scene.

Returns:
the number of constraint shaders in this scene.
See also:
getConstraints()

virtual PxU32 PxScene::getNbContactDataBlocksUsed ( ) const [pure virtual]

get the number of cache blocks currently used by the scene

This function may not be called while the scene is simulating

Returns:
the number of cache blocks currently used by the scene
See also:
PxSceneDesc.nbContactDataBlocks PxSceneDesc.maxNbContactDataBlocks flushSimulation() setNbContactDataBlocks() getMaxNbContactDataBlocksUsed()

virtual PxPhysics& PxScene::getPhysics ( ) [pure virtual]

Call this method to retrieve the Physics SDK.

Returns:
The physics SDK this scene is associated with.
See also:
PxPhysics

virtual const PxRenderBuffer& PxScene::getRenderBuffer ( ) [pure virtual]

Retrieves the render buffer.

This will contain the results of any active visualization for this scene.

Note:
Do not use this method while the simulation is running. Calls to this method while result in undefined behaviour.
Returns:
The render buffer.
See also:
PxRenderBuffer

virtual PxPvdSceneClient* PxScene::getScenePvdClient ( ) [pure virtual]

Returns the Pvd client associated with the scene.

Returns:
the client, NULL if no PVD supported.

virtual PxU32 PxScene::getSceneQueryStaticTimestamp ( ) const [pure virtual]

Retrieves the scene's internal scene query timestamp, increased each time a change to the static scene query structure is performed.

Returns:
scene query static timestamp

virtual PxSceneQueryUpdateMode::Enum PxScene::getSceneQueryUpdateMode ( ) const [pure virtual]

Gets scene query update mode.

Returns:
Current scene query update mode.
See also:
PxSceneQueryUpdateMode::Enum

virtual PxSimulationEventCallback* PxScene::getSimulationEventCallback ( PX_DEPRECATED PxClientID client = PX_DEFAULT_CLIENT ) const [pure virtual]

Retrieves the simulationEventCallback pointer set with setSimulationEventCallback().

Parameters:
[in] client The client whose callback object is to be returned.
Returns:
The current user notify pointer. See PxSimulationEventCallback.
Deprecated:
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4
See also:
PxSimulationEventCallback setSimulationEventCallback()

virtual void PxScene::getSimulationStatistics ( PxSimulationStatistics & stats ) const [pure virtual]

Call this method to retrieve statistics for the current simulation step.

Note:
Do not use this method while the simulation is running. Calls to this method while the simulation is running will be ignored.
Parameters:
[out] stats Used to retrieve statistics for the current simulation step.
See also:
PxSimulationStatistics

virtual PxU32 PxScene::getSolverBatchSize ( ) const [pure virtual]

Retrieves the number of actors required to spawn a separate rigid body solver thread.

Returns:
Current number of actors required to spawn a separate rigid body solver thread.
See also:
PxSceneDesc.solverBatchSize setSolverBatchSize()

virtual PxPruningStructureType::Enum PxScene::getStaticStructure ( ) const [pure virtual]

Return the value of PxSceneDesc::staticStructure that was set when creating the scene with PxPhysics::createScene.

See also:
PxSceneDesc::staticStructure, PxPhysics::createScene

virtual PxTaskManager* PxScene::getTaskManager ( ) const [pure virtual]

Get the task manager associated with this scene.

Returns:
the task manager associated with the scene

virtual PxU32 PxScene::getTimestamp ( ) const [pure virtual]

Retrieves the scene's internal timestamp, increased each time a simulation step is completed.

Returns:
scene timestamp

virtual PxBounds3 PxScene::getVisualizationCullingBox ( ) const [pure virtual]

Retrieves the visualization culling box.

Returns:
the box to which the geometry will be culled.
See also:
setVisualizationParameter setVisualizationCullingBox

virtual PxReal PxScene::getVisualizationParameter ( PxVisualizationParameter::Enum paramEnum ) const [pure virtual]

Function that lets you query debug visualization parameters.

Parameters:
[in] paramEnum The Parameter to retrieve.
Returns:
The value of the parameter.
See also:
setVisualizationParameter PxVisualizationParameter

virtual PxReal PxScene::getWakeCounterResetValue ( ) const [pure virtual]

Returns the wake counter reset value.

Returns:
Wake counter reset value
See also:
PxSceneDesc.wakeCounterResetValue

virtual void PxScene::lockRead | ( | const char * | file = NULL,
 |  | PxU32 | line = 0 |
 | ) |  |  | [pure virtual]

Lock the scene for reading from the calling thread.

When the PxSceneFlag::eREQUIRE_RW_LOCK flag is enabled lockRead() must be called before any read calls are made on the scene.

Multiple threads may read at the same time, no threads may read while a thread is writing. If a call to lockRead() is made while another thread is holding a write lock then the calling thread will be blocked until the writing thread calls unlockWrite().

Note:
Lock upgrading is *not* supported, that means it is an error to call lockRead() followed by lockWrite().

Recursive locking is supported but each lockRead() call must be paired with an unlockRead().

Parameters:
file | String representing the calling file, for debug purposes
line | The source file line number, for debug purposes

virtual void PxScene::lockWrite | ( | const char * | file = NULL,
 |  | PxU32 | line = 0 |
 | ) |  |  | [pure virtual]

Lock the scene for writing from this thread.

When the PxSceneFlag::eREQUIRE_RW_LOCK flag is enabled lockWrite() must be called before any write calls are made on the scene.

Only one thread may write at a time and no threads may read while a thread is writing. If a call to lockWrite() is made and there are other threads reading then the calling thread will be blocked until the readers complete.

Writers have priority. If a thread is blocked waiting to write then subsequent calls to lockRead() from other threads will be blocked until the writer completes.

Note:
If multiple threads are waiting to write then the thread that is first granted access depends on OS scheduling.

Recursive locking is supported but each lockWrite() call must be paired with an unlockWrite().

If a thread has already locked the scene for writing then it may call lockRead().

Parameters:
file | String representing the calling file, for debug purposes
line | The source file line number, for debug purposes

virtual bool PxScene::overlap | ( | const PxGeometry & | geometry,
 |  | const PxTransform & | pose,
 |  | PxOverlapCallback & | hitCall,
 |  | const PxQueryFilterData & | filterData = PxQueryFilterData(),
 |  | PxQueryFilterCallback * | filterCall = NULL |
 | ) |  |  | const [pure virtual]

Performs an overlap test of a given geometry against objects in the scene, returns results in a PxOverlapBuffer object or via a custom user callback implementation inheriting from PxOverlapCallback.

Note:
Filtering: returning eBLOCK from user filter for overlap queries will cause a warning (see PxQueryHitType).
Parameters:
[in] | geometry | Geometry of object to check for overlap (supported types are: box, sphere, capsule, convex).
[in] | pose | Pose of the object.
[out] | hitCall | Overlap hit buffer or callback object used to report overlap hits.
[in] | filterData | Filtering data and simple logic. See PxQueryFilterData PxQueryFilterCallback
[in] | filterCall | Custom filtering logic (optional). Only used if the corresponding PxQueryFlag flags are set. If NULL, all hits are assumed to overlap.
Returns:
True if any touching or blocking hits were found or any hit was found in case PxQueryFlag::eANY_HIT was specified.
Note:
eBLOCK should not be returned from user filters for overlap(). Doing so will result in undefined behavior, and a warning will be issued.

If the PxQueryFlag::eNO_BLOCK flag is set, the eBLOCK will instead be automatically converted to an eTOUCH and the warning suppressed.

See also:
PxOverlapCallback PxOverlapBuffer PxHitFlags PxQueryFilterData PxQueryFilterCallback

virtual void PxScene::processCallbacks ( physx::PxBaseTask * continuation ) [pure virtual]

This call processes all event callbacks in parallel. It takes a continuation task, which will be executed once all callbacks have been processed.

This is a utility function to make it easier to process callbacks in parallel using the PhysX task system. It can only be used in conjunction with fetchResultsStart(...) and fetchResultsFinish(...)

Parameters:
[in] continuation The task that will be executed once all callbacks have been processed.

virtual bool PxScene::raycast | ( | const PxVec3 & | origin,
 |  | const PxVec3 & | unitDir,
 |  | const PxReal | distance,
 |  | PxRaycastCallback & | hitCall,
 |  | PxHitFlags | hitFlags = PxHitFlags(PxHitFlag::eDEFAULT),
 |  | const PxQueryFilterData & | filterData = PxQueryFilterData(),
 |  | PxQueryFilterCallback * | filterCall = NULL,
 |  | const PxQueryCache * | cache = NULL |
 | ) |  |  | const [pure virtual]

Performs a raycast against objects in the scene, returns results in a PxRaycastBuffer object or via a custom user callback implementation inheriting from PxRaycastCallback.

Note:
Touching hits are not ordered.

Shooting a ray from within an object leads to different results depending on the shape type. Please check the details in user guide article SceneQuery. User can ignore such objects by employing one of the provided filter mechanisms.

Parameters:
[in] | origin | Origin of the ray.
[in] | unitDir | Normalized direction of the ray.
[in] | distance | Length of the ray. Has to be in the [0, inf) range.
[out] | hitCall | Raycast hit buffer or callback object used to report raycast hits.
[in] | hitFlags | Specifies which properties per hit should be computed and returned via the hit callback.
[in] | filterData | Filtering data passed to the filer shader. See PxQueryFilterData PxBatchQueryPreFilterShader, PxBatchQueryPostFilterShader
[in] | filterCall | Custom filtering logic (optional). Only used if the corresponding PxQueryFlag flags are set. If NULL, all hits are assumed to be blocking.
[in] | cache | Cached hit shape (optional). Ray is tested against cached shape first. If no hit is found the ray gets queried against the scene. Note: Filtering is not executed for a cached shape if supplied; instead, if a hit is found, it is assumed to be a blocking hit. Note: Using past touching hits as cache will produce incorrect behavior since the cached hit will always be treated as blocking.
Returns:
True if any touching or blocking hits were found or any hit was found in case PxQueryFlag::eANY_HIT was specified.
See also:
PxRaycastCallback PxRaycastBuffer PxQueryFilterData PxQueryFilterCallback PxQueryCache PxRaycastHit PxQueryFlag PxQueryFlag::eANY_HIT

virtual void PxScene::release ( ) [pure virtual]

Deletes the scene.

Removes any actors, particle systems, and constraint shaders from this scene (if the user hasn't already done so).

Be sure to not keep a reference to this object after calling release. Avoid release calls while the scene is simulating (in between simulate() and fetchResults() calls).

See also:
PxPhysics.createScene()

virtual void PxScene::removeActor | ( | PxActor & | actor,
 |  | bool | wakeOnLostTouch = true |
 | ) |  |  | [pure virtual]

Removes an actor from this scene.

Note:
If the actor is not part of this scene (see PxActor::getScene), the call is ignored and an error is issued.

You can not remove individual articulation links (see PxArticulationLink) from the scene. Use removeArticulation() instead.

If the actor is a PxRigidActor then all assigned PxConstraint objects will get removed from the scene automatically.

If the actor is in an aggregate it will be removed from the aggregate.

Parameters:
[in] | actor | Actor to remove from scene.
[in] | wakeOnLostTouch | Specifies whether touching objects from the previous frame should get woken up in the next frame. Only applies to PxArticulation and PxRigidActor types.
See also:
PxActor, PxAggregate

virtual void PxScene::removeActors | ( | PxActor *const * | actors,
 |  | PxU32 | nbActors,
 |  | bool | wakeOnLostTouch = true |
 | ) |  |  | [pure virtual]

Removes actors from this scene.

Note:
If some actor is not part of this scene (see PxActor::getScene), the actor remove is ignored and an error is issued.

You can not remove individual articulation links (see PxArticulationLink) from the scene. Use removeArticulation() instead.

If the actor is a PxRigidActor then all assigned PxConstraint objects will get removed from the scene automatically.

Parameters:
[in] | actors | Array of actors to add to scene.
[in] | nbActors | Number of actors in the array.
[in] | wakeOnLostTouch | Specifies whether touching objects from the previous frame should get woken up in the next frame. Only applies to PxArticulation and PxRigidActor types.
See also:
PxActor

virtual void PxScene::removeAggregate | ( | PxAggregate & | aggregate,
 |  | bool | wakeOnLostTouch = true |
 | ) |  |  | [pure virtual]

Removes an aggregate from this scene.

Note:
If the aggregate is not part of this scene (see PxAggregate::getScene), the call is ignored and an error is issued.

If the aggregate contains actors, those actors are removed from the scene as well.

Parameters:
[in] | aggregate | Aggregate to remove from scene.
[in] | wakeOnLostTouch | Specifies whether touching objects from the previous frame should get woken up in the next frame. Only applies to PxArticulation and PxRigidActor types.
See also:
PxAggregate

virtual void PxScene::removeArticulation | ( | PxArticulation & | articulation,
 |  | bool | wakeOnLostTouch = true |
 | ) |  |  | [pure virtual]

Removes an articulation from this scene.

Note:
If the articulation is not part of this scene (see PxArticulation::getScene), the call is ignored and an error is issued.

If the articulation is in an aggregate it will be removed from the aggregate.

Parameters:
[in] | articulation | Articulation to remove from scene. See PxArticulation
[in] | wakeOnLostTouch | Specifies whether touching objects from the previous frame should get woken up in the next frame. Only applies to PxArticulation and PxRigidActor types.
See also:
PxArticulation, PxAggregate

virtual bool PxScene::removeBroadPhaseRegion ( PxU32 handle ) [pure virtual]

Removes a new broad-phase region.

If the region still contains objects, and if those objects do not overlap any region any more, they are not automatically removed from the simulation. Instead, the PxBroadPhaseCallback::onObjectOutOfBounds notification is used for each object. Users are responsible for removing the objects from the simulation if this is the desired behavior.

If the handle is invalid, or if a valid handle is removed twice, an error message is sent to the error stream.

Parameters:
[in] handle Region's handle, as returned by PxScene::addBroadPhaseRegion.
Returns:
True if success

virtual void PxScene::resetFiltering | ( | PxRigidActor & | actor,
 |  | PxShape *const * | shapes,
 |  | PxU32 | shapeCount |
 | ) |  |  | [pure virtual]

Marks the object to reset interactions and re-run collision filters for specified shapes in the next simulation step.

This is a specialization of the resetFiltering(PxActor& actor) method and allows to reset interactions for specific shapes of a PxRigidActor.

Sleeping: Does wake up the actor.

Parameters:
[in] | actor | The actor for which to re-evaluate interactions.
[in] | shapes | The shapes for which to re-evaluate interactions.
[in] | shapeCount | Number of shapes in the list.
See also:
PxSimulationFilterShader PxSimulationFilterCallback

virtual void PxScene::resetFiltering ( PxActor & actor ) [pure virtual]

Marks the object to reset interactions and re-run collision filters in the next simulation step.

This call forces the object to remove all existing collision interactions, to search anew for existing contact pairs and to run the collision filters again for found collision pairs.

Note:
The operation is supported for PxParticleBase (deprecated) and PxRigidActor objects only.

All persistent state of existing interactions will be lost and can not be retrieved even if the same collison pair is found again in the next step. This will mean, for example, that you will not get notified about persistent contact for such an interaction (see PxPairFlag::eNOTIFY_TOUCH_PERSISTS), the contact pair will be interpreted as newly found instead.

Lost touch contact reports will be sent for every collision pair which includes this shape, if they have been requested through PxPairFlag::eNOTIFY_TOUCH_LOST or PxPairFlag::eNOTIFY_THRESHOLD_FORCE_LOST.

This is an expensive operation, don't use it if you don't have to.

Can be used to retrieve collision pairs that were killed by the collision filters (see PxFilterFlag::eKILL)

It is invalid to use this method if the actor has not been added to a scene already.

It is invalid to use this method if PxActorFlag::eDISABLE_SIMULATION is set.

Sleeping: Does wake up the actor.

Parameters:
[in] actor The actor for which to re-evaluate interactions.
See also:
PxSimulationFilterShader PxSimulationFilterCallback

virtual void PxScene::sceneQueriesUpdate | ( | physx::PxBaseTask * | completionTask = NULL,
 |  | bool | controlSimulation = true |
 | ) |  |  | [pure virtual]

Executes scene queries update tasks. This function will refit dirty shapes within the pruner and will execute a task to build a new AABB tree, which is build on a different thread. The new AABB tree is built based on the dynamic tree rebuild hint rate. Once the new tree is ready it will be commited in next fetchQueries call, which must be called after.

Note:
If PxSceneQueryUpdateMode::eBUILD_DISABLED_COMMIT_DISABLED is used, it is required to update the scene queries using this function.
Parameters:
[in] | completionTask | if non-NULL, this task will have its refcount incremented in sceneQueryUpdate(), then decremented when the scene is ready to have fetchQueries called. So the task will not run until the application also calls removeReference().
[in] | controlSimulation | if true, the scene controls its PxTaskManager simulation state. Leave true unless the application is calling the PxTaskManager start/stopSimulation() methods itself.
See also:
PxSceneQueryUpdateMode::eBUILD_DISABLED_COMMIT_DISABLED

virtual void PxScene::setBounceThresholdVelocity ( const PxReal t ) [pure virtual]

Set the bounce threshold velocity. Collision speeds below this threshold will not cause a bounce.

See also:
PxSceneDesc::bounceThresholdVelocity, getBounceThresholdVelocity

virtual void PxScene::setBroadPhaseCallback | ( | PxBroadPhaseCallback * | callback,
 |  | PX_DEPRECATED PxClientID | client = PX_DEFAULT_CLIENT |
 | ) |  |  | [pure virtual]

Sets a broad-phase user callback object.

Multiclient behavior: unlike the PxBroadPhaseCallback that can be specified in the PxSceneDesc, this method lets the user associate additional callbacks with clients other than PX_DEFAULT_CLIENT. This way each client can register its own callback class. Each callback function has a somewhat different way of determining which clients' callbacks will be called in a certain event. Refer to the documentation of particular callback functions inside PxBroadPhaseCallback for this information.

Note:
Do not set the callback while the simulation is running. Calls to this method while the simulation is running will be ignored.
Parameters:
[in] | callback | Asynchronous broad-phase callback. See PxBroadPhaseCallback.
[in] | client | The client to be associated with this callback.
Deprecated:
PxClient feature has been deprecated in PhysX version 3.4

virtual void PxScene::setCCDContactModifyCallback ( PxCCDContactModifyCallback * callback ) [pure virtual]

Sets a user callback object, which receives callbacks on all CCD contacts generated for specified actors.

Note:
Do not set the callback while the simulation is running. Calls to this method while the simulation is running will be ignored.
Parameters:
[in] callback Asynchronous user contact modification callback. See PxCCDContactModifyCallback.

virtual void PxScene::setCCDMaxPasses ( PxU32 ccdMaxPasses ) [pure virtual]

Sets the maximum number of CCD passes.

Parameters:
[in] ccdMaxPasses Maximum number of CCD passes
See also:
PxSceneDesc.ccdMaxPasses getCCDMaxPasses()

virtual PX_DEPRECATED void PxScene::setClientBehaviorFlags | ( | PxClientID | client,
 |  | PxClientBehaviorFlags | clientBehaviorFlags |
 | ) |  |  | [pure virtual]

Sets behavior bits for a client.

The behavior bits are a property of a client that determine when it receives callbacks.

It is permissible to change the behavior for PX_DEFAULT_CLIENT with this call. Initially all created clients, as well as PX_DEFAULT_CLIENT have all bits set to 0.

Note that in addition to setting a client to listen to a particular foreign actor event type, the user must also configure actors to send that particular event type to foreign clients using PxActor::setClientBehaviorFlags().

Deprecated:
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4
See also:
PxClientBehaviorFlag PxClientID createClient() getClientBehaviorFlags() PxActor::setClientBehaviorFlags()

virtual PX_DEPRECATED void PxScene::setClothInterCollisionDistance ( PxF32 distance ) [pure virtual]

Sets the minimum separation distance for cloth inter-collision.

Particles closer than this distance that belong to different PxCloth objects will be separated.

Parameters:
[in] distance The minimum particle separation distance (default: 0.0).
Note:
The PxCloth objects that interact can be controlled through the filter shader,
See also:
PxSimulationFilterShader. Cloth objects with the PxClothFlag::eGPU set can only interact with other GPU simulated cloth (deprecated) objects.
Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

virtual PX_DEPRECATED void PxScene::setClothInterCollisionNbIterations ( PxU32 nbIterations ) [pure virtual]

Sets the number of inter-collision separation iterations to perform.

The accuracy of cloth inter-collision may be improved by increasing the number of separation passes that are performed.

Parameters:
[in] nbIterations The number of iterations to perform (default: 1).
Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

virtual PX_DEPRECATED void PxScene::setClothInterCollisionStiffness ( PxF32 stiffness ) [pure virtual]

Sets the cloth inter-collision stiffness.

Inter-collision stiffness controls how much two particles repel each other when they are closer than the inter-collision distance.

Parameters:
[in] stiffness Fraction of distance residual to resolve per iteration (default: 1.0).
Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

virtual void PxScene::setContactModifyCallback ( PxContactModifyCallback * callback ) [pure virtual]

Sets a user callback object, which receives callbacks on all contacts generated for specified actors.

Note:
Do not set the callback while the simulation is running. Calls to this method while the simulation is running will be ignored.
Parameters:
[in] callback Asynchronous user contact modification callback. See PxContactModifyCallback.

virtual void PxScene::setDominanceGroupPair | ( | PxDominanceGroup | group1,
 |  | PxDominanceGroup | group2,
 |  | const PxDominanceGroupPair & | dominance |
 | ) |  |  | [pure virtual]

Specifies the dominance behavior of contacts between two actors with two certain dominance groups.

It is possible to assign each actor to a dominance groups using PxActor::setDominanceGroup().

With dominance groups one can have all contacts created between actors act in one direction only. This is useful, for example, if you want an object to push debris out of its way and be unaffected,while still responding physically to forces and collisions with non-debris objects.

Whenever a contact between two actors (a0, a1) needs to be solved, the groups (g0, g1) of both actors are retrieved. Then the PxDominanceGroupPair setting for this group pair is retrieved with getDominanceGroupPair(g0, g1).

In the contact, PxDominanceGroupPair::dominance0 becomes the dominance setting for a0, and PxDominanceGroupPair::dominance1 becomes the dominance setting for a1. A dominanceN setting of 1.0f, the default, will permit aN to be pushed or pulled by a(1-N) through the contact. A dominanceN setting of 0.0f, will however prevent aN to be pushed by a(1-N) via the contact. Thus, a PxDominanceGroupPair of (1.0f, 0.0f) makes the interaction one-way.

The matrix sampled by getDominanceGroupPair(g1, g2) is initialised by default such that:

if g1 == g2, then (1.0f, 1.0f) is returned if g1 < g2, then (0.0f, 1.0f) is returned if g1 > g2, then (1.0f, 0.0f) is returned

In other words, we permit actors in higher groups to be pushed around by actors in lower groups by default.

These settings should cover most applications, and in fact not overriding these settings may likely result in higher performance.

It is not possible to make the matrix asymetric, or to change the diagonal. In other words:

it is not possible to change (g1, g2) if (g1==g2) if you set

(g1, g2) to X, then (g2, g1) will implicitly and automatically be set to ~X, where:

~(1.0f, 1.0f) is (1.0f, 1.0f) ~(0.0f, 1.0f) is (1.0f, 0.0f) ~(1.0f, 0.0f) is (0.0f, 1.0f)

These two restrictions are to make sure that contacts between two actors will always evaluate to the same dominance setting, regardless of the order of the actors.

Dominance settings are currently specified as floats 0.0f or 1.0f because in the future we may permit arbitrary fractional settings to express 'partly-one-way' interactions.

Sleeping: Does NOT wake actors up automatically.

See also:
getDominanceGroupPair() PxDominanceGroup PxDominanceGroupPair PxActor::setDominanceGroup() PxActor::getDominanceGroup()

virtual void PxScene::setDynamicTreeRebuildRateHint ( PxU32 dynamicTreeRebuildRateHint ) [pure virtual]

Sets the rebuild rate of the dynamic tree pruning structures.

Parameters:
[in] dynamicTreeRebuildRateHint Rebuild rate of the dynamic tree pruning structures.
See also:
PxSceneDesc.dynamicTreeRebuildRateHint getDynamicTreeRebuildRateHint() forceDynamicTreeRebuild()

virtual void PxScene::setFilterShaderData | ( | const void * | data,
 |  | PxU32 | dataSize |
 | ) |  |  | [pure virtual]

Sets the shared global filter data which will get passed into the filter shader.

Note:
It is the user's responsibility to ensure that changing the shared global filter data does not change the filter output value for existing pairs. If the filter output for existing pairs does change nonetheless then such a change will not take effect until the pair gets refiltered. resetFiltering() can be used to explicitly refilter the pairs of specific objects.

The provided data will get copied to internal buffers and this copy will be used for filtering calls.

Do not use this method while the simulation is running. Calls to this method while the simulation is running will be ignored.

Parameters:
[in] | data | The shared global filter shader data.
[in] | dataSize | Size of the shared global filter shader data (in bytes).
See also:
getFilterShaderData() PxSceneDesc.filterShaderData PxSimulationFilterShader

virtual void PxScene::setFlag | ( | PxSceneFlag::Enum | flag,
 |  | bool | value |
 | ) |  |  | [pure virtual]

Sets a scene flag. You can only set one flag at a time.

Note:
Not all flags are mutable and changing some will result in an error. Please check PxSceneFlag to see which flags can be changed.
See also:
PxSceneFlag

virtual void PxScene::setFrictionType ( PxFrictionType::Enum frictionType ) [pure virtual]

Set the friction model.

See also:
PxFrictionType, PxSceneDesc::frictionType

virtual void PxScene::setGravity ( const PxVec3 & vec ) [pure virtual]

Sets a constant gravity for the entire scene.

Sleeping: Does NOT wake the actor up automatically.

Parameters:
[in] vec A new gravity vector(e.g. PxVec3(0.0f,-9.8f,0.0f) ) Range: force vector
See also:
PxSceneDesc.gravity getGravity()

virtual void PxScene::setLimits ( const PxSceneLimits & limits ) [pure virtual]

Set new scene limits.

Note:
Increase the maximum capacity of various data structures in the scene. The new capacities will be at least as large as required to deal with the objects currently in the scene. Further, these values are for preallocation and do not represent hard limits.
Parameters:
[in] limits Scene limits.
See also:
PxSceneLimits

virtual void PxScene::setNbContactDataBlocks ( PxU32 numBlocks ) [pure virtual]

set the cache blocks that can be used during simulate().

Each frame the simulation requires memory to store contact, friction, and contact cache data. This memory is used in blocks of 16K. Each frame the blocks used by the previous frame are freed, and may be retrieved by the application using PxScene::flushSimulation()

This call will force allocation of cache blocks if the numBlocks parameter is greater than the currently allocated number of blocks, and less than the max16KContactDataBlocks parameter specified at scene creation time.

Parameters:
[in] numBlocks The number of blocks to allocate.
See also:
PxSceneDesc.nbContactDataBlocks PxSceneDesc.maxNbContactDataBlocks flushSimulation() getNbContactDataBlocksUsed getMaxNbContactDataBlocksUsed

virtual void PxScene::setSceneQueryUpdateMode ( PxSceneQueryUpdateMode::Enum updateMode ) [pure virtual]

Sets scene query update mode.

Parameters:
[in] updateMode Scene query update mode.
See also:
PxSceneQueryUpdateMode::Enum

virtual void PxScene::setSimulationEventCallback | ( | PxSimulationEventCallback * | callback,
 |  | PX_DEPRECATED PxClientID | client = PX_DEFAULT_CLIENT |
 | ) |  |  | [pure virtual]

Sets a user notify object which receives special simulation events when they occur.

Multiclient behavior: unlike the PxSimulationEventCallback that can be specified in the PxSceneDesc, this method lets the user associate additional callbacks with clients other than PX_DEFAULT_CLIENT. This way each client can register its own callback class.

Note:
Do not set the callback while the simulation is running. Calls to this method while the simulation is running will be ignored.
Parameters:
[in] | callback | User notification callback. See PxSimulationEventCallback.
[in] | client | The client to be associated with this callback.
Deprecated:
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4
See also:
PxSimulationEventCallback getSimulationEventCallback

virtual void PxScene::setSolverBatchSize ( PxU32 solverBatchSize ) [pure virtual]

Sets the number of actors required to spawn a separate rigid body solver thread.

Parameters:
[in] solverBatchSize Number of actors required to spawn a separate rigid body solver thread.
See also:
PxSceneDesc.solverBatchSize getSolverBatchSize()

virtual void PxScene::setVisualizationCullingBox ( const PxBounds3 & box ) [pure virtual]

Defines a box in world space to which visualization geometry will be (conservatively) culled. Use a non-empty culling box to enable the feature, and an empty culling box to disable it.

Parameters:
[in] box the box to which the geometry will be culled. Empty box to disable the feature.
See also:
setVisualizationParameter getVisualizationCullingBox getRenderBuffer()

virtual bool PxScene::setVisualizationParameter | ( | PxVisualizationParameter::Enum | param,
 |  | PxReal | value |
 | ) |  |  | [pure virtual]

Function that lets you set debug visualization parameters.

Returns false if the value passed is out of range for usage specified by the enum.

Parameters:
[in] | param | Parameter to set. See PxVisualizationParameter
[in] | value | The value to set, see PxVisualizationParameter for allowable values. Setting to zero disables visualization for the specified property, setting to a positive value usually enables visualization and defines the scale factor.
Returns:
False if the parameter is out of range.
See also:
getVisualizationParameter PxVisualizationParameter getRenderBuffer()

virtual void PxScene::shiftOrigin ( const PxVec3 & shift ) [pure virtual]

Shift the scene origin by the specified vector.

The poses of all objects in the scene and the corresponding data structures will get adjusted to reflect the new origin location (the shift vector will get subtracted from all object positions).

Note:
It is the user's responsibility to keep track of the summed total origin shift and adjust all input/output to/from PhysX accordingly.

Do not use this method while the simulation is running. Calls to this method while the simulation is running will be ignored.

Make sure to propagate the origin shift to other dependent modules (for example, the character controller module etc.).

This is an expensive operation and we recommend to use it only in the case where distance related precision issues may arise in areas far from the origin.

Parameters:
[in] shift Translation vector to shift the origin by.

virtual void PxScene::simulate | ( | PxReal | elapsedTime,
 |  | physx::PxBaseTask * | completionTask = NULL,
 |  | void * | scratchMemBlock = 0,
 |  | PxU32 | scratchMemBlockSize = 0,
 |  | bool | controlSimulation = true |
 | ) |  |  | [pure virtual]

Advances the simulation by an elapsedTime time.

Note:
Large elapsedTime values can lead to instabilities. In such cases elapsedTime should be subdivided into smaller time intervals and simulate() should be called multiple times for each interval.
Calls to simulate() should pair with calls to fetchResults(): Each fetchResults() invocation corresponds to exactly one simulate() invocation; calling simulate() twice without an intervening fetchResults() or fetchResults() twice without an intervening simulate() causes an error condition.

scene->simulate(); ...do some processing until physics is computed... scene->fetchResults(); ...now results of run may be retrieved.

Parameters:
[in] | elapsedTime | Amount of time to advance simulation by. The parameter has to be larger than 0, else the resulting behavior will be undefined. Range: (0, PX_MAX_F32)
[in] | completionTask | if non-NULL, this task will have its refcount incremented in simulate(), then decremented when the scene is ready to have fetchResults called. So the task will not run until the application also calls removeReference().
[in] | scratchMemBlock | a memory region for physx to use for temporary data during simulation. This block may be reused by the application after fetchResults returns. Must be aligned on a 16-byte boundary
[in] | scratchMemBlockSize | the size of the scratch memory block. Must be a multiple of 16K.
[in] | controlSimulation | if true, the scene controls its PxTaskManager simulation state. Leave true unless the application is calling the PxTaskManager start/stopSimulation() methods itself.
See also:
fetchResults() checkResults()

virtual bool PxScene::sweep | ( | const PxGeometry & | geometry,
 |  | const PxTransform & | pose,
 |  | const PxVec3 & | unitDir,
 |  | const PxReal | distance,
 |  | PxSweepCallback & | hitCall,
 |  | PxHitFlags | hitFlags = PxHitFlags(PxHitFlag::eDEFAULT),
 |  | const PxQueryFilterData & | filterData = PxQueryFilterData(),
 |  | PxQueryFilterCallback * | filterCall = NULL,
 |  | const PxQueryCache * | cache = NULL,
 |  | const PxReal | inflation = 0.f |
 | ) |  |  | const [pure virtual]

Performs a sweep test against objects in the scene, returns results in a PxSweepBuffer object or via a custom user callback implementation inheriting from PxSweepCallback.

Note:
Touching hits are not ordered.

If a shape from the scene is already overlapping with the query shape in its starting position, the hit is returned unless eASSUME_NO_INITIAL_OVERLAP was specified.

Parameters:
[in] | geometry | Geometry of object to sweep (supported types are: box, sphere, capsule, convex).
[in] | pose | Pose of the sweep object.
[in] | unitDir | Normalized direction of the sweep.
[in] | distance | Sweep distance. Needs to be in [0, inf) range and >0 if eASSUME_NO_INITIAL_OVERLAP was specified. Will be clamped to PX_MAX_SWEEP_DISTANCE.
[out] | hitCall | Sweep hit buffer or callback object used to report sweep hits.
[in] | hitFlags | Specifies which properties per hit should be computed and returned via the hit callback.
[in] | filterData | Filtering data and simple logic.
[in] | filterCall | Custom filtering logic (optional). Only used if the corresponding PxQueryFlag flags are set. If NULL, all hits are assumed to be blocking.
[in] | cache | Cached hit shape (optional). Sweep is performed against cached shape first. If no hit is found the sweep gets queried against the scene. Note: Filtering is not executed for a cached shape if supplied; instead, if a hit is found, it is assumed to be a blocking hit. Note: Using past touching hits as cache will produce incorrect behavior since the cached hit will always be treated as blocking.
[in] | inflation | This parameter creates a skin around the swept geometry which increases its extents for sweeping. The sweep will register a hit as soon as the skin touches a shape, and will return the corresponding distance and normal. Note: ePRECISE_SWEEP doesn't support inflation. Therefore the sweep will be performed with zero inflation.
Returns:
True if any touching or blocking hits were found or any hit was found in case PxQueryFlag::eANY_HIT was specified.
See also:
PxSweepCallback PxSweepBuffer PxQueryFilterData PxQueryFilterCallback PxSweepHit PxQueryCache

virtual void PxScene::unlockRead ( ) [pure virtual]

Unlock the scene from reading.

Note:
Each unlockRead() must be paired with a lockRead() from the same thread.

virtual void PxScene::unlockWrite ( ) [pure virtual]

Unlock the scene from writing.

Note:
Each unlockWrite() must be paired with a lockWrite() from the same thread.

Member Data Documentation

void* PxScene::userData

user can assign this to whatever, usually to create a 1:1 relationship with a user object.

The documentation for this class was generated from the following file:
  • PxScene.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPruningStructureType Struct Reference

PxPruningStructureType Struct Reference
[Physics]

Pruning structure used to accelerate scene queries. More...

#include <PxSceneDesc.h>

List of all members.

Public Types

enum Enum {
eNONE,
eDYNAMIC_AABB_TREE,
eSTATIC_AABB_TREE,
eLAST
}

Detailed Description

Pruning structure used to accelerate scene queries.

eNONE uses a simple data structure that consumes less memory than the alternatives, but generally has slower query performance.

eDYNAMIC_AABB_TREE usually provides the fastest queries. However there is a constant per-frame management cost associated with this structure. How much work should be done per frame can be tuned via the PxSceneDesc::dynamicTreeRebuildRateHint parameter.

eSTATIC_AABB_TREE is typically used for static objects. It is the same as the dynamic AABB tree, without the per-frame overhead. This can be a good choice for static objects, if no static objects are added, moved or removed after the scene has been created. If there is no such guarantee (e.g. when streaming parts of the world in and out), then the dynamic version is a better choice even for static objects.

Member Enumeration Documentation

enum PxPruningStructureType::Enum

Enumerator:
eNONE | Using a simple data structure.
eDYNAMIC_AABB_TREE | Using a dynamic AABB tree.
eSTATIC_AABB_TREE | Using a static AABB tree.
eLAST

The documentation for this struct was generated from the following file:
  • PxSceneDesc.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSceneQueryUpdateMode Struct Reference

PxSceneQueryUpdateMode Struct Reference
[Physics]

Scene query update mode. More...

#include <PxSceneDesc.h>

List of all members.

Public Types

enum Enum {
eBUILD_ENABLED_COMMIT_ENABLED,
eBUILD_ENABLED_COMMIT_DISABLED,
eBUILD_DISABLED_COMMIT_DISABLED
}

Detailed Description

Scene query update mode.

When PxScene::fetchResults is called it does scene query related work, with this enum it is possible to set what work is done during the fetchResults.

FetchResults will sync changed bounds during simulation and update the scene query bounds in pruners, this work is mandatory.

eCOMMIT_ENABLED_BUILD_ENABLED does allow to execute the new AABB tree build step during fetchResults, additionally the pruner commit is called where any changes are applied. During commit PhysX refits the dynamic scene query tree and if a new tree was built and the build finished the tree is swapped with current AABB tree.

eCOMMIT_DISABLED_BUILD_ENABLED does allow to execute the new AABB tree build step during fetchResults. Pruner commit is not called, this means that refit will then occur during the first scene query following fetchResults, or may be forced by the method PxScene::flushSceneQueryUpdates().

eCOMMIT_DISABLED_BUILD_DISABLED no further scene query work is executed. The scene queries update needs to be called manually, see PxScene::sceneQueriesUpdate. It is recommended to call PxScene::sceneQueriesUpdate right after fetchResults as the pruning structures are not updated.

Member Enumeration Documentation

enum PxSceneQueryUpdateMode::Enum

Enumerator:
eBUILD_ENABLED_COMMIT_ENABLED | Both scene query build and commit are executed.
eBUILD_ENABLED_COMMIT_DISABLED | Scene query build only is executed.
eBUILD_DISABLED_COMMIT_DISABLED | No work is done, no update of scene queries.

The documentation for this struct was generated from the following file:
  • PxSceneDesc.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxFrictionType Struct Reference

PxFrictionType Struct Reference
[Physics]

Enum for selecting the friction algorithm used for simulation. More...

#include <PxSceneDesc.h>

List of all members.

Public Types

enum Enum {
ePATCH,
eONE_DIRECTIONAL,
eTWO_DIRECTIONAL,
eFRICTION_COUNT
}

Detailed Description

Enum for selecting the friction algorithm used for simulation.

PxFrictionType::ePATCH selects the patch friction model which typically leads to the most stable results at low solver iteration counts and is also quite inexpensive, as it uses only up to four scalar solver constraints per pair of touching objects. The patch friction model is the same basic strong friction algorithm as PhysX 3.2 and before.

PxFrictionType::eONE_DIRECTIONAL is a simplification of the Coulomb friction model, in which the friction for a given point of contact is applied in the alternating tangent directions of the contact's normal. This simplification allows us to reduce the number of iterations required for convergence but is not as accurate as the two directional model.

PxFrictionType::eTWO_DIRECTIONAL is identical to the one directional model, but it applies friction in both tangent directions simultaneously. This hurts convergence a bit so it requires more solver iterations, but is more accurate. Like the one directional model, it is applied at every contact point, which makes it potentially more expensive than patch friction for scenarios with many contact points.

PxFrictionType::eFRICTION_COUNT is the total numer of friction models supported by the SDK.

Member Enumeration Documentation

enum PxFrictionType::Enum

Enumerator:
ePATCH | Select default patch-friction model.
eONE_DIRECTIONAL | Select one directional per-contact friction model.
eTWO_DIRECTIONAL | Select two directional per-contact friction model.
eFRICTION_COUNT | The total number of friction models supported by the SDK.

The documentation for this struct was generated from the following file:
  • PxSceneDesc.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSceneFlag Struct Reference

PxSceneFlag Struct Reference
[Physics]

flags for configuring properties of the scene More...

#include <PxSceneDesc.h>

List of all members.

Public Types

enum Enum {
eENABLE_ACTIVE_ACTORS = (1<<0),
PX_DEPRECATED = (1<<1),
eENABLE_CCD = (1<<2),
eDISABLE_CCD_RESWEEP = (1<<3),
eADAPTIVE_FORCE = (1<<4),
PX_DEPRECATED = (1<<1),
PX_DEPRECATED = (1<<1),
eENABLE_PCM = (1 << 9),
eDISABLE_CONTACT_REPORT_BUFFER_RESIZE = (1 << 10),
eDISABLE_CONTACT_CACHE = (1 << 11),
eREQUIRE_RW_LOCK = (1 << 12),
eENABLE_STABILIZATION = (1 << 14),
eENABLE_AVERAGE_POINT = (1 << 15),
eDEPRECATED_TRIGGER_TRIGGER_REPORTS = (1 << 16),
eEXCLUDE_KINEMATICS_FROM_ACTIVE_ACTORS = (1 << 17),
PX_DEPRECATED = (1<<1),
eENABLE_GPU_DYNAMICS = (1 << 19),
eENABLE_ENHANCED_DETERMINISM = (1<<20),
eMUTABLE_FLAGS = eENABLE_ACTIVE_ACTORS|eENABLE_ACTIVETRANSFORMS|eEXCLUDE_KINEMATICS_FROM_ACTIVE_ACTORS
}

Detailed Description

flags for configuring properties of the scene

See also:
PxScene

Member Enumeration Documentation

enum PxSceneFlag::Enum

Enumerator:
eENABLE_ACTIVE_ACTORS Enable Active Actors Notification.

This flag enables the Active Actor Notification feature for a scene. This feature defaults to disabled. When disabled, the function PxScene::getActiveActors() will always return a NULL list.

Note:
There may be a performance penalty for enabling the Active Actor Notification, hence this flag should only be enabled if the application intends to use the feature.
Default: False
PX_DEPRECATED Enable Active Transform Notification.

Lazily refit the dynamic scene query tree, instead of eagerly refitting in fetchResults.

Enable contact pair filtering between kinematic rigid bodies.

Enable contact pair filtering between kinematic and static rigid bodies.

This flag enables the Active Transform Notification feature for a scene. This feature defaults to disabled. When disabled, the function PxScene::getActiveTransforms() will always return a NULL list.

Note:
There may be a performance penalty for enabling the Active Transform Notification, hence this flag should only be enabled if the application intends to use the feature.
Default: False

By default contacts between kinematic and static rigid bodies are suppressed (see PxFilterFlag::eSUPPRESS) and don't get reported to the filter mechanism. Raise this flag if these pairs should go through the filtering pipeline nonetheless.

Note:
This flag is not mutable, and must be set in PxSceneDesc at scene creation.
Default: false

By default contacts between kinematic bodies are suppressed (see PxFilterFlag::eSUPPRESS) and don't get reported to the filter mechanism. Raise this flag if these pairs should go through the filtering pipeline nonetheless.

Note:
This flag is not mutable, and must be set in PxSceneDesc at scene creation.
Default: false

By default PhysX refits the dynamic scene query tree during fetchResults. Setting this flag during scene creation suppresses this behavior. Refit will then occur during the first scene query following fetchResults, or may be forced by the method PxScene::flushSceneQueryUpdates()

Note:
Deprecated, will be replaced with an enum in next releases.

This flag will be ignored if PxSceneDesc::sceneQueryUpdateMode is set.

This flag is not used anymore, please use PxSceneQueryUpdateMode::Enum instead

See also:
PxScene::flushSceneQueryUpdates()
Default: false
eENABLE_CCD Enables a second broad phase check after integration that makes it possible to prevent objects from tunneling through eachother.

PxPairFlag::eDETECT_CCD_CONTACT requires this flag to be specified.

Note:
For this feature to be effective for bodies that can move at a significant velocity, the user should raise the flag PxRigidBodyFlag::eENABLE_CCD for them.

This flag is not mutable, and must be set in PxSceneDesc at scene creation.

Default: False

See also:
PxRigidBodyFlag::eENABLE_CCD, PxPairFlag::eDETECT_CCD_CONTACT, eDISABLE_CCD_RESWEEP
eDISABLE_CCD_RESWEEP Enables a simplified swept integration strategy, which sacrifices some accuracy for improved performance.

This simplified swept integration approach makes certain assumptions about the motion of objects that are not made when using a full swept integration. These assumptions usually hold but there are cases where they could result in incorrect behavior between a set of fast-moving rigid bodies. A key issue is that fast-moving dynamic objects may tunnel through each-other after a rebound. This will not happen if this mode is disabled. However, this approach will be potentially faster than a full swept integration because it will perform significantly fewer sweeps in non-trivial scenes involving many fast-moving objects. This approach should successfully resist objects passing through the static environment.

PxPairFlag::eDETECT_CCD_CONTACT requires this flag to be specified.

Note:
This scene flag requires eENABLE_CCD to be enabled as well. If it is not, this scene flag will do nothing.

For this feature to be effective for bodies that can move at a significant velocity, the user should raise the flag PxRigidBodyFlag::eENABLE_CCD for them.

This flag is not mutable, and must be set in PxSceneDesc at scene creation.

Default: False

See also:
PxRigidBodyFlag::eENABLE_CCD, PxPairFlag::eDETECT_CCD_CONTACT, eENABLE_CCD
eADAPTIVE_FORCE Enable adaptive forces to accelerate convergence of the solver.

Note:
This flag is not mutable, and must be set in PxSceneDesc at scene creation.
Default: false
PX_DEPRECATED Enable Active Transform Notification.

Lazily refit the dynamic scene query tree, instead of eagerly refitting in fetchResults.

Enable contact pair filtering between kinematic rigid bodies.

Enable contact pair filtering between kinematic and static rigid bodies.

This flag enables the Active Transform Notification feature for a scene. This feature defaults to disabled. When disabled, the function PxScene::getActiveTransforms() will always return a NULL list.

Note:
There may be a performance penalty for enabling the Active Transform Notification, hence this flag should only be enabled if the application intends to use the feature.
Default: False

By default contacts between kinematic and static rigid bodies are suppressed (see PxFilterFlag::eSUPPRESS) and don't get reported to the filter mechanism. Raise this flag if these pairs should go through the filtering pipeline nonetheless.

Note:
This flag is not mutable, and must be set in PxSceneDesc at scene creation.
Default: false

By default contacts between kinematic bodies are suppressed (see PxFilterFlag::eSUPPRESS) and don't get reported to the filter mechanism. Raise this flag if these pairs should go through the filtering pipeline nonetheless.

Note:
This flag is not mutable, and must be set in PxSceneDesc at scene creation.
Default: false

By default PhysX refits the dynamic scene query tree during fetchResults. Setting this flag during scene creation suppresses this behavior. Refit will then occur during the first scene query following fetchResults, or may be forced by the method PxScene::flushSceneQueryUpdates()

Note:
Deprecated, will be replaced with an enum in next releases.

This flag will be ignored if PxSceneDesc::sceneQueryUpdateMode is set.

This flag is not used anymore, please use PxSceneQueryUpdateMode::Enum instead

See also:
PxScene::flushSceneQueryUpdates()
Default: false
PX_DEPRECATED Enable Active Transform Notification.

Lazily refit the dynamic scene query tree, instead of eagerly refitting in fetchResults.

Enable contact pair filtering between kinematic rigid bodies.

Enable contact pair filtering between kinematic and static rigid bodies.

This flag enables the Active Transform Notification feature for a scene. This feature defaults to disabled. When disabled, the function PxScene::getActiveTransforms() will always return a NULL list.

Note:
There may be a performance penalty for enabling the Active Transform Notification, hence this flag should only be enabled if the application intends to use the feature.
Default: False

By default contacts between kinematic and static rigid bodies are suppressed (see PxFilterFlag::eSUPPRESS) and don't get reported to the filter mechanism. Raise this flag if these pairs should go through the filtering pipeline nonetheless.

Note:
This flag is not mutable, and must be set in PxSceneDesc at scene creation.
Default: false

By default contacts between kinematic bodies are suppressed (see PxFilterFlag::eSUPPRESS) and don't get reported to the filter mechanism. Raise this flag if these pairs should go through the filtering pipeline nonetheless.

Note:
This flag is not mutable, and must be set in PxSceneDesc at scene creation.
Default: false

By default PhysX refits the dynamic scene query tree during fetchResults. Setting this flag during scene creation suppresses this behavior. Refit will then occur during the first scene query following fetchResults, or may be forced by the method PxScene::flushSceneQueryUpdates()

Note:
Deprecated, will be replaced with an enum in next releases.

This flag will be ignored if PxSceneDesc::sceneQueryUpdateMode is set.

This flag is not used anymore, please use PxSceneQueryUpdateMode::Enum instead

See also:
PxScene::flushSceneQueryUpdates()
Default: false
eENABLE_PCM Enable GJK-based distance collision detection system.

Note:
This flag is not mutable, and must be set in PxSceneDesc at scene creation.
Default: true
eDISABLE_CONTACT_REPORT_BUFFER_RESIZE Disable contact report buffer resize. Once the contact buffer is full, the rest of the contact reports will not be buffered and sent.

Note:
This flag is not mutable, and must be set in PxSceneDesc at scene creation.
Default: false
eDISABLE_CONTACT_CACHE Disable contact cache.

Contact caches are used internally to provide faster contact generation. You can disable all contact caches if memory usage for this feature becomes too high.

Note:
This flag is not mutable, and must be set in PxSceneDesc at scene creation.
Default: false
eREQUIRE_RW_LOCK Require scene-level locking.

When set to true this requires that threads accessing the PxScene use the multi-threaded lock methods.

Note:
This flag is not mutable, and must be set in PxSceneDesc at scene creation.
See also:
PxScene::lockRead

PxScene::unlockRead

PxScene::lockWrite

PxScene::unlockWrite

Default: false
eENABLE_STABILIZATION Enables additional stabilization pass in solver.

When set to true, this enables additional stabilization processing to improve that stability of complex interactions between large numbers of bodies.

Note that this flag is not mutable and must be set in PxSceneDesc at scene creation. Also, this is an experimental feature which does result in some loss of momentum.

eENABLE_AVERAGE_POINT Enables average points in contact manifolds.

When set to true, this enables additional contacts to be generated per manifold to represent the average point in a manifold. This can stabilize stacking when only a small number of solver iterations is used.

Note that this flag is not mutable and must be set in PxSceneDesc at scene creation.

eDEPRECATED_TRIGGER_TRIGGER_REPORTS Enable legacy behavior to get trigger reports for interactions between two trigger shapes.

By default PhysX does not report trigger interactions between two trigger shapes any longer. Raise this flag to still get the corresponding reports.

Note that this flag is not mutable and must be set in PxSceneDesc at scene creation.

Deprecated:
This flag is deprecated and will be removed in PhysX 3.5.
See also:
PxSimulationEventCallback::onTrigger()
Default: false
eEXCLUDE_KINEMATICS_FROM_ACTIVE_ACTORS Do not report kinematics in list of active actors/transforms.

Since the target pose for kinematics is set by the user, an application can track the activity state directly and use this flag to avoid that kinematics get added to the list of active actors/transforms.

Note:
This flag has only an effect in combination with eENABLE_ACTIVE_ACTORS or eENABLE_ACTIVETRANSFORMS.
See also:
eENABLE_ACTIVE_ACTORS eENABLE_ACTIVETRANSFORMS
Default: false
PX_DEPRECATED Enable Active Transform Notification.

Lazily refit the dynamic scene query tree, instead of eagerly refitting in fetchResults.

Enable contact pair filtering between kinematic rigid bodies.

Enable contact pair filtering between kinematic and static rigid bodies.

This flag enables the Active Transform Notification feature for a scene. This feature defaults to disabled. When disabled, the function PxScene::getActiveTransforms() will always return a NULL list.

Note:
There may be a performance penalty for enabling the Active Transform Notification, hence this flag should only be enabled if the application intends to use the feature.
Default: False

By default contacts between kinematic and static rigid bodies are suppressed (see PxFilterFlag::eSUPPRESS) and don't get reported to the filter mechanism. Raise this flag if these pairs should go through the filtering pipeline nonetheless.

Note:
This flag is not mutable, and must be set in PxSceneDesc at scene creation.
Default: false

By default contacts between kinematic bodies are suppressed (see PxFilterFlag::eSUPPRESS) and don't get reported to the filter mechanism. Raise this flag if these pairs should go through the filtering pipeline nonetheless.

Note:
This flag is not mutable, and must be set in PxSceneDesc at scene creation.
Default: false

By default PhysX refits the dynamic scene query tree during fetchResults. Setting this flag during scene creation suppresses this behavior. Refit will then occur during the first scene query following fetchResults, or may be forced by the method PxScene::flushSceneQueryUpdates()

Note:
Deprecated, will be replaced with an enum in next releases.

This flag will be ignored if PxSceneDesc::sceneQueryUpdateMode is set.

This flag is not used anymore, please use PxSceneQueryUpdateMode::Enum instead

See also:
PxScene::flushSceneQueryUpdates()
Default: false
eENABLE_GPU_DYNAMICS
eENABLE_ENHANCED_DETERMINISM Provides improved determinism at the expense of performance.

By default, PhysX provides limited determinism guarantees. Specifically, PhysX guarantees that the exact scene (same actors created in the same order) and simulated using the same time-stepping scheme should provide the exact same behaviour.

However, if additional actors are added to the simulation, this can affect the behaviour of the existing actors in the simulation, even if the set of new actors do not interact with the existing actors.

This flag provides an additional level of determinism that guarantees that the simulation will not change if additional actors are added to the simulation, provided those actors do not interfere with the existing actors in the scene. Determinism is only guaranteed if the actors are inserted in a consistent order each run in a newly-created scene and simulated using a consistent time-stepping scheme.

Note that this flag is not mutable and must be set at scene creation.

Note that enabling this flag can have a negative impact on performance.

Note that this feature is not currently supported on GPU.

Default false

eMUTABLE_FLAGS

The documentation for this struct was generated from the following file:
  • PxSceneDesc.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSceneLimits Class Reference

PxSceneLimits Class Reference
[Physics]

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

#include <PxSceneDesc.h>

List of all members.

Public Member Functions

PX_INLINE | PxSceneLimits ()
constructor sets to default
PX_INLINE void | setToDefault ()
(re)sets the structure to the default
PX_INLINE bool | isValid () const
Returns true if the descriptor is valid.

Public Attributes

PxU32 maxNbActors
Expected maximum number of actors.
PxU32 maxNbBodies
Expected maximum number of dynamic rigid bodies.
PxU32 maxNbStaticShapes
Expected maximum number of static shapes.
PxU32 maxNbDynamicShapes
Expected maximum number of dynamic shapes.
PxU32 maxNbAggregates
Expected maximum number of aggregates.
PxU32 maxNbConstraints
Expected maximum number of constraint shaders.
PxU32 maxNbRegions
Expected maximum number of broad-phase regions.
PxU32 maxNbBroadPhaseOverlaps
Expected maximum number of broad-phase overlaps.
PX_DEPRECATED PxU32 | maxNbObjectsPerRegion

Detailed Description

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

0 indicates no limit. Using limits allows the SDK to preallocate various arrays, leading to less re-allocations and faster code at runtime.

Member Data Documentation

PxU32 PxSceneLimits::maxNbActors

Expected maximum number of actors.

PxU32 PxSceneLimits::maxNbAggregates

Expected maximum number of aggregates.

PxU32 PxSceneLimits::maxNbBodies

Expected maximum number of dynamic rigid bodies.

PxU32 PxSceneLimits::maxNbBroadPhaseOverlaps

Expected maximum number of broad-phase overlaps.

PxU32 PxSceneLimits::maxNbConstraints

Expected maximum number of constraint shaders.

PxU32 PxSceneLimits::maxNbDynamicShapes

Expected maximum number of dynamic shapes.

PX_DEPRECATED PxU32 PxSceneLimits::maxNbObjectsPerRegion

Deprecated:
This is deprecated. Expected maximum number of objects in one broad-phase region

PxU32 PxSceneLimits::maxNbRegions

Expected maximum number of broad-phase regions.

Referenced by isValid().

PxU32 PxSceneLimits::maxNbStaticShapes

Expected maximum number of static shapes.

The documentation for this class was generated from the following file:
  • PxSceneDesc.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxgDynamicsMemoryConfig Struct Reference

PxgDynamicsMemoryConfig Struct Reference
[Physics]

Sizes of pre-allocated buffers use for GPU dynamics. More...

#include <PxSceneDesc.h>

List of all members.

Public Member Functions

PxgDynamicsMemoryConfig ()

Public Attributes

PxU32 constraintBufferCapacity
Capacity of constraint buffer allocated in GPU global memory.
PxU32 contactBufferCapacity
Capacity of contact buffer allocated in GPU global memory.
PxU32 tempBufferCapacity
Capacity of temp buffer allocated in pinned host memory.
PxU32 contactStreamSize
Size of contact stream buffer allocated in pinned host memory. This is double-buffered so total allocation size = 2* contactStreamCapacity * sizeof(PxContact).
PxU32 patchStreamSize
Size of the contact patch stream buffer allocated in pinned host memory. This is double-buffered so total allocation size = 2 * patchStreamCapacity * sizeof(PxContactPatch).
PxU32 forceStreamCapacity
Capacity of force buffer allocated in pinned host memory.
PxU32 heapCapacity
Initial capacity of the GPU and pinned host memory heaps. Additional memory will be allocated if more memory is required.
PxU32 foundLostPairsCapacity
Capacity of found and lost buffers allocated in GPU global memory. This is used for the found/lost pair reports in the BP.

Detailed Description

Sizes of pre-allocated buffers use for GPU dynamics.

Constructor & Destructor Documentation

PxgDynamicsMemoryConfig::PxgDynamicsMemoryConfig ( ) [inline]

Member Data Documentation

PxU32 PxgDynamicsMemoryConfig::constraintBufferCapacity

Capacity of constraint buffer allocated in GPU global memory.

PxU32 PxgDynamicsMemoryConfig::contactBufferCapacity

Capacity of contact buffer allocated in GPU global memory.

PxU32 PxgDynamicsMemoryConfig::contactStreamSize

Size of contact stream buffer allocated in pinned host memory. This is double-buffered so total allocation size = 2* contactStreamCapacity * sizeof(PxContact).

PxU32 PxgDynamicsMemoryConfig::forceStreamCapacity

Capacity of force buffer allocated in pinned host memory.

PxU32 PxgDynamicsMemoryConfig::foundLostPairsCapacity

Capacity of found and lost buffers allocated in GPU global memory. This is used for the found/lost pair reports in the BP.

PxU32 PxgDynamicsMemoryConfig::heapCapacity

Initial capacity of the GPU and pinned host memory heaps. Additional memory will be allocated if more memory is required.

PxU32 PxgDynamicsMemoryConfig::patchStreamSize

Size of the contact patch stream buffer allocated in pinned host memory. This is double-buffered so total allocation size = 2 * patchStreamCapacity * sizeof(PxContactPatch).

PxU32 PxgDynamicsMemoryConfig::tempBufferCapacity

Capacity of temp buffer allocated in pinned host memory.

The documentation for this struct was generated from the following file:
  • PxSceneDesc.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSceneDesc Class Reference

PxSceneDesc Class Reference
[Physics]

Descriptor class for scenes. See PxScene. More...

#include <PxSceneDesc.h>

Collaboration diagram for PxSceneDesc:

PxCCDContactModifyCallbackPxgDynamicsMemoryConfigPxSceneLimitsPxBounds3PxVec3PxFlags\< enumtype, storagetype \>PxContactModifyCallbackPxFlags\< PxSceneFlag::Enum, PxU32 \>PxSimulationEventCallbackPxSimulationFilterCallbackPxBroadPhaseCallback
[legend]

List of all members.

Public Member Functions

PX_INLINE | PxSceneDesc (const PxTolerancesScale &scale)
constructor sets to default.
PX_INLINE void | setToDefault (const PxTolerancesScale &scale)
(re)sets the structure to the default.
PX_INLINE bool | isValid () const
Returns true if the descriptor is valid.

Public Attributes

PxVec3 gravity
Gravity vector.
PxSimulationEventCallback * simulationEventCallback
Possible notification callback.
PxContactModifyCallback * contactModifyCallback
Possible asynchronous callback for contact modification.
PxCCDContactModifyCallback * ccdContactModifyCallback
Possible asynchronous callback for contact modification.
const void * | filterShaderData
Shared global filter data which will get passed into the filter shader.
PxU32 filterShaderDataSize
Size (in bytes) of the shared global filter data filterShaderData.
PxSimulationFilterShader filterShader
The custom filter shader to use for collision filtering.
PxSimulationFilterCallback * filterCallback
A custom collision filter callback which can be used to implement more complex filtering operations which need access to the simulation state, for example.
PxPairFilteringMode::Enum kineKineFilteringMode
Filtering mode for kinematic-kinematic pairs in the broadphase.
PxPairFilteringMode::Enum staticKineFilteringMode
Filtering mode for static-kinematic pairs in the broadphase.
PxBroadPhaseType::Enum broadPhaseType
Selects the broad-phase algorithm to use.
PxBroadPhaseCallback * broadPhaseCallback
Broad-phase callback.
PxSceneLimits limits
Expected scene limits.
PxFrictionType::Enum frictionType
Selects the friction algorithm to use for simulation.
PxReal | bounceThresholdVelocity
A contact with a relative velocity below this will not bounce. A typical value for simulation. stability is about 0.2 * gravity.
PxReal | frictionOffsetThreshold
A threshold of contact separation distance used to decide if a contact point will experience friction forces.
PxReal | ccdMaxSeparation
A threshold for speculative CCD. Used to control whether bias, restitution or a combination of the two are used to resolve the contacts.
PxReal | solverOffsetSlop
A slop value used to zero contact offsets from the body's COM on an axis if the offset along that axis is smaller than this threshold. Can be used to compensate for small numerical errors in contact generation.
PxSceneFlags flags
Flags used to select scene options.
PxCpuDispatcher * | cpuDispatcher
The CPU task dispatcher for the scene.
PxGpuDispatcher * | gpuDispatcher
The GPU task dispatcher for the scene.
PxPruningStructureType::Enum staticStructure
Defines the structure used to store static objects.
PxPruningStructureType::Enum dynamicStructure
Defines the structure used to store dynamic objects.
PxU32 dynamicTreeRebuildRateHint
Hint for how much work should be done per simulation frame to rebuild the pruning structure.
PxSceneQueryUpdateMode::Enum sceneQueryUpdateMode
Defines the scene query update mode.
void * | userData
Will be copied to PxScene::userData.
PxU32 solverBatchSize
Defines the number of actors required to spawn a separate rigid body solver island task chain.
PxU32 nbContactDataBlocks
Setting to define the number of 16K blocks that will be initially reserved to store contact, friction, and contact cache data. This is the number of 16K memory blocks that will be automatically allocated from the user allocator when the scene is instantiated. Further 16k memory blocks may be allocated during the simulation up to maxNbContactDataBlocks.
PxU32 maxNbContactDataBlocks
Setting to define the maximum number of 16K blocks that can be allocated to store contact, friction, and contact cache data. As the complexity of a scene increases, the SDK may require to allocate new 16k blocks in addition to the blocks it has already allocated. This variable controls the maximum number of blocks that the SDK can allocate.
PxReal | maxBiasCoefficient
The maximum bias coefficient used in the constraint solver.
PxU32 contactReportStreamBufferSize
Size of the contact report stream (in bytes).
PxU32 ccdMaxPasses
Maximum number of CCD passes.
PxReal | wakeCounterResetValue
The wake counter reset value.
PxBounds3 sanityBounds
The bounds used to sanity check user-set positions of actors and articulation links.
PxgDynamicsMemoryConfig gpuDynamicsConfig
The pre-allocations performed in the GPU dynamics pipeline.
PxU32 gpuMaxNumPartitions
Limitation for the partitions in the GPU dynamics pipeline. This variable must be power of 2. A value greater than 32 is currently not supported. Range: (1, 32)
.
PxU32 gpuComputeVersion
Defines which compute version the GPU dynamics should target. DO NOT MODIFY.

Detailed Description

Descriptor class for scenes. See PxScene.

This struct must be initialized with the same PxTolerancesScale values used to initialize PxPhysics.

See also:
PxScene PxPhysics.createScene PxTolerancesScale

Member Data Documentation

PxReal PxSceneDesc::bounceThresholdVelocity

A contact with a relative velocity below this will not bounce. A typical value for simulation. stability is about 0.2 * gravity.

Range: [0, PX_MAX_F32)
Default: 0.2 * PxTolerancesScale::speed

See also:
PxMaterial

Referenced by isValid().

PxBroadPhaseCallback* PxSceneDesc::broadPhaseCallback

Broad-phase callback.

This callback will be associated with the client PX_DEFAULT_CLIENT. Please use PxScene::setBroadPhaseCallback() to register callbacks for other clients.

Default: NULL

See also:
PxBroadPhaseCallback

PxBroadPhaseType::Enum PxSceneDesc::broadPhaseType

Selects the broad-phase algorithm to use.

Default: PxBroadPhaseType::eSAP

See also:
PxBroadPhaseType

PxCCDContactModifyCallback* PxSceneDesc::ccdContactModifyCallback

Possible asynchronous callback for contact modification.

Default: NULL

See also:
PxContactModifyCallback PxScene.setContactModifyCallback() PxScene.getContactModifyCallback()

PxU32 PxSceneDesc::ccdMaxPasses

Maximum number of CCD passes.

The CCD performs multiple passes, where each pass every object advances to its time of first impact. This value defines how many passes the CCD system should perform.

Note:
The CCD system is a multi-pass best-effort conservative advancement approach. After the defined number of passes has been completed, any remaining time is dropped.

This defines the maximum number of passes the CCD can perform. It may perform fewer if additional passes are not necessary.

Default: 1 Range: [1, PX_MAX_U32]

PxReal PxSceneDesc::ccdMaxSeparation

A threshold for speculative CCD. Used to control whether bias, restitution or a combination of the two are used to resolve the contacts.

Note:
This only has any effect on contacting pairs where one of the bodies has PxRigidBodyFlag::eENABLE_SPECULATIVE_CCD raised.
Range: [0, PX_MAX_F32)
Default: 0.04 * PxTolerancesScale::length

Referenced by isValid().

PxContactModifyCallback* PxSceneDesc::contactModifyCallback

Possible asynchronous callback for contact modification.

Default: NULL

See also:
PxContactModifyCallback PxScene.setContactModifyCallback() PxScene.getContactModifyCallback()

PxU32 PxSceneDesc::contactReportStreamBufferSize

Size of the contact report stream (in bytes).

The contact report stream buffer is used during the simulation to store all the contact reports. If the size is not sufficient, the buffer will grow by a factor of two. It is possible to disable the buffer growth by setting the flag PxSceneFlag::eDISABLE_CONTACT_REPORT_BUFFER_RESIZE. In that case the buffer will not grow but contact reports not stored in the buffer will not get sent in the contact report callbacks.

Default: 8192

Range: (0, PX_MAX_U32]

Referenced by isValid().

PxCpuDispatcher* PxSceneDesc::cpuDispatcher

The CPU task dispatcher for the scene.

See PxCpuDispatcher, PxScene::getCpuDispatcher

Referenced by isValid().

PxPruningStructureType::Enum PxSceneDesc::dynamicStructure

Defines the structure used to store dynamic objects.

PxU32 PxSceneDesc::dynamicTreeRebuildRateHint

Hint for how much work should be done per simulation frame to rebuild the pruning structure.

This parameter gives a hint on the distribution of the workload for rebuilding the dynamic AABB tree pruning structure PxPruningStructureType::eDYNAMIC_AABB_TREE. It specifies the desired number of simulation frames the rebuild process should take. Higher values will decrease the workload per frame but the pruning structure will get more and more outdated the longer the rebuild takes (which can make scene queries less efficient).

Note:
Only used for PxPruningStructureType::eDYNAMIC_AABB_TREE pruning structure.

This parameter gives only a hint. The rebuild process might still take more or less time depending on the number of objects involved.

Range: [4, PX_MAX_U32)
Default: 100

Referenced by isValid().

PxSimulationFilterCallback* PxSceneDesc::filterCallback

A custom collision filter callback which can be used to implement more complex filtering operations which need access to the simulation state, for example.

Default: NULL

See also:
PxSimulationFilterCallback

PxSimulationFilterShader PxSceneDesc::filterShader

The custom filter shader to use for collision filtering.

Note:
This parameter is compulsory. If you don't want to define your own filter shader you can use the default shader PxDefaultSimulationFilterShader which can be found in the PhysX extensions library.
See also:
PxSimulationFilterShader

Referenced by isValid().

const void* PxSceneDesc::filterShaderData

Shared global filter data which will get passed into the filter shader.

Note:
The provided data will get copied to internal buffers and this copy will be used for filtering calls.
Default: NULL

See also:
PxSimulationFilterShader PxScene::setFilterShaderData()

Referenced by isValid().

PxU32 PxSceneDesc::filterShaderDataSize

Size (in bytes) of the shared global filter data filterShaderData.

Default: 0

See also:
PxSimulationFilterShader filterShaderData

Referenced by isValid().

PxSceneFlags PxSceneDesc::flags

Flags used to select scene options.

See also:
PxSceneFlag PxSceneFlags

Referenced by isValid().

PxReal PxSceneDesc::frictionOffsetThreshold

A threshold of contact separation distance used to decide if a contact point will experience friction forces.

Note:
If the separation distance of a contact point is greater than the threshold then the contact point will not experience friction forces.

If the aggregated contact offset of a pair of shapes is large it might be desirable to neglect friction for contact points whose separation distance is sufficiently large that the shape surfaces are clearly separated.

This parameter can be used to tune the separation distance of contact points at which friction starts to have an effect.

Range: [0, PX_MAX_F32)
Default: 0.04 * PxTolerancesScale::length

Referenced by isValid().

PxFrictionType::Enum PxSceneDesc::frictionType

Selects the friction algorithm to use for simulation.

Note:
frictionType cannot be modified after the first call to any of PxScene::simulate, PxScene::solve and PxScene::collide
See also:
PxFrictionType Default: PxFrictionType::ePATCH

PxScene::setFrictionType, PxScene::getFrictionType

PxU32 PxSceneDesc::gpuComputeVersion

Defines which compute version the GPU dynamics should target. DO NOT MODIFY.

PxGpuDispatcher* PxSceneDesc::gpuDispatcher

The GPU task dispatcher for the scene.

Platform specific: Applies to PC GPU only.

See PxGpuDispatcher, PxScene::getGpuDispatcher

PxgDynamicsMemoryConfig PxSceneDesc::gpuDynamicsConfig

The pre-allocations performed in the GPU dynamics pipeline.

PxU32 PxSceneDesc::gpuMaxNumPartitions

Limitation for the partitions in the GPU dynamics pipeline. This variable must be power of 2. A value greater than 32 is currently not supported. Range: (1, 32)
.

Referenced by isValid().

PxVec3 PxSceneDesc::gravity

Gravity vector.

Range: force vector
Default: Zero

See also:
PxScene.setGravity()
When setting gravity, you should probably also set bounce threshold.

PxPairFilteringMode::Enum PxSceneDesc::kineKineFilteringMode

Filtering mode for kinematic-kinematic pairs in the broadphase.

Default: PxPairFilteringMode::eDEFAULT

See also:
PxPairFilteringMode

PxSceneLimits PxSceneDesc::limits

Expected scene limits.

See also:
PxSceneLimits

Referenced by isValid().

PxReal PxSceneDesc::maxBiasCoefficient

The maximum bias coefficient used in the constraint solver.

When geometric errors are found in the constraint solver, either as a result of shapes penetrating or joints becoming separated or violating limits, a bias is introduced in the solver position iterations to correct these errors. This bias is proportional to 1/dt, meaning that the bias becomes increasingly strong as the time-step passed to PxScene::simulate(...) becomes smaller. This coefficient allows the application to restrict how large the bias coefficient is, to reduce how violent error corrections are. This can improve simulation quality in cases where either variable time-steps or extremely small time-steps are used.

Default: PX_MAX_F32

Range [0, PX_MAX_F32]

PxU32 PxSceneDesc::maxNbContactDataBlocks

Setting to define the maximum number of 16K blocks that can be allocated to store contact, friction, and contact cache data. As the complexity of a scene increases, the SDK may require to allocate new 16k blocks in addition to the blocks it has already allocated. This variable controls the maximum number of blocks that the SDK can allocate.

In the case that the scene is sufficiently complex that all the permitted 16K blocks are used, contacts will be dropped and a warning passed to the error stream.

If a warning is reported to the error stream to indicate the number of 16K blocks is insufficient for the scene complexity then the choices are either (i) re-tune the number of 16K data blocks until a number is found that is sufficient for the scene complexity, (ii) to simplify the scene or (iii) to opt to not increase the memory requirements of physx and accept some dropped contacts.

Default: 65536

Range: [0, PX_MAX_U32]

See also:
nbContactDataBlocks PxScene::setNbContactDataBlocks

Referenced by isValid().

PxU32 PxSceneDesc::nbContactDataBlocks

Setting to define the number of 16K blocks that will be initially reserved to store contact, friction, and contact cache data. This is the number of 16K memory blocks that will be automatically allocated from the user allocator when the scene is instantiated. Further 16k memory blocks may be allocated during the simulation up to maxNbContactDataBlocks.

Note:
This value cannot be larger than maxNbContactDataBlocks because that defines the maximum number of 16k blocks that can be allocated by the SDK.
Default: 0

Range: [0, PX_MAX_U32]

See also:
PxPhysics::createScene PxScene::setNbContactDataBlocks

Referenced by isValid().

PxBounds3 PxSceneDesc::sanityBounds

The bounds used to sanity check user-set positions of actors and articulation links.

These bounds are used to check the position values of rigid actors inserted into the scene, and positions set for rigid actors already within the scene.

Range: any valid PxBounds3
Default: (-PX_MAX_BOUNDS_EXTENTS, PX_MAX_BOUNDS_EXTENTS) on each axis

Referenced by isValid().

PxSceneQueryUpdateMode::Enum PxSceneDesc::sceneQueryUpdateMode

Defines the scene query update mode.

Note:
Setting a value other than the default will result in ignoring the deprecated PxSceneFlag::eSUPPRESS_EAGER_SCENE_QUERY_REFIT
Default: PxSceneQueryUpdateMode::eBUILD_ENABLED_COMMIT_ENABLED

PxSimulationEventCallback* PxSceneDesc::simulationEventCallback

Possible notification callback.

This callback will be associated with the client PX_DEFAULT_CLIENT. Please use PxScene::setSimulationEventCallback() to register callbacks for other clients.

Default: NULL

See also:
PxSimulationEventCallback PxScene.setSimulationEventCallback() PxScene.getSimulationEventCallback()

PxU32 PxSceneDesc::solverBatchSize

Defines the number of actors required to spawn a separate rigid body solver island task chain.

This parameter defines the minimum number of actors required to spawn a separate rigid body solver task chain. Setting a low value will potentially cause more task chains to be generated. This may result in the overhead of spawning tasks can become a limiting performance factor. Setting a high value will potentially cause fewer islands to be generated. This may reduce thread scaling (fewer task chains spawned) and may detrimentally affect performance if some bodies in the scene have large solver iteration counts because all constraints in a given island are solved by the maximum number of solver iterations requested by any body in the island.

Default: 128

See also:
PxScene.setSolverBatchSize() PxScene.getSolverBatchSize()

PxReal PxSceneDesc::solverOffsetSlop

A slop value used to zero contact offsets from the body's COM on an axis if the offset along that axis is smaller than this threshold. Can be used to compensate for small numerical errors in contact generation.

Range: [0, PX_MAX_F32)
Default: 0.0

PxPairFilteringMode::Enum PxSceneDesc::staticKineFilteringMode

Filtering mode for static-kinematic pairs in the broadphase.

Default: PxPairFilteringMode::eDEFAULT

See also:
PxPairFilteringMode

PxPruningStructureType::Enum PxSceneDesc::staticStructure

Defines the structure used to store static objects.

Note:
Only PxPruningStructureType::eSTATIC_AABB_TREE and PxPruningStructureType::eDYNAMIC_AABB_TREE are allowed here.

Referenced by isValid().

void* PxSceneDesc::userData

Will be copied to PxScene::userData.

Default: NULL

PxReal PxSceneDesc::wakeCounterResetValue

The wake counter reset value.

Calling wakeUp() on objects which support sleeping will set their wake counter value to the specified reset value.

Range: (0, PX_MAX_F32)
Default: 0.4 (which corresponds to 20 frames for a time step of 0.02)

See also:
PxRigidDynamic::wakeUp() PxArticulation::wakeUp() PxCloth::wakeUp()

Referenced by isValid().

The documentation for this class was generated from the following file:
  • PxSceneDesc.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSceneReadLock Class Reference

PxSceneReadLock Class Reference
[Physics]

RAII wrapper for the PxScene read lock. More...

#include <PxSceneLock.h>

Collaboration diagram for PxSceneReadLock:

PxScene
[legend]

List of all members.

Public Member Functions

PxSceneReadLock (PxScene &scene, const char *file=NULL, PxU32 line=0)
Constructor.
~PxSceneReadLock ()

Private Member Functions

PxSceneReadLock (const PxSceneReadLock &)
PxSceneReadLock & operator= (const PxSceneReadLock &)

Private Attributes

PxScene & mScene

Detailed Description

RAII wrapper for the PxScene read lock.

Use this class as follows to lock the scene for reading by the current thread for the duration of the enclosing scope:

PxSceneReadLock lock(sceneRef);

See also:
PxScene::lockRead(), PxScene::unlockRead(), PxSceneFlag::eREQUIRE_RW_LOCK

Constructor & Destructor Documentation

PxSceneReadLock::PxSceneReadLock ( const PxSceneReadLock & ) [private]

PxSceneReadLock::PxSceneReadLock | ( | PxScene & | scene,
 |  | const char * | file = NULL,
 |  | PxU32 | line = 0 |
 | ) |  |  | [inline]

Constructor.

Parameters:
scene | The scene to lock for reading
file | Optional string for debugging purposes
line | Optional line number for debugging purposes

PxSceneReadLock::~PxSceneReadLock ( ) [inline]

Member Function Documentation

PxSceneReadLock& PxSceneReadLock::operator= ( const PxSceneReadLock & ) [private]

Member Data Documentation

PxScene& PxSceneReadLock::mScene [private]

The documentation for this class was generated from the following file:
  • PxSceneLock.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSceneWriteLock Class Reference

PxSceneWriteLock Class Reference
[Physics]

RAII wrapper for the PxScene write lock. More...

#include <PxSceneLock.h>

Collaboration diagram for PxSceneWriteLock:

PxScene
[legend]

List of all members.

Public Member Functions

PxSceneWriteLock (PxScene &scene, const char *file=NULL, PxU32 line=0)
Constructor.
~PxSceneWriteLock ()

Private Member Functions

PxSceneWriteLock (const PxSceneWriteLock &)
PxSceneWriteLock & operator= (const PxSceneWriteLock &)

Private Attributes

PxScene & mScene

Detailed Description

RAII wrapper for the PxScene write lock.

Use this class as follows to lock the scene for writing by the current thread for the duration of the enclosing scope:

PxSceneWriteLock lock(sceneRef);

See also:
PxScene::lockWrite(), PxScene::unlockWrite(), PxSceneFlag::eREQUIRE_RW_LOCK

Constructor & Destructor Documentation

PxSceneWriteLock::PxSceneWriteLock ( const PxSceneWriteLock & ) [private]

PxSceneWriteLock::PxSceneWriteLock | ( | PxScene & | scene,
 |  | const char * | file = NULL,
 |  | PxU32 | line = 0 |
 | ) |  |  | [inline]

Constructor.

Parameters:
scene | The scene to lock for writing
file | Optional string for debugging purposes
line | Optional line number for debugging purposes

PxSceneWriteLock::~PxSceneWriteLock ( ) [inline]

Member Function Documentation

PxSceneWriteLock& PxSceneWriteLock::operator= ( const PxSceneWriteLock & ) [private]

Member Data Documentation

PxScene& PxSceneWriteLock::mScene [private]

The documentation for this class was generated from the following file:
  • PxSceneLock.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxShapeFlag Struct Reference

PxShapeFlag Struct Reference
[Physics]

Flags which affect the behavior of PxShapes. More...

#include <PxShape.h>

List of all members.

Public Types

enum Enum {
eSIMULATION_SHAPE = (1<<0),
eSCENE_QUERY_SHAPE = (1<<1),
eTRIGGER_SHAPE = (1<<2),
eVISUALIZATION = (1<<3),
ePARTICLE_DRAIN = (1<<4)
}

Detailed Description

Flags which affect the behavior of PxShapes.

See also:
PxShape PxShape.setFlag()

Member Enumeration Documentation

enum PxShapeFlag::Enum

Enumerator:
eSIMULATION_SHAPE The shape will partake in collision in the physical simulation.

Note:
It is illegal to raise the eSIMULATION_SHAPE and eTRIGGER_SHAPE flags. In the event that one of these flags is already raised the sdk will reject any attempt to raise the other. To raise the eSIMULATION_SHAPE first ensure that eTRIGGER_SHAPE is already lowered.

This flag has no effect if simulation is disabled for the corresponding actor (see PxActorFlag::eDISABLE_SIMULATION).

See also:
PxSimulationEventCallback.onContact() PxScene.setSimulationEventCallback() PxShape.setFlag(), PxShape.setFlags()
eSCENE_QUERY_SHAPE | The shape will partake in scene queries (ray casts, overlap tests, sweeps, ...).
eTRIGGER_SHAPE The shape is a trigger which can send reports whenever other shapes enter/leave its volume.

Note:
Triangle meshes and heightfields can not be triggers. Shape creation will fail in these cases.

Shapes marked as triggers do not collide with other objects. If an object should act both as a trigger shape and a collision shape then create a rigid body with two shapes, one being a trigger shape and the other a collision shape. It is illegal to raise the eTRIGGER_SHAPE and eSIMULATION_SHAPE flags on a single PxShape instance. In the event that one of these flags is already raised the sdk will reject any attempt to raise the other. To raise the eTRIGGER_SHAPE flag first ensure that eSIMULATION_SHAPE flag is already lowered.

Trigger shapes will no longer send notification events for interactions with other trigger shapes. For PhysX 3.4 there is the option to re-enable the reports by raising PxSceneFlag::eDEPRECATED_TRIGGER_TRIGGER_REPORTS. In PhysX 3.5 there will be no support for these reports any longer. See the 3.4 migration guide for more information.

Shapes marked as triggers are allowed to participate in scene queries, provided the eSCENE_QUERY_SHAPE flag is set.

This flag has no effect if simulation is disabled for the corresponding actor (see PxActorFlag::eDISABLE_SIMULATION).

See also:
PxSimulationEventCallback.onTrigger() PxScene.setSimulationEventCallback() PxShape.setFlag(), PxShape.setFlags()
eVISUALIZATION Enable debug renderer for this shape.

See also:
PxScene.getRenderBuffer() PxRenderBuffer PxVisualizationParameter
ePARTICLE_DRAIN | Sets the shape to be a particle drain.

The documentation for this struct was generated from the following file:
  • PxShape.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxShape Class Reference

PxShape Class Reference
[Physics]

Abstract class for collision shapes. More...

#include <PxShape.h>

Inheritance diagram for PxShape:

PxBase
[legend]
Collaboration diagram for PxShape:

PxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

virtual void | release ()=0
Decrements the reference count of a shape and releases it if the new reference count is zero.
virtual void | acquireReference ()=0
Acquires a counted reference to a shape.
virtual PxGeometryType::Enum | getGeometryType () const =0
Get the geometry type of the shape.
virtual void | setGeometry (const PxGeometry &geometry)=0
Adjust the geometry of the shape.
virtual PxGeometryHolder | getGeometry () const =0
Retrieve the geometry from the shape in a PxGeometryHolder wrapper class.
virtual bool | getBoxGeometry (PxBoxGeometry &geometry) const =0
Fetch the geometry of the shape.
virtual bool | getSphereGeometry (PxSphereGeometry &geometry) const =0
Fetch the geometry of the shape.
virtual bool | getCapsuleGeometry (PxCapsuleGeometry &geometry) const =0
Fetch the geometry of the shape.
virtual bool | getPlaneGeometry (PxPlaneGeometry &geometry) const =0
Fetch the geometry of the shape.
virtual bool | getConvexMeshGeometry (PxConvexMeshGeometry &geometry) const =0
Fetch the geometry of the shape.
virtual bool | getTriangleMeshGeometry (PxTriangleMeshGeometry &geometry) const =0
Fetch the geometry of the shape.
virtual bool | getHeightFieldGeometry (PxHeightFieldGeometry &geometry) const =0
Fetch the geometry of the shape.
virtual PxRigidActor * | getActor () const =0
Retrieves the actor which this shape is associated with.
virtual void | setMaterials (PxMaterial *const *materials, PxU16 materialCount)=0
Assigns material(s) to the shape.
virtual PxU16 | getNbMaterials () const =0
Returns the number of materials assigned to the shape.
virtual PxU32 | getMaterials (PxMaterial **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0
Retrieve all the material pointers associated with the shape.
virtual PxMaterial * | getMaterialFromInternalFaceIndex (PxU32 faceIndex) const =0
Retrieve material from given triangle index.
virtual void | setContactOffset (PxReal contactOffset)=0
Sets the contact offset.
virtual PxReal | getContactOffset () const =0
Retrieves the contact offset.
virtual void | setRestOffset (PxReal restOffset)=0
Sets the rest offset.
virtual PxReal | getRestOffset () const =0
Retrieves the rest offset.
virtual void | setFlag (PxShapeFlag::Enum flag, bool value)=0
Sets shape flags.
virtual void | setFlags (PxShapeFlags inFlags)=0
Sets shape flags.
virtual PxShapeFlags | getFlags () const =0
Retrieves shape flags.
virtual bool | isExclusive () const =0
Returns true if the shape is exclusive to an actor.
virtual void | setName (const char *name)=0
Sets a name string for the object that can be retrieved with getName().
virtual const char * | getName () const =0
retrieves the name string set with setName().
virtual const char * | getConcreteTypeName () const
Returns string name of dynamic type.
Pose Manipulation
virtual void | setLocalPose (const PxTransform &pose)=0
Sets the pose of the shape in actor space, i.e. relative to the actors to which they are attached.
virtual PxTransform | getLocalPose () const =0
Retrieves the pose of the shape in actor space, i.e. relative to the actor they are owned by.
Collision Filtering
virtual void | setSimulationFilterData (const PxFilterData &data)=0
Sets the user definable collision filter data.
virtual PxFilterData | getSimulationFilterData () const =0
Retrieves the shape's collision filter data.
virtual void | setQueryFilterData (const PxFilterData &data)=0
Sets the user definable query filter data.
virtual PxFilterData | getQueryFilterData () const =0
Retrieves the shape's Query filter data.

Public Attributes

void * | userData
user can assign this to whatever, usually to create a 1:1 relationship with a user object.

Protected Member Functions

PX_INLINE | PxShape (PxBaseFlags baseFlags)
PX_INLINE | PxShape (PxType concreteType, PxBaseFlags baseFlags)
virtual | ~PxShape ()
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Detailed Description

Abstract class for collision shapes.

Shapes are shared, reference counted objects.

An instance can be created by calling the createShape() method of the PxRigidActor class, or the createShape() method of the PxPhysics class.

Visualizations

  • PxVisualizationParameter::eCOLLISION_AABBS
  • PxVisualizationParameter::eCOLLISION_SHAPES
  • PxVisualizationParameter::eCOLLISION_AXES
See also:
PxPhysics.createShape() PxRigidActor.createShape() PxBoxGeometry PxSphereGeometry PxCapsuleGeometry PxPlaneGeometry PxConvexMeshGeometry PxTriangleMeshGeometry PxHeightFieldGeometry

Constructor & Destructor Documentation

PX_INLINE PxShape::PxShape ( PxBaseFlags baseFlags ) [inline, protected]

PX_INLINE PxShape::PxShape | ( | PxType | concreteType,
 |  | PxBaseFlags | baseFlags |
 | ) |  |  | [inline, protected]

virtual PxShape::~PxShape ( ) [inline, protected, virtual]

Member Function Documentation

virtual void PxShape::acquireReference ( ) [pure virtual]

Acquires a counted reference to a shape.

This method increases the reference count of the shape by 1. Decrement the reference count by calling release()

virtual PxRigidActor* PxShape::getActor ( ) const [pure virtual]

Retrieves the actor which this shape is associated with.

Returns:
The actor this shape is associated with, if it is an exclusive shape, else NULL
See also:
PxRigidStatic, PxRigidDynamic, PxArticulationLink

virtual bool PxShape::getBoxGeometry ( PxBoxGeometry & geometry ) const [pure virtual]

Fetch the geometry of the shape.

Note:
If the type of geometry to extract does not match the geometry type of the shape then the method will return false and the passed in geometry descriptor is not modified.
Parameters:
[in] geometry The descriptor to save the shape's geometry data to.
Returns:
True on success else false
See also:
PxGeometry PxGeometryType getGeometryType()

virtual bool PxShape::getCapsuleGeometry ( PxCapsuleGeometry & geometry ) const [pure virtual]

Fetch the geometry of the shape.

Note:
If the type of geometry to extract does not match the geometry type of the shape then the method will return false and the passed in geometry descriptor is not modified.
Parameters:
[in] geometry The descriptor to save the shape's geometry data to.
Returns:
True on success else false
See also:
PxGeometry PxGeometryType getGeometryType()

virtual const char* PxShape::getConcreteTypeName ( ) const [inline, virtual]

Returns string name of dynamic type.

Returns:
Class name of most derived type of this object.

Implements PxBase.

virtual PxReal PxShape::getContactOffset ( ) const [pure virtual]

Retrieves the contact offset.

Returns:
The contact offset of the shape.
See also:
setContactOffset()

virtual bool PxShape::getConvexMeshGeometry ( PxConvexMeshGeometry & geometry ) const [pure virtual]

Fetch the geometry of the shape.

Note:
If the type of geometry to extract does not match the geometry type of the shape then the method will return false and the passed in geometry descriptor is not modified.
Parameters:
[in] geometry The descriptor to save the shape's geometry data to.
Returns:
True on success else false
See also:
PxGeometry PxGeometryType getGeometryType()

virtual PxShapeFlags PxShape::getFlags ( ) const [pure virtual]

Retrieves shape flags.

Returns:
The values of the shape flags.
See also:
PxShapeFlag setFlag()

virtual PxGeometryHolder PxShape::getGeometry ( ) const [pure virtual]

Retrieve the geometry from the shape in a PxGeometryHolder wrapper class.

Returns:
a PxGeometryHolder object containing the geometry;
See also:
PxGeometry PxGeometryType getGeometryType() setGeometry()

Referenced by PxShapeExt::getWorldBounds(), PxShapeExt::overlap(), PxShapeExt::raycast(), and PxShapeExt::sweep().

virtual PxGeometryType::Enum PxShape::getGeometryType ( ) const [pure virtual]

Get the geometry type of the shape.

Returns:
Type of shape geometry.
See also:
PxGeometryType

virtual bool PxShape::getHeightFieldGeometry ( PxHeightFieldGeometry & geometry ) const [pure virtual]

Fetch the geometry of the shape.

Note:
If the type of geometry to extract does not match the geometry type of the shape then the method will return false and the passed in geometry descriptor is not modified.
Parameters:
[in] geometry The descriptor to save the shape's geometry data to.
Returns:
True on success else false
See also:
PxGeometry PxGeometryType getGeometryType()

virtual PxTransform PxShape::getLocalPose ( ) const [pure virtual]

Retrieves the pose of the shape in actor space, i.e. relative to the actor they are owned by.

This transformation is identity by default.

Returns:
Pose of shape relative to the actor's frame.
See also:
setLocalPose()

Referenced by PxShapeExt::getGlobalPose().

virtual PxMaterial* PxShape::getMaterialFromInternalFaceIndex ( PxU32 faceIndex ) const [pure virtual]

Retrieve material from given triangle index.

The input index is the internal triangle index as used inside the SDK. This is the index returned to users by various SDK functions such as raycasts.

This function is only useful for triangle meshes or heightfields, which have per-triangle materials. For other shapes the function returns the single material associated with the shape, regardless of the index.

Parameters:
[in] faceIndex The internal triangle index whose material you want to retrieve.
Returns:
Material from input triangle
Note:
If faceIndex value of 0xFFFFffff is passed as an input for mesh and heightfield shapes, this function will issue a warning and return NULL.

Scene queries set the value of PxQueryHit::faceIndex to 0xFFFFffff whenever it is undefined or does not apply.

See also:
PxMaterial getNbMaterials() PxMaterial::release()

virtual PxU32 PxShape::getMaterials | ( | PxMaterial ** | userBuffer,
 |  | PxU32 | bufferSize,
 |  | PxU32 | startIndex = 0 |
 | ) |  |  | const [pure virtual]

Retrieve all the material pointers associated with the shape.

You can retrieve the number of material pointers by calling getNbMaterials()

Note: Removing materials with PxMaterial::release() will invalidate the pointer of the released material.

Parameters:
[out] | userBuffer | The buffer to store the material pointers.
[in] | bufferSize | Size of provided user buffer.
[in] | startIndex | Index of first material pointer to be retrieved
Returns:
Number of material pointers written to the buffer.
See also:
PxMaterial getNbMaterials() PxMaterial::release()

virtual const char* PxShape::getName ( ) const [pure virtual]

retrieves the name string set with setName().

Returns:
The name associated with the shape.
See also:
setName()

virtual PxU16 PxShape::getNbMaterials ( ) const [pure virtual]

Returns the number of materials assigned to the shape.

You can use getMaterials() to retrieve the material pointers.

Returns:
Number of materials associated with this shape.
See also:
PxMaterial getMaterials()

virtual bool PxShape::getPlaneGeometry ( PxPlaneGeometry & geometry ) const [pure virtual]

Fetch the geometry of the shape.

Note:
If the type of geometry to extract does not match the geometry type of the shape then the method will return false and the passed in geometry descriptor is not modified.
Parameters:
[in] geometry The descriptor to save the shape's geometry data to.
Returns:
True on success else false
See also:
PxGeometry PxGeometryType getGeometryType()

virtual PxFilterData PxShape::getQueryFilterData ( ) const [pure virtual]

Retrieves the shape's Query filter data.

See also:
setQueryFilterData()

virtual PxReal PxShape::getRestOffset ( ) const [pure virtual]

Retrieves the rest offset.

Returns:
The rest offset of the shape.
See also:
setRestOffset()

virtual PxFilterData PxShape::getSimulationFilterData ( ) const [pure virtual]

Retrieves the shape's collision filter data.

See also:
setSimulationFilterData()

virtual bool PxShape::getSphereGeometry ( PxSphereGeometry & geometry ) const [pure virtual]

Fetch the geometry of the shape.

Note:
If the type of geometry to extract does not match the geometry type of the shape then the method will return false and the passed in geometry descriptor is not modified.
Parameters:
[in] geometry The descriptor to save the shape's geometry data to.
Returns:
True on success else false
See also:
PxGeometry PxGeometryType getGeometryType()

virtual bool PxShape::getTriangleMeshGeometry ( PxTriangleMeshGeometry & geometry ) const [pure virtual]

Fetch the geometry of the shape.

Note:
If the type of geometry to extract does not match the geometry type of the shape then the method will return false and the passed in geometry descriptor is not modified.
Parameters:
[in] geometry The descriptor to save the shape's geometry data to.
Returns:
True on success else false
See also:
PxGeometry PxGeometryType getGeometryType()

virtual bool PxShape::isExclusive ( ) const [pure virtual]

Returns true if the shape is exclusive to an actor.

See also:
PxPhysics::createShape()

virtual bool PxShape::isKindOf ( const char * superClass ) const [inline, protected, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxBase.

References PxBase::isKindOf().

virtual void PxShape::release ( ) [pure virtual]

Decrements the reference count of a shape and releases it if the new reference count is zero.

Note that in releases prior to PhysX 3.3 this method did not have reference counting semantics and was used to destroy a shape created with PxActor::createShape(). In PhysX 3.3 and above, this usage is deprecated, instead, use PxRigidActor::detachShape() to detach a shape from an actor. If the shape to be detached was created with PxActor::createShape(), the actor holds the only counted reference, and so when the shape is detached it will also be destroyed.

See also:
PxRigidActor::createShape() PxPhysics::createShape() PxRigidActor::attachShape() PxRigidActor::detachShape()

Implements PxBase.

Referenced by PxRigidActorExt::createExclusiveShape().

virtual void PxShape::setContactOffset ( PxReal contactOffset ) [pure virtual]

Sets the contact offset.

Shapes whose distance is less than the sum of their contactOffset values will generate contacts. The contact offset must be positive and greater than the rest offset. Having a contactOffset greater than than the restOffset allows the collision detection system to predictively enforce the contact constraint even when the objects are slightly separated. This prevents jitter that would occur if the constraint were enforced only when shapes were within the rest distance.

Default: 0.02f * PxTolerancesScale::length

Sleeping: Does NOT wake the associated actor up automatically.

Parameters:
[in] contactOffset Range: [maximum(0,restOffset), PX_MAX_F32)
See also:
getContactOffset PxTolerancesScale setRestOffset

virtual void PxShape::setFlag | ( | PxShapeFlag::Enum | flag,
 |  | bool | value |
 | ) |  |  | [pure virtual]

Sets shape flags.

Sleeping: Does NOT wake the associated actor up automatically.

Parameters:
[in] | flag | The shape flag to enable/disable. See PxShapeFlag.
[in] | value | True to set the flag. False to clear the flag specified in flag.
Default: PxShapeFlag::eVISUALIZATION | PxShapeFlag::eSIMULATION_SHAPE | PxShapeFlag::eSCENE_QUERY_SHAPE

See also:
PxShapeFlag getFlags()

virtual void PxShape::setFlags ( PxShapeFlags inFlags ) [pure virtual]

Sets shape flags.

See also:
PxShapeFlag getFlags()

virtual void PxShape::setGeometry ( const PxGeometry & geometry ) [pure virtual]

Adjust the geometry of the shape.

Note:
The type of the passed in geometry must match the geometry type of the shape.

It is not allowed to change the geometry type of a shape.

This function does not guarantee correct/continuous behavior when objects are resting on top of old or new geometry.

Parameters:
[in] geometry New geometry of the shape.
See also:
PxGeometry PxGeometryType getGeometryType()

virtual void PxShape::setLocalPose ( const PxTransform & pose ) [pure virtual]

Sets the pose of the shape in actor space, i.e. relative to the actors to which they are attached.

This transformation is identity by default.

The local pose is an attribute of the shape, and so will apply to all actors to which the shape is attached.

Sleeping: Does NOT wake the associated actor up automatically.

Note: Does not automatically update the inertia properties of the owning actor (if applicable); use the PhysX extensions method PxRigidBodyExt::updateMassAndInertia() to do this.

Default: the identity transform

Parameters:
[in] pose The new transform from the actor frame to the shape frame. Range: rigid body transform
See also:
getLocalPose()

virtual void PxShape::setMaterials | ( | PxMaterial *const * | materials,
 |  | PxU16 | materialCount |
 | ) |  |  | [pure virtual]

Assigns material(s) to the shape.

Sleeping: Does NOT wake the associated actor up automatically.

Parameters:
[in] | materials | List of material pointers to assign to the shape. See PxMaterial
[in] | materialCount | The number of materials provided.
See also:
PxPhysics.createMaterial() getMaterials()

virtual void PxShape::setName ( const char * name ) [pure virtual]

Sets a name string for the object that can be retrieved with getName().

This is for debugging and is not used by the SDK. The string is not copied by the SDK, only the pointer is stored.

Default: NULL

Parameters:
[in] name The name string to set the objects name to.
See also:
getName()

virtual void PxShape::setQueryFilterData ( const PxFilterData & data ) [pure virtual]

Sets the user definable query filter data.

Default: (0,0,0,0)

See also:
getQueryFilterData()

virtual void PxShape::setRestOffset ( PxReal restOffset ) [pure virtual]

Sets the rest offset.

Two shapes will come to rest at a distance equal to the sum of their restOffset values. If the restOffset is 0, they should converge to touching exactly. Having a restOffset greater than zero is useful to have objects slide smoothly, so that they do not get hung up on irregularities of each others' surfaces.

Default: 0.0f

Sleeping: Does NOT wake the associated actor up automatically.

Parameters:
[in] restOffset Range: (-PX_MAX_F32, contactOffset)
See also:
getRestOffset setContactOffset

virtual void PxShape::setSimulationFilterData ( const PxFilterData & data ) [pure virtual]

Sets the user definable collision filter data.

Sleeping: Does wake up the actor if the filter data change causes a formerly suppressed collision pair to be enabled.

Default: (0,0,0,0)

See also:
getSimulationFilterData()

Member Data Documentation

void* PxShape::userData

user can assign this to whatever, usually to create a 1:1 relationship with a user object.

The documentation for this class was generated from the following file:
  • PxShape.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxContactPairExtraDataType Struct Reference

PxContactPairExtraDataType Struct Reference
[Physics]

Extra data item types for contact pairs. More...

#include <PxSimulationEventCallback.h>

List of all members.

Public Types

enum Enum {
ePRE_SOLVER_VELOCITY,
ePOST_SOLVER_VELOCITY,
eCONTACT_EVENT_POSE,
eCONTACT_PAIR_INDEX
}

Detailed Description

Extra data item types for contact pairs.

See also:
PxContactPairExtraDataItem.type

Member Enumeration Documentation

enum PxContactPairExtraDataType::Enum

Enumerator:
ePRE_SOLVER_VELOCITY | see PxContactPairVelocity
ePOST_SOLVER_VELOCITY | see PxContactPairVelocity
eCONTACT_EVENT_POSE | see PxContactPairPose
eCONTACT_PAIR_INDEX | see PxContactPairIndex

The documentation for this struct was generated from the following file:
  • PxSimulationEventCallback.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxContactPairExtraDataItem Struct Reference

PxContactPairExtraDataItem Struct Reference
[Physics]

Base class for items in the extra data stream of contact pairs. More...

#include <PxSimulationEventCallback.h>

Inheritance diagram for PxContactPairExtraDataItem:

PxContactPairIndexPxContactPairPosePxContactPairVelocity
[legend]

List of all members.

Public Member Functions

PX_FORCE_INLINE | PxContactPairExtraDataItem ()

Public Attributes

PxU8 | type
The type of the extra data stream item.

Detailed Description

Base class for items in the extra data stream of contact pairs.

See also:
PxContactPairHeader.extraDataStream

Constructor & Destructor Documentation

PX_FORCE_INLINE PxContactPairExtraDataItem::PxContactPairExtraDataItem ( ) [inline]

Member Data Documentation

PxU8 PxContactPairExtraDataItem::type

The type of the extra data stream item.

Referenced by PxContactPairExtraDataIterator::nextItemSet().

The documentation for this struct was generated from the following file:
  • PxSimulationEventCallback.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxContactPairVelocity Struct Reference

PxContactPairVelocity Struct Reference
[Physics]

Velocities of the contact pair rigid bodies. More...

#include <PxSimulationEventCallback.h>

Inheritance diagram for PxContactPairVelocity:

PxContactPairExtraDataItem
[legend]
Collaboration diagram for PxContactPairVelocity:

PxContactPairExtraDataItemPxVec3
[legend]

List of all members.

Public Member Functions

PX_FORCE_INLINE | PxContactPairVelocity ()

Public Attributes

PxVec3 | linearVelocity [2]
The linear velocity of the rigid bodies.
PxVec3 | angularVelocity [2]
The angular velocity of the rigid bodies.

Detailed Description

Velocities of the contact pair rigid bodies.

This struct is shared by multiple types of extra data items. The type field allows to distinguish between them:

  • PxContactPairExtraDataType::ePRE_SOLVER_VELOCITY: see PxPairFlag::ePRE_SOLVER_VELOCITY
  • PxContactPairExtraDataType::ePOST_SOLVER_VELOCITY: see PxPairFlag::ePOST_SOLVER_VELOCITY
Note:
For static rigid bodies, the velocities will be set to zero.
See also:
PxContactPairHeader.extraDataStream

Constructor & Destructor Documentation

PX_FORCE_INLINE PxContactPairVelocity::PxContactPairVelocity ( ) [inline]

Member Data Documentation

PxVec3 PxContactPairVelocity::angularVelocity[2]

The angular velocity of the rigid bodies.

PxVec3 PxContactPairVelocity::linearVelocity[2]

The linear velocity of the rigid bodies.

The documentation for this struct was generated from the following file:
  • PxSimulationEventCallback.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxContactPairPose Struct Reference

PxContactPairPose Struct Reference
[Physics]

World space actor poses of the contact pair rigid bodies. More...

#include <PxSimulationEventCallback.h>

Inheritance diagram for PxContactPairPose:

PxContactPairExtraDataItem
[legend]
Collaboration diagram for PxContactPairPose:

PxContactPairExtraDataItemPxTransformPxVec3PxQuat
[legend]

List of all members.

Public Member Functions

PX_FORCE_INLINE | PxContactPairPose ()

Public Attributes

PxTransform | globalPose [2]
The world space pose of the rigid bodies.

Detailed Description

World space actor poses of the contact pair rigid bodies.

See also:
PxContactPairHeader.extraDataStream PxPairFlag::eCONTACT_EVENT_POSE

Constructor & Destructor Documentation

PX_FORCE_INLINE PxContactPairPose::PxContactPairPose ( ) [inline]

Member Data Documentation

PxTransform PxContactPairPose::globalPose[2]

The world space pose of the rigid bodies.

The documentation for this struct was generated from the following file:
  • PxSimulationEventCallback.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxContactPairIndex Struct Reference

PxContactPairIndex Struct Reference
[Physics]

Marker for the beginning of a new item set in the extra data stream. More...

#include <PxSimulationEventCallback.h>

Inheritance diagram for PxContactPairIndex:

PxContactPairExtraDataItem
[legend]
Collaboration diagram for PxContactPairIndex:

PxContactPairExtraDataItem
[legend]

List of all members.

Public Member Functions

PX_FORCE_INLINE | PxContactPairIndex ()

Public Attributes

PxU16 | index
The next item set in the extra data stream refers to the contact pairs starting at index in the reported PxContactPair array.

Detailed Description

Marker for the beginning of a new item set in the extra data stream.

If CCD with multiple passes is enabled, then a fast moving object might bounce on and off the same object multiple times. Also, different shapes of the same actor might gain and lose contact with an other object over multiple passes. This marker allows to seperate the extra data items for each collision case, as well as distinguish the shape pair reports of different CCD passes.

Example: Let us assume that an actor a0 with shapes s0_0 and s0_1 hits another actor a1 with shape s1. First s0_0 will hit s1, then a0 will slightly rotate and s0_1 will hit s1 while s0_0 will lose contact with s1. Furthermore, let us say that contact event pose information is requested as extra data. The extra data stream will look like this:

PxContactPairIndexA | PxContactPairPoseA | PxContactPairIndexB | PxContactPairPoseB

The corresponding array of PxContactPair events (see PxSimulationEventCallback.onContact()) will look like this:

PxContactPair(touch_found: s0_0, s1) | PxContactPair(touch_lost: s0_0, s1) | PxContactPair(touch_found: s0_1, s1)

The index of PxContactPairIndexA will point to the first entry in the PxContactPair array, for PxContactPairIndexB, index will point to the third entry.

See also:
PxContactPairHeader.extraDataStream

Constructor & Destructor Documentation

PX_FORCE_INLINE PxContactPairIndex::PxContactPairIndex ( ) [inline]

Member Data Documentation

PxU16 PxContactPairIndex::index

The next item set in the extra data stream refers to the contact pairs starting at index in the reported PxContactPair array.

The documentation for this struct was generated from the following file:
  • PxSimulationEventCallback.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxContactPairExtraDataIterator Struct Reference

PxContactPairExtraDataIterator Struct Reference
[Physics]

A class to iterate over a contact pair extra data stream. More...

#include <PxSimulationEventCallback.h>

Collaboration diagram for PxContactPairExtraDataIterator:

PxContactPairVelocityPxContactPairExtraDataItemPxContactPairPosePxVec3PxTransformPxQuat
[legend]

List of all members.

Public Member Functions

PX_FORCE_INLINE | PxContactPairExtraDataIterator (const PxU8 *stream, PxU32 size)
Constructor.
PX_INLINE bool | nextItemSet ()
Advances the iterator to next set of extra data items.

Public Attributes

const PxU8 * | currPtr
Current pointer in the stream.
const PxU8 * | endPtr
Pointer to the end of the stream.
const PxContactPairVelocity * | preSolverVelocity
Pointer to the current pre solver velocity item in the stream. NULL if there is none.
const PxContactPairVelocity * | postSolverVelocity
Pointer to the current post solver velocity item in the stream. NULL if there is none.
const PxContactPairPose * | eventPose
Pointer to the current contact event pose item in the stream. NULL if there is none.
PxU32 contactPairIndex
The contact pair index of the current item set in the stream.

Private Member Functions

PX_FORCE_INLINE void | clearDataPtrs ()
Internal helper.

Detailed Description

A class to iterate over a contact pair extra data stream.

See also:
PxContactPairHeader.extraDataStream

Constructor & Destructor Documentation

PX_FORCE_INLINE PxContactPairExtraDataIterator::PxContactPairExtraDataIterator | ( | const PxU8 * | stream,
 |  | PxU32 | size |
 | ) |  |  | [inline]

Constructor.

Parameters:
[in] | stream | Pointer to the start of the stream.
[in] | size | Size of the stream in bytes.

Member Function Documentation

PX_FORCE_INLINE void PxContactPairExtraDataIterator::clearDataPtrs ( ) [inline, private]

Internal helper.

PX_INLINE bool PxContactPairExtraDataIterator::nextItemSet ( ) [inline]

Advances the iterator to next set of extra data items.

The contact pair extra data stream contains sets of items as requested by the corresponding PxPairFlag flags PxPairFlag::ePRE_SOLVER_VELOCITY, PxPairFlag::ePOST_SOLVER_VELOCITY, PxPairFlag::eCONTACT_EVENT_POSE. A set can contain one item of each plus the PxContactPairIndex item. This method parses the stream and points the iterator member variables to the corresponding items of the current set, if they are available. If CCD is not enabled, you should only get one set of items. If CCD with multiple passes is enabled, you might get more than one item set.

Note:
Even though contact pair extra data is requested per shape pair, you will not get an item set per shape pair but one per actor pair. If, for example, an actor has two shapes and both collide with another actor, then there will only be one item set (since it applies to both shape pairs).
Returns:
True if there was another set of extra data items in the stream, else false.
See also:
PxContactPairVelocity PxContactPairPose PxContactPairIndex

References PxContactPairExtraDataType::eCONTACT_EVENT_POSE, PxContactPairExtraDataType::eCONTACT_PAIR_INDEX, PxContactPairExtraDataType::ePOST_SOLVER_VELOCITY, PxContactPairExtraDataType::ePRE_SOLVER_VELOCITY, PX_ASSERT, and PxContactPairExtraDataItem::type.

Member Data Documentation

PxU32 PxContactPairExtraDataIterator::contactPairIndex

The contact pair index of the current item set in the stream.

See also:
PxContactPairIndex

const PxU8* PxContactPairExtraDataIterator::currPtr

Current pointer in the stream.

const PxU8* PxContactPairExtraDataIterator::endPtr

Pointer to the end of the stream.

const PxContactPairPose* PxContactPairExtraDataIterator::eventPose

Pointer to the current contact event pose item in the stream. NULL if there is none.

See also:
PxContactPairPose

const PxContactPairVelocity* PxContactPairExtraDataIterator::postSolverVelocity

Pointer to the current post solver velocity item in the stream. NULL if there is none.

See also:
PxContactPairVelocity

const PxContactPairVelocity* PxContactPairExtraDataIterator::preSolverVelocity

Pointer to the current pre solver velocity item in the stream. NULL if there is none.

See also:
PxContactPairVelocity

The documentation for this struct was generated from the following file:
  • PxSimulationEventCallback.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxContactPairHeaderFlag Struct Reference

PxContactPairHeaderFlag Struct Reference
[Physics]

Collection of flags providing information on contact report pairs. More...

#include <PxSimulationEventCallback.h>

List of all members.

Public Types

enum Enum {
eREMOVED_ACTOR_0 = (1<<0),
eREMOVED_ACTOR_1 = (1<<1)
}

Detailed Description

Collection of flags providing information on contact report pairs.

See also:
PxContactPairHeader

Member Enumeration Documentation

enum PxContactPairHeaderFlag::Enum

Enumerator:
eREMOVED_ACTOR_0 | The actor with index 0 has been removed from the scene.
eREMOVED_ACTOR_1 | The actor with index 1 has been removed from the scene.

The documentation for this struct was generated from the following file:
  • PxSimulationEventCallback.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxContactPairHeader Struct Reference

PxContactPairHeader Struct Reference
[Physics]

An Instance of this class is passed to PxSimulationEventCallback.onContact(). More...

#include <PxSimulationEventCallback.h>

Collaboration diagram for PxContactPairHeader:

PxRigidActorPxActorPxBasePxShapePxFlags\< PxBaseFlag::Enum, PxU16 \>PxContactPairPxFlags\< PxContactPairFlag::Enum, PxU16 \>PxFlags\< PxPairFlag::Enum, PxU16 \>PxFlags\< PxContactPairHeaderFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

PX_INLINE | PxContactPairHeader ()

Public Attributes

PxRigidActor * | actors [2]
The two actors of the notification shape pairs.
const PxU8 * | extraDataStream
Stream containing extra data as requested in the PxPairFlag flags of the simulation filter.
PxU16 | extraDataStreamSize
Size of the extra data stream [bytes].
PxContactPairHeaderFlags flags
Additional information on the contact report pair.
struct PxContactPair * | pairs
pointer to the contact pairs
PxU32 nbPairs
number of contact pairs

Detailed Description

An Instance of this class is passed to PxSimulationEventCallback.onContact().

See also:
PxSimulationEventCallback.onContact()

Constructor & Destructor Documentation

PX_INLINE PxContactPairHeader::PxContactPairHeader ( ) [inline]

Member Data Documentation

PxRigidActor* PxContactPairHeader::actors[2]

The two actors of the notification shape pairs.

Note:
The actor pointers might reference deleted actors. This will be the case if PxPairFlag::eNOTIFY_TOUCH_LOST or PxPairFlag::eNOTIFY_THRESHOLD_FORCE_LOST events were requested for the pair and one of the involved actors gets deleted or removed from the scene. Check the flags member to see whether that is the case. Do not dereference a pointer to a deleted actor. The pointer to a deleted actor is only provided such that user data structures which might depend on the pointer value can be updated.
See also:
PxActor

const PxU8* PxContactPairHeader::extraDataStream

Stream containing extra data as requested in the PxPairFlag flags of the simulation filter.

This pointer is only valid if any kind of extra data information has been requested for the contact report pair (see PxPairFlag::ePOST_SOLVER_VELOCITY etc.), else it will be NULL.

See also:
PxPairFlag

PxU16 PxContactPairHeader::extraDataStreamSize

Size of the extra data stream [bytes].

PxContactPairHeaderFlags PxContactPairHeader::flags

Additional information on the contact report pair.

See also:
PxContactPairHeaderFlag

PxU32 PxContactPairHeader::nbPairs

number of contact pairs

struct PxContactPair* PxContactPairHeader::pairs [read]

pointer to the contact pairs

The documentation for this struct was generated from the following file:
  • PxSimulationEventCallback.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxContactPairFlag Struct Reference

PxContactPairFlag Struct Reference
[Physics]

Collection of flags providing information on contact report pairs. More...

#include <PxSimulationEventCallback.h>

List of all members.

Public Types

enum Enum {
eREMOVED_SHAPE_0 = (1<<0),
eREMOVED_SHAPE_1 = (1<<1),
eACTOR_PAIR_HAS_FIRST_TOUCH = (1<<2),
eACTOR_PAIR_LOST_TOUCH = (1<<3),
eINTERNAL_HAS_IMPULSES = (1<<4),
eINTERNAL_CONTACTS_ARE_FLIPPED = (1<<5)
}

Detailed Description

Collection of flags providing information on contact report pairs.

See also:
PxContactPair

Member Enumeration Documentation

enum PxContactPairFlag::Enum

Enumerator:
eREMOVED_SHAPE_0 | The shape with index 0 has been removed from the actor/scene.
eREMOVED_SHAPE_1 | The shape with index 1 has been removed from the actor/scene.
eACTOR_PAIR_HAS_FIRST_TOUCH First actor pair contact.

The provided shape pair marks the first contact between the two actors, no other shape pair has been touching prior to the current simulation frame.

Note:
: This info is only available if PxPairFlag::eNOTIFY_TOUCH_FOUND has been declared for the pair.
eACTOR_PAIR_LOST_TOUCH All contact between the actor pair was lost.

All contact between the two actors has been lost, no shape pairs remain touching after the current simulation frame.

eINTERNAL_HAS_IMPULSES Internal flag, used by PxContactPair.extractContacts().

The applied contact impulses are provided for every contact point. This is the case if PxPairFlag::eSOLVE_CONTACT has been set for the pair.

eINTERNAL_CONTACTS_ARE_FLIPPED Internal flag, used by PxContactPair.extractContacts().

The provided contact point information is flipped with regards to the shapes of the contact pair. This mainly concerns the order of the internal triangle indices.

The documentation for this struct was generated from the following file:
  • PxSimulationEventCallback.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxContactPairPoint Struct Reference

PxContactPairPoint Struct Reference
[Physics]

A contact point as used by contact notification. More...

#include <PxSimulationEventCallback.h>

Collaboration diagram for PxContactPairPoint:

PxVec3
[legend]

List of all members.

Public Attributes

PxVec3 position
The position of the contact point between the shapes, in world space.
PxReal separation
The separation of the shapes at the contact point. A negative separation denotes a penetration.
PxVec3 normal
The normal of the contacting surfaces at the contact point. The normal direction points from the second shape to the first shape.
PxU32 internalFaceIndex0
The surface index of shape 0 at the contact point. This is used to identify the surface material.
PxVec3 impulse
The impulse applied at the contact point, in world space. Divide by the simulation time step to get a force value.
PxU32 internalFaceIndex1
The surface index of shape 1 at the contact point. This is used to identify the surface material.

Detailed Description

A contact point as used by contact notification.

Member Data Documentation

PxVec3 PxContactPairPoint::impulse

The impulse applied at the contact point, in world space. Divide by the simulation time step to get a force value.

Referenced by PxContactPair::extractContacts().

PxU32 PxContactPairPoint::internalFaceIndex0

The surface index of shape 0 at the contact point. This is used to identify the surface material.

Referenced by PxContactPair::extractContacts().

PxU32 PxContactPairPoint::internalFaceIndex1

The surface index of shape 1 at the contact point. This is used to identify the surface material.

Referenced by PxContactPair::extractContacts().

PxVec3 PxContactPairPoint::normal

The normal of the contacting surfaces at the contact point. The normal direction points from the second shape to the first shape.

Referenced by PxContactPair::extractContacts().

PxVec3 PxContactPairPoint::position

The position of the contact point between the shapes, in world space.

Referenced by PxContactPair::extractContacts().

PxReal PxContactPairPoint::separation

The separation of the shapes at the contact point. A negative separation denotes a penetration.

Referenced by PxContactPair::extractContacts().

The documentation for this struct was generated from the following file:
  • PxSimulationEventCallback.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxContactPair Struct Reference

PxContactPair Struct Reference
[Physics]

Contact report pair information. More...

#include <PxSimulationEventCallback.h>

Collaboration diagram for PxContactPair:

PxFlags\< PxContactPairFlag::Enum, PxU16 \>PxFlags\< PxPairFlag::Enum, PxU16 \>PxShapePxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

PX_INLINE | PxContactPair ()
PX_INLINE PxU32 | extractContacts (PxContactPairPoint *userBuffer, PxU32 bufferSize) const
Extracts the contact points from the stream and stores them in a convenient format.
PX_INLINE void | bufferContacts (PxContactPair *newPair, PxU8 *bufferMemory) const
Helper method to clone the contact pair and copy the contact data stream into a user buffer.
PX_INLINE const PxU32 * | getInternalFaceIndices () const

Public Attributes

PxShape * | shapes [2]
The two shapes that make up the pair.
const PxU8 * | contactPatches
Pointer to first patch header in contact stream containing contact patch data.
const PxU8 * | contactPoints
Pointer to first contact point in contact stream containing contact data.
const PxReal * | contactImpulses
Buffer containing applied impulse data.
PxU32 requiredBufferSize
Size of the contact stream [bytes] including force buffer.
PxU8 | contactCount
Number of contact points stored in the contact stream.
PxU8 | patchCount
Number of contact patches stored in the contact stream.
PxU16 | contactStreamSize
Size of the contact stream [bytes] not including force buffer.
PxContactPairFlags flags
Additional information on the contact report pair.
PxPairFlags events
Flags raised due to the contact.
PxU32 | internalData [2]

Detailed Description

Contact report pair information.

Instances of this class are passed to PxSimulationEventCallback.onContact(). If contact reports have been requested for a pair of shapes (see PxPairFlag), then the corresponding contact information will be provided through this structure.

See also:
PxSimulationEventCallback.onContact()

Constructor & Destructor Documentation

PX_INLINE PxContactPair::PxContactPair ( ) [inline]

Member Data Documentation

PxU8 PxContactPair::contactCount

Number of contact points stored in the contact stream.

Referenced by bufferContacts(), extractContacts(), and getInternalFaceIndices().

const PxReal* PxContactPair::contactImpulses

Buffer containing applied impulse data.

This pointer is only valid if contact point information has been requested for the contact report pair (see PxPairFlag::eNOTIFY_CONTACT_POINTS). Use extractContacts() as a reference for the data layout of the stream.

Referenced by bufferContacts(), extractContacts(), and getInternalFaceIndices().

const PxU8* PxContactPair::contactPatches

Pointer to first patch header in contact stream containing contact patch data.

This pointer is only valid if contact point information has been requested for the contact report pair (see PxPairFlag::eNOTIFY_CONTACT_POINTS). Use extractContacts() as a reference for the data layout of the stream.

Referenced by bufferContacts(), and extractContacts().

const PxU8* PxContactPair::contactPoints

Pointer to first contact point in contact stream containing contact data.

This pointer is only valid if contact point information has been requested for the contact report pair (see PxPairFlag::eNOTIFY_CONTACT_POINTS). Use extractContacts() as a reference for the data layout of the stream.

Referenced by bufferContacts(), and extractContacts().

PxU16 PxContactPair::contactStreamSize

Size of the contact stream [bytes] not including force buffer.

Referenced by bufferContacts().

PxPairFlags PxContactPair::events

Flags raised due to the contact.

The events field is a combination of:

  • PxPairFlag::eNOTIFY_TOUCH_FOUND,
  • PxPairFlag::eNOTIFY_TOUCH_PERSISTS,
  • PxPairFlag::eNOTIFY_TOUCH_LOST,
  • PxPairFlag::eNOTIFY_TOUCH_CCD,
  • PxPairFlag::eNOTIFY_THRESHOLD_FORCE_FOUND,
  • PxPairFlag::eNOTIFY_THRESHOLD_FORCE_PERSISTS,
  • PxPairFlag::eNOTIFY_THRESHOLD_FORCE_LOST

See the documentation of PxPairFlag for an explanation of each.

Note:
eNOTIFY_TOUCH_CCD can get raised even if the pair did not request this event. However, in such a case it will only get raised in combination with one of the other flags to point out that the other event occured during a CCD pass.
See also:
PxPairFlag

PxContactPairFlags PxContactPair::flags

Additional information on the contact report pair.

See also:
PxContactPairFlag

Referenced by extractContacts().

PxU32 PxContactPair::internalData[2]

PxU8 PxContactPair::patchCount

Number of contact patches stored in the contact stream.

Referenced by bufferContacts(), and extractContacts().

PxU32 PxContactPair::requiredBufferSize

Size of the contact stream [bytes] including force buffer.

PxShape* PxContactPair::shapes[2]

The two shapes that make up the pair.

Note:
The shape pointers might reference deleted shapes. This will be the case if PxPairFlag::eNOTIFY_TOUCH_LOST or PxPairFlag::eNOTIFY_THRESHOLD_FORCE_LOST events were requested for the pair and one of the involved shapes gets deleted. Check the flags member to see whether that is the case. Do not dereference a pointer to a deleted shape. The pointer to a deleted shape is only provided such that user data structures which might depend on the pointer value can be updated.
See also:
PxShape

The documentation for this struct was generated from the following file:
  • PxSimulationEventCallback.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTriggerPairFlag Struct Reference

PxTriggerPairFlag Struct Reference
[Physics]

Collection of flags providing information on trigger report pairs. More...

#include <PxSimulationEventCallback.h>

List of all members.

Public Types

enum Enum {
eREMOVED_SHAPE_TRIGGER = (1<<0),
eREMOVED_SHAPE_OTHER = (1<<1),
eNEXT_FREE = (1<<2)
}

Detailed Description

Collection of flags providing information on trigger report pairs.

See also:
PxTriggerPair

Member Enumeration Documentation

enum PxTriggerPairFlag::Enum

Enumerator:
eREMOVED_SHAPE_TRIGGER | The trigger shape has been removed from the actor/scene.
eREMOVED_SHAPE_OTHER | The shape causing the trigger event has been removed from the actor/scene.
eNEXT_FREE | For internal use only.

The documentation for this struct was generated from the following file:
  • PxSimulationEventCallback.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTriggerPair Struct Reference

PxTriggerPair Struct Reference
[Physics]

Descriptor for a trigger pair. More...

#include <PxSimulationEventCallback.h>

Collaboration diagram for PxTriggerPair:

PxRigidActorPxActorPxBasePxShapePxFlags\< PxBaseFlag::Enum, PxU16 \>PxFlags\< PxTriggerPairFlag::Enum, PxU8 \>
[legend]

List of all members.

Public Member Functions

PX_INLINE PxTriggerPair ()

Public Attributes

PxShape * triggerShape
The shape that has been marked as a trigger.
PxRigidActor * triggerActor
The actor to which triggerShape is attached.
PxShape * otherShape
The shape causing the trigger event.
PxRigidActor * otherActor
The actor to which otherShape is attached.
PxPairFlag::Enum status
Type of trigger event (eNOTIFY_TOUCH_FOUND or eNOTIFY_TOUCH_LOST). eNOTIFY_TOUCH_PERSISTS events are not supported.
PxTriggerPairFlags flags
Additional information on the pair (see PxTriggerPairFlag).

Detailed Description

Descriptor for a trigger pair.

An array of these structs gets passed to the PxSimulationEventCallback::onTrigger() report.

Note:
The shape pointers might reference deleted shapes. This will be the case if PxPairFlag::eNOTIFY_TOUCH_LOST events were requested for the pair and one of the involved shapes gets deleted. Check the flags member to see whether that is the case. Do not dereference a pointer to a deleted shape. The pointer to a deleted shape is only provided such that user data structures which might depend on the pointer value can be updated.
See also:
PxSimulationEventCallback.onTrigger()

Constructor & Destructor Documentation

PX_INLINE PxTriggerPair::PxTriggerPair ( ) [inline]

Member Data Documentation

PxTriggerPairFlags PxTriggerPair::flags

Additional information on the pair (see PxTriggerPairFlag).

PxRigidActor* PxTriggerPair::otherActor

The actor to which otherShape is attached.

PxShape* PxTriggerPair::otherShape

The shape causing the trigger event.

Deprecated:
(see PxSimulationEventCallback::onTrigger()) If collision between trigger shapes is enabled, then this member might point to a trigger shape as well.

PxPairFlag::Enum PxTriggerPair::status

Type of trigger event (eNOTIFY_TOUCH_FOUND or eNOTIFY_TOUCH_LOST). eNOTIFY_TOUCH_PERSISTS events are not supported.

PxRigidActor* PxTriggerPair::triggerActor

The actor to which triggerShape is attached.

PxShape* PxTriggerPair::triggerShape

The shape that has been marked as a trigger.

The documentation for this struct was generated from the following file:
  • PxSimulationEventCallback.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxConstraintInfo Struct Reference

PxConstraintInfo Struct Reference
[Physics]

Descriptor for a broken constraint. More...

#include <PxSimulationEventCallback.h>

Collaboration diagram for PxConstraintInfo:

PxConstraintPxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

PX_INLINE | PxConstraintInfo ()
PX_INLINE | PxConstraintInfo (PxConstraint *c, void *extRef, PxU32 t)

Public Attributes

PxConstraint * constraint
The broken constraint.
void * | externalReference
The external object which owns the constraint (see PxConstraintConnector::getExternalReference()).
PxU32 type
Unique type ID of the external object. Allows to cast the provided external reference to the appropriate type.

Detailed Description

Descriptor for a broken constraint.

An array of these structs gets passed to the PxSimulationEventCallback::onConstraintBreak() report.

See also:
PxConstraint PxSimulationEventCallback.onConstraintBreak()

Constructor & Destructor Documentation

PX_INLINE PxConstraintInfo::PxConstraintInfo ( ) [inline]

PX_INLINE PxConstraintInfo::PxConstraintInfo | ( | PxConstraint * | c,
 |  | void * | extRef,
 |  | PxU32 | t |
 | ) |  |  | [inline]

Member Data Documentation

PxConstraint* PxConstraintInfo::constraint

The broken constraint.

void* PxConstraintInfo::externalReference

The external object which owns the constraint (see PxConstraintConnector::getExternalReference()).

PxU32 PxConstraintInfo::type

Unique type ID of the external object. Allows to cast the provided external reference to the appropriate type.

The documentation for this struct was generated from the following file:
  • PxSimulationEventCallback.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSimulationEventCallback Class Reference

PxSimulationEventCallback Class Reference
[Physics]

An interface class that the user can implement in order to receive simulation events. More...

#include <PxSimulationEventCallback.h>

List of all members.

Public Member Functions

virtual void | onConstraintBreak (PxConstraintInfo *constraints, PxU32 count)=0
This is called when a breakable constraint breaks.
virtual void | onWake (PxActor **actors, PxU32 count)=0
This is called with the actors which have just been woken up.
virtual void | onSleep (PxActor **actors, PxU32 count)=0
This is called with the actors which have just been put to sleep.
virtual void | onContact (const PxContactPairHeader &pairHeader, const PxContactPair *pairs, PxU32 nbPairs)=0
This is called when certain contact events occur.
virtual void | onTrigger (PxTriggerPair *pairs, PxU32 count)=0
This is called with the current trigger pair events.
virtual void | onAdvance (const PxRigidBody *const *bodyBuffer, const PxTransform *poseBuffer, const PxU32 count)=0
Provides early access to the new pose of moving rigid bodies.
virtual | ~PxSimulationEventCallback ()

Detailed Description

An interface class that the user can implement in order to receive simulation events.

With the exception of onAdvance(), the events get sent during the call to either PxScene::fetchResults() or PxScene::flushSimulation() with sendPendingReports=true. onAdvance() gets called while the simulation is running (that is between PxScene::simulate()/advance() and PxScene::fetchResults()).

Note:
SDK state should not be modified from within the callbacks. In particular objects should not be created or destroyed. If state modification is needed then the changes should be stored to a buffer and performed after the simulation step.
Threading: With the exception of onAdvance(), it is not necessary to make these callbacks thread safe as they will only be called in the context of the user thread.

See also:
PxScene.setSimulationEventCallback() PxScene.getSimulationEventCallback()

Constructor & Destructor Documentation

virtual PxSimulationEventCallback::~PxSimulationEventCallback ( ) [inline, virtual]

Member Function Documentation

virtual void PxSimulationEventCallback::onAdvance | ( | const PxRigidBody *const * | bodyBuffer,
 |  | const PxTransform * | poseBuffer,
 |  | const PxU32 | count |
 | ) |  |  | [pure virtual]

Provides early access to the new pose of moving rigid bodies.

When this call occurs, rigid bodies having the PxRigidBodyFlag::eENABLE_POSE_INTEGRATION_PREVIEW flag set, were moved by the simulation and their new poses can be accessed through the provided buffers.

Note:
The provided buffers are valid and can be read until the next call to PxScene::simulate() or PxScene::collide().

Buffered user changes to the rigid body pose will not yet be reflected in the provided data. More important, the provided data might contain bodies that have been deleted while the simulation was running. It is the user's responsibility to detect and avoid dereferencing such bodies.

This callback gets triggered while the simulation is running. If the provided rigid body references are used to read properties of the object, then the callback has to guarantee no other thread is writing to the same body at the same time.

The code in this callback should be lightweight as it can block the simulation, that is, the PxScene::fetchResults() call.

Parameters:
[in] | bodyBuffer | The rigid bodies that moved and requested early pose reporting.
[in] | poseBuffer | The integrated rigid body poses of the bodies listed in bodyBuffer.
[in] | count | The number of entries in the provided buffers.
See also:
PxScene.setSimulationEventCallback() PxSceneDesc.simulationEventCallback PxRigidBodyFlag::eENABLE_POSE_INTEGRATION_PREVIEW

virtual void PxSimulationEventCallback::onConstraintBreak | ( | PxConstraintInfo * | constraints,
 |  | PxU32 | count |
 | ) |  |  | [pure virtual]

This is called when a breakable constraint breaks.

Note:
The user should not release the constraint shader inside this call!

No event will get reported if the constraint breaks but gets deleted while the time step is still being simulated.

Parameters:
[in] | constraints | - The constraints which have been broken.
[in] | count | - The number of constraints
See also:
PxConstraint PxConstraintDesc.linearBreakForce PxConstraintDesc.angularBreakForce

virtual void PxSimulationEventCallback::onContact | ( | const PxContactPairHeader & | pairHeader,
 |  | const PxContactPair * | pairs,
 |  | PxU32 | nbPairs |
 | ) |  |  | [pure virtual]

This is called when certain contact events occur.

The method will be called for a pair of actors if one of the colliding shape pairs requested contact notification. You request which events are reported using the filter shader/callback mechanism (see PxSimulationFilterShader, PxSimulationFilterCallback, PxPairFlag).

Do not keep references to the passed objects, as they will be invalid after this function returns.

Parameters:
[in] | pairHeader | Information on the two actors whose shapes triggered a contact report.
[in] | pairs | The contact pairs of two actors for which contact reports have been requested. See PxContactPair.
[in] | nbPairs | The number of provided contact pairs.
See also:
PxScene.setSimulationEventCallback() PxSceneDesc.simulationEventCallback PxContactPair PxPairFlag PxSimulationFilterShader PxSimulationFilterCallback

virtual void PxSimulationEventCallback::onSleep | ( | PxActor ** | actors,
 |  | PxU32 | count |
 | ) |  |  | [pure virtual]

This is called with the actors which have just been put to sleep.

Note:
Only supported by rigid bodies yet.

Only called on actors for which the PxActorFlag eSEND_SLEEP_NOTIFIES has been set.

Only the latest sleep state transition happening between fetchResults() of the previous frame and fetchResults() of the current frame will get reported. For example, let us assume actor A is asleep, then A->wakeUp() gets called, then later A->putToSleep() gets called. At the next simulate/fetchResults() step only an onSleep() event will get triggered because that was the last transition (assuming the simulation does not wake the actor up).

If an actor gets newly added to a scene with properties such that it is asleep and the sleep state does not get changed by the user or simulation, then an onSleep() event will get sent at the next simulate/fetchResults() step.

Parameters:
[in] | actors | - The actors which have just been put to sleep.
[in] | count | - The number of actors
See also:
PxScene.setSimulationEventCallback() PxSceneDesc.simulationEventCallback PxActorFlag PxActor.setActorFlag()

virtual void PxSimulationEventCallback::onTrigger | ( | PxTriggerPair * | pairs,
 |  | PxU32 | count |
 | ) |  |  | [pure virtual]

This is called with the current trigger pair events.

Shapes which have been marked as triggers using PxShapeFlag::eTRIGGER_SHAPE will send events according to the pair flag specification in the filter shader (see PxPairFlag, PxSimulationFilterShader).

Note:
Trigger shapes will no longer send notification events for interactions with other trigger shapes. For PhysX 3.4 there is the option to re-enable the reports by raising PxSceneFlag::eDEPRECATED_TRIGGER_TRIGGER_REPORTS. In PhysX 3.5 there will be no support for these reports any longer. See the 3.4 migration guide for more information.
Parameters:
[in] | pairs | - The trigger pair events.
[in] | count | - The number of trigger pair events.
See also:
PxScene.setSimulationEventCallback() PxSceneDesc.simulationEventCallback PxPairFlag PxSimulationFilterShader PxShapeFlag PxShape.setFlag()

virtual void PxSimulationEventCallback::onWake | ( | PxActor ** | actors,
 |  | PxU32 | count |
 | ) |  |  | [pure virtual]

This is called with the actors which have just been woken up.

Note:
Only supported by rigid bodies yet.

Only called on actors for which the PxActorFlag eSEND_SLEEP_NOTIFIES has been set.

Only the latest sleep state transition happening between fetchResults() of the previous frame and fetchResults() of the current frame will get reported. For example, let us assume actor A is awake, then A->putToSleep() gets called, then later A->wakeUp() gets called. At the next simulate/fetchResults() step only an onWake() event will get triggered because that was the last transition.

If an actor gets newly added to a scene with properties such that it is awake and the sleep state does not get changed by the user or simulation, then an onWake() event will get sent at the next simulate/fetchResults() step.

Parameters:
[in] | actors | - The actors which just woke up.
[in] | count | - The number of actors
See also:
PxScene.setSimulationEventCallback() PxSceneDesc.simulationEventCallback PxActorFlag PxActor.setActorFlag()

The documentation for this class was generated from the following file:
  • PxSimulationEventCallback.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSimulationStatistics Class Reference

PxSimulationStatistics Class Reference
[Physics]

Class used to retrieve statistics for a simulation step. More...

#include <PxSimulationStatistics.h>

List of all members.

Public Types

enum VolumeType {
eRIGID_BODY,
PX_DEPRECATED,
PX_DEPRECATED,
eVOLUME_COUNT
}
Identifies each type of broadphase volume. More...
enum RbPairStatsType {
eDISCRETE_CONTACT_PAIRS,
eCCD_PAIRS,
eMODIFIED_CONTACT_PAIRS,
eTRIGGER_PAIRS
}
Different types of rigid body collision pair statistics. More...

Public Member Functions

PxU32 | getNbBroadPhaseAdds (VolumeType type) const
Get number of broadphase volumes of a certain type added for the current simulation step.
PxU32 | getNbBroadPhaseRemoves (VolumeType type) const
Get number of broadphase volumes of a certain type removed for the current simulation step.
PxU32 | getRbPairStats (RbPairStatsType pairType, PxGeometryType::Enum g0, PxGeometryType::Enum g1) const
Get number of shape collision pairs of a certain type processed for the current simulation step.
PxSimulationStatistics ()

Public Attributes

PxU32 nbActiveConstraints
Number of active PxConstraint objects (joints etc.) for the current simulation step.
PxU32 nbActiveDynamicBodies
Number of active dynamic bodies for the current simulation step.
PxU32 nbActiveKinematicBodies
Number of active kinematic bodies for the current simulation step.
PxU32 nbStaticBodies
Number of static bodies for the current simulation step.
PxU32 nbDynamicBodies
Number of dynamic bodies for the current simulation step.
PxU32 | nbShapes [PxGeometryType::eGEOMETRY_COUNT]
Number of shapes of each geometry type.
PxU32 nbAggregates
Number of aggregates in the scene.
PxU32 nbArticulations
Number of articulations in the scene.
PxU32 nbAxisSolverConstraints
The number of 1D axis constraints(joints+contact) present in the current simulation step.
PxU32 compressedContactSize
The size (in bytes) of the compressed contact stream in the current simulation step.
PxU32 requiredContactConstraintMemory
The total required size (in bytes) of the contact constraints in the current simulation step.
PxU32 peakConstraintMemory
The peak amount of memory (in bytes) that was allocated for constraints (this includes joints) in the current simulation step.
PxU32 nbDiscreteContactPairsTotal
Total number of (non CCD) pairs reaching narrow phase.
PxU32 nbDiscreteContactPairsWithCacheHits
Total number of (non CCD) pairs for which contacts are successfully cached (<=nbDiscreteContactPairsTotal).
PxU32 nbDiscreteContactPairsWithContacts
Total number of (non CCD) pairs for which at least 1 contact was generated (<=nbDiscreteContactPairsTotal).
PxU32 nbNewPairs
Number of new pairs found by BP this frame.
PxU32 nbLostPairs
Number of lost pairs from BP this frame.
PxU32 nbNewTouches
Number of new touches found by NP this frame.
PxU32 nbLostTouches
Number of lost touches from NP this frame.
PxU32 nbPartitions
Number of partitions used by the solver this frame.
PxU32 | nbBroadPhaseAdds [eVOLUME_COUNT]
PxU32 | nbBroadPhaseRemoves [eVOLUME_COUNT]
PxU32 | nbDiscreteContactPairs [PxGeometryType::eGEOMETRY_COUNT][PxGeometryType::eGEOMETRY_COUNT]
PxU32 | nbCCDPairs [PxGeometryType::eGEOMETRY_COUNT][PxGeometryType::eGEOMETRY_COUNT]
PxU32 | nbModifiedContactPairs [PxGeometryType::eGEOMETRY_COUNT][PxGeometryType::eGEOMETRY_COUNT]
PxU32 | nbTriggerPairs [PxGeometryType::eGEOMETRY_COUNT][PxGeometryType::eGEOMETRY_COUNT]
PxU32 particlesGpuMeshCacheSize
PxU32 particlesGpuMeshCacheUsed
PxReal | particlesGpuMeshCacheHitrate

Detailed Description

Class used to retrieve statistics for a simulation step.

See also:
PxScene::getSimulationStatistics()

Member Enumeration Documentation

enum PxSimulationStatistics::RbPairStatsType

Different types of rigid body collision pair statistics.

See also:
getRbPairStats
Enumerator:
eDISCRETE_CONTACT_PAIRS Shape pairs processed as discrete contact pairs for the current simulation step.
eCCD_PAIRS Shape pairs processed as swept integration pairs for the current simulation step.

Note:
Counts the pairs for which special CCD (continuous collision detection) work was actually done and NOT the number of pairs which were configured for CCD. Furthermore, there can be multiple CCD passes and all processed pairs of all passes are summed up, hence the number can be larger than the amount of pairs which have been configured for CCD.
See also:
PxPairFlag::eDETECT_CCD_CONTACT,
eMODIFIED_CONTACT_PAIRS Shape pairs processed with user contact modification enabled for the current simulation step.

See also:
PxContactModifyCallback
eTRIGGER_PAIRS Trigger shape pairs processed for the current simulation step.

See also:
PxShapeFlag::eTRIGGER_SHAPE

enum PxSimulationStatistics::VolumeType

Identifies each type of broadphase volume.

See also:
nbBroadPhaseAdds nbBroadPhaseRemoves
Enumerator:
eRIGID_BODY A volume belonging to a rigid body object.

See also:
PxRigidStatic PxRigidDynamic PxArticulationLink
PX_DEPRECATED A volume belonging to a particle system (deprecated).

A volume belonging to a cloth.

Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4
See also:
PxParticleSystem PxParticleFluid
Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1
See also:
PxCloth
PX_DEPRECATED A volume belonging to a particle system (deprecated).

A volume belonging to a cloth.

Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4
See also:
PxParticleSystem PxParticleFluid
Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1
See also:
PxCloth
eVOLUME_COUNT

Constructor & Destructor Documentation

PxSimulationStatistics::PxSimulationStatistics ( ) [inline]

References PxGeometryType::eGEOMETRY_COUNT.

Member Function Documentation

PxU32 PxSimulationStatistics::getNbBroadPhaseAdds ( VolumeType type ) const [inline]

Get number of broadphase volumes of a certain type added for the current simulation step.

Parameters:
[in] type The volume type for which to get the number
Returns:
Number of broadphase volumes added.
See also:
VolumeType

References PX_ASSERT.

PxU32 PxSimulationStatistics::getNbBroadPhaseRemoves ( VolumeType type ) const [inline]

Get number of broadphase volumes of a certain type removed for the current simulation step.

Parameters:
[in] type The volume type for which to get the number
Returns:
Number of broadphase volumes removed.
See also:
VolumeType

References PX_ASSERT.

PxU32 PxSimulationStatistics::getRbPairStats | ( | RbPairStatsType | pairType,
 |  | PxGeometryType::Enum | g0,
 |  | PxGeometryType::Enum | g1 |
 | ) |  |  | const [inline]

Get number of shape collision pairs of a certain type processed for the current simulation step.

There is an entry for each geometry pair type.

Note:
entry[i][j] = entry[j][i], hence, if you want the sum of all pair types, you need to discard the symmetric entries
Parameters:
[in] | pairType | The type of pair for which to get information
[in] | g0 | The geometry type of one pair object
[in] | g1 | The geometry type of the other pair object
Returns:
Number of processed pairs of the specified geometry types.

References PxGeometryType::eGEOMETRY_COUNT, PX_ASSERT, and PX_ASSERT_WITH_MESSAGE.

Member Data Documentation

PxU32 PxSimulationStatistics::compressedContactSize

The size (in bytes) of the compressed contact stream in the current simulation step.

PxU32 PxSimulationStatistics::nbActiveConstraints

Number of active PxConstraint objects (joints etc.) for the current simulation step.

PxU32 PxSimulationStatistics::nbActiveDynamicBodies

Number of active dynamic bodies for the current simulation step.

Note:
Does not include active kinematic bodies

PxU32 PxSimulationStatistics::nbActiveKinematicBodies

Number of active kinematic bodies for the current simulation step.

Note:
Kinematic deactivation occurs at the end of the frame after the last call to PxRigidDynamic::setKinematicTarget() was called so kinematics that are deactivated in a given frame will be included by this counter.

PxU32 PxSimulationStatistics::nbAggregates

Number of aggregates in the scene.

PxU32 PxSimulationStatistics::nbArticulations

Number of articulations in the scene.

PxU32 PxSimulationStatistics::nbAxisSolverConstraints

The number of 1D axis constraints(joints+contact) present in the current simulation step.

PxU32 PxSimulationStatistics::nbBroadPhaseAdds[eVOLUME_COUNT]

PxU32 PxSimulationStatistics::nbBroadPhaseRemoves[eVOLUME_COUNT]

PxU32 PxSimulationStatistics::nbCCDPairs[PxGeometryType::eGEOMETRY_COUNT][PxGeometryType::eGEOMETRY_COUNT]

PxU32 PxSimulationStatistics::nbDiscreteContactPairs[PxGeometryType::eGEOMETRY_COUNT][PxGeometryType::eGEOMETRY_COUNT]

PxU32 PxSimulationStatistics::nbDiscreteContactPairsTotal

Total number of (non CCD) pairs reaching narrow phase.

PxU32 PxSimulationStatistics::nbDiscreteContactPairsWithCacheHits

Total number of (non CCD) pairs for which contacts are successfully cached (<=nbDiscreteContactPairsTotal).

Note:
This includes pairs for which no contacts are generated, it still counts as a cache hit.

PxU32 PxSimulationStatistics::nbDiscreteContactPairsWithContacts

Total number of (non CCD) pairs for which at least 1 contact was generated (<=nbDiscreteContactPairsTotal).

PxU32 PxSimulationStatistics::nbDynamicBodies

Number of dynamic bodies for the current simulation step.

Note:
Includes inactive and kinematic bodies, and articulation links

PxU32 PxSimulationStatistics::nbLostPairs

Number of lost pairs from BP this frame.

PxU32 PxSimulationStatistics::nbLostTouches

Number of lost touches from NP this frame.

PxU32 PxSimulationStatistics::nbModifiedContactPairs[PxGeometryType::eGEOMETRY_COUNT][PxGeometryType::eGEOMETRY_COUNT]

PxU32 PxSimulationStatistics::nbNewPairs

Number of new pairs found by BP this frame.

PxU32 PxSimulationStatistics::nbNewTouches

Number of new touches found by NP this frame.

PxU32 PxSimulationStatistics::nbPartitions

Number of partitions used by the solver this frame.

PxU32 PxSimulationStatistics::nbShapes[PxGeometryType::eGEOMETRY_COUNT]

Number of shapes of each geometry type.

PxU32 PxSimulationStatistics::nbStaticBodies

Number of static bodies for the current simulation step.

PxU32 PxSimulationStatistics::nbTriggerPairs[PxGeometryType::eGEOMETRY_COUNT][PxGeometryType::eGEOMETRY_COUNT]

PxReal PxSimulationStatistics::particlesGpuMeshCacheHitrate

PxU32 PxSimulationStatistics::particlesGpuMeshCacheSize

PxU32 PxSimulationStatistics::particlesGpuMeshCacheUsed

PxU32 PxSimulationStatistics::peakConstraintMemory

The peak amount of memory (in bytes) that was allocated for constraints (this includes joints) in the current simulation step.

PxU32 PxSimulationStatistics::requiredContactConstraintMemory

The total required size (in bytes) of the contact constraints in the current simulation step.

The documentation for this class was generated from the following file:
  • PxSimulationStatistics.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSpatialIndexItem Class Reference

PxSpatialIndexItem Class Reference
[Physics]

#include <PxSpatialIndex.h>

The documentation for this class was generated from the following file:
  • PxSpatialIndex.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSpatialOverlapCallback Struct Reference

PxSpatialOverlapCallback Struct Reference
[Physics]

Callback class for overlap queries against PxSpatialIndex. More...

#include <PxSpatialIndex.h>

List of all members.

Public Member Functions

virtual PxAgain | onHit (PxSpatialIndexItem &item)=0
callback method invoked when an overlap query hits an item in a PxSpatialIndex structure.
virtual | ~PxSpatialOverlapCallback ()

Detailed Description

Callback class for overlap queries against PxSpatialIndex.

Deprecated:
Spatial index feature has been deprecated in PhysX version 3.4
See also:
PxSpatialIndex

Constructor & Destructor Documentation

virtual PxSpatialOverlapCallback::~PxSpatialOverlapCallback ( ) [inline, virtual]

Member Function Documentation

virtual PxAgain PxSpatialOverlapCallback::onHit ( PxSpatialIndexItem & item ) [pure virtual]

callback method invoked when an overlap query hits an item in a PxSpatialIndex structure.

Parameters:
[in] item the item that was hit.
Returns:
true if the query should continue, false if it should stop

The documentation for this struct was generated from the following file:
  • PxSpatialIndex.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSpatialLocationCallback Struct Reference

PxSpatialLocationCallback Struct Reference
[Physics]

Callback class for raycast and sweep queries against PxSpatialIndex. More...

#include <PxSpatialIndex.h>

List of all members.

Public Member Functions

virtual PxAgain | onHit (PxSpatialIndexItem &item, PxReal distance, PxReal &shrunkDistance)=0
callback method invoked when a sweep or raycast query hits an item in a PxSpatialIndex structure.
virtual | ~PxSpatialLocationCallback ()

Detailed Description

Callback class for raycast and sweep queries against PxSpatialIndex.

Deprecated:
Spatial index feature has been deprecated in PhysX version 3.4
See also:
PxSpatialIndex

Constructor & Destructor Documentation

virtual PxSpatialLocationCallback::~PxSpatialLocationCallback ( ) [inline, virtual]

Member Function Documentation

virtual PxAgain PxSpatialLocationCallback::onHit | ( | PxSpatialIndexItem & | item,
 |  | PxReal | distance,
 |  | PxReal & | shrunkDistance |
 | ) |  |  | [pure virtual]

callback method invoked when a sweep or raycast query hits an item in a PxSpatialIndex structure.

Parameters:
[in] | item | the item that was hit.
[in] | distance | the current maximum distance of the query.
[out] | shrunkDistance | the updated maximum distance of the query. This must be no more than the current maximum distance.
Returns:
true if the query should continue, false if it should stop
See also:
PxAgain

The documentation for this struct was generated from the following file:
  • PxSpatialIndex.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSpatialIndex Class Reference

PxSpatialIndex Class Reference
[Physics]

provides direct access to PhysX' Spatial Query engine More...

#include <PxSpatialIndex.h>

List of all members.

Public Member Functions

virtual PxSpatialIndexItemId | insert (PxSpatialIndexItem &item, const PxBounds3 &bounds)=0
insert a bounding box into a spatial index
virtual void | update (PxSpatialIndexItemId id, const PxBounds3 &bounds)=0
update a bounding box in a spatial index
virtual void | remove (PxSpatialIndexItemId id)=0
remove an item from a spatial index
virtual void | overlap (const PxBounds3 &aabb, PxSpatialOverlapCallback &callback) const =0
make an overlap query against a spatial index
virtual void | raycast (const PxVec3 &origin, const PxVec3 &unitDir, PxReal maxDist, PxSpatialLocationCallback &callback) const =0
make a raycast query against a spatial index
virtual void | sweep (const PxBounds3 &aabb, const PxVec3 &unitDir, PxReal maxDist, PxSpatialLocationCallback &callback) const =0
make a sweep query against a spatial index
virtual void | flush ()=0
force an immediate update of the internal structures of the index
virtual void | rebuildFull ()=0
force a full optimized rebuild of the index.
virtual void | setIncrementalRebuildRate (PxU32 rate)=0
set the incremental rebuild rate for the index.
virtual void | rebuildStep ()=0
take one step in rebuilding the tree. See setIncrementalRebuildRate()
virtual void | release ()=0
release this object

Protected Member Functions

virtual | ~PxSpatialIndex ()

Detailed Description

provides direct access to PhysX' Spatial Query engine

This class allows bounding boxes to be inserted, and then queried using sweep, raycast and overlap checks.

It is not thread-safe and defers handling some updates until queries are invoked, so care must be taken when calling any methods in parallel. Specifically, to call query methods (raycast, overlap, sweep) in parallel, first call flush() to force immediate update of internal structures.

Deprecated:
Spatial index feature has been deprecated in PhysX version 3.4
See also:
PxCreateSpatialIndex

Constructor & Destructor Documentation

virtual PxSpatialIndex::~PxSpatialIndex ( ) [inline, protected, virtual]

Member Function Documentation

virtual void PxSpatialIndex::flush ( ) [pure virtual]

force an immediate update of the internal structures of the index

For reasons of efficiency an index structure may be lazily updated at the point of query if this method is not called. Once this method has been called, subsequent queries (sweeps, overlaps, raycasts) may be executed in parallel until the next write call to the index (insertion, removal, update, rebuild)

virtual PxSpatialIndexItemId PxSpatialIndex::insert | ( | PxSpatialIndexItem & | item,
 |  | const PxBounds3 & | bounds |
 | ) |  |  | [pure virtual]

insert a bounding box into a spatial index

Parameters:
[in] | item | the item to be inserted
[in] | bounds | the bounds of the new item

virtual void PxSpatialIndex::overlap | ( | const PxBounds3 & | aabb,
 |  | PxSpatialOverlapCallback & | callback |
 | ) |  |  | const [pure virtual]

make an overlap query against a spatial index

Parameters:
[in] | aabb | the axis aligned bounding box for the query
[in] | callback | the callback to invoke when an overlap is found

virtual void PxSpatialIndex::raycast | ( | const PxVec3 & | origin,
 |  | const PxVec3 & | unitDir,
 |  | PxReal | maxDist,
 |  | PxSpatialLocationCallback & | callback |
 | ) |  |  | const [pure virtual]

make a raycast query against a spatial index

Parameters:
[in] | origin | the origin of the ray
[in] | unitDir | a unit vector in the direction of the ray
[in] | maxDist | the maximum distance to cast the ray
[in] | callback | the callback to invoke when an item is hit by the ray

virtual void PxSpatialIndex::rebuildFull ( ) [pure virtual]

force a full optimized rebuild of the index.

virtual void PxSpatialIndex::rebuildStep ( ) [pure virtual]

take one step in rebuilding the tree. See setIncrementalRebuildRate()

virtual void PxSpatialIndex::release ( ) [pure virtual]

release this object

virtual void PxSpatialIndex::remove ( PxSpatialIndexItemId id ) [pure virtual]

remove an item from a spatial index

Parameters:
[in] id the id of the item to be removed

virtual void PxSpatialIndex::setIncrementalRebuildRate ( PxU32 rate ) [pure virtual]

set the incremental rebuild rate for the index.

The index builds gradually in the background each time a rebuild step is taken; this value determines the number of steps required to rebuild the index.

See PxScene::setDynamicTreeRebuildRateHint() for more information.

Parameters:
[in] rate the rebuild rate
See also:
PxScene::setDynamicTreeRebuildRateHint()

virtual void PxSpatialIndex::sweep | ( | const PxBounds3 & | aabb,
 |  | const PxVec3 & | unitDir,
 |  | PxReal | maxDist,
 |  | PxSpatialLocationCallback & | callback |
 | ) |  |  | const [pure virtual]

make a sweep query against a spatial index

Parameters:
[in] | aabb | the axis aligned bounding box to sweep
[in] | unitDir | a unit vector in the direction of the sweep
[in] | maxDist | the maximum distance to apply the sweep
[in] | callback | the callback to invoke when an item is hit by the sweep

virtual void PxSpatialIndex::update | ( | PxSpatialIndexItemId | id,
 |  | const PxBounds3 & | bounds |
 | ) |  |  | [pure virtual]

update a bounding box in a spatial index

Parameters:
[in] | id | the id of the item to be updated
[in] | bounds | the new bounds of the item

The documentation for this class was generated from the following file:
  • PxSpatialIndex.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVisualizationParameter Struct Reference

PxVisualizationParameter Struct Reference
[Physics]

Debug visualization parameters. More...

#include <PxVisualizationParameter.h>

List of all members.

Public Types

enum Enum {
eSCALE,
eWORLD_AXES,
eBODY_AXES,
eBODY_MASS_AXES,
eBODY_LIN_VELOCITY,
eBODY_ANG_VELOCITY,
eDEPRECATED_BODY_JOINT_GROUPS,
eCONTACT_POINT,
eCONTACT_NORMAL,
eCONTACT_ERROR,
eCONTACT_FORCE,
eACTOR_AXES,
eCOLLISION_AABBS,
eCOLLISION_SHAPES,
eCOLLISION_AXES,
eCOLLISION_COMPOUNDS,
eCOLLISION_FNORMALS,
eCOLLISION_EDGES,
eCOLLISION_STATIC,
eCOLLISION_DYNAMIC,
eDEPRECATED_COLLISION_PAIRS,
eJOINT_LOCAL_FRAMES,
eJOINT_LIMITS,
ePARTICLE_SYSTEM_POSITION,
ePARTICLE_SYSTEM_VELOCITY,
ePARTICLE_SYSTEM_COLLISION_NORMAL,
ePARTICLE_SYSTEM_BOUNDS,
ePARTICLE_SYSTEM_GRID,
ePARTICLE_SYSTEM_BROADPHASE_BOUNDS,
ePARTICLE_SYSTEM_MAX_MOTION_DISTANCE,
eCULL_BOX,
eCLOTH_VERTICAL,
eCLOTH_HORIZONTAL,
eCLOTH_BENDING,
eCLOTH_SHEARING,
eCLOTH_VIRTUAL_PARTICLES,
eMBP_REGIONS,
eNUM_VALUES,
eFORCE_DWORD = 0x7fffffff
}

Detailed Description

Debug visualization parameters.

PxVisualizationParameter::eSCALE is the master switch for enabling visualization, please read the corresponding documentation for further details.

See also:
PxScene.setVisualizationParameter() PxScene.getVisualizationParameter() PxScene.getRenderBuffer()

Member Enumeration Documentation

enum PxVisualizationParameter::Enum

Enumerator:
eSCALE This overall visualization scale gets multiplied with the individual scales. Setting to zero ignores all visualizations. Default is 0.

The below settings permit the debug visualization of various simulation properties. The setting is either zero, in which case the property is not drawn. Otherwise it is a scaling factor that determines the size of the visualization widgets.

Only objects for which visualization is turned on using setFlag(eVISUALIZATION) are visualized (see PxActorFlag::eVISUALIZATION, PxShapeFlag::eVISUALIZATION, ...). Contacts are visualized if they involve a body which is being visualized. Default is 0.

Notes:

  • to see any visualization, you have to set PxVisualizationParameter::eSCALE to nonzero first.
  • the scale factor has been introduced because it's difficult (if not impossible) to come up with a good scale for 3D vectors. Normals are normalized and their length is always 1. But it doesn't mean we should render a line of length 1. Depending on your objects/scene, this might be completely invisible or extremely huge. That's why the scale factor is here, to let you tune the length until it's ok in your scene.
  • however, things like collision shapes aren't ambiguous. They are clearly defined for example by the triangles & polygons themselves, and there's no point in scaling that. So the visualization widgets are only scaled when it makes sense.

Range: [0, PX_MAX_F32)
Default: 0

eWORLD_AXES | Visualize the world axes.
eBODY_AXES Visualize a bodies axes.

See also:
PxActor.globalPose PxActor
eBODY_MASS_AXES Visualize a body's mass axes.

This visualization is also useful for visualizing the sleep state of bodies. Sleeping bodies are drawn in black, while awake bodies are drawn in white. If the body is sleeping and part of a sleeping group, it is drawn in red.

See also:
PxBodyDesc.massLocalPose PxActor
eBODY_LIN_VELOCITY Visualize the bodies linear velocity.

See also:
PxBodyDesc.linearVelocity PxActor
eBODY_ANG_VELOCITY Visualize the bodies angular velocity.

See also:
PxBodyDesc.angularVelocity PxActor
eDEPRECATED_BODY_JOINT_GROUPS Visualize the bodies joint projection group.

See also:
PxBodyDesc.angularVelocity PxActor
eCONTACT_POINT | Visualize contact points. Will enable contact information.
eCONTACT_NORMAL | Visualize contact normals. Will enable contact information.
eCONTACT_ERROR | Visualize contact errors. Will enable contact information.
eCONTACT_FORCE | Visualize Contact forces. Will enable contact information.
eACTOR_AXES Visualize actor axes.

See also:
PxRigidStatic PxRigidDynamic PxArticulationLink
eCOLLISION_AABBS | Visualize bounds (AABBs in world space).
eCOLLISION_SHAPES Shape visualization.

See also:
PxShape
eCOLLISION_AXES Shape axis visualization.

See also:
PxShape
eCOLLISION_COMPOUNDS | Compound visualization (compound AABBs in world space).
eCOLLISION_FNORMALS Mesh & convex face normals.

See also:
PxTriangleMesh PxConvexMesh
eCOLLISION_EDGES Active edges for meshes.

See also:
PxTriangleMesh
eCOLLISION_STATIC | Static pruning structures.
eCOLLISION_DYNAMIC | Dynamic pruning structures.
eDEPRECATED_COLLISION_PAIRS | Visualizes pairwise state.
eJOINT_LOCAL_FRAMES | Joint local axes.
eJOINT_LIMITS | Joint limits.
ePARTICLE_SYSTEM_POSITION | Particle position visualization.
ePARTICLE_SYSTEM_VELOCITY | Particle velocity visualization.
ePARTICLE_SYSTEM_COLLISION_NORMAL | Particle collision normal visualization.
ePARTICLE_SYSTEM_BOUNDS | ParticleSystem AABB visualization.
ePARTICLE_SYSTEM_GRID | Particle grid visualization.
ePARTICLE_SYSTEM_BROADPHASE_BOUNDS | Particle system broad phase bounds.
ePARTICLE_SYSTEM_MAX_MOTION_DISTANCE | ParticleSystem maximum motion distance visualization.
eCULL_BOX | Visualize culling box.
eCLOTH_VERTICAL | Cloth fabric vertical sets.
eCLOTH_HORIZONTAL | Cloth fabric horizontal sets.
eCLOTH_BENDING | Cloth fabric bending sets.
eCLOTH_SHEARING | Cloth fabric shearing sets.
eCLOTH_VIRTUAL_PARTICLES | Cloth virtual particles.
eMBP_REGIONS | MBP regions.
eNUM_VALUES | This is not a parameter, it just records the current number of parameters (as maximum(PxVisualizationParameter)+1) for use in loops.
eFORCE_DWORD

The documentation for this struct was generated from the following file:
  • PxVisualizationParameter.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVolumeCache Class Reference

PxVolumeCache Class Reference
[Physics]

Volumetric cache for local collision geometry. More...

#include <PxVolumeCache.h>

List of all members.

Classes

struct | Iterator
A callback wrapper class for use with PxVolumeCache::forEach function. More...

Public Types

enum FillStatus {
FILL_OK,
FILL_OVER_MAX_COUNT,
FILL_UNSUPPORTED_GEOMETRY_TYPE,
FILL_OUT_OF_MEMORY
}
describes fill() return status. More...

Public Member Functions

virtual FillStatus | fill (const PxGeometry &cacheVolume, const PxTransform &pose)=0
Fills the cache with objects intersecting the specified cacheVolume.
virtual bool | isValid () const =0
Checks if the cache is valid (not over specified max capacity, for both statics and dynamics) and up-to-date.
virtual void | invalidate ()=0
Invalidates the cache.
virtual bool | getCacheVolume (PxGeometryHolder &resultVolume, PxTransform &resultPose)=0
Retrieves the last cached volume geometry.
virtual PxI32 | getNbCachedShapes ()=0
Returns the total number of cached shapes.
virtual void | release ()=0
Releases the cache object and its resources.
virtual void | forEach (Iterator &iter)=0
Iterates over the scene shapes overlapping with the cache volume.
virtual void | setMaxNbStaticShapes (PxU32 maxCount)=0
Sets the limit on the maximum number of static shapes allowed to be stored in the cache.
virtual void | setMaxNbDynamicShapes (PxU32 maxCount)=0
Sets the limit on the maximum number of dynamic shapes allowed to be stored in the cache.
virtual PxU32 | getMaxNbStaticShapes ()=0
Returns the current maximum number of static cached shapes.
virtual PxU32 | getMaxNbDynamicShapes ()=0
Returns the current maximum number of dynamic cached shapes.
virtual bool | raycast (const PxVec3 &origin, const PxVec3 &unitDir, const PxReal distance, PxRaycastCallback &hitCall, PxHitFlags hitFlags=PxHitFlags(PxHitFlag::eDEFAULT), const PxQueryFilterData &filterData=PxQueryFilterData(), PxQueryFilterCallback *filterCall=NULL) const =0
Raycast against objects in the cache, returning results via PxRaycastCallback callback or PxRaycastBuffer object or a custom user callback implementation.
virtual bool | sweep (const PxGeometry &geometry, const PxTransform &pose, const PxVec3 &unitDir, const PxReal distance, PxSweepCallback &hitCall, PxHitFlags hitFlags=PxHitFlag::eDEFAULT, const PxQueryFilterData &filterData=PxQueryFilterData(), PxQueryFilterCallback *filterCall=NULL, const PxReal inflation=0.f) const =0
Sweep against objects in the cache, returning results via PxRaycastCallback callback or PxRaycastBuffer object or a custom user callback implementation.
virtual bool | overlap (const PxGeometry &geometry, const PxTransform &pose, PxOverlapCallback &hitCall, const PxQueryFilterData &filterData=PxQueryFilterData(), PxQueryFilterCallback *filterCall=NULL) const =0
Test overlap between a geometry and objects in the cache.

Protected Member Functions

virtual | ~PxVolumeCache ()

Detailed Description

Volumetric cache for local collision geometry.

Provides a mechanism for caching objects within a specified volume and performing raycast, sweep, overlap and forEach queries on the cached objects.

Deprecated:
The volume cache feature has been deprecated in PhysX version 3.4
See also:
PxScene.createVolumeCache()

Member Enumeration Documentation

enum PxVolumeCache::FillStatus

describes fill() return status.

See also:
PxVolumeCache.fill()
Enumerator:
FILL_OK | Cache fill() operation was successful, the cache is valid and had enough capacity to store all the objects within the specified cacheVolume.
FILL_OVER_MAX_COUNT Over specified cache capacity.

Cache fill() was over max count specified in PxScene.createVolumeCache() or setMaxNbStaticShapes() and setMaxNbDynamicShapes(). If this value is returned the cache will be in invalid state (no caching), but all the queries will still return correct results within the specified cache volume.

See also:
PxScene.createVolumeCache() setMaxNbStaticShapes() setMaxNbDynamicShapes()
FILL_UNSUPPORTED_GEOMETRY_TYPE Unsupported geometry type.

The geometry type of cacheVolume parameter provided to fill() is not supported. Supported types are sphere, box, capsule.

FILL_OUT_OF_MEMORY | Cache fill() ran out of temporary memory for intermediate results, try reducing the cache size.

Constructor & Destructor Documentation

virtual PxVolumeCache::~PxVolumeCache ( ) [inline, protected, virtual]

Member Function Documentation

virtual FillStatus PxVolumeCache::fill | ( | const PxGeometry & | cacheVolume,
 |  | const PxTransform & | pose |
 | ) |  |  | [pure virtual]

Fills the cache with objects intersecting the specified cacheVolume.

Parameters:
[in] | cacheVolume | Geometry of the cached volume (supported types are: sphere, box, capsule).
[in] | pose | Pose of the cache volume.
Returns:
a FillStatus enum.
See also:
PxVolumeCache.FillStatus

virtual void PxVolumeCache::forEach ( Iterator & iter ) [pure virtual]

Iterates over the scene shapes overlapping with the cache volume.

forEach will invoke PxVolumeCache::Iterator::processShapes virtual function, returning all overlapping shapes (possibly by issuing multiple callbacks) to the user. The size of reported blocks can change depending on internal SDK implementation. Any pointers to the contents of the buffer are only valid within the scope of a single processShapes() callback function. If forEach is invoked on an invalid cache (empty or out of date), this call will attempt to refill the cache within specified capacity. If the cache is over capacity, an attempt will be made to allocate a temp internal buffer, retrieve the results directly from the scene and return to the user via provided iterator. Results from forEach will be current for the last set cacheVolume provided in fill() even if the cache is invalid and refill fails. If the number of overlapping shapes is so high that the internal temporary allocation fails this call will produce an error and return.

Parameters:
iter Iterator callback. forEach() will invokes iter.shapes() function (possibly multiple times) to return blocks of actor+shape pairs overlapped with cacheVolume to the user.

virtual bool PxVolumeCache::getCacheVolume | ( | PxGeometryHolder & | resultVolume,
 |  | PxTransform & | resultPose |
 | ) |  |  | [pure virtual]

Retrieves the last cached volume geometry.

Returns:
False if the cache wasn't previously filled. True otherwise with cacheVolume from the last fill() call returned in resultVolume and corresponding transform in resultPose.
See also:
fill()

virtual PxU32 PxVolumeCache::getMaxNbDynamicShapes ( ) [pure virtual]

Returns the current maximum number of dynamic cached shapes.

Returns:
The max number of cached dynamics.

virtual PxU32 PxVolumeCache::getMaxNbStaticShapes ( ) [pure virtual]

Returns the current maximum number of static cached shapes.

Returns:
The max number of cached statics.

virtual PxI32 PxVolumeCache::getNbCachedShapes ( ) [pure virtual]

Returns the total number of cached shapes.

Returns:
The number of shapes stored in the cache (statics+dynamics). Returns -1 if the cache is invalid.

virtual void PxVolumeCache::invalidate ( ) [pure virtual]

Invalidates the cache.

Marks the cache as invalid. Subsequent query will attempt to refill the cache from the scene.

virtual bool PxVolumeCache::isValid ( ) const [pure virtual]

Checks if the cache is valid (not over specified max capacity, for both statics and dynamics) and up-to-date.

Returns:
True if the cache is valid and up-to-date. Cache can become out-of-date if any statics or dynamics are moved or added or deleted from the scene.
See also:
PxVolumeCache.FillStatus

virtual bool PxVolumeCache::overlap | ( | const PxGeometry & | geometry,
 |  | const PxTransform & | pose,
 |  | PxOverlapCallback & | hitCall,
 |  | const PxQueryFilterData & | filterData = PxQueryFilterData(),
 |  | PxQueryFilterCallback * | filterCall = NULL |
 | ) |  |  | const [pure virtual]

Test overlap between a geometry and objects in the cache.

Note:
Filtering: Overlap tests do not distinguish between touching and blocking hit types (see PxQueryHitType). Both get written to the hit buffer.
Parameters:
[in] | geometry | Geometry of object to check for overlap (supported types are: box, sphere, capsule, convex).
[in] | pose | Pose of the object.
[out] | hitCall | Overlap hit callback or hit buffer object.
[in] | filterData | Filtering data and simple logic.
[in] | filterCall | Custom filtering logic (optional). Only used if the corresponding PxQueryFlag flags are set. If NULL, all hits are assumed to overlap.
Returns:
True if a blocking hit was found or any hit was found in case PxQueryFlag::eANY_HIT flag was specified.
See also:
PxOverlapCallback PxOverlapBuffer PxQueryFilterData PxQueryFilterCallback

virtual bool PxVolumeCache::raycast | ( | const PxVec3 & | origin,
 |  | const PxVec3 & | unitDir,
 |  | const PxReal | distance,
 |  | PxRaycastCallback & | hitCall,
 |  | PxHitFlags | hitFlags = PxHitFlags(PxHitFlag::eDEFAULT),
 |  | const PxQueryFilterData & | filterData = PxQueryFilterData(),
 |  | PxQueryFilterCallback * | filterCall = NULL |
 | ) |  |  | const [pure virtual]

Raycast against objects in the cache, returning results via PxRaycastCallback callback or PxRaycastBuffer object or a custom user callback implementation.

Returns whether any rigid actor is hit along the ray.

Note:
Shooting a ray from within an object leads to different results depending on the shape type. Please check the details in user guide article SceneQuery. User can ignore such objects by employing one of the provided filter mechanisms.
Parameters:
[in] | origin | Origin of the ray.
[in] | unitDir | Normalized direction of the ray.
[in] | distance | Length of the ray. Needs to be larger than 0.
[out] | hitCall | Raycast hit callback or hit buffer object.
[in] | hitFlags | Specifies which properties per hit should be computed and returned via the hit callback.
[in] | filterData | Filtering data and simple logic.
[in] | filterCall | Custom filtering logic (optional). Only used if the corresponding PxQueryFlag flags are set. If NULL, all hits are assumed to be blocking.
Returns:
True if a blocking hit was found or any hit was found in case PxQueryFlag::eANY_HIT flag was used.
See also:
PxRaycastCallback PxRaycastBuffer PxQueryFilterData PxQueryFilterCallback PxQueryCache PxRaycastHit PxQueryFlag PxQueryFlag::eANY_HIT

virtual void PxVolumeCache::release ( ) [pure virtual]

Releases the cache object and its resources.

See also:
PxScene.createVolumeCache

virtual void PxVolumeCache::setMaxNbDynamicShapes ( PxU32 maxCount ) [pure virtual]

Sets the limit on the maximum number of dynamic shapes allowed to be stored in the cache.

If the number of cached objects goes over this limit, the query functions (forEach/raycast/sweep/overlap) will fall back to scene queries.

Parameters:
maxCount Maximum number of dynamic shapes cached.

virtual void PxVolumeCache::setMaxNbStaticShapes ( PxU32 maxCount ) [pure virtual]

Sets the limit on the maximum number of static shapes allowed to be stored in the cache.

If the number of cached objects goes over this limit, the query functions (forEach/raycast/sweep/overlap) will fall back to scene queries.

Parameters:
maxCount Maximum number of static shapes cached.

virtual bool PxVolumeCache::sweep | ( | const PxGeometry & | geometry,
 |  | const PxTransform & | pose,
 |  | const PxVec3 & | unitDir,
 |  | const PxReal | distance,
 |  | PxSweepCallback & | hitCall,
 |  | PxHitFlags | hitFlags = PxHitFlag::eDEFAULT,
 |  | const PxQueryFilterData & | filterData = PxQueryFilterData(),
 |  | PxQueryFilterCallback * | filterCall = NULL,
 |  | const PxReal | inflation = 0.f |
 | ) |  |  | const [pure virtual]

Sweep against objects in the cache, returning results via PxRaycastCallback callback or PxRaycastBuffer object or a custom user callback implementation.

Returns whether any rigid actor is hit along the sweep path.

Parameters:
[in] | geometry | Geometry of object to sweep (supported types are: box, sphere, capsule, convex).
[in] | pose | Pose of the sweep object.
[in] | unitDir | Normalized direction of the sweep.
[in] | distance | Sweep distance. Needs to be larger than 0. Will be clamped to PX_MAX_SWEEP_DISTANCE.
[out] | hitCall | Sweep hit callback or hit buffer object.
[in] | hitFlags | Specifies which properties per hit should be computed and returned via the hit callback.
[in] | filterData | Filtering data and simple logic.
[in] | filterCall | Custom filtering logic (optional). Only used if the corresponding PxQueryFlag flags are set. If NULL, all hits are assumed to be blocking.
[in] | inflation | This parameter creates a skin around the swept geometry which increases its extents for sweeping. The sweep will register a hit as soon as the skin touches a shape, and will return the corresponding distance and normal.
Returns:
True if a blocking hit was found or any hit was found in case PxQueryFlag::eANY_HIT flag was specified.
See also:
PxSweepCallback PxSweepBuffer PxQueryFilterData PxQueryFilterCallback PxSweepHit PxQueryCache PxHitFlags

The documentation for this class was generated from the following file:
  • PxVolumeCache.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMetaDataEntry Struct Reference

PxMetaDataEntry Struct Reference
[Physics]

Struct to store meta data definitions. More...

#include <PxMetaData.h>

List of all members.

Public Attributes

const char * | type
Field type (bool, byte, quaternion, etc).
const char * | name
Field name (appears exactly as in the source file).
PxU32 offset
Offset from the start of the class (ie from "this", field is located at "this"+Offset).
PxU32 size
sizeof(Type)
PxU32 count
Number of items of type Type (0 for dynamic sizes).
PxU32 offsetSize
Offset of dynamic size param, for dynamic arrays.
PxU32 flags
Field parameters.
PxU32 alignment
Explicit alignment.

Detailed Description

Struct to store meta data definitions.

Note: The individual fields have different meaning depending on the meta data entry configuration.

Member Data Documentation

PxU32 PxMetaDataEntry::alignment

Explicit alignment.

PxU32 PxMetaDataEntry::count

Number of items of type Type (0 for dynamic sizes).

PxU32 PxMetaDataEntry::flags

Field parameters.

const char* PxMetaDataEntry::name

Field name (appears exactly as in the source file).

PxU32 PxMetaDataEntry::offset

Offset from the start of the class (ie from "this", field is located at "this"+Offset).

PxU32 PxMetaDataEntry::offsetSize

Offset of dynamic size param, for dynamic arrays.

PxU32 PxMetaDataEntry::size

sizeof(Type)

const char* PxMetaDataEntry::type

Field type (bool, byte, quaternion, etc).

The documentation for this struct was generated from the following file:
  • PxMetaData.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxStringTable Class Reference

PxStringTable Class Reference
[Physics]

a table to manage strings. Strings allocated through this object are expected to be owned by this object. More...

#include <PxStringTable.h>

List of all members.

Public Member Functions

virtual const char * | allocateStr (const char *inSrc)=0
Allocate a new string.
virtual void | release ()=0

Protected Member Functions

virtual | ~PxStringTable ()

Detailed Description

a table to manage strings. Strings allocated through this object are expected to be owned by this object.

Constructor & Destructor Documentation

virtual PxStringTable::~PxStringTable ( ) [inline, protected, virtual]

Member Function Documentation

virtual const char* PxStringTable::allocateStr ( const char * inSrc ) [pure virtual]

Allocate a new string.

Parameters:
[in] inSrc Source string, null terminated or null.
Returns:
*Always* a valid null terminated string. "" is returned if "" or null is passed in.

virtual void PxStringTable::release ( ) [pure virtual]

Release the string table and all the strings associated with it.

The documentation for this class was generated from the following file:
  • PxStringTable.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Scenequery

Scenequery

Classes

class | PxBatchQuery
Batched queries object. This is used to perform several queries at the same time. More...
struct | PxQueryFlag
Filtering flags for scene queries. More...
struct | PxQueryHitType
Classification of scene query hits (intersections). More...
struct | PxQueryFilterData
Scene query filtering data. More...
class | PxQueryFilterCallback
Scene query filtering callbacks. More...
struct | PxHitFlag
Scene query and geometry query behavior flags. More...
struct | PxActorShape
collection of set bits defined in PxHitFlag. More...
struct | PxQueryHit
Scene query hit information. More...
struct | PxLocationHit
Scene query hit information for raycasts and sweeps returning hit position and normal information. More...
struct | PxRaycastHit
Stores results of raycast queries. More...
struct | PxOverlapHit
Stores results of overlap queries. More...
struct | PxSweepHit
Stores results of sweep queries. More...
struct | PxHitCallback< HitType >
This callback class facilitates reporting scene query hits (intersections) to the user. More...
struct | PxHitBuffer< HitType >
Returns scene query hits (intersections) to the user in a preallocated buffer. More...
struct | PxRaycastBufferN< N >
Returns touching raycast hits to the user in a fixed size array embedded in the buffer class. More...
struct | PxOverlapBufferN< N >
Returns touching overlap hits to the user in a fixed size array embedded in the buffer class. More...
struct | PxSweepBufferN< N >
Returns touching sweep hits to the user in a fixed size array embedded in the buffer class. More...

Typedefs

typedef PxFlags
< PxQueryFlag::Enum, PxU16 > 		PxQueryFlags
Flags typedef for the set of bits defined in PxQueryFlag.
typedef PX_DEPRECATED
PxQueryHitType::Enum(* 		PxBatchQueryPreFilterShader )(PxFilterData queryFilterData, PxFilterData objectFilterData, const void *constantBlock, PxU32 constantBlockSize, PxHitFlags &hitFlags)
Batched query pre-filter shader.
typedef PX_DEPRECATED
PxQueryHitType::Enum(* 		PxBatchQueryPostFilterShader )(PxFilterData queryFilterData, PxFilterData objectFilterData, const void *constantBlock, PxU32 constantBlockSize, const PxQueryHit &hit)
Batched query post-filter shader.
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.

Functions

PX_COMPILE_TIME_ASSERT (PxQueryFlag::eSTATIC==(1<< 0))
PX_COMPILE_TIME_ASSERT (PxQueryFlag::eDYNAMIC==(1<< 1))

Typedef Documentation

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

typedef PX_DEPRECATED PxQueryHitType::Enum(* PxBatchQueryPostFilterShader)(PxFilterData queryFilterData, PxFilterData objectFilterData, const void *constantBlock, PxU32 constantBlockSize, const PxQueryHit &hit)

Batched query post-filter shader.

Custom filtering logic for batched query intersection candidates. If an intersection candidate object passes the data based filter (see PxQueryFilterData), the filtering shader run on request (see PxQueryFilterData.flags)

  • If PxQueryFlag::ePOSTFILTER is set, the postFilter shader is called for each intersection to determine the touch/block status. This overrides any touch/block status previously returned from the preFilter function for this shape.
Filtering shaders are not in order along the query direction, rather they are processed in the order in which candidate shapes for testing are found by PhysX' scene traversal algorithms.

Deprecated:
The batched query feature has been deprecated in PhysX version 3.4
See also:
PxBatchQueryDesc.postFilterShader PxQueryFilterCallback.postFilter PxBatchQueryPreFilterShader
Parameters:
[in] | queryFilterData | Query filter data
[in] | objectFilterData | Object filter data
[in] | constantBlock | Global constant filter data (see PxBatchQuery)
[in] | constantBlockSize | Size of global filter data (see PxBatchQuery)
[in] | hit | Hit data from the prior exact intersection test.
Returns:
the new hit type for this hit (see PxQueryHitType)
See also:
PxBatchQueryPreFilterShader

typedef PX_DEPRECATED PxQueryHitType::Enum(* PxBatchQueryPreFilterShader)(PxFilterData queryFilterData, PxFilterData objectFilterData, const void *constantBlock, PxU32 constantBlockSize, PxHitFlags &hitFlags)

Batched query pre-filter shader.

Custom filtering logic for batched query intersection candidates. If an intersection candidate object passes the data based filter (see PxQueryFilterData), filtering shader runs if specified in filtering flags (see PxQueryFilterData.flags)

  • If PxQueryFlag::ePREFILTER is set, the preFilter shader runs before exact intersection tests. If the shader returns PxQueryHitType::eTOUCH or PxQueryHitType::eBLOCK, exact testing is performed to determine the intersection location.
The preFilter shader may overwrite the copy of queryFlags it receives as an argument to specify any of PxHitFlag::eMODIFIABLE_FLAGS on a per-shape basis. Changes apply only to the shape being filtered, and changes to other flags are ignored.

  • If PxQueryFlag::ePREFILTER is not set, precise intersection testing is performed using the original query's filterData.flags.
Filtering calls are not guaranteed to be sorted along the ray or sweep direction.

Deprecated:
The batched query feature has been deprecated in PhysX version 3.4
See also:
PxBatchQueryDesc.preFilterShader PxQueryFilterCallback.preFilter PxBatchQueryPostFilterShader
Parameters:
[in] | queryFilterData | Query filter data
[in] | objectFilterData | Object filter data
[in] | constantBlock | Global constant filter data (see PxBatchQuery)
[in] | constantBlockSize | Size of global filter data (see PxBatchQuery)
[in,out] | hitFlags | Per-object modifiable hit flags (only flags from PxHitFlag::eMODIFIABLE_FLAGS mask can be modified)
Returns:
the updated hit type for this hit (see PxQueryHitType)
See also:
PxBatchQueryPostFilterShader

typedef PxHitBuffer<PxOverlapHit> PxOverlapBuffer

Overlap query buffer.

typedef PxHitCallback<PxOverlapHit> PxOverlapCallback

Overlap query callback.

typedef PxFlags<PxQueryFlag::Enum,PxU16> PxQueryFlags

Flags typedef for the set of bits defined in PxQueryFlag.

typedef PxHitBuffer<PxRaycastHit> PxRaycastBuffer

Raycast query buffer.

typedef PxHitCallback<PxRaycastHit> PxRaycastCallback

Raycast query callback.

typedef PxHitBuffer<PxSweepHit> PxSweepBuffer

Sweep query buffer.

typedef PxHitCallback<PxSweepHit> PxSweepCallback

Sweep query callback.

Function Documentation

PX_COMPILE_TIME_ASSERT ( PxQueryFlag::eDYNAMIC = =(1<< 1) )

PX_COMPILE_TIME_ASSERT ( PxQueryFlag::eSTATIC = =(1<< 0) )


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBatchQuery Class Reference

PxBatchQuery Class Reference
[Scenequery]

Batched queries object. This is used to perform several queries at the same time. More...

#include <PxBatchQuery.h>

List of all members.

Public Member Functions

virtual void | execute ()=0
Executes batched queries.
virtual PxBatchQueryPreFilterShader | getPreFilterShader () const =0
Gets the prefilter shader in use for this scene query.
virtual
PxBatchQueryPostFilterShader 		getPostFilterShader () const =0
Gets the postfilter shader in use for this scene query.
virtual const void * | getFilterShaderData () const =0
Gets the shared global filter data in use for this scene query.
virtual PxU32 | getFilterShaderDataSize () const =0
Gets the size of the shared global filter data (PxSceneDesc.filterShaderData).
virtual PX_DEPRECATED PxClientID | getOwnerClient () const =0
Retrieves the client specified with PxBatchQueryDesc::ownerClient at creation time.
virtual void | setUserMemory (const PxBatchQueryMemory &)=0
Sets new user memory pointers.
virtual const PxBatchQueryMemory & | getUserMemory ()=0
Gets the user memory pointers.
virtual void | release ()=0
Releases PxBatchQuery from PxScene.
virtual void | raycast (const PxVec3 &origin, const PxVec3 &unitDir, PxReal distance=PX_MAX_F32, PxU16 maxTouchHits=0, PxHitFlags hitFlags=PxHitFlag::eDEFAULT, const PxQueryFilterData &filterData=PxQueryFilterData(), void *userData=NULL, const PxQueryCache *cache=NULL)=0
Performs a raycast against objects in the scene, returns results in PxBatchQueryMemory::userRaycastResultBuffer specified at PxBatchQuery creation time or via PxBatchQuery::setUserMemory call.
virtual void | overlap (const PxGeometry &geometry, const PxTransform &pose, PxU16 maxTouchHits=0, const PxQueryFilterData &filterData=PxQueryFilterData(), void *userData=NULL, const PxQueryCache *cache=NULL)=0
Performs an overlap test of a given geometry against objects in the scene, returns results in PxBatchQueryMemory::userOverlapResultBuffer specified at PxBatchQuery creation time or via PxBatchQuery::setUserMemory call.
virtual void | sweep (const PxGeometry &geometry, const PxTransform &pose, const PxVec3 &unitDir, const PxReal distance, PxU16 maxTouchHits=0, PxHitFlags hitFlags=PxHitFlag::eDEFAULT, const PxQueryFilterData &filterData=PxQueryFilterData(), void *userData=NULL, const PxQueryCache *cache=NULL, const PxReal inflation=0.f)=0
Performs a sweep test against objects in the scene, returns results in PxBatchQueryMemory::userSweepResultBuffer specified at PxBatchQuery creation time or via PxBatchQuery::setUserMemory call.

Protected Member Functions

virtual | ~PxBatchQuery ()

Detailed Description

Batched queries object. This is used to perform several queries at the same time.

Deprecated:
The batched query feature has been deprecated in PhysX version 3.4
See also:
PxScene, PxScene.createBatchQuery

Constructor & Destructor Documentation

virtual PxBatchQuery::~PxBatchQuery ( ) [inline, protected, virtual]

Member Function Documentation

virtual void PxBatchQuery::execute ( ) [pure virtual]

Executes batched queries.

virtual const void* PxBatchQuery::getFilterShaderData ( ) const [pure virtual]

Gets the shared global filter data in use for this scene query.

Returns:
Shared filter data for filter shader.
See also:
getFilterShaderDataSize() PxBatchQueryDesc.filterShaderData PxBatchQueryPreFilterShader, PxBatchQueryPostFilterShader

virtual PxU32 PxBatchQuery::getFilterShaderDataSize ( ) const [pure virtual]

Gets the size of the shared global filter data (PxSceneDesc.filterShaderData).

Returns:
Size of shared filter data [bytes].
See also:
getFilterShaderData() PxBatchQueryDesc.filterShaderDataSize PxBatchQueryPreFilterShader, PxBatchQueryPostFilterShader

virtual PX_DEPRECATED PxClientID PxBatchQuery::getOwnerClient ( ) const [pure virtual]

Retrieves the client specified with PxBatchQueryDesc::ownerClient at creation time.

It is not possible to change this value after creating the scene query.

See also:
PxBatchQueryDesc::ownerClient

virtual PxBatchQueryPostFilterShader PxBatchQuery::getPostFilterShader ( ) const [pure virtual]

Gets the postfilter shader in use for this scene query.

Returns:
Postfilter shader.
See also:
PxBatchQueryDesc.preFilterShade PxBatchQueryPostFilterShader

virtual PxBatchQueryPreFilterShader PxBatchQuery::getPreFilterShader ( ) const [pure virtual]

Gets the prefilter shader in use for this scene query.

Returns:
Prefilter shader.
See also:
PxBatchQueryDesc.preFilterShade PxBatchQueryPreFilterShader

virtual const PxBatchQueryMemory& PxBatchQuery::getUserMemory ( ) [pure virtual]

Gets the user memory pointers.

See also:
PxBatchQueryDesc

virtual void PxBatchQuery::overlap | ( | const PxGeometry & | geometry,
 |  | const PxTransform & | pose,
 |  | PxU16 | maxTouchHits = 0,
 |  | const PxQueryFilterData & | filterData = PxQueryFilterData(),
 |  | void * | userData = NULL,
 |  | const PxQueryCache * | cache = NULL |
 | ) |  |  | [pure virtual]

Performs an overlap test of a given geometry against objects in the scene, returns results in PxBatchQueryMemory::userOverlapResultBuffer specified at PxBatchQuery creation time or via PxBatchQuery::setUserMemory call.

Note:
Filtering: returning eBLOCK from user filter for overlap queries will cause a warning (see PxQueryHitType).
Parameters:
[in] | geometry | Geometry of object to check for overlap (supported types are: box, sphere, capsule, convex).
[in] | pose | Pose of the object.
[in] | maxTouchHits | Maximum number of hits to record in the touch buffer for this query. Default=0 reports a single blocking hit. If maxTouchHits is set to 0 all hits are treated as blocking by default.
[in] | filterData | Filtering data and simple logic. See PxQueryFilterData PxBatchQueryPreFilterShader, PxBatchQueryPostFilterShader
[in] | userData | User can pass any value in this argument, usually to identify this particular query
[in] | cache | Cached hit shape (optional). Query is tested against cached shape first. If no hit is found the ray gets queried against the scene. Note: Filtering is not executed for a cached shape if supplied; instead, if a hit is found, it is assumed to be a blocking hit. Note: Using past touching hits as cache will produce incorrect behavior since the cached hit will always be treated as blocking.
Note:
eBLOCK should not be returned from user filters for overlap(). Doing so will result in undefined behavior, and a warning will be issued.

If the PxQueryFlag::eNO_BLOCK flag is set, the eBLOCK will instead be automatically converted to an eTOUCH and the warning suppressed.

This query call writes to a list associated with the query object and is NOT thread safe (for performance reasons there is no lock and overlapping writes from different threads may result in undefined behavior).

See also:
PxQueryFilterData PxBatchQueryPreFilterShader PxBatchQueryPostFilterShader

virtual void PxBatchQuery::raycast | ( | const PxVec3 & | origin,
 |  | const PxVec3 & | unitDir,
 |  | PxReal | distance = PX_MAX_F32,
 |  | PxU16 | maxTouchHits = 0,
 |  | PxHitFlags | hitFlags = PxHitFlag::eDEFAULT,
 |  | const PxQueryFilterData & | filterData = PxQueryFilterData(),
 |  | void * | userData = NULL,
 |  | const PxQueryCache * | cache = NULL |
 | ) |  |  | [pure virtual]

Performs a raycast against objects in the scene, returns results in PxBatchQueryMemory::userRaycastResultBuffer specified at PxBatchQuery creation time or via PxBatchQuery::setUserMemory call.

Note:
Touching hits are not ordered.

Shooting a ray from within an object leads to different results depending on the shape type. Please check the details in article SceneQuery. User can ignore such objects by using one of the provided filter mechanisms.

Parameters:
[in] | origin | Origin of the ray.
[in] | unitDir | Normalized direction of the ray.
[in] | distance | Length of the ray. Needs to be larger than 0.
[in] | maxTouchHits | Maximum number of hits to record in the touch buffer for this query. Default=0 reports a single blocking hit. If maxTouchHits is set to 0 all hits are treated as blocking by default.
[in] | hitFlags | Specifies which properties per hit should be computed and returned in hit array and blocking hit.
[in] | filterData | Filtering data passed to the filer shader. See PxQueryFilterData PxBatchQueryPreFilterShader, PxBatchQueryPostFilterShader
[in] | userData | User can pass any value in this argument, usually to identify this particular query
[in] | cache | Cached hit shape (optional). Query is tested against cached shape first. If no hit is found the ray gets queried against the scene. Note: Filtering is not executed for a cached shape if supplied; instead, if a hit is found, it is assumed to be a blocking hit. Note: Using past touching hits as cache will produce incorrect behavior since the cached hit will always be treated as blocking.
Note:
This query call writes to a list associated with the query object and is NOT thread safe (for performance reasons there is no lock and overlapping writes from different threads may result in undefined behavior).
See also:
PxQueryFilterData PxBatchQueryPreFilterShader PxBatchQueryPostFilterShader PxRaycastHit PxScene::raycast

virtual void PxBatchQuery::release ( ) [pure virtual]

Releases PxBatchQuery from PxScene.

See also:
PxScene, PxScene.createBatchQuery

virtual void PxBatchQuery::setUserMemory ( const PxBatchQueryMemory & ) [pure virtual]

Sets new user memory pointers.

It is not possible to change the memory during query execute.

See also:
PxBatchQueryDesc

virtual void PxBatchQuery::sweep | ( | const PxGeometry & | geometry,
 |  | const PxTransform & | pose,
 |  | const PxVec3 & | unitDir,
 |  | const PxReal | distance,
 |  | PxU16 | maxTouchHits = 0,
 |  | PxHitFlags | hitFlags = PxHitFlag::eDEFAULT,
 |  | const PxQueryFilterData & | filterData = PxQueryFilterData(),
 |  | void * | userData = NULL,
 |  | const PxQueryCache * | cache = NULL,
 |  | const PxReal | inflation = 0.f |
 | ) |  |  | [pure virtual]

Performs a sweep test against objects in the scene, returns results in PxBatchQueryMemory::userSweepResultBuffer specified at PxBatchQuery creation time or via PxBatchQuery::setUserMemory call.

Note:
Touching hits are not ordered.

If a shape from the scene is already overlapping with the query shape in its starting position, the hit is returned unless eASSUME_NO_INITIAL_OVERLAP was specified.

Parameters:
[in] | geometry | Geometry of object to sweep (supported types are: box, sphere, capsule, convex).
[in] | pose | Pose of the sweep object.
[in] | unitDir | Normalized direction of the sweep.
[in] | distance | Sweep distance. Needs to be larger than 0. Will be clamped to PX_MAX_SWEEP_DISTANCE.
[in] | maxTouchHits | Maximum number of hits to record in the touch buffer for this query. Default=0 reports a single blocking hit. If maxTouchHits is set to 0 all hits are treated as blocking by default.
[in] | hitFlags | Specifies which properties per hit should be computed and returned in hit array and blocking hit.
[in] | filterData | Filtering data and simple logic. See PxQueryFilterData PxBatchQueryPreFilterShader, PxBatchQueryPostFilterShader
[in] | userData | User can pass any value in this argument, usually to identify this particular query
[in] | cache | Cached hit shape (optional). Query is tested against cached shape first. If no hit is found the ray gets queried against the scene. Note: Filtering is not executed for a cached shape if supplied; instead, if a hit is found, it is assumed to be a blocking hit. Note: Using past touching hits as cache will produce incorrect behavior since the cached hit will always be treated as blocking.
[in] | inflation | This parameter creates a skin around the swept geometry which increases its extents for sweeping. The sweep will register a hit as soon as the skin touches a shape, and will return the corresponding distance and normal. Note: ePRECISE_SWEEP doesn't support inflation. Therefore the sweep will be performed with zero inflation.
Note:
This query call writes to a list associated with the query object and is NOT thread safe (for performance reasons there is no lock and overlapping writes from different threads may result in undefined behavior).
See also:
PxHitFlags PxQueryFilterData PxBatchQueryPreFilterShader PxBatchQueryPostFilterShader PxSweepHit

The documentation for this class was generated from the following file:
  • PxBatchQuery.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxQueryFlag Struct Reference

PxQueryFlag Struct Reference
[Scenequery]

Filtering flags for scene queries. More...

#include <PxQueryFiltering.h>

List of all members.

Public Types

enum Enum {
eSTATIC = (1<<0),
eDYNAMIC = (1<<1),
ePREFILTER = (1<<2),
ePOSTFILTER = (1<<3),
eANY_HIT = (1<<4),
eNO_BLOCK = (1<<5),
eRESERVED = (1<<15)
}

Detailed Description

Filtering flags for scene queries.

See also:
PxQueryFilterData.flags

Member Enumeration Documentation

enum PxQueryFlag::Enum

Enumerator:
eSTATIC | Traverse static shapes.
eDYNAMIC | Traverse dynamic shapes.
ePREFILTER | Run the pre-intersection-test filter (see PxQueryFilterCallback::preFilter()).
ePOSTFILTER | Run the post-intersection-test filter (see PxQueryFilterCallback::postFilter()).
eANY_HIT | Abort traversal as soon as any hit is found and return it via callback.block. Helps query performance. Both eTOUCH and eBLOCK hitTypes are considered hits with this flag.
eNO_BLOCK | All hits are reported as touching. Overrides eBLOCK returned from user filters with eTOUCH. This is also an optimization hint that may improve query performance.
eRESERVED | Reserved for internal use.

The documentation for this struct was generated from the following file:
  • PxQueryFiltering.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxQueryHitType Struct Reference

PxQueryHitType Struct Reference
[Scenequery]

Classification of scene query hits (intersections). More...

#include <PxQueryFiltering.h>

List of all members.

Public Types

enum Enum {
eNONE = 0,
eTOUCH = 1,
eBLOCK = 2
}

Detailed Description

Classification of scene query hits (intersections).

  • eNONE: Returning this hit type means that the hit should not be reported.
  • eBLOCK: For all raycast, sweep and overlap queries the nearest eBLOCK type hit will always be returned in PxHitCallback::block member.
  • eTOUCH: Whenever a raycast, sweep or overlap query was called with non-zero PxHitCallback::nbTouches and PxHitCallback::touches parameters, eTOUCH type hits that are closer or same distance (touchDistance <= blockDistance condition) as the globally nearest eBLOCK type hit, will be reported.
  • For example, to record all hits from a raycast query, always return eTOUCH.

All hits in overlap() queries are treated as if the intersection distance were zero. This means the hits are unsorted and all eTOUCH hits are recorded by the callback even if an eBLOCK overlap hit was encountered. Even though all overlap() blocking hits have zero length, only one (arbitrary) eBLOCK overlap hit is recorded in PxHitCallback::block. All overlap() eTOUCH type hits are reported (zero touchDistance <= zero blockDistance condition).

For raycast/sweep/overlap calls with zero touch buffer or PxHitCallback::nbTouches member, only the closest hit of type eBLOCK is returned. All eTOUCH hits are discarded.

See also:
PxQueryFilterCallback.preFilter PxQueryFilterCallback.postFilter PxScene.raycast PxScene.sweep PxScene.overlap

Member Enumeration Documentation

enum PxQueryHitType::Enum

Enumerator:
eNONE | the query should ignore this shape
eTOUCH | a hit on the shape touches the intersection geometry of the query but does not block it
eBLOCK | a hit on the shape blocks the query (does not block overlap queries)

The documentation for this struct was generated from the following file:
  • PxQueryFiltering.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxQueryFilterData Struct Reference

PxQueryFilterData Struct Reference
[Scenequery]

Scene query filtering data. More...

#include <PxQueryFiltering.h>

Collaboration diagram for PxQueryFilterData:

PxFlags\< PxQueryFlag::Enum, PxU16 \>PxFilterData
[legend]

List of all members.

Public Member Functions

PX_INLINE | PxQueryFilterData ()
default constructor
PX_INLINE | PxQueryFilterData (const PxFilterData &fd, PxQueryFlags f)
constructor to set both filter data and filter flags
PX_INLINE | PxQueryFilterData (PxQueryFlags f)
constructor to set filter flags only

Public Attributes

PxFilterData data
Filter data associated with the scene query.
PxQueryFlags flags
Filter flags (see PxQueryFlags).
PX_DEPRECATED PxClientID | clientId
ID of the client doing the query (see PxScene.createClient()).

Detailed Description

Scene query filtering data.

Whenever the scene query intersects a shape, filtering is performed in the following order:

  • For non-batched queries only:
    If the data field is non-zero, and the bitwise-AND value of data AND the shape's queryFilterData is zero, the shape is skipped
  • If filter callbacks are enabled in flags field (see PxQueryFlags) they will get invoked accordingly.
  • If neither PxQueryFlag::ePREFILTER or PxQueryFlag::ePOSTFILTER is set, the hit defaults to type PxQueryHitType::eBLOCK when the value of PxHitCallback::nbTouches provided with the query is zero and to type PxQueryHitType::eTOUCH when PxHitCallback::nbTouches is positive.
See also:
PxScene.raycast PxScene.sweep PxScene.overlap PxBatchQuery.raycast PxBatchQuery.sweep PxBatchQuery.overlap PxQueryFlag::eANY_HIT

Constructor & Destructor Documentation

PX_INLINE PxQueryFilterData::PxQueryFilterData ( ) [inline, explicit]

default constructor

PX_INLINE PxQueryFilterData::PxQueryFilterData | ( | const PxFilterData & | fd,
 |  | PxQueryFlags | f |
 | ) |  |  | [inline, explicit]

constructor to set both filter data and filter flags

PX_INLINE PxQueryFilterData::PxQueryFilterData ( PxQueryFlags f ) [inline, explicit]

constructor to set filter flags only

Member Data Documentation

PX_DEPRECATED PxClientID PxQueryFilterData::clientId

ID of the client doing the query (see PxScene.createClient()).

PxFilterData PxQueryFilterData::data

Filter data associated with the scene query.

PxQueryFlags PxQueryFilterData::flags

Filter flags (see PxQueryFlags).

The documentation for this struct was generated from the following file:
  • PxQueryFiltering.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxQueryFilterCallback Class Reference

PxQueryFilterCallback Class Reference
[Scenequery]

Scene query filtering callbacks. More...

#include <PxQueryFiltering.h>

List of all members.

Public Member Functions

virtual PxQueryHitType::Enum | preFilter (const PxFilterData &filterData, const PxShape *shape, const PxRigidActor *actor, PxHitFlags &queryFlags)=0
This filter callback is executed before the exact intersection test if PxQueryFlag::ePREFILTER flag was set.
virtual PxQueryHitType::Enum | postFilter (const PxFilterData &filterData, const PxQueryHit &hit)=0
This filter callback is executed if the exact intersection test returned true and PxQueryFlag::ePOSTFILTER flag was set.
virtual | ~PxQueryFilterCallback ()
virtual destructor

Detailed Description

Scene query filtering callbacks.

Custom filtering logic for scene query intersection candidates. If an intersection candidate object passes the data based filter (see PxQueryFilterData), filtering callbacks are executed if requested (see PxQueryFilterData.flags)

  • If PxQueryFlag::ePREFILTER is set, the preFilter function runs before exact intersection tests. If this function returns PxQueryHitType::eTOUCH or PxQueryHitType::eBLOCK, exact testing is performed to determine the intersection location.
The preFilter function may overwrite the copy of queryFlags it receives as an argument to specify any of PxHitFlag::eMODIFIABLE_FLAGS on a per-shape basis. Changes apply only to the shape being filtered, and changes to other flags are ignored.

  • If PxQueryFlag::ePREFILTER is not set, precise intersection testing is performed using the original query's filterData.flags.
  • If PxQueryFlag::ePOSTFILTER is set, the postFilter function is called for each intersection to determine the touch/block status. This overrides any touch/block status previously returned from the preFilter function for this shape.
Filtering calls are not guaranteed to be sorted along the ray or sweep direction.

See also:
PxScene.raycast PxScene.sweep PxScene.overlap PxQueryFlags PxHitFlags

Constructor & Destructor Documentation

virtual PxQueryFilterCallback::~PxQueryFilterCallback ( ) [inline, virtual]

virtual destructor

Member Function Documentation

virtual PxQueryHitType::Enum PxQueryFilterCallback::postFilter | ( | const PxFilterData & | filterData,
 |  | const PxQueryHit & | hit |
 | ) |  |  | [pure virtual]

This filter callback is executed if the exact intersection test returned true and PxQueryFlag::ePOSTFILTER flag was set.

Parameters:
[in] | filterData | custom filter data of the query
[in] | hit | Scene query hit information. faceIndex member is not valid for overlap queries. For sweep and raycast queries the hit information can be cast to PxSweepHit and PxRaycastHit respectively.
Returns:
the updated hit type for this hit (see PxQueryHitType)

virtual PxQueryHitType::Enum PxQueryFilterCallback::preFilter | ( | const PxFilterData & | filterData,
 |  | const PxShape * | shape,
 |  | const PxRigidActor * | actor,
 |  | PxHitFlags & | queryFlags |
 | ) |  |  | [pure virtual]

This filter callback is executed before the exact intersection test if PxQueryFlag::ePREFILTER flag was set.

Parameters:
[in] | filterData | custom filter data specified as the query's filterData.data parameter.
[in] | shape | A shape that has not yet passed the exact intersection test.
[in] | actor | The shape's actor.
[in,out] | queryFlags | scene query flags from the query's function call (only flags from PxHitFlag::eMODIFIABLE_FLAGS bitmask can be modified)
Returns:
the updated type for this hit (see PxQueryHitType)

The documentation for this class was generated from the following file:
  • PxQueryFiltering.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxHitFlag Struct Reference

PxHitFlag Struct Reference
[Scenequery]

Scene query and geometry query behavior flags. More...

#include <PxQueryReport.h>

List of all members.

Public Types

enum Enum {
ePOSITION = (1<<0),
eNORMAL = (1<<1),
eDISTANCE = (1<<2),
eUV = (1<<3),
eASSUME_NO_INITIAL_OVERLAP = (1<<4),
eMESH_MULTIPLE = (1<<5),
eMESH_ANY = (1<<6),
eMESH_BOTH_SIDES = (1<<7),
ePRECISE_SWEEP = (1<<8),
eMTD = (1<<9),
eFACE_INDEX = (1<<10),
eDEFAULT = ePOSITION|eNORMAL|eDISTANCE|eFACE_INDEX,
eMODIFIABLE_FLAGS = eMESH_MULTIPLE|eMESH_BOTH_SIDES|eASSUME_NO_INITIAL_OVERLAP|ePRECISE_SWEEP
}

Detailed Description

Scene query and geometry query behavior flags.

PxHitFlags are used for 3 different purposes:

1) To request hit fields to be filled in by scene queries (such as hit position, normal, face index or UVs). 2) Once query is completed, to indicate which fields are valid (note that a query may produce more valid fields than requested). 3) To specify additional options for the narrow phase and mid-phase intersection routines.

All these flags apply to both scene queries and geometry queries (PxGeometryQuery).

See also:
PxRaycastHit PxSweepHit PxOverlapHit PxScene.raycast PxScene.sweep PxScene.overlap PxGeometryQuery PxFindFaceIndex

Member Enumeration Documentation

enum PxHitFlag::Enum

Enumerator:
ePOSITION | "position" member of PxQueryHit is valid
eNORMAL | "normal" member of PxQueryHit is valid
eDISTANCE | "distance" member of PxQueryHit is valid. Deprecated: the system will always compute & return the distance.
eUV | "u" and "v" barycentric coordinates of PxQueryHit are valid. Not applicable to sweep queries.
eASSUME_NO_INITIAL_OVERLAP | Performance hint flag for sweeps when it is known upfront there's no initial overlap. NOTE: using this flag may cause undefined results if shapes are initially overlapping.
eMESH_MULTIPLE | Report all hits for meshes rather than just the first. Not applicable to sweep queries.
eMESH_ANY | Report any first hit for meshes. If neither eMESH_MULTIPLE nor eMESH_ANY is specified, a single closest hit will be reported for meshes.
eMESH_BOTH_SIDES | Report hits with back faces of mesh triangles. Also report hits for raycast originating on mesh surface and facing away from the surface normal. Not applicable to sweep queries. Please refer to the user guide for heightfield-specific differences.
ePRECISE_SWEEP | Use more accurate but slower narrow phase sweep tests. May provide better compatibility with PhysX 3.2 sweep behavior.
eMTD | Report the minimum translation depth, normal and contact point.
eFACE_INDEX | "face index" member of PxQueryHit is valid
eDEFAULT
eMODIFIABLE_FLAGS | Only this subset of flags can be modified by pre-filter. Other modifications will be discarded.

The documentation for this struct was generated from the following file:
  • PxQueryReport.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxActorShape Struct Reference

PxActorShape Struct Reference
[Scenequery]

collection of set bits defined in PxHitFlag. More...

#include <PxQueryReport.h>

Inheritance diagram for PxActorShape:

PxQueryHitPxLocationHitPxOverlapHitPxRaycastHitPxSweepHit
[legend]
Collaboration diagram for PxActorShape:

PxRigidActorPxActorPxBasePxShapePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

PX_INLINE | PxActorShape ()
PX_INLINE | PxActorShape (PxRigidActor *a, PxShape *s)

Public Attributes

PxRigidActor * actor
PxShape * shape

Detailed Description

collection of set bits defined in PxHitFlag.

See also:
PxHitFlag Combines a shape pointer and the actor the shape belongs to into one memory location.Used with PxVolumeCache iterator and serves as a base class for PxQueryHit.

PxVolumeCache PxQueryHit

Constructor & Destructor Documentation

PX_INLINE PxActorShape::PxActorShape ( ) [inline]

PX_INLINE PxActorShape::PxActorShape | ( | PxRigidActor * | a,
 |  | PxShape * | s |
 | ) |  |  | [inline]

Member Data Documentation

PxRigidActor* PxActorShape::actor

PxShape* PxActorShape::shape

The documentation for this struct was generated from the following file:
  • PxQueryReport.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxQueryHit Struct Reference

PxQueryHit Struct Reference
[Scenequery]

Scene query hit information. More...

#include <PxQueryReport.h>

Inheritance diagram for PxQueryHit:

PxLocationHitPxOverlapHitPxActorShapePxRaycastHitPxSweepHit
[legend]
Collaboration diagram for PxQueryHit:

PxActorShapePxRigidActorPxActorPxBasePxShapePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

PX_INLINE PxQueryHit ()

Public Attributes

PxU32 faceIndex

Detailed Description

Scene query hit information.

Constructor & Destructor Documentation

PX_INLINE PxQueryHit::PxQueryHit ( ) [inline]

Member Data Documentation

PxU32 PxQueryHit::faceIndex

Face index of touched triangle, for triangle meshes, convex meshes and height fields.

Note:
This index will default to 0xFFFFffff value for overlap queries.

Please refer to the user guide for more details for sweep queries.

This index is remapped by mesh cooking. Use PxTriangleMesh::getTrianglesRemap() to convert to original mesh index.

For convex meshes use PxConvexMesh::getPolygonData() to retrieve touched polygon data.

The documentation for this struct was generated from the following file:
  • PxQueryReport.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxLocationHit Struct Reference

PxLocationHit Struct Reference
[Scenequery]

Scene query hit information for raycasts and sweeps returning hit position and normal information. More...

#include <PxQueryReport.h>

Inheritance diagram for PxLocationHit:

PxRaycastHitPxSweepHitPxQueryHitPxActorShape
[legend]
Collaboration diagram for PxLocationHit:

PxQueryHitPxActorShapePxRigidActorPxActorPxBasePxShapePxFlags\< PxBaseFlag::Enum, PxU16 \>PxVec3
[legend]

List of all members.

Public Member Functions

PX_INLINE | PxLocationHit ()
PX_INLINE bool | hadInitialOverlap () const

Public Attributes

PxHitFlags | flags
Hit flags specifying which members contain valid values.
PxVec3 position
World-space hit position (flag: PxHitFlag::ePOSITION).
PxVec3 normal
World-space hit normal (flag: PxHitFlag::eNORMAL).
PxF32 | distance
Distance to hit.

Detailed Description

Scene query hit information for raycasts and sweeps returning hit position and normal information.

PxHitFlag flags can be passed to scene query functions, as an optimization, to cause the SDK to only generate specific members of this structure.

Constructor & Destructor Documentation

PX_INLINE PxLocationHit::PxLocationHit ( ) [inline]

Member Function Documentation

PX_INLINE bool PxLocationHit::hadInitialOverlap ( ) const [inline]

Note:
For raycast hits: true for shapes overlapping with raycast origin.

For sweep hits: true for shapes overlapping at zero sweep distance.

See also:
PxRaycastHit PxSweepHit

Member Data Documentation

PxF32 PxLocationHit::distance

Distance to hit.

Note:
If the eMTD flag is used, distance will be a negative value if shapes are overlapping indicating the penetration depth.

Otherwise, this value will be >= 0 (flag: PxHitFlag::eDISTANCE)

PxHitFlags PxLocationHit::flags

Hit flags specifying which members contain valid values.

PxVec3 PxLocationHit::normal

World-space hit normal (flag: PxHitFlag::eNORMAL).

PxVec3 PxLocationHit::position

World-space hit position (flag: PxHitFlag::ePOSITION).

The documentation for this struct was generated from the following file:
  • PxQueryReport.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRaycastHit Struct Reference

PxRaycastHit Struct Reference
[Scenequery]

Stores results of raycast queries. More...

#include <PxQueryReport.h>

Inheritance diagram for PxRaycastHit:

PxLocationHitPxQueryHitPxActorShape
[legend]
Collaboration diagram for PxRaycastHit:

PxLocationHitPxQueryHitPxActorShapePxRigidActorPxActorPxBasePxShapePxFlags\< PxBaseFlag::Enum, PxU16 \>PxVec3
[legend]

List of all members.

Public Member Functions

PX_INLINE | PxRaycastHit ()

Public Attributes

PxReal | u
PxReal | v
barycentric coordinates of hit point, for triangle mesh and height field (flag: PxHitFlag::eUV)
PxU32 | padTo16Bytes [3]

Detailed Description

Stores results of raycast queries.

PxHitFlag flags can be passed to raycast function, as an optimization, to cause the SDK to only compute specified members of this structure.

Some members like barycentric coordinates are currently only computed for triangle meshes and height fields, but next versions might provide them in other cases. The client code should check flags to make sure returned values are valid.

See also:
PxScene.raycast PxBatchQuery.raycast PxVolumeCache.raycast

Constructor & Destructor Documentation

PX_INLINE PxRaycastHit::PxRaycastHit ( ) [inline]

Member Data Documentation

PxU32 PxRaycastHit::padTo16Bytes[3]

PxReal PxRaycastHit::u

PxReal PxRaycastHit::v

barycentric coordinates of hit point, for triangle mesh and height field (flag: PxHitFlag::eUV)

The documentation for this struct was generated from the following file:
  • PxQueryReport.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxOverlapHit Struct Reference

PxOverlapHit Struct Reference
[Scenequery]

Stores results of overlap queries. More...

#include <PxQueryReport.h>

Inheritance diagram for PxOverlapHit:

PxQueryHitPxActorShape
[legend]
Collaboration diagram for PxOverlapHit:

PxQueryHitPxActorShapePxRigidActorPxActorPxBasePxShapePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Attributes

PxU32 padTo16Bytes

Detailed Description

Stores results of overlap queries.

See also:
PxScene.overlap and PxBatchQuery.overlap PxVolumeCache.overlap

Member Data Documentation

PxU32 PxOverlapHit::padTo16Bytes

The documentation for this struct was generated from the following file:
  • PxQueryReport.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSweepHit Struct Reference

PxSweepHit Struct Reference
[Scenequery]

Stores results of sweep queries. More...

#include <PxQueryReport.h>

Inheritance diagram for PxSweepHit:

PxLocationHitPxQueryHitPxActorShape
[legend]
Collaboration diagram for PxSweepHit:

PxLocationHitPxQueryHitPxActorShapePxRigidActorPxActorPxBasePxShapePxFlags\< PxBaseFlag::Enum, PxU16 \>PxVec3
[legend]

List of all members.

Public Member Functions

PX_INLINE PxSweepHit ()

Public Attributes

PxU32 padTo16Bytes

Detailed Description

Stores results of sweep queries.

See also:
PxScene.sweep PxBatchQuery.sweep PxVolumeCache.sweep

Constructor & Destructor Documentation

PX_INLINE PxSweepHit::PxSweepHit ( ) [inline]

Member Data Documentation

PxU32 PxSweepHit::padTo16Bytes

The documentation for this struct was generated from the following file:
  • PxQueryReport.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxHitCallback< HitType > Struct Template Reference

PxHitCallback< HitType > Struct Template Reference
[Scenequery]

This callback class facilitates reporting scene query hits (intersections) to the user. More...

#include <PxQueryReport.h>

Collaboration diagram for PxHitCallback< HitType >:

[legend]

List of all members.

Public Member Functions

PxHitCallback (HitType *aTouches, PxU32 aMaxNbTouches)
Initializes the class with user provided buffer.
virtual PxAgain | processTouches (const HitType *buffer, PxU32 nbHits)=0
virtual callback function used to communicate query results to the user.
virtual void | finalizeQuery ()
Query finalization callback, called after the last processTouches callback.
virtual | ~PxHitCallback ()
PX_FORCE_INLINE bool | hasAnyHits ()
Returns true if any blocking or touching hits were encountered during a query.

Public Attributes

HitType | block
Holds the closest blocking hit result for the query. Invalid if hasBlock is false.
bool | hasBlock
Set to true if there was a blocking hit during query.
HitType * | touches
User specified buffer for touching hits.
PxU32 maxNbTouches
Size of the user specified touching hits buffer.
PxU32 nbTouches
Number of touching hits returned by the query. Used with PxHitBuffer.

Detailed Description

template<typename HitType>
struct PxHitCallback< HitType >

This callback class facilitates reporting scene query hits (intersections) to the user.

User overrides the virtual processTouches function to receive hits in (possibly multiple) fixed size blocks.

Note:
PxHitBuffer derives from this class and is used to receive touching hits in a fixed size buffer.

Since the compiler doesn't look in template dependent base classes when looking for non-dependent names

with some compilers it will be necessary to use "this->hasBlock" notation to access a parent variable

in a child callback class.

Pre-made typedef shorthands, such as PxRaycastCallback can be used for raycast, overlap and sweep queries.

See also:
PxHitBuffer PxRaycastHit PxSweepHit PxOverlapHit PxRaycastCallback PxOverlapCallback PxSweepCallback

Constructor & Destructor Documentation

template<typename HitType>
PxHitCallback< HitType >::PxHitCallback | ( | HitType * | aTouches,
 |  | PxU32 | aMaxNbTouches |
 | ) |  |  | [inline]

Initializes the class with user provided buffer.

Parameters:
[in] | aTouches | Optional buffer for recording PxQueryHitType::eTOUCH type hits.
[in] | aMaxNbTouches | Size of touch buffer.
Note:
if aTouches is NULL and aMaxNbTouches is 0, only the closest blocking hit will be recorded by the query.

If PxQueryFlag::eANY_HIT flag is used as a query parameter, hasBlock will be set to true and blockingHit will be used to receive the result.

Both eTOUCH and eBLOCK hits will be registered as hasBlock=true and stored in PxHitCallback.block when eANY_HIT flag is used.

See also:
PxHitCallback.hasBlock PxHitCallback.block

template<typename HitType>
virtual PxHitCallback< HitType >::~PxHitCallback ( ) [inline, virtual]

Member Function Documentation

template<typename HitType>
virtual void PxHitCallback< HitType >::finalizeQuery ( ) [inline, virtual]

Query finalization callback, called after the last processTouches callback.

template<typename HitType>
PX_FORCE_INLINE bool PxHitCallback< HitType >::hasAnyHits ( ) [inline]

Returns true if any blocking or touching hits were encountered during a query.

template<typename HitType>
virtual PxAgain PxHitCallback< HitType >::processTouches | ( | const HitType * | buffer,
 |  | PxU32 | nbHits |
 | ) |  |  | [pure virtual]

virtual callback function used to communicate query results to the user.

This callback will always be invoked with touches as a buffer if touches was specified as non-NULL. All reported touch hits are guaranteed to be closer than the closest blocking hit.

Parameters:
[in] | buffer | Callback will report touch hits to the user in this buffer. This pointer will be the same as touches.
[in] | nbHits | Number of touch hits reported in buffer. This number will not exceed maxNbTouches.
Note:
There is a significant performance penalty in case multiple touch callbacks are issued (up to 2x)

to avoid the penalty use a bigger buffer so that all touching hits can be reported in a single buffer.

If true (again) is returned from the callback, nbTouches will be reset to 0,

If false is returned, nbTouched will remain unchanged.

By the time processTouches is first called, the globally closest blocking hit is already determined,

values of hasBlock and block are final and all touch hits are guaranteed to be closer than the blocking hit.

touches and maxNbTouches can be modified inside of processTouches callback.

Returns:
true to continue receiving callbacks in case there are more hits or false to stop.
See also:
PxAgain PxRaycastHit PxSweepHit PxOverlapHit

Implemented in PxHitBuffer< HitType >, PxHitBuffer< PxOverlapHit >, PxHitBuffer< PxRaycastHit >, and PxHitBuffer< PxSweepHit >.

Member Data Documentation

template<typename HitType>
HitType PxHitCallback< HitType >::block

Holds the closest blocking hit result for the query. Invalid if hasBlock is false.

template<typename HitType>
bool PxHitCallback< HitType >::hasBlock

Set to true if there was a blocking hit during query.

template<typename HitType>
PxU32 PxHitCallback< HitType >::maxNbTouches

Size of the user specified touching hits buffer.

Note:
If set to 0 all hits will default to PxQueryHitType::eBLOCK, otherwise to PxQueryHitType::eTOUCH

Hit type returned from pre-filter overrides this default

template<typename HitType>
PxU32 PxHitCallback< HitType >::nbTouches

Number of touching hits returned by the query. Used with PxHitBuffer.

Note:
If true (PxAgain) is returned from the callback, nbTouches will be reset to 0.

template<typename HitType>
HitType* PxHitCallback< HitType >::touches

User specified buffer for touching hits.

The documentation for this struct was generated from the following file:
  • PxQueryReport.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxHitBuffer< HitType > Struct Template Reference

PxHitBuffer< HitType > Struct Template Reference
[Scenequery]

Returns scene query hits (intersections) to the user in a preallocated buffer. More...

#include <PxQueryReport.h>

Inheritance diagram for PxHitBuffer< HitType >:

PxHitCallback\< HitType \>
[legend]
Collaboration diagram for PxHitBuffer< HitType >:

PxHitCallback\< HitType \>
[legend]

List of all members.

Public Member Functions

PxHitBuffer (HitType *aTouches=NULL, PxU32 aMaxNbTouches=0)
Initializes the buffer with user memory.
PX_INLINE PxU32 | getNbAnyHits () const
Computes the number of any hits in this result, blocking or touching.
PX_INLINE const HitType & | getAnyHit (const PxU32 index) const
Convenience iterator used to access any hits in this result, blocking or touching.
PX_INLINE PxU32 | getNbTouches () const
PX_INLINE const HitType * | getTouches () const
PX_INLINE const HitType & | getTouch (const PxU32 index) const
PX_INLINE PxU32 | getMaxNbTouches () const
virtual | ~PxHitBuffer ()

Protected Member Functions

virtual PxAgain | processTouches (const HitType *buffer, PxU32 nbHits)
virtual callback function used to communicate query results to the user.

Detailed Description

template<typename HitType>
struct PxHitBuffer< HitType >

Returns scene query hits (intersections) to the user in a preallocated buffer.

Will clip touch hits to maximum buffer capacity. When clipped, an arbitrary subset of touching hits will be discarded. Overflow does not trigger warnings or errors. block and hasBlock will be valid in finalizeQuery callback and after query completion. Touching hits are guaranteed to have closer or same distance ( <= condition) as the globally nearest blocking hit at the time any processTouches() callback is issued.

Note:
Pre-made typedef shorthands, such as PxRaycastBuffer can be used for raycast, overlap and sweep queries.
See also:
PxHitCallback

PxRaycastBuffer PxOverlapBuffer PxSweepBuffer PxRaycastBufferN PxOverlapBufferN PxSweepBufferN

Constructor & Destructor Documentation

template<typename HitType>
PxHitBuffer< HitType >::PxHitBuffer | ( | HitType * | aTouches = NULL,
 |  | PxU32 | aMaxNbTouches = 0 |
 | ) |  |  | [inline]

Initializes the buffer with user memory.

The buffer is initialized with 0 touch hits by default => query will only report a single closest blocking hit. Use PxQueryFlag::eANY_HIT to tell the query to abort and return any first hit encoutered as blocking.

Parameters:
[in] | aTouches | Optional buffer for recording PxQueryHitType::eTOUCH type hits.
[in] | aMaxNbTouches | Size of touch buffer.
See also:
PxHitCallback

template<typename HitType>
virtual PxHitBuffer< HitType >::~PxHitBuffer ( ) [inline, virtual]

Member Function Documentation

template<typename HitType>
PX_INLINE const HitType& PxHitBuffer< HitType >::getAnyHit ( const PxU32 index ) const [inline]

Convenience iterator used to access any hits in this result, blocking or touching.

template<typename HitType>
PX_INLINE PxU32 PxHitBuffer< HitType >::getMaxNbTouches ( ) const [inline]

template<typename HitType>
PX_INLINE PxU32 PxHitBuffer< HitType >::getNbAnyHits ( ) const [inline]

Computes the number of any hits in this result, blocking or touching.

template<typename HitType>
PX_INLINE PxU32 PxHitBuffer< HitType >::getNbTouches ( ) const [inline]

template<typename HitType>
PX_INLINE const HitType& PxHitBuffer< HitType >::getTouch ( const PxU32 index ) const [inline]

template<typename HitType>
PX_INLINE const HitType* PxHitBuffer< HitType >::getTouches ( ) const [inline]

template<typename HitType>
virtual PxAgain PxHitBuffer< HitType >::processTouches | ( | const HitType * | buffer,
 |  | PxU32 | nbHits |
 | ) |  |  | [inline, protected, virtual]

virtual callback function used to communicate query results to the user.

This callback will always be invoked with touches as a buffer if touches was specified as non-NULL. All reported touch hits are guaranteed to be closer than the closest blocking hit.

Parameters:
[in] | buffer | Callback will report touch hits to the user in this buffer. This pointer will be the same as touches.
[in] | nbHits | Number of touch hits reported in buffer. This number will not exceed maxNbTouches.
Note:
There is a significant performance penalty in case multiple touch callbacks are issued (up to 2x)

to avoid the penalty use a bigger buffer so that all touching hits can be reported in a single buffer.

If true (again) is returned from the callback, nbTouches will be reset to 0,

If false is returned, nbTouched will remain unchanged.

By the time processTouches is first called, the globally closest blocking hit is already determined,

values of hasBlock and block are final and all touch hits are guaranteed to be closer than the blocking hit.

touches and maxNbTouches can be modified inside of processTouches callback.

Returns:
true to continue receiving callbacks in case there are more hits or false to stop.
See also:
PxAgain PxRaycastHit PxSweepHit PxOverlapHit

Implements PxHitCallback< HitType >.

The documentation for this struct was generated from the following file:
  • PxQueryReport.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRaycastBufferN< N > Struct Template Reference

PxRaycastBufferN< N > Struct Template Reference
[Scenequery]

Returns touching raycast hits to the user in a fixed size array embedded in the buffer class. More...

#include <PxQueryReport.h>

Inheritance diagram for PxRaycastBufferN< N >:

PxHitBuffer\< PxRaycastHit \>PxHitCallback\< PxRaycastHit \>
[legend]
Collaboration diagram for PxRaycastBufferN< N >:

PxHitBuffer\< PxRaycastHit \>PxHitCallback\< PxRaycastHit \>PxRaycastHitPxLocationHitPxQueryHitPxActorShapePxRigidActorPxActorPxBasePxShapePxFlags\< PxBaseFlag::Enum, PxU16 \>PxVec3
[legend]

List of all members.

Public Member Functions

PxRaycastBufferN ()

Public Attributes

PxRaycastHit hits [N]

Detailed Description

template<int N>
struct PxRaycastBufferN< N >

Returns touching raycast hits to the user in a fixed size array embedded in the buffer class.

Constructor & Destructor Documentation

template<int N>
PxRaycastBufferN< N >::PxRaycastBufferN ( ) [inline]

Member Data Documentation

template<int N>
PxRaycastHit PxRaycastBufferN< N >::hits[N]

The documentation for this struct was generated from the following file:
  • PxQueryReport.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxOverlapBufferN< N > Struct Template Reference

PxOverlapBufferN< N > Struct Template Reference
[Scenequery]

Returns touching overlap hits to the user in a fixed size array embedded in the buffer class. More...

#include <PxQueryReport.h>

Inheritance diagram for PxOverlapBufferN< N >:

PxHitBuffer\< PxOverlapHit \>PxHitCallback\< PxOverlapHit \>
[legend]
Collaboration diagram for PxOverlapBufferN< N >:

PxHitBuffer\< PxOverlapHit \>PxHitCallback\< PxOverlapHit \>PxOverlapHitPxQueryHitPxActorShapePxRigidActorPxActorPxBasePxShapePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

PxOverlapBufferN ()

Public Attributes

PxOverlapHit hits [N]

Detailed Description

template<int N>
struct PxOverlapBufferN< N >

Returns touching overlap hits to the user in a fixed size array embedded in the buffer class.

Constructor & Destructor Documentation

template<int N>
PxOverlapBufferN< N >::PxOverlapBufferN ( ) [inline]

Member Data Documentation

template<int N>
PxOverlapHit PxOverlapBufferN< N >::hits[N]

The documentation for this struct was generated from the following file:
  • PxQueryReport.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSweepBufferN< N > Struct Template Reference

PxSweepBufferN< N > Struct Template Reference
[Scenequery]

Returns touching sweep hits to the user in a fixed size array embedded in the buffer class. More...

#include <PxQueryReport.h>

Inheritance diagram for PxSweepBufferN< N >:

PxHitBuffer\< PxSweepHit \>PxHitCallback\< PxSweepHit \>
[legend]
Collaboration diagram for PxSweepBufferN< N >:

PxHitBuffer\< PxSweepHit \>PxHitCallback\< PxSweepHit \>PxSweepHitPxLocationHitPxQueryHitPxActorShapePxRigidActorPxActorPxBasePxShapePxFlags\< PxBaseFlag::Enum, PxU16 \>PxVec3
[legend]

List of all members.

Public Member Functions

PxSweepBufferN ()

Public Attributes

PxSweepHit hits [N]

Detailed Description

template<int N>
struct PxSweepBufferN< N >

Returns touching sweep hits to the user in a fixed size array embedded in the buffer class.

Constructor & Destructor Documentation

template<int N>
PxSweepBufferN< N >::PxSweepBufferN ( ) [inline]

Member Data Documentation

template<int N>
PxSweepHit PxSweepBufferN< N >::hits[N]

The documentation for this struct was generated from the following file:
  • PxQueryReport.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Immediatemode

Immediatemode

Classes

struct | PxRigidBodyData
Structure to store rigid body properties. More...
class | PxContactRecorder
Callback class to record contact points produced by immediate::PxGenerateContacts. More...

Functions

PX_C_EXPORT PX_PHYSX_CORE_API void | PxConstructSolverBodies (const PxRigidBodyData *inRigidData, PxSolverBodyData *outSolverBodyData, const PxU32 nbBodies, const PxVec3 &gravity, const PxReal dt)
Constructs a PxSolverBodyData structure based on rigid body properties. Applies gravity, damping and clamps maximum velocity.
PX_C_EXPORT PX_PHYSX_CORE_API void | PxConstructStaticSolverBody (const PxTransform &globalPose, PxSolverBodyData &solverBodyData)
Constructs a PxSolverBodyData structure for a static body at a given pose.
PX_C_EXPORT PX_PHYSX_CORE_API PxU32 | PxBatchConstraints (PxSolverConstraintDesc *solverConstraintDescs, const PxU32 nbConstraints, PxSolverBody *solverBodies, PxU32 nbBodies, PxConstraintBatchHeader *outBatchHeaders, PxSolverConstraintDesc *outOrderedConstraintDescs)
Groups together sets of independent PxSolverConstraintDesc objects to be solved using SIMD SOA approach.
PX_C_EXPORT PX_PHYSX_CORE_API bool | PxCreateContactConstraints (PxConstraintBatchHeader *batchHeader, const PxU32 nbHeaders, PxSolverContactDesc *contactDescs, PxConstraintAllocator &allocator, PxReal invDt, PxReal bounceThreshold, PxReal frictionOffsetThreshold, PxReal correlationDistance)
Creates a set of contact constraint blocks. Note that, depending the results of PxBatchConstraints, each batchHeader may refer to up to 4 solverConstraintDescs. This function will allocate both constraint and friction patch data via the PxConstraintAllocator provided. Constraint data is only valid until PxSolveConstraints has completed. Friction data is to be retained and provided by the application for friction correlation.
PX_C_EXPORT PX_PHYSX_CORE_API bool | PxCreateJointConstraints (PxConstraintBatchHeader *batchHeader, const PxU32 nbHeaders, PxSolverConstraintPrepDesc *jointDescs, PxConstraintAllocator &allocator, PxReal dt, PxReal invDt)
Creates a set of joint constraint blocks. Note that, depending the results of PxBatchConstraints, the batchHeader may refer to up to 4 solverConstraintDescs.
PX_C_EXPORT PX_PHYSX_CORE_API bool | PxCreateJointConstraintsWithShaders (PxConstraintBatchHeader *batchHeader, const PxU32 nbBatchHeaders, PxConstraint **constraints, PxSolverConstraintPrepDesc *jointDescs, PxConstraintAllocator &allocator, PxReal dt, PxReal invDt)
Creates a set of joint constraint blocks. This function runs joint shaders defined inside PxConstraint** param, fills in joint row information in jointDescs and then calls PxCreateJointConstraints.
PX_C_EXPORT PX_PHYSX_CORE_API void | PxSolveConstraints (PxConstraintBatchHeader *batchHeaders, const PxU32 nbBatchHeaders, PxSolverConstraintDesc *solverConstraintDescs, PxSolverBody *solverBodies, PxVec3 *linearMotionVelocity, PxVec3 *angularMotionVelocity, const PxU32 nbSolverBodies, const PxU32 nbPositionIterations, const PxU32 nbVelocityIterations)
Iteratively solves the set of constraints defined by the provided PxConstraintBatchHeader and PxSolverConstraintDesc structures. Updates deltaVelocities inside the PxSolverBody structures. Produces resulting linear and angular motion velocities.
PX_C_EXPORT PX_PHYSX_CORE_API void | PxIntegrateSolverBodies (PxSolverBodyData *solverBodyData, PxSolverBody *solverBody, const PxVec3 *linearMotionVelocity, const PxVec3 *angularMotionState, const PxU32 nbBodiesToIntegrate, PxReal dt)
Integrates a rigid body, returning the new velocities and transforms. After this function has been called, solverBodyData stores all the body's velocity data.
PX_C_EXPORT PX_PHYSX_CORE_API bool | PxGenerateContacts (const PxGeometry *const *geom0, const PxGeometry *const *geom1, const PxTransform *pose0, const PxTransform *pose1, PxCache *contactCache, const PxU32 nbPairs, PxContactRecorder &contactRecorder, const PxReal contactDistance, const PxReal meshContactMargin, const PxReal toleranceLength, PxCacheAllocator &allocator)

Function Documentation

PX_C_EXPORT PX_PHYSX_CORE_API PxU32 PxBatchConstraints | ( | PxSolverConstraintDesc * | solverConstraintDescs,
 |  | const PxU32 | nbConstraints,
 |  | PxSolverBody * | solverBodies,
 |  | PxU32 | nbBodies,
 |  | PxConstraintBatchHeader * | outBatchHeaders,
 |  | PxSolverConstraintDesc * | outOrderedConstraintDescs
 | ) |  |

Groups together sets of independent PxSolverConstraintDesc objects to be solved using SIMD SOA approach.

Parameters:
[in] | solverConstraintDescs | the set of solver constraint descs to batch
[in] | nbConstraints | The number of constraints to batch
[in,out] | solverBodies | The array of solver bodies that the constraints reference. Some fields in these structures are written to as scratch memory for the batching.
[in] | nbBodies | The number of bodies
[out] | outBatchHeaders | The batch headers produced by this batching process. This array must have at least 1 entry per input constraint
[out] | outOrderedConstraintDescs | A reordered copy of the constraint descs. This array is referenced by the constraint batches. This array must have at least 1 entry per input constraint.
Returns:
The total number of batches produced. This should be less than or equal to nbConstraints.
Note:
This method considers all bodies within the range [0, nbBodies-1] to be valid dynamic bodies. A given dynamic body can only be referenced in a batch once. Static or kinematic bodies can be referenced multiple times within a batch safely because constraints do not affect their velocities. The batching will implicitly consider any bodies outside of the range [0, nbBodies-1] to be infinite mass (static or kinematic). This means that either appending static/kinematic to the end of the array of bodies or placing static/kinematic bodies at before the start body pointer will ensure that the minimum number of batches are produced.

PX_C_EXPORT PX_PHYSX_CORE_API void PxConstructSolverBodies | ( | const PxRigidBodyData * | inRigidData,
 |  | PxSolverBodyData * | outSolverBodyData,
 |  | const PxU32 | nbBodies,
 |  | const PxVec3 & | gravity,
 |  | const PxReal | dt
 | ) |  |

Constructs a PxSolverBodyData structure based on rigid body properties. Applies gravity, damping and clamps maximum velocity.

Parameters:
[in] | inRigidData | The array rigid body properties
[out] | outSolverBodyData | The array of solverBodyData produced to repreent these bodies
[in] | nbBodies | The total number of solver bodies to create
[in] | gravity | The gravity vector
[in] | dt | The timestep

PX_C_EXPORT PX_PHYSX_CORE_API void PxConstructStaticSolverBody | ( | const PxTransform & | globalPose,
 |  | PxSolverBodyData & | solverBodyData
 | ) |  |

Constructs a PxSolverBodyData structure for a static body at a given pose.

Parameters:
[in] | globalPose | The pose of this static actor
[out] | solverBodyData | The solver body representation of this static actor

PX_C_EXPORT PX_PHYSX_CORE_API bool PxCreateContactConstraints | ( | PxConstraintBatchHeader * | batchHeader,
 |  | const PxU32 | nbHeaders,
 |  | PxSolverContactDesc * | contactDescs,
 |  | PxConstraintAllocator & | allocator,
 |  | PxReal | invDt,
 |  | PxReal | bounceThreshold,
 |  | PxReal | frictionOffsetThreshold,
 |  | PxReal | correlationDistance
 | ) |  |

Creates a set of contact constraint blocks. Note that, depending the results of PxBatchConstraints, each batchHeader may refer to up to 4 solverConstraintDescs. This function will allocate both constraint and friction patch data via the PxConstraintAllocator provided. Constraint data is only valid until PxSolveConstraints has completed. Friction data is to be retained and provided by the application for friction correlation.

Parameters:
[in] | batchHeader | Array of batch headers to process
[in] | nbHeaders | The total number of headers
[in] | contactDescs | An array of contact descs defining the pair and contact properties of each respective contacting pair
[in] | allocator | An allocator callback to allocate constraint and friction memory
[in] | invDt | The inverse timestep
[in] | bounceThreshold | The bounce threshold. Relative velocities below this will be solved by bias only. Relative velocities above this will be solved by restitution. If restitution is zero then these pairs will always be solved by bias.
[in] | frictionOffsetThreshold | The friction offset threshold. Contacts whose separations are below this threshold can generate friction constraints.
[in] | correlationDistance | The correlation distance used by friction correlation to identify whether a friction patch is broken on the grounds of relation separation.
Returns:
a boolean to define if this method was successful or not.

PX_C_EXPORT PX_PHYSX_CORE_API bool PxCreateJointConstraints | ( | PxConstraintBatchHeader * | batchHeader,
 |  | const PxU32 | nbHeaders,
 |  | PxSolverConstraintPrepDesc * | jointDescs,
 |  | PxConstraintAllocator & | allocator,
 |  | PxReal | dt,
 |  | PxReal | invDt
 | ) |  |

Creates a set of joint constraint blocks. Note that, depending the results of PxBatchConstraints, the batchHeader may refer to up to 4 solverConstraintDescs.

Parameters:
[in] | batchHeader | The array of batch headers to be processed
[in] | nbHeaders | The total number of batch headers to process
[in] | jointDescs | An array of constraint prep descs defining the properties of the constraints being created
[in] | allocator | An allocator callback to allocate constraint data
[in] | dt | The timestep
[in] | invDt | The inverse timestep
Returns:
a boolean indicating if this method was successful or not.

PX_C_EXPORT PX_PHYSX_CORE_API bool PxCreateJointConstraintsWithShaders | ( | PxConstraintBatchHeader * | batchHeader,
 |  | const PxU32 | nbBatchHeaders,
 |  | PxConstraint ** | constraints,
 |  | PxSolverConstraintPrepDesc * | jointDescs,
 |  | PxConstraintAllocator & | allocator,
 |  | PxReal | dt,
 |  | PxReal | invDt
 | ) |  |

Creates a set of joint constraint blocks. This function runs joint shaders defined inside PxConstraint** param, fills in joint row information in jointDescs and then calls PxCreateJointConstraints.

Parameters:
[in] | batchHeader | The set of batchHeaders to be processed
[in] | nbBatchHeaders | The number of batch headers to process.
[in] | constraints | The set of constraints to be used to produce constraint rows
[in,out] | jointDescs | An array of constraint prep descs defining the properties of the constraints being created
[in] | allocator | An allocator callback to allocate constraint data
[in] | dt | The timestep
[in] | invDt | The inverse timestep
Returns:
a boolean indicating if this method was successful or not.

PX_C_EXPORT PX_PHYSX_CORE_API bool PxGenerateContacts | ( | const PxGeometry *const * | geom0,
 |  | const PxGeometry *const * | geom1,
 |  | const PxTransform * | pose0,
 |  | const PxTransform * | pose1,
 |  | PxCache * | contactCache,
 |  | const PxU32 | nbPairs,
 |  | PxContactRecorder & | contactRecorder,
 |  | const PxReal | contactDistance,
 |  | const PxReal | meshContactMargin,
 |  | const PxReal | toleranceLength,
 |  | PxCacheAllocator & | allocator
 | ) |  |

abrief Performs contact generation for a given pair of geometries at the specified poses. Produced contacts are stored in the provided Gu::ContactBuffer. Information is cached in PxCache structure to accelerate future contact generation between pairs. This cache data is valid only as long as the memory provided by PxCacheAllocator has not been released/re-used. Recommendation is to retain that data for a single simulation frame, discarding cached data after 2 frames. If the cached memory has been released/re-used prior to the corresponding pair having contact generation performed again, it is the application's responsibility to reset the PxCache.

Parameters:
[in] | geom0 | Array of geometries to perform collision detection on.
[in] | geom1 | Array of geometries to perform collision detection on
[in] | pose0 | Array of poses associated with the corresponding entry in the geom0 array
[in] | pose1 | Array of poses associated with the corresponding entry in the geom1 array
[in,out] | contactCache | Array of contact caches associated with each pair geom0[i] + geom1[i]
[in] | nbPairs | The total number of pairs to process
[in] | contactRecorder | A callback that is called to record contacts for each pair that detects contacts
[in] | contactDistance | The distance at which contacts begin to be generated between the pairs
[in] | meshContactMargin | The mesh contact margin.
[in] | toleranceLength | The toleranceLength. Used for scaling distance-based thresholds internally to produce appropriate results given simulations in different units
[in] | allocator | A callback to allocate memory for the contact cache
Returns:
a boolean indicating if the function was successful or not.

PX_C_EXPORT PX_PHYSX_CORE_API void PxIntegrateSolverBodies | ( | PxSolverBodyData * | solverBodyData,
 |  | PxSolverBody * | solverBody,
 |  | const PxVec3 * | linearMotionVelocity,
 |  | const PxVec3 * | angularMotionState,
 |  | const PxU32 | nbBodiesToIntegrate,
 |  | PxReal | dt
 | ) |  |

Integrates a rigid body, returning the new velocities and transforms. After this function has been called, solverBodyData stores all the body's velocity data.

Parameters:
[in,out] | solverBodyData | The array of solver body data to be integrated
[in] | solverBody | The bodies' linear and angular velocities
[in] | linearMotionVelocity | The bodies' linear motion velocity array
[in] | angularMotionState | The bodies' angular motion velocity array
[in] | nbBodiesToIntegrate | The total number of bodies to integrate
[in] | dt | The timestep

PX_C_EXPORT PX_PHYSX_CORE_API void PxSolveConstraints | ( | PxConstraintBatchHeader * | batchHeaders,
 |  | const PxU32 | nbBatchHeaders,
 |  | PxSolverConstraintDesc * | solverConstraintDescs,
 |  | PxSolverBody * | solverBodies,
 |  | PxVec3 * | linearMotionVelocity,
 |  | PxVec3 * | angularMotionVelocity,
 |  | const PxU32 | nbSolverBodies,
 |  | const PxU32 | nbPositionIterations,
 |  | const PxU32 | nbVelocityIterations
 | ) |  |

Iteratively solves the set of constraints defined by the provided PxConstraintBatchHeader and PxSolverConstraintDesc structures. Updates deltaVelocities inside the PxSolverBody structures. Produces resulting linear and angular motion velocities.

Parameters:
[in] | batchHeaders | The set of batch headers to be solved
[in] | nbBatchHeaders | The total number of batch headers to be solved
[in] | solverConstraintDescs | The reordererd set of solver constraint descs referenced by the batch headers
[in,out] | solverBodies | The set of solver bodies the bodies reference
[out] | linearMotionVelocity | The resulting linear motion velocity
[out] | angularMotionVelocity | The resulting angular motion velocity.
[in] | nbSolverBodies | The total number of solver bodies
[in] | nbPositionIterations | The number of position iterations to run
[in] | nbVelocityIterations | The number of velocity iterations to run


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRigidBodyData Struct Reference

PxRigidBodyData Struct Reference
[Immediatemode]

Structure to store rigid body properties. More...

#include <PxImmediateMode.h>

Collaboration diagram for PxRigidBodyData:

PxVec3PxTransformPxQuat
[legend]

List of all members.

Public Member Functions

PX_ALIGN (16, PxVec3 linearVelocity)
12 Linear velocity

Public Attributes

PxReal | invMass
16 Inverse mass
PxVec3 angularVelocity
28 Angular velocity
PxReal | maxDepenetrationVelocity
32 Maximum de-penetration velocity
PxVec3 invInertia
44 Mass-space inverse interia diagonal vector
PxReal | maxContactImpulse
48 Maximum permissable contact impulse
PxTransform body2World
76 World space transform
PxReal | linearDamping
80 Linear damping coefficient
PxReal | angularDamping
84 Angular damping coefficient
PxReal | maxLinearVelocitySq
88 Squared maximum linear velocity
PxReal | maxAngularVelocitySq
92 Squared maximum angular velocity
PxU32 pad
96 Padding for 16-byte alignment

Detailed Description

Structure to store rigid body properties.

Member Function Documentation

PxRigidBodyData::PX_ALIGN | ( | 16 | ,
 |  | PxVec3 | linearVelocity
 | ) |  |

12 Linear velocity

Member Data Documentation

PxReal PxRigidBodyData::angularDamping

84 Angular damping coefficient

PxVec3 PxRigidBodyData::angularVelocity

28 Angular velocity

PxTransform PxRigidBodyData::body2World

76 World space transform

PxVec3 PxRigidBodyData::invInertia

44 Mass-space inverse interia diagonal vector

PxReal PxRigidBodyData::invMass

16 Inverse mass

PxReal PxRigidBodyData::linearDamping

80 Linear damping coefficient

PxReal PxRigidBodyData::maxAngularVelocitySq

92 Squared maximum angular velocity

PxReal PxRigidBodyData::maxContactImpulse

48 Maximum permissable contact impulse

PxReal PxRigidBodyData::maxDepenetrationVelocity

32 Maximum de-penetration velocity

PxReal PxRigidBodyData::maxLinearVelocitySq

88 Squared maximum linear velocity

PxU32 PxRigidBodyData::pad

96 Padding for 16-byte alignment

The documentation for this struct was generated from the following file:
  • PxImmediateMode.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxContactRecorder Class Reference

PxContactRecorder Class Reference
[Immediatemode]

Callback class to record contact points produced by immediate::PxGenerateContacts. More...

#include <PxImmediateMode.h>

List of all members.

Public Member Functions

virtual bool | recordContacts (const Gu::ContactPoint *contactPoints, const PxU32 nbContacts, const PxU32 index)=0
Method to record new contacts.
virtual | ~PxContactRecorder ()

Detailed Description

Callback class to record contact points produced by immediate::PxGenerateContacts.

Constructor & Destructor Documentation

virtual PxContactRecorder::~PxContactRecorder ( ) [inline, virtual]

Member Function Documentation

virtual bool PxContactRecorder::recordContacts | ( | const Gu::ContactPoint * | contactPoints,
 |  | const PxU32 | nbContacts,
 |  | const PxU32 | index |
 | ) |  |  | [pure virtual]

Method to record new contacts.

Parameters:
[in] | contactPoints | The contact points produced
[in] | nbContacts | The number of contact points produced
[in] | index | The index of this pair. This is an index from 0-N-1 identifying which pair this relates to from within the array of pairs passed to PxGenerateContacts
Returns:
a boolean to indicate if this callback successfully stored the contacts or not.

The documentation for this class was generated from the following file:
  • PxImmediateMode.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Foundation

Foundation

Collaboration diagram for Foundation:
Pvd

Classes

class | PxAllocatorCallback
Abstract base class for an application defined memory allocator that can be used by the Nv library. More...
class | PxAssertHandler
class | PxBitAndDataT< storageType, bitMask >
class | PxBounds3
Class representing 3D range or axis aligned bounding box. More...
class | PxErrorCallback
User defined interface class. Used by the library to emit debug information. More...
struct | PxErrorCode
Error codes. More...
class | PxFlags< enumtype, storagetype >
Container for bitfield flag variables associated with a specific enum type. More...
class | PxFoundation
Foundation SDK singleton class. More...
class | PxMat33
3x3 matrix class More...
class | PxMat44
4x4 matrix class More...
class | PxPlane
Representation of a plane. More...
struct | PxPackValidation
class | PxQuat
This is a quaternion class. For more information on quaternion mathematics consult a mathematics source on complex numbers. More...
class | PxStrideIterator< T >
Iterator class for iterating over arrays of data that may be interleaved with other data. More...
class | PxTransform
class representing a rigid euclidean transform as a quaternion and a vector More...
class | PxVec2
2 Element vector class. More...
class | PxVec3
3 Element vector class. More...
class | PxVec4
4 Element vector class. More...
class | PxFileBuf
Callback class for data serialization. More...

Namespaces

namespace | physx

Defines

#define | PX_PHYSICS_VERSION_MAJOR 3
#define | PX_PHYSICS_VERSION_MINOR 4
#define | PX_PHYSICS_VERSION_BUGFIX 2
#define | PX_PHYSICS_VERSION ((PX_PHYSICS_VERSION_MAJOR<<24) + (PX_PHYSICS_VERSION_MINOR<<16) + (PX_PHYSICS_VERSION_BUGFIX<<8) + 0)
#define | PX_ASSERT(exp) ((void)0)
#define | PX_ALWAYS_ASSERT_MESSAGE(exp) ((void)0)
#define | PX_ASSERT_WITH_MESSAGE(condition, message) ((void)0)
#define | PX_ALWAYS_ASSERT() PX_ASSERT(0)
#define | PX_MAX_BOUNDS_EXTENTS (PX_MAX_REAL * 0.25f)
#define | PX_FLAGS_OPERATORS(enumtype, storagetype)
#define | PX_FLAGS_TYPEDEF(x, y)
#define | PX_FOUNDATION_VERSION_MAJOR 1
#define | PX_FOUNDATION_VERSION_MINOR 0
#define | PX_FOUNDATION_VERSION_BUGFIX 0
#define | PX_FOUNDATION_VERSION ((PX_FOUNDATION_VERSION_MAJOR << 24) + (PX_FOUNDATION_VERSION_MINOR << 16) + (PX_FOUNDATION_VERSION_BUGFIX << 8) + 0)
#define | PX_STRINGIZE_HELPER(X) #X
#define | PX_STRINGIZE(X) PX_STRINGIZE_HELPER(X)
#define | PX_CONCAT_HELPER(X, Y) X##Y
#define | PX_CONCAT(X, Y) PX_CONCAT_HELPER(X, Y)
#define | PX_VC 0
#define | PX_CLANG 0
#define | PX_GCC 0
#define | PX_XBOXONE 0
#define | PX_WIN64 0
#define | PX_WIN32 0
#define | PX_ANDROID 0
#define | PX_LINUX 0
#define | PX_IOS 0
#define | PX_OSX 0
#define | PX_PS4 0
#define | PX_SWITCH 0
#define | PX_X64 0
#define | PX_X86 0
#define | PX_A64 0
#define | PX_ARM 0
#define | PX_PPC 0
#define | PX_SSE2 0
#define | PX_NEON 0
#define | PX_VMX 0
#define | PX_DEBUG 0
#define | PX_CHECKED 0
#define | PX_PROFILE 0
#define | PX_NVTX 0
#define | PX_GCC_FAMILY (PX_CLANG || PX_GCC)
#define | PX_WINDOWS_FAMILY (PX_WIN32 || PX_WIN64)
#define | PX_MICROSOFT_FAMILY (PX_XBOXONE || PX_WINDOWS_FAMILY)
#define | PX_LINUX_FAMILY (PX_LINUX || PX_ANDROID)
#define | PX_APPLE_FAMILY (PX_IOS || PX_OSX)
#define | PX_UNIX_FAMILY (PX_LINUX_FAMILY || PX_APPLE_FAMILY)
#define | PX_EMSCRIPTEN 0
#define | PX_INTEL_FAMILY (PX_X64 || PX_X86)
#define | PX_ARM_FAMILY (PX_ARM || PX_A64)
#define | PX_P64_FAMILY (PX_X64 || PX_A64)
#define | PX_LIBCPP 0
#define | PX_WINDOWS (PX_WINDOWS_FAMILY && !PX_ARM_FAMILY)
#define | PX_ENABLE_ASSERTS 0
#define | PX_UNIX_EXPORT
#define | PX_DLL_EXPORT PX_UNIX_EXPORT
#define | PX_DLL_IMPORT
#define | PX_PUSH_PACK_DEFAULT
#define | PX_POP_PACK
#define | PX_INLINE inline
#define | PX_FORCE_INLINE inline
#define | PX_NOINLINE
#define | PX_RESTRICT __restrict
#define | PX_NOALIAS
#define | PX_ALIGN(alignment, decl)
#define | PX_ALIGN_PREFIX(alignment)
#define | PX_ALIGN_SUFFIX(alignment)
#define | PX_DEPRECATED
#define | PX_COMPILE_TIME_ASSERT(exp) typedef char PxCompileTimeAssert_Dummy[(exp) ? 1 : -1]
#define | PX_OFFSET_OF(X, Y) offsetof(X, Y)
#define | PX_OFFSETOF_BASE 0x100
#define | PX_OFFSET_OF_RT(Class, Member) (reinterpret_cast<size_t>(&reinterpret_cast<Class*>(PX_OFFSETOF_BASE)->Member) - size_t(PX_OFFSETOF_BASE))
#define | PX_CUDA_CALLABLE
#define | PX_DUMMY_SYMBOL
#define | PX_WEAK_SYMBOL
#define | PX_NOCOPY(Class)
#define | PX_SUPPORT_GPU_PHYSX ((PX_WINDOWS_FAMILY) || (PX_LINUX && PX_X64))
#define | PX_SUPPORT_COMPUTE_PHYSX 0
#define | PX_SUPPORT_EXTERN_TEMPLATE ((!PX_ANDROID) && (PX_VC != 11))
#define | __STDC_FORMAT_MACROS
#define | PX_PRIu64 PRIu64
#define | PX_MAX_F32 3.4028234663852885981170418348452e+38F
#define | PX_MAX_F64 DBL_MAX
#define | PX_EPS_F32 FLT_EPSILON
#define | PX_EPS_F64 DBL_EPSILON
#define | PX_MAX_REAL PX_MAX_F32
#define | PX_EPS_REAL PX_EPS_F32
#define | PX_NORMALIZATION_EPSILON float(1e-20f)
#define | PX_MAX_I8 INT8_MAX
#define | PX_MIN_I8 INT8_MIN
#define | PX_MAX_U8 UINT8_MAX
#define | PX_MIN_U8 UINT8_MIN
#define | PX_MAX_I16 INT16_MAX
#define | PX_MIN_I16 INT16_MIN
#define | PX_MAX_U16 UINT16_MAX
#define | PX_MIN_U16 UINT16_MIN
#define | PX_MAX_I32 INT32_MAX
#define | PX_MIN_I32 INT32_MIN
#define | PX_MAX_U32 UINT32_MAX
#define | PX_MIN_U32 UINT32_MIN

Typedefs

typedef uint32_t | PxU32
typedef PxBitAndDataT
< unsigned char, 0x80 > 		PxBitAndByte
typedef PxBitAndDataT
< unsigned short, 0x8000 > 		PxBitAndWord
typedef PxBitAndDataT
< unsigned int, 0x80000000 > 		PxBitAndDword

Enumerations

enum | PxEMPTY { PxEmpty }
enum | PxZERO { PxZero }
enum | PxIDENTITY { PxIdentity }

Functions

PX_FOUNDATION_API PxAssertHandler & | PxGetAssertHandler ()
PX_FOUNDATION_API void | PxSetAssertHandler (PxAssertHandler &handler)
PX_C_EXPORT PX_FOUNDATION_API
physx::PxFoundation
*PX_CALL_CONV 		PxCreateFoundation (physx::PxU32 version, physx::PxAllocatorCallback &allocator, physx::PxErrorCallback &errorCallback)
Creates an instance of the foundation class.
PX_C_EXPORT PX_FOUNDATION_API
physx::PxFoundation
&PX_CALL_CONV 		PxGetFoundation ()
Retrieves the Foundation SDK after it has been created.
PX_C_EXPORT PX_FOUNDATION_API
physx::PxProfilerCallback
*PX_CALL_CONV 		PxGetProfilerCallback ()
Get the callback that will be used for all profiling.
PX_C_EXPORT PX_FOUNDATION_API
void PX_CALL_CONV 		PxSetProfilerCallback (physx::PxProfilerCallback *profiler)
Set the callback that will be used for all profiling.
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 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 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 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 		PxPow (float x, float y)
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 		PxLog (float x)
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.
template<class T >
PX_CUDA_CALLABLE PX_INLINE void | PX_UNUSED (T const &)
PX_COMPILE_TIME_ASSERT (PX_OFFSET_OF(PxPackValidation, a)==8)
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.
template<class A , class B >
PX_FORCE_INLINE A | PxUnionCast (B b)
static PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec2 		operator* (float f, const PxVec2 &v)
static PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 		operator* (float f, const PxVec3 &v)
static PX_CUDA_CALLABLE
PX_INLINE PxVec4 		operator* (float f, const PxVec4 &v)
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxBounds3::PxBounds3 (const PxVec3 &minimum, const PxVec3 &maximum)
Construct from two bounding points.
static PX_CUDA_CALLABLE
PX_FORCE_INLINE PxBounds3 		PxBounds3::empty ()
Return empty bounds.
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 		PxBounds3::isFinite () const
static PX_CUDA_CALLABLE
PX_FORCE_INLINE PxBounds3 		PxBounds3::boundsOfPoints (const PxVec3 &v0, const PxVec3 &v1)
returns the AABB containing v0 and v1.
static PX_CUDA_CALLABLE
PX_FORCE_INLINE PxBounds3 		PxBounds3::centerExtents (const PxVec3 &center, const PxVec3 &extent)
returns the AABB from center and extents vectors.
static PX_CUDA_CALLABLE
PX_INLINE PxBounds3 		PxBounds3::basisExtent (const PxVec3 &center, const PxMat33 &basis, const PxVec3 &extent)
Construct from center, extent, and (not necessarily orthogonal) basis.
static PX_CUDA_CALLABLE
PX_INLINE PxBounds3 		PxBounds3::poseExtent (const PxTransform &pose, const PxVec3 &extent)
Construct from pose and extent.
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 		PxBounds3::setEmpty ()
Sets empty to true.
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 		PxBounds3::setMaximal ()
Sets the bounds to maximum size [-PX_MAX_BOUNDS_EXTENTS, PX_MAX_BOUNDS_EXTENTS].
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 		PxBounds3::include (const PxVec3 &v)
expands the volume to include v
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 		PxBounds3::include (const PxBounds3 &b)
expands the volume to include b.
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 		PxBounds3::isEmpty () const
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 		PxBounds3::intersects (const PxBounds3 &b) const
indicates whether the intersection of this and b is empty or not.
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 		PxBounds3::intersects1D (const PxBounds3 &a, uint32_t axis) const
computes the 1D-intersection between two AABBs, on a given axis.
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 		PxBounds3::contains (const PxVec3 &v) const
indicates if these bounds contain v.
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 		PxBounds3::isInside (const PxBounds3 &box) const
checks a box is inside another box.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 		PxBounds3::getCenter () const
returns the center of this axis aligned box.
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 		PxBounds3::getCenter (uint32_t axis) const
get component of the box's center along a given axis
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 		PxBounds3::getExtents (uint32_t axis) const
get component of the box's extents along a given axis
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 		PxBounds3::getDimensions () const
returns the dimensions (width/height/depth) of this axis aligned box.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 		PxBounds3::getExtents () const
returns the extents, which are half of the width/height/depth.
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 		PxBounds3::scaleSafe (float scale)
scales the AABB.
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 		PxBounds3::scaleFast (float scale)
scales the AABB.
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 		PxBounds3::fattenSafe (float distance)
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 		PxBounds3::fattenFast (float distance)
static PX_CUDA_CALLABLE
PX_INLINE PxBounds3 		PxBounds3::transformSafe (const PxMat33 &matrix, const PxBounds3 &bounds)
gets the transformed bounds of the passed AABB (resulting in a bigger AABB).
static PX_CUDA_CALLABLE
PX_INLINE PxBounds3 		PxBounds3::transformFast (const PxMat33 &matrix, const PxBounds3 &bounds)
gets the transformed bounds of the passed AABB (resulting in a bigger AABB).
static PX_CUDA_CALLABLE
PX_INLINE PxBounds3 		PxBounds3::transformSafe (const PxTransform &transform, const PxBounds3 &bounds)
gets the transformed bounds of the passed AABB (resulting in a bigger AABB).
static PX_CUDA_CALLABLE
PX_INLINE PxBounds3 		PxBounds3::transformFast (const PxTransform &transform, const PxBounds3 &bounds)
gets the transformed bounds of the passed AABB (resulting in a bigger AABB).
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 		PxBounds3::isValid () const
PX_CUDA_CALLABLE PX_INLINE | PxFlags::PxFlags (void)
PX_CUDA_CALLABLE PX_INLINE | PxFlags::PxFlags (enumtype e)
PX_CUDA_CALLABLE PX_INLINE | PxFlags::PxFlags (const PxFlags< enumtype, storagetype > &f)
PX_CUDA_CALLABLE PX_INLINE | PxFlags::PxFlags (storagetype b)
PX_CUDA_CALLABLE PX_INLINE bool | PxFlags::isSet (enumtype e) const
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > & 		PxFlags::set (enumtype e)
PX_CUDA_CALLABLE PX_INLINE bool | PxFlags::operator== (enumtype e) const
PX_CUDA_CALLABLE PX_INLINE bool | PxFlags::operator== (const PxFlags< enumtype, storagetype > &f) const
PX_CUDA_CALLABLE PX_INLINE bool | PxFlags::operator== (bool b) const
PX_CUDA_CALLABLE PX_INLINE bool | PxFlags::operator!= (enumtype e) const
PX_CUDA_CALLABLE PX_INLINE bool | PxFlags::operator!= (const PxFlags< enumtype, storagetype > &f) const
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > & 		PxFlags::operator= (enumtype e)
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > & 		PxFlags::operator= (const PxFlags< enumtype, storagetype > &f)
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > & 		PxFlags::operator|= (enumtype e)
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > & 		PxFlags::operator|= (const PxFlags< enumtype, storagetype > &f)
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > 		PxFlags::operator| (enumtype e) const
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > 		PxFlags::operator| (const PxFlags< enumtype, storagetype > &f) const
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > & 		PxFlags::operator&= (enumtype e)
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > & 		PxFlags::operator&= (const PxFlags< enumtype, storagetype > &f)
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > 		PxFlags::operator& (enumtype e) const
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > 		PxFlags::operator& (const PxFlags< enumtype, storagetype > &f) const
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > & 		PxFlags::operator^= (enumtype e)
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > & 		PxFlags::operator^= (const PxFlags< enumtype, storagetype > &f)
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > 		PxFlags::operator^ (enumtype e) const
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > 		PxFlags::operator^ (const PxFlags< enumtype, storagetype > &f) const
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > 		PxFlags::operator~ (void) const
PX_CUDA_CALLABLE PX_INLINE | PxFlags::operator bool (void) const
PX_CUDA_CALLABLE PX_INLINE | PxFlags::operator uint8_t (void) const
PX_CUDA_CALLABLE PX_INLINE | PxFlags::operator uint16_t (void) const
PX_CUDA_CALLABLE PX_INLINE | PxFlags::operator uint32_t (void) const
PX_CUDA_CALLABLE PX_INLINE void | PxFlags::clear (enumtype e)
PX_CUDA_CALLABLE PX_INLINE | PxQuat::PxQuat (const PxMat33 &m)
Creates from orientation matrix.
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxTransform::PxTransform (const PxMat44 &m)

Variables

static const float | PxPi = float(3.141592653589793)
static const float | PxHalfPi = float(1.57079632679489661923)
static const float | PxTwoPi = float(6.28318530717958647692)
static const float | PxInvPi = float(0.31830988618379067154)
static const float | PxInvTwoPi = float(0.15915494309189533577)
static const float | PxPiDivTwo = float(1.57079632679489661923)
static const float | PxPiDivFour = float(0.78539816339744830962)

Define Documentation

#define __STDC_FORMAT_MACROS

#define PX_A64 0

#define PX_ALIGN | ( | alignment,
 |  | decl | )

Alignment macros

PX_ALIGN_PREFIX and PX_ALIGN_SUFFIX can be used for type alignment instead of aligning individual variables as follows: PX_ALIGN_PREFIX(16) struct A { ... } PX_ALIGN_SUFFIX(16); This declaration style is parsed correctly by Visual Assist.

#define PX_ALIGN_PREFIX ( alignment )

#define PX_ALIGN_SUFFIX ( alignment )

#define PX_ALWAYS_ASSERT ( ) PX_ASSERT(0)

#define PX_ALWAYS_ASSERT_MESSAGE ( exp ) ((void)0)

#define PX_ANDROID 0

#define PX_APPLE_FAMILY (PX_IOS || PX_OSX)

#define PX_ARM 0

#define PX_ARM_FAMILY (PX_ARM || PX_A64)

#define PX_ASSERT ( exp ) ((void)0)

Referenced by PxFixedSizeLookupTable< eMAX_NB_ENGINE_TORQUE_CURVE_ENTRIES >::addPair(), physx::PxTask::addReference(), PxContactStreamIterator::advanceToIndex(), PxDefaultAllocator::allocate(), PxBounds3::contains(), PxBounds3::fattenFast(), PxBounds3::fattenSafe(), physx::PxTask::finishBefore(), PxGeometryHolder::get(), PxHitBuffer< PxSweepHit >::getAnyHit(), PxBatchQueryResult< HitType >::getAnyHit(), PxMat44::getBasis(), PxBounds3::getCenter(), PxBounds3::getDimensions(), PxContactStreamIterator::getExtendedContact(), PxBounds3::getExtents(), PxTransform::getInverse(), PxMassProperties::getMassSpaceInertia(), PxSimulationStatistics::getNbBroadPhaseAdds(), PxSimulationStatistics::getNbBroadPhaseRemoves(), PxSimulationStatistics::getRbPairStats(), PxHitBuffer< PxSweepHit >::getTouch(), PxFixedSizeLookupTable< eMAX_NB_ENGINE_TORQUE_CURVE_ENTRIES >::getYVal(), PxBounds3::include(), PxBounds3::intersects(), PxBounds3::intersects1D(), PxBounds3::isEmpty(), PxBounds3::isInside(), PxContactStreamIterator::nextContact(), PxContactPairExtraDataIterator::nextItemSet(), PxContactStreamIterator::nextPatch(), PxVec3::normalizeFast(), PxStrideIterator< const PxVec3 >::operator!=(), PxTransform::operator*(), PxMassProperties::operator*(), PxStrideIterator< const PxVec3 >::operator-(), PxStrideIterator< const PxVec3 >::operator<(), PxStrideIterator< const PxVec3 >::operator<=(), PxStrideIterator< const PxVec3 >::operator==(), PxStrideIterator< const PxVec3 >::operator>(), PxStrideIterator< const PxVec3 >::operator>=(), PxVec4::operator[](), PxVec3::operator[](), PxVec2::operator[](), PxExtendedVec3::operator[](), PxClamp(), PxCreateRepXObject(), PxMassProperties::PxMassProperties(), PxMeshScale::PxMeshScale(), PxQuat::PxQuat(), PxStrideIterator< const PxVec3 >::PxStrideIterator(), PxTransform::PxTransform(), PxSerializerDefaultAdapter< T >::registerReferences(), physx::PxTask::release(), physx::PxTask::removeReference(), PxTransform::rotate(), PxMassProperties::rotateInertia(), PxTransform::rotateInv(), PxBounds3::scaleFast(), PxMassProperties::scaleInertia(), PxBounds3::scaleSafe(), physx::PxLightCpuTask::setContinuation(), physx::PxTask::startAfter(), PxMassProperties::sum(), PxTransform::transform(), PxBounds3::transformFast(), PxTransform::transformInv(), PxBounds3::transformSafe(), PxMassProperties::translate(), and PxMassProperties::translateInertia().

#define PX_ASSERT_WITH_MESSAGE | ( | condition,
 |  | message | ) | ((void)0)

Referenced by PxSimulationStatistics::getRbPairStats(), PxGetGaussMapVertexLimitForPlatform(), and PxGeometryHolder::storeAny().

#define PX_CHECKED 0

#define PX_CLANG 0

#define PX_COMPILE_TIME_ASSERT ( exp ) typedef char PxCompileTimeAssert_Dummy[(exp) ? 1 : -1]

General defines

#define PX_CONCAT | ( | X,
 |  | Y | ) | PX_CONCAT_HELPER(X, Y)

#define PX_CONCAT_HELPER | ( | X,
 |  | Y | ) | X##Y

#define PX_CUDA_CALLABLE

#define PX_DEBUG 0

#define PX_DEPRECATED

Deprecated macro

  • To deprecate a function: Place PX_DEPRECATED at the start of the function header (leftmost word).
  • To deprecate a 'typedef', a 'struct' or a 'class': Place PX_DEPRECATED directly after the keywords ('typdef', 'struct', 'class').

Use these macro definitions to create warnings for deprecated functions #define PX_DEPRECATED __declspec(deprecated) // Microsoft #define PX_DEPRECATED __attribute__((deprecated())) // GCC

#define PX_DLL_EXPORT PX_UNIX_EXPORT

#define PX_DLL_IMPORT

#define PX_DUMMY_SYMBOL

#define PX_EMSCRIPTEN 0

#define PX_ENABLE_ASSERTS 0

Assert macro

#define PX_EPS_F32 FLT_EPSILON

#define PX_EPS_F64 DBL_EPSILON

#define PX_EPS_REAL PX_EPS_F32

#define PX_FLAGS_OPERATORS | ( | enumtype,
 |  | storagetype | )

Value:

PX_INLINE PxFlags<enumtype, storagetype> operator|(enumtype a, enumtype b)                                         \
    {                                                                                                                  \
        PxFlags<enumtype, storagetype> r(a);                                                                           \
        r |= b;                                                                                                        \
        return r;                                                                                                      \
    }                                                                                                                  \
    PX_INLINE PxFlags<enumtype, storagetype> operator&(enumtype a, enumtype b)                                         \
    {                                                                                                                  \
        PxFlags<enumtype, storagetype> r(a);                                                                           \
        r &= b;                                                                                                        \
        return r;                                                                                                      \
    }                                                                                                                  \
    PX_INLINE PxFlags<enumtype, storagetype> operator~(enumtype a)                                                     \
    {                                                                                                                  \
        return ~PxFlags<enumtype, storagetype>(a);                                                                     \
    }

#define PX_FLAGS_TYPEDEF | ( | x,
 |  | y | )

Value:

typedef PxFlags<x::Enum, y> x##s;                                                                                  \
    PX_FLAGS_OPERATORS(x::Enum, y)

#define PX_FORCE_INLINE inline

Force inline macro

#define PX_FOUNDATION_VERSION ((PX_FOUNDATION_VERSION_MAJOR << 24) + (PX_FOUNDATION_VERSION_MINOR << 16) + (PX_FOUNDATION_VERSION_BUGFIX << 8) + 0)

The constant PX_FOUNDATION_VERSION is used when creating certain PhysX module objects. This is to ensure that the application is using the same header version as the library was built with.

#define PX_FOUNDATION_VERSION_BUGFIX 0

#define PX_FOUNDATION_VERSION_MAJOR 1

#define PX_FOUNDATION_VERSION_MINOR 0

#define PX_GCC 0

#define PX_GCC_FAMILY (PX_CLANG || PX_GCC)

family shortcuts

#define PX_INLINE inline

Inline macro

#define PX_INTEL_FAMILY (PX_X64 || PX_X86)

#define PX_IOS 0

#define PX_LIBCPP 0

C++ standard library defines

#define PX_LINUX 0

#define PX_LINUX_FAMILY (PX_LINUX || PX_ANDROID)

#define PX_MAX_BOUNDS_EXTENTS (PX_MAX_REAL * 0.25f)

Referenced by PxBounds3::empty(), PxHeightFieldDesc::isValid(), PxBounds3::isValid(), PxBounds3::setEmpty(), and PxBounds3::setMaximal().

#define PX_MAX_F32 3.4028234663852885981170418348452e+38F

#define PX_MAX_F64 DBL_MAX

#define PX_MAX_I16 INT16_MAX

#define PX_MAX_I32 INT32_MAX

#define PX_MAX_I8 INT8_MAX

#define PX_MAX_REAL PX_MAX_F32

Referenced by PxContactStreamIterator::getMaxImpulse().

#define PX_MAX_U16 UINT16_MAX

#define PX_MAX_U32 UINT32_MAX

#define PX_MAX_U8 UINT8_MAX

Referenced by PxVehicleCopyDynamicsMap::PxVehicleCopyDynamicsMap().

#define PX_MICROSOFT_FAMILY (PX_XBOXONE || PX_WINDOWS_FAMILY)

#define PX_MIN_I16 INT16_MIN

#define PX_MIN_I32 INT32_MIN

#define PX_MIN_I8 INT8_MIN

#define PX_MIN_U16 UINT16_MIN

#define PX_MIN_U32 UINT32_MIN

#define PX_MIN_U8 UINT8_MIN

#define PX_NEON 0

#define PX_NOALIAS

Noalias macro

#define PX_NOCOPY ( Class )

Value:

\
protected:                                                                                                             \
    Class(const Class&);                                                                                               \
    Class& operator=(const Class&);

#define PX_NOINLINE

Noinline macro

#define PX_NORMALIZATION_EPSILON float(1e-20f)

Referenced by PxVec3::normalizeFast(), and PxVec3::normalizeSafe().

#define PX_NVTX 0

#define PX_OFFSET_OF | ( | X,
 |  | Y | ) | offsetof(X, Y)

#define PX_OFFSET_OF_RT | ( | Class,
 |  | Member | ) | (reinterpret_cast<size_t>(&reinterpret_cast<Class*>(PX_OFFSETOF_BASE)->Member) - size_t(PX_OFFSETOF_BASE))

#define PX_OFFSETOF_BASE 0x100

#define PX_OSX 0

#define PX_P64_FAMILY (PX_X64 || PX_A64)

#define PX_PHYSICS_VERSION ((PX_PHYSICS_VERSION_MAJOR<<24) + (PX_PHYSICS_VERSION_MINOR<<16) + (PX_PHYSICS_VERSION_BUGFIX<<8) + 0)

The constant PX_PHYSICS_VERSION is used when creating certain PhysX module objects. This is to ensure that the application is using the same header version as the library was built with.

#define PX_PHYSICS_VERSION_BUGFIX 2

#define PX_PHYSICS_VERSION_MAJOR 3

#define PX_PHYSICS_VERSION_MINOR 4

#define PX_POP_PACK

#define PX_PPC 0

#define PX_PRIu64 PRIu64

#define PX_PROFILE 0

#define PX_PS4 0

#define PX_PUSH_PACK_DEFAULT

Define API function declaration

PX_FOUNDATION_DLL=1 - used by the DLL library (PhysXCommon) to export the API PX_FOUNDATION_DLL=0 - for windows configurations where the PX_FOUNDATION_API is linked through standard static linking no definition - this will allow DLLs and libraries to use the exported API from PhysXCommon Calling convention Pack macros - disabled on SPU because they are not supported

#define PX_RESTRICT __restrict

Restrict macro

#define PX_SSE2 0

#define PX_STRINGIZE ( X ) PX_STRINGIZE_HELPER(X)

#define PX_STRINGIZE_HELPER ( X ) #X

#define PX_SUPPORT_COMPUTE_PHYSX 0

#define PX_SUPPORT_EXTERN_TEMPLATE ((!PX_ANDROID) && (PX_VC != 11))

#define PX_SUPPORT_GPU_PHYSX ((PX_WINDOWS_FAMILY) || (PX_LINUX && PX_X64))

#define PX_SWITCH 0

#define PX_UNIX_EXPORT

DLL export macros

#define PX_UNIX_FAMILY (PX_LINUX_FAMILY || PX_APPLE_FAMILY)

#define PX_VC 0

Compiler defines, see http://sourceforge.net/p/predef/wiki/Compilers/ Operating system defines, see http://sourceforge.net/p/predef/wiki/OperatingSystems/ Architecture defines, see http://sourceforge.net/p/predef/wiki/Architectures/ SIMD defines define anything not defined on this platform to 0

#define PX_VMX 0

#define PX_WEAK_SYMBOL

#define PX_WIN32 0

#define PX_WIN64 0

#define PX_WINDOWS (PX_WINDOWS_FAMILY && !PX_ARM_FAMILY)

#define PX_WINDOWS_FAMILY (PX_WIN32 || PX_WIN64)

#define PX_X64 0

#define PX_X86 0

#define PX_XBOXONE 0

Typedef Documentation

typedef PxBitAndDataT<unsigned char, 0x80> PxBitAndByte

typedef PxBitAndDataT<unsigned int, 0x80000000> PxBitAndDword

typedef PxBitAndDataT<unsigned short, 0x8000> PxBitAndWord

typedef uint32_t PxU32

files to always include

Enumeration Type Documentation

enum PxEMPTY

enum for empty constructor tag

Enumerator:
PxEmpty

enum PxIDENTITY

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

Enumerator:
PxIdentity

enum PxZERO

enum for zero constructor tag for vectors and matrices

Enumerator:
PxZero

Function Documentation

PX_CUDA_CALLABLE PX_INLINE PxBounds3 PxBounds3::basisExtent | ( | const PxVec3 & | center,
 |  | const PxMat33 & | basis,
 |  | const PxVec3 & | extent |
 | ) |  |  | [static, inherited]

Construct from center, extent, and (not necessarily orthogonal) basis.

References PxMat33::column0, PxMat33::column1, PxMat33::column2, PxAbs(), PxBounds3::PxBounds3(), PxVec3::x, PxVec3::y, and PxVec3::z.

Referenced by PxBounds3::poseExtent(), and PxBounds3::transformFast().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxBounds3 PxBounds3::boundsOfPoints | ( | const PxVec3 & | v0,
 |  | const PxVec3 & | v1 |
 | ) |  |  | [static, inherited]

returns the AABB containing v0 and v1.

Parameters:
v0 | first point included in the AABB.
v1 | second point included in the AABB.

References PxVec3::maximum(), PxVec3::minimum(), and PxBounds3::PxBounds3().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxBounds3 PxBounds3::centerExtents | ( | const PxVec3 & | center,
 |  | const PxVec3 & | extent |
 | ) |  |  | [static, inherited]

returns the AABB from center and extents vectors.

Parameters:
center | Center vector
extent | Extents vector

References PxBounds3::PxBounds3().

Referenced by PxBounds3::scaleFast().

template<typename enumtype, typename storagetype >
PX_INLINE void PxFlags< enumtype, storagetype >::clear ( enumtype e ) [inline, inherited]

References PxFlags< enumtype, storagetype >::mBits.

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxBounds3::contains ( const PxVec3 & v ) const [inherited]

indicates if these bounds contain v.

Parameters:
v Point to test against bounds.

References PxBounds3::isValid(), PxBounds3::maximum, PxBounds3::minimum, PX_ASSERT, PxVec3::x, PxVec3::y, and PxVec3::z.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxBounds3 PxBounds3::empty ( ) [static, inherited]

Return empty bounds.

References PX_MAX_BOUNDS_EXTENTS, and PxBounds3::PxBounds3().

PX_CUDA_CALLABLE PX_FORCE_INLINE void PxBounds3::fattenFast ( float distance ) [inherited]

fattens the AABB in all 3 dimensions by the given distance.

Calling this method for empty bounds leads to undefined behavior. Use fattenSafe() instead.

References PxBounds3::isValid(), PxBounds3::maximum, PxBounds3::minimum, PX_ASSERT, PxVec3::x, PxVec3::y, and PxVec3::z.

Referenced by PxBounds3::fattenSafe().

PX_CUDA_CALLABLE PX_FORCE_INLINE void PxBounds3::fattenSafe ( float distance ) [inherited]

fattens the AABB in all 3 dimensions by the given distance.

This version is safe to call for empty bounds.

References PxBounds3::fattenFast(), PxBounds3::isEmpty(), PxBounds3::isValid(), and PX_ASSERT.

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxBounds3::getCenter ( uint32_t axis ) const [inherited]

get component of the box's center along a given axis

References PxBounds3::isValid(), PxBounds3::maximum, PxBounds3::minimum, and PX_ASSERT.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxBounds3::getCenter ( ) const [inherited]

returns the center of this axis aligned box.

References PxBounds3::isValid(), PxBounds3::maximum, PxBounds3::minimum, and PX_ASSERT.

Referenced by PxBounds3::scaleFast(), and PxBounds3::transformFast().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxBounds3::getDimensions ( ) const [inherited]

returns the dimensions (width/height/depth) of this axis aligned box.

References PxBounds3::isValid(), PxBounds3::maximum, PxBounds3::minimum, and PX_ASSERT.

Referenced by PxBounds3::getExtents().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxBounds3::getExtents ( ) const [inherited]

returns the extents, which are half of the width/height/depth.

References PxBounds3::getDimensions(), PxBounds3::isValid(), and PX_ASSERT.

Referenced by PxBounds3::scaleFast().

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxBounds3::getExtents ( uint32_t axis ) const [inherited]

get component of the box's extents along a given axis

References PxBounds3::isValid(), PxBounds3::maximum, PxBounds3::minimum, and PX_ASSERT.

Referenced by PxBounds3::transformFast().

PX_CUDA_CALLABLE PX_FORCE_INLINE void PxBounds3::include ( const PxBounds3 & b ) [inherited]

expands the volume to include b.

Parameters:
b Bounds to perform union with.

References PxBounds3::isValid(), PxVec3::maximum(), PxBounds3::maximum, PxVec3::minimum(), PxBounds3::minimum, and PX_ASSERT.

PX_CUDA_CALLABLE PX_FORCE_INLINE void PxBounds3::include ( const PxVec3 & v ) [inherited]

expands the volume to include v

Parameters:
v Point to expand to.

References PxBounds3::isValid(), PxVec3::maximum(), PxBounds3::maximum, PxVec3::minimum(), PxBounds3::minimum, and PX_ASSERT.

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxBounds3::intersects ( const PxBounds3 & b ) const [inherited]

indicates whether the intersection of this and b is empty or not.

Parameters:
b Bounds to test for intersection.

References PxBounds3::isValid(), PxBounds3::maximum, PxBounds3::minimum, PX_ASSERT, PxVec3::x, PxVec3::y, and PxVec3::z.

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxBounds3::intersects1D | ( | const PxBounds3 & | a,
 |  | uint32_t | axis |
 | ) |  |  | const [inherited]

computes the 1D-intersection between two AABBs, on a given axis.

Parameters:
a | the other AABB
axis | the axis (0, 1, 2)

References PxBounds3::isValid(), PxBounds3::maximum, PxBounds3::minimum, and PX_ASSERT.

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxBounds3::isEmpty ( ) const [inherited]

References PxBounds3::isValid(), PxBounds3::maximum, PxBounds3::minimum, PX_ASSERT, and PxVec3::x.

Referenced by PxBounds3::fattenSafe(), PxBounds3::scaleSafe(), and PxBounds3::transformSafe().

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxBounds3::isFinite ( ) const [inherited]

checks that the AABB values are not NaN

References PxVec3::isFinite(), PxBounds3::maximum, and PxBounds3::minimum.

Referenced by PxBounds3::isValid().

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxBounds3::isInside ( const PxBounds3 & box ) const [inherited]

checks a box is inside another box.

Parameters:
box the other AABB

References PxBounds3::isValid(), PxBounds3::maximum, PxBounds3::minimum, PX_ASSERT, PxVec3::x, PxVec3::y, and PxVec3::z.

template<typename enumtype, typename storagetype >
PX_INLINE bool PxFlags< enumtype, storagetype >::isSet ( enumtype e ) const [inline, inherited]

References PxFlags< enumtype, storagetype >::mBits.

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxBounds3::isValid ( ) const [inherited]

checks that the AABB values describe a valid configuration.

References PxBounds3::isFinite(), PxBounds3::maximum, PxBounds3::minimum, PX_MAX_BOUNDS_EXTENTS, PxVec3::x, PxVec3::y, and PxVec3::z.

Referenced by PxBounds3::contains(), PxBounds3::fattenFast(), PxBounds3::fattenSafe(), PxBounds3::getCenter(), PxBounds3::getDimensions(), PxBounds3::getExtents(), PxBounds3::include(), PxBounds3::intersects(), PxBounds3::intersects1D(), PxBounds3::isEmpty(), PxBounds3::isInside(), PxSceneDesc::isValid(), PxBounds3::scaleFast(), PxBounds3::scaleSafe(), PxBounds3::transformFast(), and PxBounds3::transformSafe().

template<typename enumtype , typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype >::operator bool ( void ) const [inline, inherited]

References PxFlags< enumtype, storagetype >::mBits.

template<typename enumtype , typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype >::operator uint16_t ( void ) const [inline, inherited]

References PxFlags< enumtype, storagetype >::mBits.

template<typename enumtype , typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype >::operator uint32_t ( void ) const [inline, inherited]

References PxFlags< enumtype, storagetype >::mBits.

template<typename enumtype , typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype >::operator uint8_t ( void ) const [inline, inherited]

References PxFlags< enumtype, storagetype >::mBits.

template<typename enumtype, typename storagetype>
PX_INLINE bool PxFlags< enumtype, storagetype >::operator!= ( const PxFlags< enumtype, storagetype > & f ) const [inline, inherited]

References PxFlags< enumtype, storagetype >::mBits.

template<typename enumtype, typename storagetype >
PX_INLINE bool PxFlags< enumtype, storagetype >::operator!= ( enumtype e ) const [inline, inherited]

References PxFlags< enumtype, storagetype >::mBits.

template<typename enumtype, typename storagetype>
PX_INLINE PxFlags< enumtype, storagetype > PxFlags< enumtype, storagetype >::operator& ( const PxFlags< enumtype, storagetype > & f ) const [inline, inherited]

References PxFlags< enumtype, storagetype >::mBits.

template<typename enumtype, typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype > PxFlags< enumtype, storagetype >::operator& ( enumtype e ) const [inline, inherited]

References PxFlags< enumtype, storagetype >::mBits.

template<typename enumtype, typename storagetype>
PX_INLINE PxFlags< enumtype, storagetype > & PxFlags< enumtype, storagetype >::operator&= ( const PxFlags< enumtype, storagetype > & f ) [inline, inherited]

References PxFlags< enumtype, storagetype >::mBits.

template<typename enumtype, typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype > & PxFlags< enumtype, storagetype >::operator&= ( enumtype e ) [inline, inherited]

References PxFlags< enumtype, storagetype >::mBits.

static PX_CUDA_CALLABLE PX_INLINE PxVec4 operator* | ( | float | f,
 |  | const PxVec4 & | v |
 | ) |  |  | [static]

References PxVec4::w, PxVec4::x, PxVec4::y, and PxVec4::z.

static PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 operator* | ( | float | f,
 |  | const PxVec3 & | v |
 | ) |  |  | [static]

References PxVec3::x, PxVec3::y, and PxVec3::z.

static PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2 operator* | ( | float | f,
 |  | const PxVec2 & | v |
 | ) |  |  | [static]

References PxVec2::x, and PxVec2::y.

template<typename T >
PX_INLINE PxStrideIterator<T> operator+ | ( | int | i,
 |  | PxStrideIterator< T > | it |
 | ) |  |  | [inline]

Addition operator.

template<typename enumtype, typename storagetype>
PX_INLINE PxFlags< enumtype, storagetype > & PxFlags< enumtype, storagetype >::operator= ( const PxFlags< enumtype, storagetype > & f ) [inline, inherited]

References PxFlags< enumtype, storagetype >::mBits.

template<typename enumtype, typename storagetype>
PX_INLINE PxFlags< enumtype, storagetype > & PxFlags< enumtype, storagetype >::operator= ( enumtype e ) [inline, inherited]

References PxFlags< enumtype, storagetype >::mBits.

template<typename enumtype, typename storagetype>
PX_INLINE bool PxFlags< enumtype, storagetype >::operator== ( bool b ) const [inline, inherited]

template<typename enumtype, typename storagetype>
PX_INLINE bool PxFlags< enumtype, storagetype >::operator== ( const PxFlags< enumtype, storagetype > & f ) const [inline, inherited]

References PxFlags< enumtype, storagetype >::mBits.

template<typename enumtype, typename storagetype >
PX_INLINE bool PxFlags< enumtype, storagetype >::operator== ( enumtype e ) const [inline, inherited]

References PxFlags< enumtype, storagetype >::mBits.

template<typename enumtype, typename storagetype>
PX_INLINE PxFlags< enumtype, storagetype > PxFlags< enumtype, storagetype >::operator^ ( const PxFlags< enumtype, storagetype > & f ) const [inline, inherited]

References PxFlags< enumtype, storagetype >::mBits.

template<typename enumtype, typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype > PxFlags< enumtype, storagetype >::operator^ ( enumtype e ) const [inline, inherited]

References PxFlags< enumtype, storagetype >::mBits.

template<typename enumtype, typename storagetype>
PX_INLINE PxFlags< enumtype, storagetype > & PxFlags< enumtype, storagetype >::operator^= ( const PxFlags< enumtype, storagetype > & f ) [inline, inherited]

References PxFlags< enumtype, storagetype >::mBits.

template<typename enumtype, typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype > & PxFlags< enumtype, storagetype >::operator^= ( enumtype e ) [inline, inherited]

References PxFlags< enumtype, storagetype >::mBits.

template<typename enumtype, typename storagetype>
PX_INLINE PxFlags< enumtype, storagetype > PxFlags< enumtype, storagetype >::operator| ( const PxFlags< enumtype, storagetype > & f ) const [inline, inherited]

template<typename enumtype, typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype > PxFlags< enumtype, storagetype >::operator| ( enumtype e ) const [inline, inherited]

template<typename enumtype, typename storagetype>
PX_INLINE PxFlags< enumtype, storagetype > & PxFlags< enumtype, storagetype >::operator|= ( const PxFlags< enumtype, storagetype > & f ) [inline, inherited]

References PxFlags< enumtype, storagetype >::mBits.

template<typename enumtype, typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype > & PxFlags< enumtype, storagetype >::operator|= ( enumtype e ) [inline, inherited]

References PxFlags< enumtype, storagetype >::mBits.

template<typename enumtype , typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype > PxFlags< enumtype, storagetype >::operator~ ( void ) const [inline, inherited]

References PxFlags< enumtype, storagetype >::mBits.

PX_CUDA_CALLABLE PX_INLINE PxBounds3 PxBounds3::poseExtent | ( | const PxTransform & | pose,
 |  | const PxVec3 & | extent |
 | ) |  |  | [static, inherited]

Construct from pose and extent.

References PxBounds3::basisExtent(), PxTransform::p, and PxTransform::q.

PX_COMPILE_TIME_ASSERT ( PX_OFFSET_OF(PxPackValidation, a) = =8 )

template<class T >
PX_CUDA_CALLABLE PX_INLINE void PX_UNUSED ( T const & ) [inline]

Referenced by PxContactSet::getInternalFaceIndex0(), PxHitBuffer< PxSweepHit >::processTouches(), PxMat33::PxMat33(), PxMat44::PxMat44(), PxQuat::PxQuat(), PxTransform::PxTransform(), PxVec2::PxVec2(), PxVec3::PxVec3(), and PxVec4::PxVec4().

PX_CUDA_CALLABLE PX_FORCE_INLINE int32_t PxAbs ( int32_t a )

abs returns the absolute value of its argument.

PX_CUDA_CALLABLE PX_FORCE_INLINE double PxAbs ( double a )

abs returns the absolute value of its argument.

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxAbs ( float a )

abs returns the absolute value of its argument.

Referenced by PxVec3::abs(), PxBounds3::basisExtent(), PxPlane::contains(), PxVec4::isNormalized(), PxVec3::isNormalized(), PxVec2::isNormalized(), PxQuat::isSane(), PxQuat::isUnit(), PxEquals(), PxQuat::PxQuat(), and PxQuat::toRadiansAndUnitAxis().

PX_CUDA_CALLABLE PX_FORCE_INLINE double PxAcos ( double f )

Arccosine. Returns angle between 0 and PI in radians Unit: Radians.

References PxClamp().

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxAcos ( float f )

Arccosine. Returns angle between 0 and PI in radians Unit: Radians.

References PxClamp().

Referenced by PxQuat::getAngle().

PX_CUDA_CALLABLE PX_FORCE_INLINE double PxAsin ( double f )

Arcsine. Returns angle between -PI/2 and PI/2 in radians Unit: Radians.

References PxClamp().

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxAsin ( float f )

Arcsine. Returns angle between -PI/2 and PI/2 in radians Unit: Radians.

References PxClamp().

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 PxAtan ( float a )

ArcTangent. Returns angle between -PI/2 and PI/2 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 float PxAtan2 | ( | float | x,
 |  | float | y
 | ) |  |

Arctangent of (x/y) with correct sign. Returns angle between -PI and PI in radians Unit: Radians.

Referenced by PxQuat::toRadiansAndUnitAxis().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxBounds3::PxBounds3 | ( | const PxVec3 & | minimum,
 |  | const PxVec3 & | maximum |
 | ) |  |  | [inherited]

Construct from two bounding points.

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxCeil ( float a )

template<class T >
PX_CUDA_CALLABLE PX_FORCE_INLINE T PxClamp | ( | T | v,
 |  | T | lo,
 |  | T | hi |
 | ) |  |  | [inline]

Clamps v to the range [hi,lo].

References PX_ASSERT, PxMax(), and PxMin().

Referenced by PxAcos(), and PxAsin().

PX_CUDA_CALLABLE PX_FORCE_INLINE double PxCos ( double a )

Cosine of an angle (Unit: Radians).

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxCos ( float a )

Cosine of an angle (Unit: Radians).

Referenced by PxQuat::PxQuat().

PX_C_EXPORT PX_FOUNDATION_API physx::PxFoundation* PX_CALL_CONV PxCreateFoundation | ( | physx::PxU32 | version,
 |  | physx::PxAllocatorCallback & | allocator,
 |  | physx::PxErrorCallback & | errorCallback
 | ) |  |

Creates an instance of the foundation class.

The foundation class is needed to initialize higher level SDKs. There may be only one instance 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_FOUNDATION_VERSION)
allocator | User supplied interface for allocating memory(see PxAllocatorCallback)
errorCallback | User supplied interface for reporting errors and displaying messages(see PxErrorCallback)
Returns:
Foundation instance on success, NULL if operation failed
See also:
PxFoundation

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxEquals | ( | float | a,
 |  | float | b,
 |  | float | eps
 | ) |  |

References PxAbs().

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxExp ( float a )

template<typename enumtype, typename storagetype>
PX_INLINE PxFlags< enumtype, storagetype >::PxFlags ( storagetype b ) [inline, explicit, inherited]

References PxFlags< enumtype, storagetype >::mBits.

template<typename enumtype, typename storagetype>
PX_INLINE PxFlags< enumtype, storagetype >::PxFlags ( const PxFlags< enumtype, storagetype > & f ) [inline, inherited]

References PxFlags< enumtype, storagetype >::mBits.

template<typename enumtype, typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype >::PxFlags ( enumtype e ) [inline, inherited]

References PxFlags< enumtype, storagetype >::mBits.

template<typename enumtype , typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype >::PxFlags ( void ) [inline, inherited]

References PxFlags< enumtype, storagetype >::mBits.

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxFloor ( float a )

PX_FOUNDATION_API PxAssertHandler& PxGetAssertHandler ( )

PX_C_EXPORT PX_FOUNDATION_API physx::PxFoundation& PX_CALL_CONV PxGetFoundation ( )

Retrieves the Foundation SDK after it has been created.

Note:
The behavior of this method is undefined if the foundation instance has not been created already.
See also:
PxCreateFoundation()

PX_C_EXPORT PX_FOUNDATION_API physx::PxProfilerCallback* PX_CALL_CONV PxGetProfilerCallback ( )

Get the callback that will be used for all profiling.

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 bool PxIsFinite ( float f )

returns true if the passed number is a finite floating point number as opposed to INF, NAN, etc.

Referenced by PxVec4::isFinite(), PxVec3::isFinite(), PxVec2::isFinite(), PxQuat::isFinite(), PxExtendedVec3::isFinite(), PxSphereGeometry::isValid(), PxJointLimitCone::isValid(), PxJointAngularLimitPair::isValid(), PxJointLinearLimitPair::isValid(), PxJointLinearLimit::isValid(), PxJointLimitParameters::isValid(), PxHeightFieldGeometry::isValid(), PxD6JointDrive::isValid(), PxCapsuleGeometry::isValid(), PxMassProperties::operator*(), PxMassProperties::PxMassProperties(), PxMassProperties::sum(), and PxMassProperties::translateInertia().

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxLog ( float x )

template<typename T >
PX_INLINE PxStrideIterator<const T> PxMakeIterator | ( | const T * | ptr,
 |  | PxU32 | stride = sizeof(T) |
 | ) |  |  | [inline]

Stride iterator factory function which infers the iterator type.

template<typename T >
PX_INLINE PxStrideIterator<T> PxMakeIterator | ( | T * | ptr,
 |  | PxU32 | stride = sizeof(T) |
 | ) |  |  | [inline]

Stride iterator factory function which infers the iterator type.

template<>
PX_CUDA_CALLABLE PX_FORCE_INLINE float PxMax | ( | float | a,
 |  | float | b |
 | ) |  |  | [inline]

overload for float to use fsel on xbox

template<class T >
PX_CUDA_CALLABLE PX_FORCE_INLINE T PxMax | ( | T | a,
 |  | T | b |
 | ) |  |  | [inline]

The return value is the greater of the two specified values.

Referenced by PxVec3::maxElement(), PxVec2::maxElement(), PxVec4::maximum(), PxVec3::maximum(), PxVec2::maximum(), and PxClamp().

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.

Note:
Use PxMemMove if memory blocks overlap.
Parameters:
dest | Pointer to block of memory to copy to.
src | Pointer to block of memory to copy from.
count | Number of bytes to copy.
Returns:
Pointer to destination memory block

Referenced by PxContactPair::bufferContacts(), PxFixedSizeLookupTable< eMAX_NB_ENGINE_TORQUE_CURVE_ENTRIES >::operator=(), and PxFixedSizeLookupTable< eMAX_NB_ENGINE_TORQUE_CURVE_ENTRIES >::PxFixedSizeLookupTable().

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.

Note:
Use PxMemCopy if memory blocks do not overlap.
Parameters:
dest | Pointer to block of memory to copy to.
src | Pointer to block of memory to copy from.
count | Number of bytes to copy.
Returns:
Pointer to destination memory block

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

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

Parameters:
dest | Pointer to block of memory to set to the specified value.
c | Value to set the bytes of the block of memory to.
count | Number of bytes to set to the specified value.
Returns:
Pointer to memory block (same as input)

Referenced by PxVehicleDifferentialNWData::PxVehicleDifferentialNWData().

PX_FORCE_INLINE void* PxMemZero | ( | void * | dest,
 |  | PxU32 | count
 | ) |  |

Sets the bytes of the provided buffer to zero.

Parameters:
dest | Pointer to block of memory to set zero.
count | Number of bytes to set to zero.
Returns:
Pointer to memory block (same as input)

Referenced by PxWheelQueryResult::PxWheelQueryResult().

template<>
PX_CUDA_CALLABLE PX_FORCE_INLINE float PxMin | ( | float | a,
 |  | float | b |
 | ) |  |  | [inline]

overload for float to use fsel on xbox

template<class T >
PX_CUDA_CALLABLE PX_FORCE_INLINE T PxMin | ( | T | a,
 |  | T | b |
 | ) |  |  | [inline]

The return value is the lesser of the two specified values.

Referenced by PxVec3::minElement(), PxVec2::minElement(), PxVec4::minimum(), PxVec3::minimum(), PxVec2::minimum(), PxClamp(), PxJointAngularLimitPair::PxJointAngularLimitPair(), PxJointLimitCone::PxJointLimitCone(), and PxJointLinearLimitPair::PxJointLinearLimitPair().

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxPow | ( | float | x,
 |  | float | y
 | ) |  |

PX_CUDA_CALLABLE PX_INLINE PxQuat::PxQuat ( const PxMat33 & m ) [explicit, inherited]

Creates from orientation matrix.

Parameters:
[in] m Rotation matrix to extract quaternion from.

References PxMat33::column0, PxMat33::column1, PxMat33::column2, PxQuat::PxQuat(), PxSqrt(), PxVec3::x, PxVec3::y, and PxVec3::z.

PX_CUDA_CALLABLE PX_FORCE_INLINE double PxRecipSqrt ( double a )

reciprocal square root.

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxRecipSqrt ( float a )

reciprocal square root.

Referenced by PxVec4::getNormalized(), PxVec3::getNormalized(), PxVec2::getNormalized(), and PxQuat::toRadiansAndUnitAxis().

PX_FOUNDATION_API void PxSetAssertHandler ( PxAssertHandler & handler )

PX_C_EXPORT PX_FOUNDATION_API void PX_CALL_CONV PxSetProfilerCallback ( physx::PxProfilerCallback * profiler )

Set the callback that will be used for all profiling.

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxSign ( float a )

PX_CUDA_CALLABLE PX_FORCE_INLINE double PxSin ( double a )

Sine of an angle ( Unit: Radians ).

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxSin ( float a )

trigonometry -- all angles are in radians.

Sine of an angle ( Unit: Radians )

Referenced by PxQuat::PxQuat().

PX_CUDA_CALLABLE PX_FORCE_INLINE double PxSqrt ( double a )

Square root.

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxSqrt ( float a )

Square root.

Referenced by PxVec4::magnitude(), PxVec3::magnitude(), PxVec2::magnitude(), PxQuat::magnitude(), PxExtendedVec3::magnitude(), and PxQuat::PxQuat().

PX_CUDA_CALLABLE PX_FORCE_INLINE double PxTan ( double a )

Tangent of an angle. Unit: Radians.

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxTan ( float a )

Tangent of an angle. Unit: Radians.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxTransform::PxTransform ( const PxMat44 & m ) [explicit, inherited]

References PxMat44::column0, PxMat44::column1, PxMat44::column2, PxMat44::column3, PxTransform::p, PxTransform::q, PxVec4::x, PxVec4::y, and PxVec4::z.

template<class A , class B >
PX_FORCE_INLINE A PxUnionCast ( B b ) [inline]

PX_CUDA_CALLABLE PX_FORCE_INLINE void PxBounds3::scaleFast ( float scale ) [inherited]

scales the AABB.

Calling this method for empty bounds leads to undefined behavior. Use scaleSafe() instead.

Parameters:
scale Factor to scale AABB by.

References PxBounds3::centerExtents(), PxBounds3::getCenter(), PxBounds3::getExtents(), PxBounds3::isValid(), and PX_ASSERT.

Referenced by PxBounds3::scaleSafe().

PX_CUDA_CALLABLE PX_FORCE_INLINE void PxBounds3::scaleSafe ( float scale ) [inherited]

scales the AABB.

This version is safe to call for empty bounds.

Parameters:
scale Factor to scale AABB by.

References PxBounds3::isEmpty(), PxBounds3::isValid(), PX_ASSERT, and PxBounds3::scaleFast().

template<typename enumtype, typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype > & PxFlags< enumtype, storagetype >::set ( enumtype e ) [inline, inherited]

References PxFlags< enumtype, storagetype >::mBits.

PX_CUDA_CALLABLE PX_FORCE_INLINE void PxBounds3::setEmpty ( ) [inherited]

Sets empty to true.

References PxBounds3::maximum, PxBounds3::minimum, and PX_MAX_BOUNDS_EXTENTS.

PX_CUDA_CALLABLE PX_FORCE_INLINE void PxBounds3::setMaximal ( ) [inherited]

Sets the bounds to maximum size [-PX_MAX_BOUNDS_EXTENTS, PX_MAX_BOUNDS_EXTENTS].

References PxBounds3::maximum, PxBounds3::minimum, and PX_MAX_BOUNDS_EXTENTS.

PX_CUDA_CALLABLE PX_INLINE PxBounds3 PxBounds3::transformFast | ( | const PxTransform & | transform,
 |  | const PxBounds3 & | bounds |
 | ) |  |  | [static, inherited]

gets the transformed bounds of the passed AABB (resulting in a bigger AABB).

Calling this method for empty bounds leads to undefined behavior. Use transformSafe() instead.

Parameters:
[in] | transform | Transform to apply, can contain scaling as well
[in] | bounds | The bounds to transform.

References PxBounds3::basisExtent(), PxBounds3::getCenter(), PxBounds3::getExtents(), PxBounds3::isValid(), PX_ASSERT, PxTransform::q, and PxTransform::transform().

PX_CUDA_CALLABLE PX_INLINE PxBounds3 PxBounds3::transformFast | ( | const PxMat33 & | matrix,
 |  | const PxBounds3 & | bounds |
 | ) |  |  | [static, inherited]

gets the transformed bounds of the passed AABB (resulting in a bigger AABB).

Calling this method for empty bounds leads to undefined behavior. Use transformSafe() instead.

Parameters:
[in] | matrix | Transform to apply, can contain scaling as well
[in] | bounds | The bounds to transform.

References PxBounds3::basisExtent(), PxBounds3::getCenter(), PxBounds3::getExtents(), PxBounds3::isValid(), and PX_ASSERT.

Referenced by PxBounds3::transformSafe().

PX_CUDA_CALLABLE PX_INLINE PxBounds3 PxBounds3::transformSafe | ( | const PxTransform & | transform,
 |  | const PxBounds3 & | bounds |
 | ) |  |  | [static, inherited]

gets the transformed bounds of the passed AABB (resulting in a bigger AABB).

This version is safe to call for empty bounds.

Parameters:
[in] | transform | Transform to apply, can contain scaling as well
[in] | bounds | The bounds to transform.

References PxBounds3::isEmpty(), PxBounds3::isValid(), PX_ASSERT, and PxBounds3::transformFast().

PX_CUDA_CALLABLE PX_INLINE PxBounds3 PxBounds3::transformSafe | ( | const PxMat33 & | matrix,
 |  | const PxBounds3 & | bounds |
 | ) |  |  | [static, inherited]

gets the transformed bounds of the passed AABB (resulting in a bigger AABB).

This version is safe to call for empty bounds.

Parameters:
[in] | matrix | Transform to apply, can contain scaling as well
[in] | bounds | The bounds to transform.

References PxBounds3::isEmpty(), PxBounds3::isValid(), PX_ASSERT, and PxBounds3::transformFast().

Variable Documentation

const float PxHalfPi = float(1.57079632679489661923) [static]

const float PxInvPi = float(0.31830988618379067154) [static]

const float PxInvTwoPi = float(0.15915494309189533577) [static]

const float PxPi = float(3.141592653589793) [static]

Referenced by PxJointLimitCone::isValid(), PxMassProperties::PxMassProperties(), and PxQuat::toRadiansAndUnitAxis().

const float PxPiDivFour = float(0.78539816339744830962) [static]

const float PxPiDivTwo = float(1.57079632679489661923) [static]

const float PxTwoPi = float(6.28318530717958647692) [static]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: physx Namespace Reference

physx Namespace Reference
[Pvd, Foundation]

Namespaces

namespace | pvdsdk

Classes

class | PxProfilerCallback
The pure virtual callback interface for general purpose instrumentation and profiling of GameWorks modules as well as applications. More...
class | PxProfileScoped
class | PxCpuDispatcher
A CpuDispatcher is responsible for scheduling the execution of tasks passed to it by the SDK. More...
class | PxGpuDispatcher
A GpuTask dispatcher. More...
struct | PxGpuTaskHint
Define the 'flavor' of a PxGpuTask. More...
class | PxGpuTask
PxTask implementation for launching CUDA work. More...
class | PxBaseTask
Base class of all task types. More...
class | PxTask
A PxBaseTask implementation with deferred execution and full dependencies. More...
class | PxLightCpuTask
A PxBaseTask implementation with immediate execution and simple dependencies. More...
struct | PxTaskType
Identifies the type of each heavyweight PxTask object. More...
class | PxTaskManager
The PxTaskManager interface. More...

Typedefs

typedef int64_t | PxI64
typedef uint64_t | PxU64
typedef int32_t | PxI32
typedef uint32_t | PxU32
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 unsigned int | PxTaskID

Typedef Documentation

typedef float physx::PxF32

typedef double physx::PxF64

typedef int16_t physx::PxI16

typedef int32_t physx::PxI32

typedef int64_t physx::PxI64

typedef int8_t physx::PxI8

typedef float physx::PxReal

typedef unsigned int physx::PxTaskID

typedef uint16_t physx::PxU16

typedef uint32_t physx::PxU32

typedef uint64_t physx::PxU64

typedef uint8_t physx::PxU8


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxAllocatorCallback Class Reference

PxAllocatorCallback Class Reference
[Foundation]

Abstract base class for an application defined memory allocator that can be used by the Nv library. More...

#include <PxAllocatorCallback.h>

Inheritance diagram for PxAllocatorCallback:

PxDefaultAllocator
[legend]

List of all members.

Public Member Functions

virtual | ~PxAllocatorCallback ()
destructor
virtual void * | allocate (size_t size, const char *typeName, const char *filename, int line)=0
Allocates size bytes of memory, which must be 16-byte aligned.
virtual void | deallocate (void *ptr)=0
Frees memory previously allocated by allocate().

Detailed Description

Abstract base class for an application defined memory allocator that can be used by the Nv library.

Note:
The SDK state should not be modified from within any allocation/free function.
Threading: All methods of this class should be thread safe as it can be called from the user thread or the physics processing thread(s).

Constructor & Destructor Documentation

virtual PxAllocatorCallback::~PxAllocatorCallback ( ) [inline, virtual]

destructor

Member Function Documentation

virtual void* PxAllocatorCallback::allocate | ( | size_t | size,
 |  | const char * | typeName,
 |  | const char * | filename,
 |  | int | line |
 | ) |  |  | [pure virtual]

Allocates size bytes of memory, which must be 16-byte aligned.

This method should never return NULL. If you run out of memory, then you should terminate the app or take some other appropriate action.

Threading: This function should be thread safe as it can be called in the context of the user thread and physics processing thread(s).

Parameters:
size | Number of bytes to allocate.
typeName | Name of the datatype that is being allocated
filename | The source file which allocated the memory
line | The source line which allocated the memory
Returns:
The allocated block of memory.

Implemented in PxDefaultAllocator.

virtual void PxAllocatorCallback::deallocate ( void * ptr ) [pure virtual]

Frees memory previously allocated by allocate().

Threading: This function should be thread safe as it can be called in the context of the user thread and physics processing thread(s).

Parameters:
ptr Memory to free.

Implemented in PxDefaultAllocator.

The documentation for this class was generated from the following file:
  • PxAllocatorCallback.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxAssertHandler Class Reference

PxAssertHandler Class Reference
[Foundation]

#include <PxAssert.h>

List of all members.

Public Member Functions

virtual | ~PxAssertHandler ()
virtual void | operator() (const char *exp, const char *file, int line, bool &ignore)=0

Constructor & Destructor Documentation

virtual PxAssertHandler::~PxAssertHandler ( ) [inline, virtual]

Member Function Documentation

virtual void PxAssertHandler::operator() | ( | const char * | exp,
 |  | const char * | file,
 |  | int | line,
 |  | bool & | ignore |
 | ) |  |  | [pure virtual]

The documentation for this class was generated from the following file:
  • PxAssert.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBitAndDataT< storageType, bitMask > Class Template Reference

PxBitAndDataT< storageType, bitMask > Class Template Reference
[Foundation]

#include <PxBitAndData.h>

Collaboration diagram for PxBitAndDataT< storageType, bitMask >:

[legend]

List of all members.

Public Member Functions

PX_FORCE_INLINE | PxBitAndDataT (const PxEMPTY)
PX_FORCE_INLINE | PxBitAndDataT ()
PX_FORCE_INLINE | PxBitAndDataT (storageType data, bool bit=false)
PX_CUDA_CALLABLE PX_FORCE_INLINE | operator storageType () const
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 		setBit ()
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 		clearBit ()
PX_CUDA_CALLABLE
PX_FORCE_INLINE storageType 		isBitSet () const

Protected Attributes

storageType | mData

template<typename storageType, storageType bitMask>
class PxBitAndDataT< storageType, bitMask >

Constructor & Destructor Documentation

template<typename storageType, storageType bitMask>
PX_FORCE_INLINE PxBitAndDataT< storageType, bitMask >::PxBitAndDataT ( const PxEMPTY ) [inline]

template<typename storageType, storageType bitMask>
PX_FORCE_INLINE PxBitAndDataT< storageType, bitMask >::PxBitAndDataT ( ) [inline]

template<typename storageType, storageType bitMask>
PX_FORCE_INLINE PxBitAndDataT< storageType, bitMask >::PxBitAndDataT | ( | storageType | data,
 |  | bool | bit = false |
 | ) |  |  | [inline]

Member Function Documentation

template<typename storageType, storageType bitMask>
PX_CUDA_CALLABLE PX_FORCE_INLINE void PxBitAndDataT< storageType, bitMask >::clearBit ( ) [inline]

template<typename storageType, storageType bitMask>
PX_CUDA_CALLABLE PX_FORCE_INLINE storageType PxBitAndDataT< storageType, bitMask >::isBitSet ( ) const [inline]

template<typename storageType, storageType bitMask>
PX_CUDA_CALLABLE PX_FORCE_INLINE PxBitAndDataT< storageType, bitMask >::operator storageType ( ) const [inline]

template<typename storageType, storageType bitMask>
PX_CUDA_CALLABLE PX_FORCE_INLINE void PxBitAndDataT< storageType, bitMask >::setBit ( ) [inline]

Member Data Documentation

template<typename storageType, storageType bitMask>
storageType PxBitAndDataT< storageType, bitMask >::mData [protected]

The documentation for this class was generated from the following file:
  • PxBitAndData.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBounds3 Class Reference

PxBounds3 Class Reference
[Foundation]

Class representing 3D range or axis aligned bounding box. More...

#include <PxBounds3.h>

Collaboration diagram for PxBounds3:

PxVec3
[legend]

List of all members.

Public Member Functions

PX_CUDA_CALLABLE PX_FORCE_INLINE | PxBounds3 ()
Default constructor, not performing any initialization for performance reason.
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxBounds3 (const PxVec3 &minimum, const PxVec3 &maximum)
Construct from two bounding points.
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 		setEmpty ()
Sets empty to true.
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 		setMaximal ()
Sets the bounds to maximum size [-PX_MAX_BOUNDS_EXTENTS, PX_MAX_BOUNDS_EXTENTS].
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 		include (const PxVec3 &v)
expands the volume to include v
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 		include (const PxBounds3 &b)
expands the volume to include b.
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 		isEmpty () const
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 		intersects (const PxBounds3 &b) const
indicates whether the intersection of this and b is empty or not.
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 		intersects1D (const PxBounds3 &a, uint32_t axis) const
computes the 1D-intersection between two AABBs, on a given axis.
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 		contains (const PxVec3 &v) const
indicates if these bounds contain v.
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 		isInside (const PxBounds3 &box) const
checks a box is inside another box.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 		getCenter () const
returns the center of this axis aligned box.
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 		getCenter (uint32_t axis) const
get component of the box's center along a given axis
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 		getExtents (uint32_t axis) const
get component of the box's extents along a given axis
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 		getDimensions () const
returns the dimensions (width/height/depth) of this axis aligned box.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 		getExtents () const
returns the extents, which are half of the width/height/depth.
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 		scaleSafe (float scale)
scales the AABB.
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 		scaleFast (float scale)
scales the AABB.
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 		fattenSafe (float distance)
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 		fattenFast (float distance)
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 		isFinite () const
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 		isValid () const

Static Public Member Functions

static PX_CUDA_CALLABLE
PX_FORCE_INLINE PxBounds3 		empty ()
Return empty bounds.
static PX_CUDA_CALLABLE
PX_FORCE_INLINE PxBounds3 		boundsOfPoints (const PxVec3 &v0, const PxVec3 &v1)
returns the AABB containing v0 and v1.
static PX_CUDA_CALLABLE
PX_FORCE_INLINE PxBounds3 		centerExtents (const PxVec3 &center, const PxVec3 &extent)
returns the AABB from center and extents vectors.
static PX_CUDA_CALLABLE
PX_INLINE PxBounds3 		basisExtent (const PxVec3 &center, const PxMat33 &basis, const PxVec3 &extent)
Construct from center, extent, and (not necessarily orthogonal) basis.
static PX_CUDA_CALLABLE
PX_INLINE PxBounds3 		poseExtent (const PxTransform &pose, const PxVec3 &extent)
Construct from pose and extent.
static PX_CUDA_CALLABLE
PX_INLINE PxBounds3 		transformSafe (const PxMat33 &matrix, const PxBounds3 &bounds)
gets the transformed bounds of the passed AABB (resulting in a bigger AABB).
static PX_CUDA_CALLABLE
PX_INLINE PxBounds3 		transformFast (const PxMat33 &matrix, const PxBounds3 &bounds)
gets the transformed bounds of the passed AABB (resulting in a bigger AABB).
static PX_CUDA_CALLABLE
PX_INLINE PxBounds3 		transformSafe (const PxTransform &transform, const PxBounds3 &bounds)
gets the transformed bounds of the passed AABB (resulting in a bigger AABB).
static PX_CUDA_CALLABLE
PX_INLINE PxBounds3 		transformFast (const PxTransform &transform, const PxBounds3 &bounds)
gets the transformed bounds of the passed AABB (resulting in a bigger AABB).

Public Attributes

PxVec3 minimum
PxVec3 maximum

Detailed Description

Class representing 3D range or axis aligned bounding box.

Stored as minimum and maximum extent corners. Alternate representation would be center and dimensions. May be empty or nonempty. For nonempty bounds, minimum <= maximum has to hold for all axes. Empty bounds have to be represented as minimum = PX_MAX_BOUNDS_EXTENTS and maximum = -PX_MAX_BOUNDS_EXTENTS for all axes. All other representations are invalid and the behavior is undefined.

Constructor & Destructor Documentation

PX_CUDA_CALLABLE PX_FORCE_INLINE PxBounds3::PxBounds3 ( ) [inline]

Default constructor, not performing any initialization for performance reason.

Remarks:
Use empty() function below to construct empty bounds.

Referenced by basisExtent(), boundsOfPoints(), centerExtents(), and empty().

Member Data Documentation

PxVec3 PxBounds3::maximum

Referenced by contains(), fattenFast(), getCenter(), getDimensions(), getExtents(), include(), intersects(), intersects1D(), isEmpty(), isFinite(), isInside(), isValid(), setEmpty(), and setMaximal().

PxVec3 PxBounds3::minimum

Referenced by contains(), fattenFast(), getCenter(), getDimensions(), getExtents(), include(), intersects(), intersects1D(), isEmpty(), isFinite(), isInside(), isValid(), setEmpty(), and setMaximal().

The documentation for this class was generated from the following file:
  • PxBounds3.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxErrorCallback Class Reference

PxErrorCallback Class Reference
[Foundation]

User defined interface class. Used by the library to emit debug information. More...

#include <PxErrorCallback.h>

Inheritance diagram for PxErrorCallback:

PxDefaultErrorCallback
[legend]

List of all members.

Public Member Functions

virtual | ~PxErrorCallback ()
virtual void | reportError (PxErrorCode::Enum code, const char *message, const char *file, int line)=0
Reports an error code.

Detailed Description

User defined interface class. Used by the library to emit debug information.

Note:
The SDK state should not be modified from within any error reporting functions.
Threading: The SDK sequences its calls to the output stream using a mutex, so the class need not be implemented in a thread-safe manner if the SDK is the only client.

Constructor & Destructor Documentation

virtual PxErrorCallback::~PxErrorCallback ( ) [inline, virtual]

Member Function Documentation

virtual void PxErrorCallback::reportError | ( | PxErrorCode::Enum | code,
 |  | const char * | message,
 |  | const char * | file,
 |  | int | line |
 | ) |  |  | [pure virtual]

Reports an error code.

Parameters:
code | Error code, see PxErrorCode
message | Message to display.
file | File error occured in.
line | Line number error occured on.

Implemented in PxDefaultErrorCallback.

The documentation for this class was generated from the following file:
  • PxErrorCallback.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxErrorCode Struct Reference

PxErrorCode Struct Reference
[Foundation]

Error codes. More...

#include <PxErrors.h>

List of all members.

Public Types

enum Enum {
eNO_ERROR = 0,
eDEBUG_INFO = 1,
eDEBUG_WARNING = 2,
eINVALID_PARAMETER = 4,
eINVALID_OPERATION = 8,
eOUT_OF_MEMORY = 16,
eINTERNAL_ERROR = 32,
eABORT = 64,
ePERF_WARNING = 128,
eMASK_ALL = -1
}

Detailed Description

Error codes.

These error codes are passed to PxErrorCallback

See also:
PxErrorCallback

Member Enumeration Documentation

enum PxErrorCode::Enum

Enumerator:
eNO_ERROR
eDEBUG_INFO | An informational message.
eDEBUG_WARNING | a warning message for the user to help with debugging
eINVALID_PARAMETER | method called with invalid parameter(s)
eINVALID_OPERATION | method was called at a time when an operation is not possible
eOUT_OF_MEMORY | method failed to allocate some memory
eINTERNAL_ERROR | The library failed for some reason. Possibly you have passed invalid values like NaNs, which are not checked for.
eABORT | An unrecoverable error, execution should be halted and log output flushed.
ePERF_WARNING | The SDK has determined that an operation may result in poor performance.
eMASK_ALL | A bit mask for including all errors.

The documentation for this struct was generated from the following file:
  • PxErrors.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxFlags< enumtype, storagetype > Class Template Reference

PxFlags< enumtype, storagetype > Class Template Reference
[Foundation]

Container for bitfield flag variables associated with a specific enum type. More...

#include <PxFlags.h>

Collaboration diagram for PxFlags< enumtype, storagetype >:

[legend]

List of all members.

Public Types

typedef storagetype | InternalType

Public Member Functions

PX_CUDA_CALLABLE PX_INLINE | PxFlags (const PxEMPTY)
PX_CUDA_CALLABLE PX_INLINE | PxFlags (void)
PX_CUDA_CALLABLE PX_INLINE | PxFlags (enumtype e)
PX_CUDA_CALLABLE PX_INLINE | PxFlags (const PxFlags< enumtype, storagetype > &f)
PX_CUDA_CALLABLE PX_INLINE | PxFlags (storagetype b)
PX_CUDA_CALLABLE PX_INLINE bool | isSet (enumtype e) const
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > & 		set (enumtype e)
PX_CUDA_CALLABLE PX_INLINE bool | operator== (enumtype e) const
PX_CUDA_CALLABLE PX_INLINE bool | operator== (const PxFlags< enumtype, storagetype > &f) const
PX_CUDA_CALLABLE PX_INLINE bool | operator== (bool b) const
PX_CUDA_CALLABLE PX_INLINE bool | operator!= (enumtype e) const
PX_CUDA_CALLABLE PX_INLINE bool | operator!= (const PxFlags< enumtype, storagetype > &f) const
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > & 		operator= (const PxFlags< enumtype, storagetype > &f)
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > & 		operator= (enumtype e)
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > & 		operator|= (enumtype e)
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > & 		operator|= (const PxFlags< enumtype, storagetype > &f)
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > 		operator| (enumtype e) const
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > 		operator| (const PxFlags< enumtype, storagetype > &f) const
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > & 		operator&= (enumtype e)
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > & 		operator&= (const PxFlags< enumtype, storagetype > &f)
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > 		operator& (enumtype e) const
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > 		operator& (const PxFlags< enumtype, storagetype > &f) const
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > & 		operator^= (enumtype e)
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > & 		operator^= (const PxFlags< enumtype, storagetype > &f)
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > 		operator^ (enumtype e) const
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > 		operator^ (const PxFlags< enumtype, storagetype > &f) const
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > 		operator~ (void) const
PX_CUDA_CALLABLE PX_INLINE | operator bool (void) const
PX_CUDA_CALLABLE PX_INLINE | operator uint8_t (void) const
PX_CUDA_CALLABLE PX_INLINE | operator uint16_t (void) const
PX_CUDA_CALLABLE PX_INLINE | operator uint32_t (void) const
PX_CUDA_CALLABLE PX_INLINE void | clear (enumtype e)

Private Attributes

storagetype | mBits

Friends

PX_INLINE PxFlags< enumtype,
storagetype > 		operator& (enumtype a, PxFlags< enumtype, storagetype > &b)

Detailed Description

template<typename enumtype, typename storagetype = uint32_t>
class PxFlags< enumtype, storagetype >

Container for bitfield flag variables associated with a specific enum type.

This allows for type safe manipulation for bitfields.

Example

enum that defines each bit... struct MyEnum { enum Enum { eMAN = 1, eBEAR = 2, ePIG = 4, }; };

implements some convenient global operators. PX_FLAGS_OPERATORS(MyEnum::Enum, uint8_t);

PxFlags<MyEnum::Enum, uint8_t> myFlags; myFlags |= MyEnum::eMAN; myFlags |= MyEnum::eBEAR | MyEnum::ePIG; if(myFlags & MyEnum::eBEAR) { doSomething(); }

Member Typedef Documentation

template<typename enumtype, typename storagetype = uint32_t>
typedef storagetype PxFlags< enumtype, storagetype >::InternalType

Constructor & Destructor Documentation

template<typename enumtype, typename storagetype = uint32_t>
PX_CUDA_CALLABLE PX_INLINE PxFlags< enumtype, storagetype >::PxFlags ( const PxEMPTY ) [inline, explicit]

Friends And Related Function Documentation

template<typename enumtype, typename storagetype = uint32_t>
PX_INLINE PxFlags<enumtype, storagetype> operator& | ( | enumtype | a,
 |  | PxFlags< enumtype, storagetype > & | b |
 | ) |  |  | [friend]

Member Data Documentation

template<typename enumtype, typename storagetype = uint32_t>
storagetype PxFlags< enumtype, storagetype >::mBits [private]

Referenced by PxFlags< enumtype, storagetype >::clear(), PxFlags< enumtype, storagetype >::isSet(), PxFlags< enumtype, storagetype >::operator bool(), PxFlags< enumtype, storagetype >::operator uint16_t(), PxFlags< enumtype, storagetype >::operator uint32_t(), PxFlags< enumtype, storagetype >::operator uint8_t(), PxFlags< enumtype, storagetype >::operator!=(), PxFlags< enumtype, storagetype >::operator&(), PxFlags< enumtype, storagetype >::operator&=(), PxFlags< enumtype, storagetype >::operator=(), PxFlags< enumtype, storagetype >::operator==(), PxFlags< enumtype, storagetype >::operator^(), PxFlags< enumtype, storagetype >::operator^=(), PxFlags< enumtype, storagetype >::operator|=(), PxFlags< enumtype, storagetype >::operator~(), PxFlags< enumtype, storagetype >::PxFlags(), and PxFlags< enumtype, storagetype >::set().

The documentation for this class was generated from the following file:
  • PxFlags.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxFoundation Class Reference

PxFoundation Class Reference
[Foundation]

Foundation SDK singleton class. More...

#include <PxFoundation.h>

List of all members.

Public Member Functions

virtual void | release ()=0
Destroys the instance it is called on.
virtual PxErrorCallback & | getErrorCallback ()=0
virtual void | setErrorLevel (PxErrorCode::Enum mask=PxErrorCode::eMASK_ALL)=0
virtual PxErrorCode::Enum | getErrorLevel () const =0
virtual PxAllocatorCallback & | getAllocatorCallback ()=0
virtual bool | getReportAllocationNames () const =0
virtual void | setReportAllocationNames (bool value)=0

Protected Member Functions

virtual | ~PxFoundation ()

Detailed Description

Foundation SDK singleton class.

You need to have an instance of this class to instance the higher level SDKs.

Constructor & Destructor Documentation

virtual PxFoundation::~PxFoundation ( ) [inline, protected, virtual]

Member Function Documentation

virtual PxAllocatorCallback& PxFoundation::getAllocatorCallback ( ) [pure virtual]

Retrieves the allocator this object was created with.

virtual PxErrorCallback& PxFoundation::getErrorCallback ( ) [pure virtual]

retrieves error callback

virtual PxErrorCode::Enum PxFoundation::getErrorLevel ( ) const [pure virtual]

Retrieves mask of errors to be reported.

virtual bool PxFoundation::getReportAllocationNames ( ) const [pure virtual]

Retrieves if allocation names are being passed to allocator callback.

virtual void PxFoundation::release ( ) [pure virtual]

Destroys the instance it is called on.

The operation will fail, if there are still modules referencing the foundation object. Release all dependent modules prior to calling this method.

See also:
PxCreateFoundation()

virtual void PxFoundation::setErrorLevel ( PxErrorCode::Enum mask = PxErrorCode::eMASK_ALL ) [pure virtual]

Sets mask of errors to report.

virtual void PxFoundation::setReportAllocationNames ( bool value ) [pure virtual]

Set if allocation names are being passed to allocator callback. Enabled by default in debug and checked build, disabled by default in profile and release build.

The documentation for this class was generated from the following file:
  • PxFoundation.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMat33 Class Reference

PxMat33 Class Reference
[Foundation]

3x3 matrix class More...

#include <PxMat33.h>

Collaboration diagram for PxMat33:

PxVec3
[legend]

List of all members.

Public Member Functions

PX_CUDA_CALLABLE PX_FORCE_INLINE | PxMat33 ()
Default constructor.
PX_CUDA_CALLABLE PX_INLINE | PxMat33 (PxIDENTITY r)
identity constructor
PX_CUDA_CALLABLE PX_INLINE | PxMat33 (PxZERO r)
zero constructor
PX_CUDA_CALLABLE | PxMat33 (const PxVec3 &col0, const PxVec3 &col1, const PxVec3 &col2)
Construct from three base vectors.
PX_CUDA_CALLABLE PX_INLINE | PxMat33 (float r)
constructor from a scalar, which generates a multiple of the identity matrix
PX_CUDA_CALLABLE PX_INLINE | PxMat33 (float values[])
Construct from float[9].
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxMat33 (const PxQuat &q)
Construct from a quaternion.
PX_CUDA_CALLABLE PX_INLINE | PxMat33 (const PxMat33 &other)
Copy constructor.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxMat33 & 		operator= (const PxMat33 &other)
Assignment operator.
PX_CUDA_CALLABLE PX_INLINE bool | operator== (const PxMat33 &m) const
returns true if the two matrices are exactly equal
PX_CUDA_CALLABLE
PX_FORCE_INLINE const PxMat33 		getTranspose () const
Get transposed matrix.
PX_CUDA_CALLABLE PX_INLINE
const PxMat33 		getInverse () const
Get the real inverse.
PX_CUDA_CALLABLE PX_INLINE float | getDeterminant () const
Get determinant.
PX_CUDA_CALLABLE PX_INLINE
const PxMat33 		operator- () const
Unary minus.
PX_CUDA_CALLABLE PX_INLINE
const PxMat33 		operator+ (const PxMat33 &other) const
Add.
PX_CUDA_CALLABLE PX_INLINE
const PxMat33 		operator- (const PxMat33 &other) const
Subtract.
PX_CUDA_CALLABLE PX_INLINE
const PxMat33 		operator* (float scalar) const
Scalar multiplication.
PX_CUDA_CALLABLE PX_INLINE
const PxVec3 		operator* (const PxVec3 &vec) const
Matrix vector multiplication (returns 'this->transform(vec)').
PX_CUDA_CALLABLE
PX_FORCE_INLINE const PxMat33 		operator* (const PxMat33 &other) const
Matrix multiplication.
PX_CUDA_CALLABLE PX_INLINE
PxMat33 & 		operator+= (const PxMat33 &other)
Equals-add.
PX_CUDA_CALLABLE PX_INLINE
PxMat33 & 		operator-= (const PxMat33 &other)
Equals-sub.
PX_CUDA_CALLABLE PX_INLINE
PxMat33 & 		operator*= (float scalar)
Equals scalar multiplication.
PX_CUDA_CALLABLE PX_INLINE
PxMat33 & 		operator*= (const PxMat33 &other)
Equals matrix multiplication.
PX_DEPRECATED PX_CUDA_CALLABLE
PX_FORCE_INLINE float 		operator() (unsigned int row, unsigned int col) const
Element access, mathematical way!
PX_DEPRECATED PX_CUDA_CALLABLE
PX_FORCE_INLINE float & 		operator() (unsigned int row, unsigned int col)
Element access, mathematical way!
PX_CUDA_CALLABLE
PX_FORCE_INLINE const PxVec3 		transform (const PxVec3 &other) const
Transform vector by matrix, equal to v' = M*v.
PX_CUDA_CALLABLE PX_INLINE
const PxVec3 		transformTranspose (const PxVec3 &other) const
Transform vector by matrix transpose, v' = M^t*v.
PX_CUDA_CALLABLE
PX_FORCE_INLINE const float * 		front () const
PX_DEPRECATED PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 & 		operator[] (unsigned int num)
PX_DEPRECATED PX_CUDA_CALLABLE
PX_FORCE_INLINE const PxVec3 & 		operator[] (unsigned int num) const

Static Public Member Functions

PX_CUDA_CALLABLE static
PX_INLINE const PxMat33 		createDiagonal (const PxVec3 &d)
Construct from diagonal, off-diagonals are zero.

Public Attributes

PxVec3 column0
PxVec3 column1
PxVec3 column2

Friends

PxMat33 | operator* (float, const PxMat33 &)

Detailed Description

3x3 matrix class

Some clarifications, as there have been much confusion about matrix formats etc in the past.

Short:

  • Matrix have base vectors in columns (vectors are column matrices, 3x1 matrices).
  • Matrix is physically stored in column major format
  • Matrices are concaternated from left

Long: Given three base vectors a, b and c the matrix is stored as

|a.x b.x c.x| |a.y b.y c.y| |a.z b.z c.z|

Vectors are treated as columns, so the vector v is

|x| |y| |z|

And matrices are applied _before_ the vector (pre-multiplication) v' = M*v

|x'| |a.x b.x c.x| |x| |a.x*x + b.x*y + c.x*z| |y'| = |a.y b.y c.y| * |y| = |a.y*x + b.y*y + c.y*z| |z'| |a.z b.z c.z| |z| |a.z*x + b.z*y + c.z*z|

Physical storage and indexing: To be compatible with popular 3d rendering APIs (read D3d and OpenGL) the physical indexing is

|0 3 6| |1 4 7| |2 5 8|

index = column*3 + row

which in C++ translates to M[column][row]

The mathematical indexing is M_row,column and this is what is used for _-notation so _12 is 1st row, second column and operator(row, column)!

Constructor & Destructor Documentation

PX_CUDA_CALLABLE PX_FORCE_INLINE PxMat33::PxMat33 ( ) [inline]

Default constructor.

PX_CUDA_CALLABLE PX_INLINE PxMat33::PxMat33 ( PxIDENTITY r ) [inline]

identity constructor

References PX_UNUSED().

PX_CUDA_CALLABLE PX_INLINE PxMat33::PxMat33 ( PxZERO r ) [inline]

zero constructor

References PX_UNUSED().

PX_CUDA_CALLABLE PxMat33::PxMat33 | ( | const PxVec3 & | col0,
 |  | const PxVec3 & | col1,
 |  | const PxVec3 & | col2 |
 | ) |  |  | [inline]

Construct from three base vectors.

PX_CUDA_CALLABLE PX_INLINE PxMat33::PxMat33 ( float r ) [inline, explicit]

constructor from a scalar, which generates a multiple of the identity matrix

PX_CUDA_CALLABLE PX_INLINE PxMat33::PxMat33 ( float values[] ) [inline, explicit]

Construct from float[9].

PX_CUDA_CALLABLE PX_FORCE_INLINE PxMat33::PxMat33 ( const PxQuat & q ) [inline, explicit]

Construct from a quaternion.

References PxQuat::w, PxQuat::x, PxQuat::y, and PxQuat::z.

PX_CUDA_CALLABLE PX_INLINE PxMat33::PxMat33 ( const PxMat33 & other ) [inline]

Copy constructor.

Member Function Documentation

PX_CUDA_CALLABLE static PX_INLINE const PxMat33 PxMat33::createDiagonal ( const PxVec3 & d ) [inline, static]

Construct from diagonal, off-diagonals are zero.

References PxVec3::x, PxVec3::y, and PxVec3::z.

Referenced by PxMassProperties::PxMassProperties().

PX_CUDA_CALLABLE PX_FORCE_INLINE const float* PxMat33::front ( ) const [inline]

PX_CUDA_CALLABLE PX_INLINE float PxMat33::getDeterminant ( ) const [inline]

Get determinant.

PX_CUDA_CALLABLE PX_INLINE const PxMat33 PxMat33::getInverse ( ) const [inline]

Get the real inverse.

References column0, column1, column2, PxIdentity, PxVec3::x, PxVec3::y, and PxVec3::z.

PX_CUDA_CALLABLE PX_FORCE_INLINE const PxMat33 PxMat33::getTranspose ( ) const [inline]

Get transposed matrix.

Referenced by PxMassProperties::rotateInertia(), and PxMeshScale::toMat33().

PX_DEPRECATED PX_CUDA_CALLABLE PX_FORCE_INLINE float& PxMat33::operator() | ( | unsigned int | row,
 |  | unsigned int | col |
 | ) |  |  | [inline]

Element access, mathematical way!

PX_DEPRECATED PX_CUDA_CALLABLE PX_FORCE_INLINE float PxMat33::operator() | ( | unsigned int | row,
 |  | unsigned int | col |
 | ) |  |  | const [inline]

Element access, mathematical way!

PX_CUDA_CALLABLE PX_FORCE_INLINE const PxMat33 PxMat33::operator* ( const PxMat33 & other ) const [inline]

Matrix multiplication.

References column0, column1, and column2.

PX_CUDA_CALLABLE PX_INLINE const PxVec3 PxMat33::operator* ( const PxVec3 & vec ) const [inline]

Matrix vector multiplication (returns 'this->transform(vec)').

PX_CUDA_CALLABLE PX_INLINE const PxMat33 PxMat33::operator* ( float scalar ) const [inline]

Scalar multiplication.

PX_CUDA_CALLABLE PX_INLINE PxMat33& PxMat33::operator*= ( const PxMat33 & other ) [inline]

Equals matrix multiplication.

PX_CUDA_CALLABLE PX_INLINE PxMat33& PxMat33::operator*= ( float scalar ) [inline]

Equals scalar multiplication.

PX_CUDA_CALLABLE PX_INLINE const PxMat33 PxMat33::operator+ ( const PxMat33 & other ) const [inline]

Add.

References column0, column1, and column2.

PX_CUDA_CALLABLE PX_INLINE PxMat33& PxMat33::operator+= ( const PxMat33 & other ) [inline]

Equals-add.

References column0, column1, and column2.

PX_CUDA_CALLABLE PX_INLINE const PxMat33 PxMat33::operator- ( const PxMat33 & other ) const [inline]

Subtract.

References column0, column1, and column2.

PX_CUDA_CALLABLE PX_INLINE const PxMat33 PxMat33::operator- ( ) const [inline]

Unary minus.

PX_CUDA_CALLABLE PX_INLINE PxMat33& PxMat33::operator-= ( const PxMat33 & other ) [inline]

Equals-sub.

References column0, column1, and column2.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxMat33& PxMat33::operator= ( const PxMat33 & other ) [inline]

Assignment operator.

References column0, column1, and column2.

PX_CUDA_CALLABLE PX_INLINE bool PxMat33::operator== ( const PxMat33 & m ) const [inline]

returns true if the two matrices are exactly equal

References column0, column1, and column2.

PX_DEPRECATED PX_CUDA_CALLABLE PX_FORCE_INLINE const PxVec3& PxMat33::operator[] ( unsigned int num ) const [inline]

PX_DEPRECATED PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3& PxMat33::operator[] ( unsigned int num ) [inline]

PX_CUDA_CALLABLE PX_FORCE_INLINE const PxVec3 PxMat33::transform ( const PxVec3 & other ) const [inline]

Transform vector by matrix, equal to v' = M*v.

References PxVec3::x, PxVec3::y, and PxVec3::z.

PX_CUDA_CALLABLE PX_INLINE const PxVec3 PxMat33::transformTranspose ( const PxVec3 & other ) const [inline]

Transform vector by matrix transpose, v' = M^t*v.

Friends And Related Function Documentation

PxMat33 operator* | ( | float | ,
 |  | const PxMat33 & |  |
 | ) |  |  | [friend]

Member Data Documentation

PxVec3 PxMat33::column0

Referenced by PxBounds3::basisExtent(), getInverse(), PxMassProperties::getMassSpaceInertia(), operator*(), operator+(), operator+=(), operator-(), operator-=(), operator=(), operator==(), PxQuat::PxQuat(), PxMassProperties::rotateInertia(), PxMassProperties::scaleInertia(), PxMassProperties::sum(), PxMeshScale::toMat33(), and PxMassProperties::translateInertia().

PxVec3 PxMat33::column1

Referenced by PxBounds3::basisExtent(), getInverse(), PxMassProperties::getMassSpaceInertia(), operator*(), operator+(), operator+=(), operator-(), operator-=(), operator=(), operator==(), PxQuat::PxQuat(), PxMassProperties::rotateInertia(), PxMassProperties::scaleInertia(), PxMassProperties::sum(), PxMeshScale::toMat33(), and PxMassProperties::translateInertia().

PxVec3 PxMat33::column2

Referenced by PxBounds3::basisExtent(), getInverse(), PxMassProperties::getMassSpaceInertia(), operator*(), operator+(), operator+=(), operator-(), operator-=(), operator=(), operator==(), PxQuat::PxQuat(), PxMassProperties::rotateInertia(), PxMassProperties::scaleInertia(), PxMassProperties::sum(), PxMeshScale::toMat33(), and PxMassProperties::translateInertia().

The documentation for this class was generated from the following file:
  • PxMat33.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMat44 Class Reference

PxMat44 Class Reference
[Foundation]

4x4 matrix class More...

#include <PxMat44.h>

Collaboration diagram for PxMat44:

PxVec4
[legend]

List of all members.

Public Member Functions

PX_CUDA_CALLABLE PX_INLINE | PxMat44 ()
Default constructor.
PX_CUDA_CALLABLE PX_INLINE | PxMat44 (PxIDENTITY r)
identity constructor
PX_CUDA_CALLABLE PX_INLINE | PxMat44 (PxZERO r)
zero constructor
PX_CUDA_CALLABLE | PxMat44 (const PxVec4 &col0, const PxVec4 &col1, const PxVec4 &col2, const PxVec4 &col3)
Construct from four 4-vectors.
PX_CUDA_CALLABLE PX_INLINE | PxMat44 (float r)
constructor that generates a multiple of the identity matrix
PX_CUDA_CALLABLE | PxMat44 (const PxVec3 &col0, const PxVec3 &col1, const PxVec3 &col2, const PxVec3 &col3)
Construct from three base vectors and a translation.
PX_CUDA_CALLABLE PX_INLINE | PxMat44 (float values[])
Construct from float[16].
PX_CUDA_CALLABLE PX_INLINE | PxMat44 (const PxQuat &q)
Construct from a quaternion.
PX_CUDA_CALLABLE PX_INLINE | PxMat44 (const PxVec4 &diagonal)
Construct from a diagonal vector.
PX_CUDA_CALLABLE | PxMat44 (const PxMat33 &axes, const PxVec3 &position)
Construct from Mat33 and a translation.
PX_CUDA_CALLABLE | PxMat44 (const PxTransform &t)
PX_CUDA_CALLABLE PX_INLINE bool | operator== (const PxMat44 &m) const
returns true if the two matrices are exactly equal
PX_CUDA_CALLABLE PX_INLINE | PxMat44 (const PxMat44 &other)
Copy constructor.
PX_CUDA_CALLABLE PX_INLINE
PxMat44 & 		operator= (const PxMat44 &other)
Assignment operator.
PX_CUDA_CALLABLE PX_INLINE
const PxMat44 		getTranspose () const
Get transposed matrix.
PX_CUDA_CALLABLE PX_INLINE
const PxMat44 		operator- () const
Unary minus.
PX_CUDA_CALLABLE PX_INLINE
const PxMat44 		operator+ (const PxMat44 &other) const
Add.
PX_CUDA_CALLABLE PX_INLINE
const PxMat44 		operator- (const PxMat44 &other) const
Subtract.
PX_CUDA_CALLABLE PX_INLINE
const PxMat44 		operator* (float scalar) const
Scalar multiplication.
PX_CUDA_CALLABLE PX_INLINE
const PxMat44 		operator* (const PxMat44 &other) const
Matrix multiplication.
PX_CUDA_CALLABLE PX_INLINE
PxMat44 & 		operator+= (const PxMat44 &other)
Equals-add.
PX_CUDA_CALLABLE PX_INLINE
PxMat44 & 		operator-= (const PxMat44 &other)
Equals-sub.
PX_CUDA_CALLABLE PX_INLINE
PxMat44 & 		operator*= (float scalar)
Equals scalar multiplication.
PX_CUDA_CALLABLE PX_INLINE
PxMat44 & 		operator*= (const PxMat44 &other)
Equals matrix multiplication.
PX_DEPRECATED PX_CUDA_CALLABLE
PX_FORCE_INLINE float 		operator() (unsigned int row, unsigned int col) const
Element access, mathematical way!
PX_DEPRECATED PX_CUDA_CALLABLE
PX_FORCE_INLINE float & 		operator() (unsigned int row, unsigned int col)
Element access, mathematical way!
PX_CUDA_CALLABLE PX_INLINE
const PxVec4 		transform (const PxVec4 &other) const
Transform vector by matrix, equal to v' = M*v.
PX_CUDA_CALLABLE PX_INLINE
const PxVec3 		transform (const PxVec3 &other) const
Transform vector by matrix, equal to v' = M*v.
PX_CUDA_CALLABLE PX_INLINE
const PxVec4 		rotate (const PxVec4 &other) const
Rotate vector by matrix, equal to v' = M*v.
PX_CUDA_CALLABLE PX_INLINE
const PxVec3 		rotate (const PxVec3 &other) const
Rotate vector by matrix, equal to v' = M*v.
PX_CUDA_CALLABLE PX_INLINE
const PxVec3 		getBasis (int num) const
PX_CUDA_CALLABLE PX_INLINE
const PxVec3 		getPosition () const
PX_CUDA_CALLABLE PX_INLINE void | setPosition (const PxVec3 &position)
PX_CUDA_CALLABLE
PX_FORCE_INLINE const float * 		front () const
PX_DEPRECATED PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec4 & 		operator[] (unsigned int num)
PX_DEPRECATED PX_CUDA_CALLABLE
PX_FORCE_INLINE const PxVec4 & 		operator[] (unsigned int num) const
PX_CUDA_CALLABLE PX_INLINE void | scale (const PxVec4 &p)
PX_CUDA_CALLABLE PX_INLINE
const PxMat44 		inverseRT (void) const
PX_CUDA_CALLABLE PX_INLINE bool | isFinite () const

Public Attributes

PxVec4 column0
PxVec4 column1
PxVec4 column2
PxVec4 column3

Friends

PxMat44 | operator* (float, const PxMat44 &)

Detailed Description

4x4 matrix class

This class is layout-compatible with D3D and OpenGL matrices. More notes on layout are given in the PxMat33

See also:
PxMat33 PxTransform

Constructor & Destructor Documentation

PX_CUDA_CALLABLE PX_INLINE PxMat44::PxMat44 ( ) [inline]

Default constructor.

PX_CUDA_CALLABLE PX_INLINE PxMat44::PxMat44 ( PxIDENTITY r ) [inline]

identity constructor

References PX_UNUSED().

PX_CUDA_CALLABLE PX_INLINE PxMat44::PxMat44 ( PxZERO r ) [inline]

zero constructor

References PX_UNUSED().

PX_CUDA_CALLABLE PxMat44::PxMat44 | ( | const PxVec4 & | col0,
 |  | const PxVec4 & | col1,
 |  | const PxVec4 & | col2,
 |  | const PxVec4 & | col3 |
 | ) |  |  | [inline]

Construct from four 4-vectors.

PX_CUDA_CALLABLE PX_INLINE PxMat44::PxMat44 ( float r ) [inline, explicit]

constructor that generates a multiple of the identity matrix

PX_CUDA_CALLABLE PxMat44::PxMat44 | ( | const PxVec3 & | col0,
 |  | const PxVec3 & | col1,
 |  | const PxVec3 & | col2,
 |  | const PxVec3 & | col3 |
 | ) |  |  | [inline]

Construct from three base vectors and a translation.

PX_CUDA_CALLABLE PX_INLINE PxMat44::PxMat44 ( float values[] ) [inline, explicit]

Construct from float[16].

PX_CUDA_CALLABLE PX_INLINE PxMat44::PxMat44 ( const PxQuat & q ) [inline, explicit]

Construct from a quaternion.

References PxQuat::w, PxQuat::x, PxQuat::y, and PxQuat::z.

PX_CUDA_CALLABLE PX_INLINE PxMat44::PxMat44 ( const PxVec4 & diagonal ) [inline, explicit]

Construct from a diagonal vector.

PX_CUDA_CALLABLE PxMat44::PxMat44 | ( | const PxMat33 & | axes,
 |  | const PxVec3 & | position |
 | ) |  |  | [inline]

Construct from Mat33 and a translation.

PX_CUDA_CALLABLE PxMat44::PxMat44 ( const PxTransform & t ) [inline]

References PxTransform::p, and PxTransform::q.

PX_CUDA_CALLABLE PX_INLINE PxMat44::PxMat44 ( const PxMat44 & other ) [inline]

Copy constructor.

Member Function Documentation

PX_CUDA_CALLABLE PX_FORCE_INLINE const float* PxMat44::front ( ) const [inline]

PX_CUDA_CALLABLE PX_INLINE const PxVec3 PxMat44::getBasis ( int num ) const [inline]

References PX_ASSERT.

PX_CUDA_CALLABLE PX_INLINE const PxVec3 PxMat44::getPosition ( ) const [inline]

PX_CUDA_CALLABLE PX_INLINE const PxMat44 PxMat44::getTranspose ( ) const [inline]

Get transposed matrix.

PX_CUDA_CALLABLE PX_INLINE const PxMat44 PxMat44::inverseRT ( void ) const [inline]

References PxVec3::z.

PX_CUDA_CALLABLE PX_INLINE bool PxMat44::isFinite ( ) const [inline]

PX_DEPRECATED PX_CUDA_CALLABLE PX_FORCE_INLINE float& PxMat44::operator() | ( | unsigned int | row,
 |  | unsigned int | col |
 | ) |  |  | [inline]

Element access, mathematical way!

PX_DEPRECATED PX_CUDA_CALLABLE PX_FORCE_INLINE float PxMat44::operator() | ( | unsigned int | row,
 |  | unsigned int | col |
 | ) |  |  | const [inline]

Element access, mathematical way!

PX_CUDA_CALLABLE PX_INLINE const PxMat44 PxMat44::operator* ( const PxMat44 & other ) const [inline]

Matrix multiplication.

References column0, column1, column2, and column3.

PX_CUDA_CALLABLE PX_INLINE const PxMat44 PxMat44::operator* ( float scalar ) const [inline]

Scalar multiplication.

PX_CUDA_CALLABLE PX_INLINE PxMat44& PxMat44::operator*= ( const PxMat44 & other ) [inline]

Equals matrix multiplication.

PX_CUDA_CALLABLE PX_INLINE PxMat44& PxMat44::operator*= ( float scalar ) [inline]

Equals scalar multiplication.

PX_CUDA_CALLABLE PX_INLINE const PxMat44 PxMat44::operator+ ( const PxMat44 & other ) const [inline]

Add.

References column0, column1, column2, and column3.

PX_CUDA_CALLABLE PX_INLINE PxMat44& PxMat44::operator+= ( const PxMat44 & other ) [inline]

Equals-add.

References column0, column1, column2, and column3.

PX_CUDA_CALLABLE PX_INLINE const PxMat44 PxMat44::operator- ( const PxMat44 & other ) const [inline]

Subtract.

References column0, column1, column2, and column3.

PX_CUDA_CALLABLE PX_INLINE const PxMat44 PxMat44::operator- ( ) const [inline]

Unary minus.

PX_CUDA_CALLABLE PX_INLINE PxMat44& PxMat44::operator-= ( const PxMat44 & other ) [inline]

Equals-sub.

References column0, column1, column2, and column3.

PX_CUDA_CALLABLE PX_INLINE PxMat44& PxMat44::operator= ( const PxMat44 & other ) [inline]

Assignment operator.

References column0, column1, column2, and column3.

PX_CUDA_CALLABLE PX_INLINE bool PxMat44::operator== ( const PxMat44 & m ) const [inline]

returns true if the two matrices are exactly equal

References column0, column1, column2, and column3.

PX_DEPRECATED PX_CUDA_CALLABLE PX_FORCE_INLINE const PxVec4& PxMat44::operator[] ( unsigned int num ) const [inline]

PX_DEPRECATED PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec4& PxMat44::operator[] ( unsigned int num ) [inline]

PX_CUDA_CALLABLE PX_INLINE const PxVec3 PxMat44::rotate ( const PxVec3 & other ) const [inline]

Rotate vector by matrix, equal to v' = M*v.

PX_CUDA_CALLABLE PX_INLINE const PxVec4 PxMat44::rotate ( const PxVec4 & other ) const [inline]

Rotate vector by matrix, equal to v' = M*v.

References PxVec4::x, PxVec4::y, and PxVec4::z.

PX_CUDA_CALLABLE PX_INLINE void PxMat44::scale ( const PxVec4 & p ) [inline]

References PxVec4::w, PxVec4::x, PxVec4::y, and PxVec4::z.

PX_CUDA_CALLABLE PX_INLINE void PxMat44::setPosition ( const PxVec3 & position ) [inline]

References PxVec3::x, PxVec3::y, and PxVec3::z.

PX_CUDA_CALLABLE PX_INLINE const PxVec3 PxMat44::transform ( const PxVec3 & other ) const [inline]

Transform vector by matrix, equal to v' = M*v.

PX_CUDA_CALLABLE PX_INLINE const PxVec4 PxMat44::transform ( const PxVec4 & other ) const [inline]

Transform vector by matrix, equal to v' = M*v.

References PxVec4::w, PxVec4::x, PxVec4::y, and PxVec4::z.

Friends And Related Function Documentation

PxMat44 operator* | ( | float | ,
 |  | const PxMat44 & |  |
 | ) |  |  | [friend]

Member Data Documentation

PxVec4 PxMat44::column0

Referenced by operator*(), operator+(), operator+=(), operator-(), operator-=(), operator=(), operator==(), and PxTransform::PxTransform().

PxVec4 PxMat44::column1

Referenced by operator*(), operator+(), operator+=(), operator-(), operator-=(), operator=(), operator==(), and PxTransform::PxTransform().

PxVec4 PxMat44::column2

Referenced by operator*(), operator+(), operator+=(), operator-(), operator-=(), operator=(), operator==(), and PxTransform::PxTransform().

PxVec4 PxMat44::column3

Referenced by operator*(), operator+(), operator+=(), operator-(), operator-=(), operator=(), operator==(), and PxTransform::PxTransform().

The documentation for this class was generated from the following file:
  • PxMat44.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPlane Class Reference

PxPlane Class Reference
[Foundation]

Representation of a plane. More...

#include <PxPlane.h>

Collaboration diagram for PxPlane:

PxVec3
[legend]

List of all members.

Public Member Functions

PX_CUDA_CALLABLE PX_FORCE_INLINE | PxPlane ()
Constructor.
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxPlane (float nx, float ny, float nz, float distance)
Constructor from a normal and a distance.
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxPlane (const PxVec3 &normal, float distance)
Constructor from a normal and a distance.
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxPlane (const PxVec3 &point, const PxVec3 &normal)
Constructor from a point on the plane and a normal.
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxPlane (const PxVec3 &p0, const PxVec3 &p1, const PxVec3 &p2)
Constructor from three points.
PX_CUDA_CALLABLE PX_INLINE bool | operator== (const PxPlane &p) const
returns true if the two planes are exactly equal
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 		distance (const PxVec3 &p) const
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 		contains (const PxVec3 &p) const
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 		project (const PxVec3 &p) const
projects p into the plane
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 		pointInPlane () const
find an arbitrary point in the plane
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 		normalize ()
equivalent plane with unit normal

Public Attributes

PxVec3 n
The normal to the plane.
float | d
The distance from the origin.

Detailed Description

Representation of a plane.

Plane equation used: n.dot(v) + d = 0

Constructor & Destructor Documentation

PX_CUDA_CALLABLE PX_FORCE_INLINE PxPlane::PxPlane ( ) [inline]

Constructor.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxPlane::PxPlane | ( | float | nx,
 |  | float | ny,
 |  | float | nz,
 |  | float | distance |
 | ) |  |  | [inline]

Constructor from a normal and a distance.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxPlane::PxPlane | ( | const PxVec3 & | normal,
 |  | float | distance |
 | ) |  |  | [inline]

Constructor from a normal and a distance.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxPlane::PxPlane | ( | const PxVec3 & | point,
 |  | const PxVec3 & | normal |
 | ) |  |  | [inline]

Constructor from a point on the plane and a normal.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxPlane::PxPlane | ( | const PxVec3 & | p0,
 |  | const PxVec3 & | p1,
 |  | const PxVec3 & | p2 |
 | ) |  |  | [inline]

Constructor from three points.

References PxVec3::dot().

Member Function Documentation

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxPlane::contains ( const PxVec3 & p ) const [inline]

References PxAbs().

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxPlane::distance ( const PxVec3 & p ) const [inline]

References PxVec3::dot().

PX_CUDA_CALLABLE PX_FORCE_INLINE void PxPlane::normalize ( ) [inline]

equivalent plane with unit normal

PX_CUDA_CALLABLE PX_INLINE bool PxPlane::operator== ( const PxPlane & p ) const [inline]

returns true if the two planes are exactly equal

References d, and n.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxPlane::pointInPlane ( ) const [inline]

find an arbitrary point in the plane

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxPlane::project ( const PxVec3 & p ) const [inline]

projects p into the plane

Member Data Documentation

float PxPlane::d

The distance from the origin.

Referenced by PxTransform::inverseTransform(), operator==(), and PxTransform::transform().

PxVec3 PxPlane::n

The normal to the plane.

Referenced by PxTransform::inverseTransform(), operator==(), and PxTransform::transform().

The documentation for this class was generated from the following file:
  • PxPlane.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPackValidation Struct Reference

PxPackValidation Struct Reference
[Foundation]

#include <PxPreprocessor.h>

List of all members.

Public Attributes

char _
long long a

Member Data Documentation

char PxPackValidation::_

long long PxPackValidation::a

The documentation for this struct was generated from the following file:
  • PxPreprocessor.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxQuat Class Reference

PxQuat Class Reference
[Foundation]

This is a quaternion class. For more information on quaternion mathematics consult a mathematics source on complex numbers. More...

#include <PxQuat.h>

List of all members.

Public Member Functions

PX_CUDA_CALLABLE PX_FORCE_INLINE | PxQuat ()
Default constructor, does not do any initialization.
PX_CUDA_CALLABLE PX_INLINE | PxQuat (PxIDENTITY r)
identity constructor
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxQuat (float r)
Constructor from a scalar: sets the real part w to the scalar value, and the imaginary parts (x,y,z) to zero.
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxQuat (float nx, float ny, float nz, float nw)
Constructor. Take note of the order of the elements!
PX_CUDA_CALLABLE PX_INLINE | PxQuat (float angleRadians, const PxVec3 &unitAxis)
Creates from angle-axis representation.
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxQuat (const PxQuat &v)
Copy ctor.
PX_CUDA_CALLABLE PX_INLINE | PxQuat (const PxMat33 &m)
Creates from orientation matrix.
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 		isIdentity () const
returns true if quat is identity
PX_CUDA_CALLABLE bool | isFinite () const
returns true if all elements are finite (not NAN or INF, etc.)
PX_CUDA_CALLABLE bool | isUnit () const
returns true if finite and magnitude is close to unit
PX_CUDA_CALLABLE bool | isSane () const
returns true if finite and magnitude is reasonably close to unit to allow for some accumulation of error vs isValid
PX_CUDA_CALLABLE PX_INLINE bool | operator== (const PxQuat &q) const
returns true if the two quaternions are exactly equal
PX_CUDA_CALLABLE PX_INLINE void | toRadiansAndUnitAxis (float &angle, PxVec3 &axis) const
converts this quaternion to angle-axis representation
PX_CUDA_CALLABLE PX_INLINE float | getAngle () const
Gets the angle between this quat and the identity quaternion.
PX_CUDA_CALLABLE PX_INLINE float | getAngle (const PxQuat &q) const
Gets the angle between this quat and the argument.
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 		magnitudeSquared () const
This is the squared 4D vector length, should be 1 for unit quaternions.
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 		dot (const PxQuat &v) const
returns the scalar product of this and other.
PX_CUDA_CALLABLE PX_INLINE PxQuat | getNormalized () const
PX_CUDA_CALLABLE PX_INLINE float | magnitude () const
PX_CUDA_CALLABLE PX_INLINE float | normalize ()
maps to the closest unit quaternion.
PX_CUDA_CALLABLE PX_INLINE PxQuat | getConjugate () const
PX_CUDA_CALLABLE PX_INLINE PxVec3 | getImaginaryPart () const
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 		getBasisVector0 () const
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 		getBasisVector1 () const
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 		getBasisVector2 () const
PX_CUDA_CALLABLE
PX_FORCE_INLINE const PxVec3 		rotate (const PxVec3 &v) const
PX_CUDA_CALLABLE
PX_FORCE_INLINE const PxVec3 		rotateInv (const PxVec3 &v) const
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxQuat & 		operator= (const PxQuat &p)
Assignment operator.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxQuat & 		operator*= (const PxQuat &q)
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxQuat & 		operator+= (const PxQuat &q)
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxQuat & 		operator-= (const PxQuat &q)
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxQuat & 		operator*= (const float s)
PX_CUDA_CALLABLE PX_INLINE PxQuat | operator* (const PxQuat &q) const
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxQuat 		operator+ (const PxQuat &q) const
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxQuat 		operator- () const
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxQuat 		operator- (const PxQuat &q) const
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxQuat 		operator* (float r) const

Public Attributes

float | x
float | y
float | z
float | w

Detailed Description

This is a quaternion class. For more information on quaternion mathematics consult a mathematics source on complex numbers.

Constructor & Destructor Documentation

PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat::PxQuat ( ) [inline]

Default constructor, does not do any initialization.

Referenced by PxQuat().

PX_CUDA_CALLABLE PX_INLINE PxQuat::PxQuat ( PxIDENTITY r ) [inline]

identity constructor

References PX_UNUSED().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat::PxQuat ( float r ) [inline, explicit]

Constructor from a scalar: sets the real part w to the scalar value, and the imaginary parts (x,y,z) to zero.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat::PxQuat | ( | float | nx,
 |  | float | ny,
 |  | float | nz,
 |  | float | nw |
 | ) |  |  | [inline]

Constructor. Take note of the order of the elements!

PX_CUDA_CALLABLE PX_INLINE PxQuat::PxQuat | ( | float | angleRadians,
 |  | const PxVec3 & | unitAxis |
 | ) |  |  | [inline]

Creates from angle-axis representation.

Axis must be normalized!

Angle is in radians!

Unit: Radians

References PxVec3::magnitude(), PX_ASSERT, PxAbs(), PxCos(), PxSin(), PxVec3::x, PxVec3::y, and PxVec3::z.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat::PxQuat ( const PxQuat & v ) [inline]

Copy ctor.

Member Function Documentation

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxQuat::dot ( const PxQuat & v ) const [inline]

returns the scalar product of this and other.

References w, x, y, and z.

PX_CUDA_CALLABLE PX_INLINE float PxQuat::getAngle ( const PxQuat & q ) const [inline]

Gets the angle between this quat and the argument.

Unit: Radians

References PxAcos().

PX_CUDA_CALLABLE PX_INLINE float PxQuat::getAngle ( ) const [inline]

Gets the angle between this quat and the identity quaternion.

Unit: Radians

References PxAcos().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxQuat::getBasisVector0 ( ) const [inline]

brief computes rotation of x-axis

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxQuat::getBasisVector1 ( ) const [inline]

brief computes rotation of y-axis

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxQuat::getBasisVector2 ( ) const [inline]

brief computes rotation of z-axis

PX_CUDA_CALLABLE PX_INLINE PxQuat PxQuat::getConjugate ( ) const [inline]

Referenced by PxMassProperties::scaleInertia().

PX_CUDA_CALLABLE PX_INLINE PxVec3 PxQuat::getImaginaryPart ( ) const [inline]

PX_CUDA_CALLABLE PX_INLINE PxQuat PxQuat::getNormalized ( ) const [inline]

PX_CUDA_CALLABLE bool PxQuat::isFinite ( ) const [inline]

returns true if all elements are finite (not NAN or INF, etc.)

References PxIsFinite().

Referenced by PxMassProperties::getMassSpaceInertia().

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxQuat::isIdentity ( ) const [inline]

returns true if quat is identity

PX_CUDA_CALLABLE bool PxQuat::isSane ( ) const [inline]

returns true if finite and magnitude is reasonably close to unit to allow for some accumulation of error vs isValid

References PxAbs().

Referenced by PxTransform::PxTransform().

PX_CUDA_CALLABLE bool PxQuat::isUnit ( ) const [inline]

returns true if finite and magnitude is close to unit

References PxAbs().

Referenced by PxTriangleMeshGeometry::isValid(), PxConvexMeshGeometry::isValid(), PxMeshScale::PxMeshScale(), PxMassProperties::rotateInertia(), and PxMassProperties::scaleInertia().

PX_CUDA_CALLABLE PX_INLINE float PxQuat::magnitude ( ) const [inline]

References PxSqrt().

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxQuat::magnitudeSquared ( ) const [inline]

This is the squared 4D vector length, should be 1 for unit quaternions.

PX_CUDA_CALLABLE PX_INLINE float PxQuat::normalize ( ) [inline]

maps to the closest unit quaternion.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat PxQuat::operator* ( float r ) const [inline]

PX_CUDA_CALLABLE PX_INLINE PxQuat PxQuat::operator* ( const PxQuat & q ) const [inline]

quaternion multiplication

References w, x, y, and z.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat& PxQuat::operator*= ( const float s ) [inline]

PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat& PxQuat::operator*= ( const PxQuat & q ) [inline]

References w, x, y, and z.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat PxQuat::operator+ ( const PxQuat & q ) const [inline]

quaternion addition

References w, x, y, and z.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat& PxQuat::operator+= ( const PxQuat & q ) [inline]

References w, x, y, and z.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat PxQuat::operator- ( const PxQuat & q ) const [inline]

References w, x, y, and z.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat PxQuat::operator- ( ) const [inline]

quaternion subtraction

PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat& PxQuat::operator-= ( const PxQuat & q ) [inline]

References w, x, y, and z.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat& PxQuat::operator= ( const PxQuat & p ) [inline]

Assignment operator.

References w, x, y, and z.

PX_CUDA_CALLABLE PX_INLINE bool PxQuat::operator== ( const PxQuat & q ) const [inline]

returns true if the two quaternions are exactly equal

References w, x, y, and z.

PX_CUDA_CALLABLE PX_FORCE_INLINE const PxVec3 PxQuat::rotate ( const PxVec3 & v ) const [inline]

rotates passed vec by this (assumed unitary)

References PxVec3::x, PxVec3::y, and PxVec3::z.

Referenced by PxMassProperties::PxMassProperties(), and PxTransform::transformInv().

PX_CUDA_CALLABLE PX_FORCE_INLINE const PxVec3 PxQuat::rotateInv ( const PxVec3 & v ) const [inline]

inverse rotates passed vec by this (assumed unitary)

References PxVec3::x, PxVec3::y, and PxVec3::z.

Referenced by PxMassProperties::PxMassProperties().

PX_CUDA_CALLABLE PX_INLINE void PxQuat::toRadiansAndUnitAxis | ( | float & | angle,
 |  | PxVec3 & | axis |
 | ) |  |  | const [inline]

converts this quaternion to angle-axis representation

References PxAbs(), PxAtan2(), PxPi, and PxRecipSqrt().

Member Data Documentation

float PxQuat::w

Referenced by dot(), operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-=(), operator=(), operator==(), PxMat33::PxMat33(), and PxMat44::PxMat44().

float PxQuat::x

the quaternion elements

Referenced by dot(), operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-=(), operator=(), operator==(), PxMat33::PxMat33(), and PxMat44::PxMat44().

float PxQuat::y

Referenced by dot(), operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-=(), operator=(), operator==(), PxMat33::PxMat33(), and PxMat44::PxMat44().

float PxQuat::z

Referenced by dot(), operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-=(), operator=(), operator==(), PxMat33::PxMat33(), and PxMat44::PxMat44().

The documentation for this class was generated from the following files:
  • PxQuat.h
  • PxMat33.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxStrideIterator< T > Class Template Reference

PxStrideIterator< T > Class Template Reference
[Foundation]

Iterator class for iterating over arrays of data that may be interleaved with other data. More...

#include <PxStrideIterator.h>

Collaboration diagram for PxStrideIterator< T >:

[legend]

List of all members.

Public Member Functions

PX_INLINE | PxStrideIterator (T *ptr=NULL, PxU32 stride=sizeof(T))
Constructor.
PX_INLINE | PxStrideIterator (const PxStrideIterator< typename StripConst< T >::Type > &strideIterator)
Copy constructor.
PX_INLINE T * | ptr () const
Get pointer to element.
PX_INLINE PxU32 | stride () const
Get stride.
PX_INLINE T & | operator* () const
Indirection operator.
PX_INLINE T * | operator-> () const
Dereferencing operator.
PX_INLINE T & | operator[] (unsigned int i) const
Indexing operator.
PX_INLINE PxStrideIterator & | operator++ ()
Pre-increment operator.
PX_INLINE PxStrideIterator | operator++ (int)
Post-increment operator.
PX_INLINE PxStrideIterator & | operator-- ()
Pre-decrement operator.
PX_INLINE PxStrideIterator | operator-- (int)
Post-decrement operator.
PX_INLINE PxStrideIterator | operator+ (unsigned int i) const
Addition operator.
PX_INLINE PxStrideIterator | operator- (unsigned int i) const
Subtraction operator.
PX_INLINE PxStrideIterator & | operator+= (unsigned int i)
Addition compound assignment operator.
PX_INLINE PxStrideIterator & | operator-= (unsigned int i)
Subtraction compound assignment operator.
PX_INLINE int | operator- (const PxStrideIterator &other) const
Iterator difference.
PX_INLINE bool | operator== (const PxStrideIterator &other) const
Equality operator.
PX_INLINE bool | operator!= (const PxStrideIterator &other) const
Inequality operator.
PX_INLINE bool | operator< (const PxStrideIterator &other) const
Less than operator.
PX_INLINE bool | operator> (const PxStrideIterator &other) const
Greater than operator.
PX_INLINE bool | operator<= (const PxStrideIterator &other) const
Less or equal than operator.
PX_INLINE bool | operator>= (const PxStrideIterator &other) const
Greater or equal than operator.

Private Member Functions

PX_INLINE bool | isCompatible (const PxStrideIterator &other) const

Static Private Member Functions

static PX_INLINE T * | byteAdd (T *ptr, PxU32 bytes)
static PX_INLINE T * | byteSub (T *ptr, PxU32 bytes)

Private Attributes

T * | mPtr
PxU32 mStride

Detailed Description

template<typename T>
class PxStrideIterator< T >

Iterator class for iterating over arrays of data that may be interleaved with other data.

This class is used for iterating over arrays of elements that may have a larger element to element offset, called the stride, than the size of the element itself (non-contiguous).

The template parameter T denotes the type of the element accessed. The stride itself is stored as a member field so multiple instances of a PxStrideIterator class can have different strides. This is useful for cases were the stride depends on runtime configuration.

The stride iterator can be used for index based access, e.g.:

    PxStrideIterator<PxVec3> strideArray(...);
    for (unsigned i = 0; i < 10; ++i)
    {
        PxVec3& vec = strideArray[i];
        ...
    }
or iteration by increment, e.g.:
    PxStrideIterator<PxVec3> strideBegin(...);
    PxStrideIterator<PxVec3> strideEnd(strideBegin + 10);
    for (PxStrideIterator<PxVec3> it = strideBegin; it < strideEnd; ++it)
    {
        PxVec3& vec = *it;
        ...
    }

Two special cases:

  • A stride of sizeof(T) represents a regular c array of type T.
  • A stride of 0 can be used to describe re-occurrence of the same element multiple times.

Constructor & Destructor Documentation

template<typename T>
PX_INLINE PxStrideIterator< T >::PxStrideIterator | ( | T * | ptr = NULL,
 |  | PxU32 | stride = sizeof(T) |
 | ) |  |  | [inline, explicit]

Constructor.

Optionally takes a pointer to an element and a stride.

Parameters:
[in] | ptr | pointer to element, defaults to NULL.
[in] | stride | stride for accessing consecutive elements, defaults to the size of one element.

template<typename T>
PX_INLINE PxStrideIterator< T >::PxStrideIterator ( const PxStrideIterator< typename StripConst< T >::Type > & strideIterator ) [inline]

Copy constructor.

Parameters:
[in] strideIterator PxStrideIterator to be copied.

Member Function Documentation

template<typename T>
static PX_INLINE T* PxStrideIterator< T >::byteAdd | ( | T * | ptr,
 |  | PxU32 | bytes |
 | ) |  |  | [inline, static, private]

template<typename T>
static PX_INLINE T* PxStrideIterator< T >::byteSub | ( | T * | ptr,
 |  | PxU32 | bytes |
 | ) |  |  | [inline, static, private]

template<typename T>
PX_INLINE bool PxStrideIterator< T >::isCompatible ( const PxStrideIterator< T > & other ) const [inline, private]

template<typename T>
PX_INLINE bool PxStrideIterator< T >::operator!= ( const PxStrideIterator< T > & other ) const [inline]

Inequality operator.

template<typename T>
PX_INLINE T& PxStrideIterator< T >::operator* ( ) const [inline]

Indirection operator.

template<typename T>
PX_INLINE PxStrideIterator PxStrideIterator< T >::operator+ ( unsigned int i ) const [inline]

Addition operator.

template<typename T>
PX_INLINE PxStrideIterator PxStrideIterator< T >::operator++ ( int ) [inline]

Post-increment operator.

template<typename T>
PX_INLINE PxStrideIterator& PxStrideIterator< T >::operator++ ( ) [inline]

Pre-increment operator.

template<typename T>
PX_INLINE PxStrideIterator& PxStrideIterator< T >::operator+= ( unsigned int i ) [inline]

Addition compound assignment operator.

template<typename T>
PX_INLINE int PxStrideIterator< T >::operator- ( const PxStrideIterator< T > & other ) const [inline]

Iterator difference.

template<typename T>
PX_INLINE PxStrideIterator PxStrideIterator< T >::operator- ( unsigned int i ) const [inline]

Subtraction operator.

template<typename T>
PX_INLINE PxStrideIterator PxStrideIterator< T >::operator-- ( int ) [inline]

Post-decrement operator.

template<typename T>
PX_INLINE PxStrideIterator& PxStrideIterator< T >::operator-- ( ) [inline]

Pre-decrement operator.

template<typename T>
PX_INLINE PxStrideIterator& PxStrideIterator< T >::operator-= ( unsigned int i ) [inline]

Subtraction compound assignment operator.

template<typename T>
PX_INLINE T* PxStrideIterator< T >::operator-> ( ) const [inline]

Dereferencing operator.

template<typename T>
PX_INLINE bool PxStrideIterator< T >::operator< ( const PxStrideIterator< T > & other ) const [inline]

Less than operator.

template<typename T>
PX_INLINE bool PxStrideIterator< T >::operator<= ( const PxStrideIterator< T > & other ) const [inline]

Less or equal than operator.

template<typename T>
PX_INLINE bool PxStrideIterator< T >::operator== ( const PxStrideIterator< T > & other ) const [inline]

Equality operator.

template<typename T>
PX_INLINE bool PxStrideIterator< T >::operator> ( const PxStrideIterator< T > & other ) const [inline]

Greater than operator.

template<typename T>
PX_INLINE bool PxStrideIterator< T >::operator>= ( const PxStrideIterator< T > & other ) const [inline]

Greater or equal than operator.

template<typename T>
PX_INLINE T& PxStrideIterator< T >::operator[] ( unsigned int i ) const [inline]

Indexing operator.

template<typename T>
PX_INLINE T* PxStrideIterator< T >::ptr ( ) const [inline]

Get pointer to element.

Referenced by PxParticleCreationData::isValid().

template<typename T>
PX_INLINE PxU32 PxStrideIterator< T >::stride ( ) const [inline]

Get stride.

Referenced by PxStrideIterator< const PxVec3 >::isCompatible().

Member Data Documentation

template<typename T>
T* PxStrideIterator< T >::mPtr [private]

Referenced by PxStrideIterator< const PxVec3 >::isCompatible(), PxStrideIterator< const PxVec3 >::operator!=(), PxStrideIterator< const PxVec3 >::operator-(), PxStrideIterator< const PxVec3 >::operator<(), PxStrideIterator< const PxVec3 >::operator<=(), PxStrideIterator< const PxVec3 >::operator==(), PxStrideIterator< const PxVec3 >::operator>(), and PxStrideIterator< const PxVec3 >::operator>=().

template<typename T>
PxU32 PxStrideIterator< T >::mStride [private]

The documentation for this class was generated from the following file:
  • PxStrideIterator.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTransform Class Reference

PxTransform Class Reference
[Foundation]

class representing a rigid euclidean transform as a quaternion and a vector More...

#include <PxTransform.h>

Collaboration diagram for PxTransform:

PxVec3PxQuat
[legend]

List of all members.

Public Member Functions

PX_CUDA_CALLABLE PX_FORCE_INLINE | PxTransform ()
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxTransform (const PxVec3 &position)
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxTransform (PxIDENTITY r)
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxTransform (const PxQuat &orientation)
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxTransform (float x, float y, float z, PxQuat aQ=PxQuat(PxIdentity))
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxTransform (const PxVec3 &p0, const PxQuat &q0)
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxTransform (const PxMat44 &m)
PX_CUDA_CALLABLE PX_INLINE bool | operator== (const PxTransform &t) const
returns true if the two transforms are exactly equal
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxTransform 		operator* (const PxTransform &x) const
PX_CUDA_CALLABLE PX_INLINE
PxTransform & 		operator*= (PxTransform &other)
Equals matrix multiplication.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxTransform 		getInverse () const
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 		transform (const PxVec3 &input) const
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 		transformInv (const PxVec3 &input) const
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 		rotate (const PxVec3 &input) const
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 		rotateInv (const PxVec3 &input) const
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxTransform 		transform (const PxTransform &src) const
Transform transform to parent (returns compound transform: first src, then *this).
PX_CUDA_CALLABLE bool | isValid () const
returns true if finite and q is a unit quaternion
PX_CUDA_CALLABLE bool | isSane () const
returns true if finite and quat magnitude is reasonably close to unit to allow for some accumulation of error vs isValid
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 		isFinite () const
returns true if all elems are finite (not NAN or INF, etc.)
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxTransform 		transformInv (const PxTransform &src) const
Transform transform from parent (returns compound transform: first src, then this->inverse).
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxPlane 		transform (const PxPlane &plane) const
transform plane
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxPlane 		inverseTransform (const PxPlane &plane) const
inverse-transform plane
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxTransform 		getNormalized () const
return a normalized transform (i.e. one in which the quaternion has unit magnitude)

Public Attributes

PxQuat q
PxVec3 p

Detailed Description

class representing a rigid euclidean transform as a quaternion and a vector

Constructor & Destructor Documentation

PX_CUDA_CALLABLE PX_FORCE_INLINE PxTransform::PxTransform ( ) [inline]

PX_CUDA_CALLABLE PX_FORCE_INLINE PxTransform::PxTransform ( const PxVec3 & position ) [inline, explicit]

PX_CUDA_CALLABLE PX_FORCE_INLINE PxTransform::PxTransform ( PxIDENTITY r ) [inline, explicit]

References PX_UNUSED().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxTransform::PxTransform ( const PxQuat & orientation ) [inline, explicit]

References PxQuat::isSane(), and PX_ASSERT.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxTransform::PxTransform | ( | float | x,
 |  | float | y,
 |  | float | z,
 |  | PxQuat | aQ = PxQuat(PxIdentity) |
 | ) |  |  | [inline]

PX_CUDA_CALLABLE PX_FORCE_INLINE PxTransform::PxTransform | ( | const PxVec3 & | p0,
 |  | const PxQuat & | q0 |
 | ) |  |  | [inline]

References PxQuat::isSane(), and PX_ASSERT.

Member Function Documentation

PX_CUDA_CALLABLE PX_FORCE_INLINE PxTransform PxTransform::getInverse ( ) const [inline]

References PX_ASSERT.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxTransform PxTransform::getNormalized ( ) const [inline]

return a normalized transform (i.e. one in which the quaternion has unit magnitude)

PX_CUDA_CALLABLE PX_FORCE_INLINE PxPlane PxTransform::inverseTransform ( const PxPlane & plane ) const [inline]

inverse-transform plane

References PxPlane::d, and PxPlane::n.

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxTransform::isFinite ( ) const [inline]

returns true if all elems are finite (not NAN or INF, etc.)

PX_CUDA_CALLABLE bool PxTransform::isSane ( ) const [inline]

returns true if finite and quat magnitude is reasonably close to unit to allow for some accumulation of error vs isValid

Referenced by operator*(), transform(), and transformInv().

PX_CUDA_CALLABLE bool PxTransform::isValid ( ) const [inline]

returns true if finite and q is a unit quaternion

PX_CUDA_CALLABLE PX_FORCE_INLINE PxTransform PxTransform::operator* ( const PxTransform & x ) const [inline]

References isSane(), and PX_ASSERT.

PX_CUDA_CALLABLE PX_INLINE PxTransform& PxTransform::operator*= ( PxTransform & other ) [inline]

Equals matrix multiplication.

PX_CUDA_CALLABLE PX_INLINE bool PxTransform::operator== ( const PxTransform & t ) const [inline]

returns true if the two transforms are exactly equal

References p, and q.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxTransform::rotate ( const PxVec3 & input ) const [inline]

References PX_ASSERT.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxTransform::rotateInv ( const PxVec3 & input ) const [inline]

References PX_ASSERT.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxPlane PxTransform::transform ( const PxPlane & plane ) const [inline]

transform plane

References PxPlane::d, and PxPlane::n.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxTransform PxTransform::transform ( const PxTransform & src ) const [inline]

Transform transform to parent (returns compound transform: first src, then *this).

References isSane(), p, PX_ASSERT, and q.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxTransform::transform ( const PxVec3 & input ) const [inline]

References PX_ASSERT.

Referenced by PxPlaneEquationFromTransform(), PxMassProperties::sum(), and PxBounds3::transformFast().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxTransform PxTransform::transformInv ( const PxTransform & src ) const [inline]

Transform transform from parent (returns compound transform: first src, then this->inverse).

References isSane(), p, PX_ASSERT, q, and PxQuat::rotate().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxTransform::transformInv ( const PxVec3 & input ) const [inline]

References PX_ASSERT.

Member Data Documentation

PxVec3 PxTransform::p

Referenced by operator==(), PxBounds3::poseExtent(), PxMat44::PxMat44(), PxTransform(), transform(), and transformInv().

PxQuat PxTransform::q

Referenced by operator==(), PxBounds3::poseExtent(), PxMat44::PxMat44(), PxTransform(), transform(), PxBounds3::transformFast(), and transformInv().

The documentation for this class was generated from the following files:
  • PxTransform.h
  • PxMat44.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVec2 Class Reference

PxVec2 Class Reference
[Foundation]

2 Element vector class. More...

#include <PxVec2.h>

List of all members.

Public Member Functions

PX_CUDA_CALLABLE PX_FORCE_INLINE | PxVec2 ()
default constructor leaves data uninitialized.
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxVec2 (PxZERO r)
zero constructor.
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxVec2 (float a)
Assigns scalar parameter to all elements.
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxVec2 (float nx, float ny)
Initializes from 2 scalar parameters.
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxVec2 (const PxVec2 &v)
Copy ctor.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec2 & 		operator= (const PxVec2 &p)
Assignment operator.
PX_DEPRECATED PX_CUDA_CALLABLE
PX_FORCE_INLINE float & 		operator[] (int index)
element access
PX_DEPRECATED PX_CUDA_CALLABLE
PX_FORCE_INLINE const float & 		operator[] (int index) const
element access
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 		operator== (const PxVec2 &v) const
returns true if the two vectors are exactly equal.
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 		operator!= (const PxVec2 &v) const
returns true if the two vectors are not exactly equal.
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 		isZero () const
tests for exact zero vector
PX_CUDA_CALLABLE PX_INLINE bool | isFinite () const
returns true if all 2 elems of the vector are finite (not NAN or INF, etc.)
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 		isNormalized () const
is normalized - used by API parameter validation
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 		magnitudeSquared () const
returns the squared magnitude
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 		magnitude () const
returns the magnitude
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec2 		operator- () const
negation
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec2 		operator+ (const PxVec2 &v) const
vector addition
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec2 		operator- (const PxVec2 &v) const
vector difference
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec2 		operator* (float f) const
scalar post-multiplication
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec2 		operator/ (float f) const
scalar division
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec2 & 		operator+= (const PxVec2 &v)
vector addition
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec2 & 		operator-= (const PxVec2 &v)
vector difference
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec2 & 		operator*= (float f)
scalar multiplication
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec2 & 		operator/= (float f)
scalar division
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 		dot (const PxVec2 &v) const
returns the scalar product of this and other.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec2 		getNormalized () const
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 		normalize ()
normalizes the vector in place
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec2 		multiply (const PxVec2 &a) const
a[i] * b[i], for all i.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec2 		minimum (const PxVec2 &v) const
element-wise minimum
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 		minElement () const
returns MIN(x, y);
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec2 		maximum (const PxVec2 &v) const
element-wise maximum
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 		maxElement () const
returns MAX(x, y);

Public Attributes

float | x
float | y

Detailed Description

2 Element vector class.

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

Constructor & Destructor Documentation

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2::PxVec2 ( ) [inline]

default constructor leaves data uninitialized.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2::PxVec2 ( PxZERO r ) [inline]

zero constructor.

References PX_UNUSED().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2::PxVec2 ( float a ) [inline, explicit]

Assigns scalar parameter to all elements.

Useful to initialize to zero or one.

Parameters:
[in] a Value to assign to elements.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2::PxVec2 | ( | float | nx,
 |  | float | ny |
 | ) |  |  | [inline]

Initializes from 2 scalar parameters.

Parameters:
[in] | nx | Value to initialize X component.
[in] | ny | Value to initialize Y component.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2::PxVec2 ( const PxVec2 & v ) [inline]

Copy ctor.

Member Function Documentation

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxVec2::dot ( const PxVec2 & v ) const [inline]

returns the scalar product of this and other.

References x, and y.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2 PxVec2::getNormalized ( ) const [inline]

return a unit vector

References PxRecipSqrt().

PX_CUDA_CALLABLE PX_INLINE bool PxVec2::isFinite ( ) const [inline]

returns true if all 2 elems of the vector are finite (not NAN or INF, etc.)

References PxIsFinite().

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxVec2::isNormalized ( ) const [inline]

is normalized - used by API parameter validation

References PxAbs().

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxVec2::isZero ( ) const [inline]

tests for exact zero vector

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxVec2::magnitude ( ) const [inline]

returns the magnitude

References PxSqrt().

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxVec2::magnitudeSquared ( ) const [inline]

returns the squared magnitude

Avoids calling PxSqrt()!

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxVec2::maxElement ( ) const [inline]

returns MAX(x, y);

References PxMax().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2 PxVec2::maximum ( const PxVec2 & v ) const [inline]

element-wise maximum

References PxMax(), x, and y.

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxVec2::minElement ( ) const [inline]

returns MIN(x, y);

References PxMin().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2 PxVec2::minimum ( const PxVec2 & v ) const [inline]

element-wise minimum

References PxMin(), x, and y.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2 PxVec2::multiply ( const PxVec2 & a ) const [inline]

a[i] * b[i], for all i.

References x, and y.

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxVec2::normalize ( ) [inline]

normalizes the vector in place

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxVec2::operator!= ( const PxVec2 & v ) const [inline]

returns true if the two vectors are not exactly equal.

References x, and y.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2 PxVec2::operator* ( float f ) const [inline]

scalar post-multiplication

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2& PxVec2::operator*= ( float f ) [inline]

scalar multiplication

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2 PxVec2::operator+ ( const PxVec2 & v ) const [inline]

vector addition

References x, and y.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2& PxVec2::operator+= ( const PxVec2 & v ) [inline]

vector addition

References x, and y.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2 PxVec2::operator- ( const PxVec2 & v ) const [inline]

vector difference

References x, and y.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2 PxVec2::operator- ( ) const [inline]

negation

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2& PxVec2::operator-= ( const PxVec2 & v ) [inline]

vector difference

References x, and y.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2 PxVec2::operator/ ( float f ) const [inline]

scalar division

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2& PxVec2::operator/= ( float f ) [inline]

scalar division

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2& PxVec2::operator= ( const PxVec2 & p ) [inline]

Assignment operator.

References x, and y.

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxVec2::operator== ( const PxVec2 & v ) const [inline]

returns true if the two vectors are exactly equal.

References x, and y.

PX_DEPRECATED PX_CUDA_CALLABLE PX_FORCE_INLINE const float& PxVec2::operator[] ( int index ) const [inline]

element access

References PX_ASSERT.

PX_DEPRECATED PX_CUDA_CALLABLE PX_FORCE_INLINE float& PxVec2::operator[] ( int index ) [inline]

element access

References PX_ASSERT.

Member Data Documentation

float PxVec2::x

Referenced by dot(), maximum(), minimum(), multiply(), operator!=(), operator*(), operator+(), operator+=(), operator-(), operator-=(), operator=(), and operator==().

float PxVec2::y

Referenced by dot(), maximum(), minimum(), multiply(), operator!=(), operator*(), operator+(), operator+=(), operator-(), operator-=(), operator=(), and operator==().

The documentation for this class was generated from the following file:
  • PxVec2.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVec3 Class Reference

PxVec3 Class Reference
[Foundation]

3 Element vector class. More...

#include <PxVec3.h>

List of all members.

Public Member Functions

PX_CUDA_CALLABLE PX_FORCE_INLINE | PxVec3 ()
default constructor leaves data uninitialized.
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxVec3 (PxZERO r)
zero constructor.
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxVec3 (float a)
Assigns scalar parameter to all elements.
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxVec3 (float nx, float ny, float nz)
Initializes from 3 scalar parameters.
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxVec3 (const PxVec3 &v)
Copy ctor.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 & 		operator= (const PxVec3 &p)
Assignment operator.
PX_DEPRECATED PX_CUDA_CALLABLE
PX_FORCE_INLINE float & 		operator[] (unsigned int index)
element access
PX_DEPRECATED PX_CUDA_CALLABLE
PX_FORCE_INLINE const float & 		operator[] (unsigned int index) const
element access
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 		operator== (const PxVec3 &v) const
returns true if the two vectors are exactly equal.
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 		operator!= (const PxVec3 &v) const
returns true if the two vectors are not exactly equal.
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 		isZero () const
tests for exact zero vector
PX_CUDA_CALLABLE PX_INLINE bool | isFinite () const
returns true if all 3 elems of the vector are finite (not NAN or INF, etc.)
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 		isNormalized () const
is normalized - used by API parameter validation
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 		magnitudeSquared () const
returns the squared magnitude
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 		magnitude () const
returns the magnitude
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 		operator- () const
negation
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 		operator+ (const PxVec3 &v) const
vector addition
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 		operator- (const PxVec3 &v) const
vector difference
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 		operator* (float f) const
scalar post-multiplication
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 		operator/ (float f) const
scalar division
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 & 		operator+= (const PxVec3 &v)
vector addition
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 & 		operator-= (const PxVec3 &v)
vector difference
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 & 		operator*= (float f)
scalar multiplication
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 & 		operator/= (float f)
scalar division
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 		dot (const PxVec3 &v) const
returns the scalar product of this and other.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 		cross (const PxVec3 &v) const
cross product
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 		getNormalized () const
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 		normalize ()
normalizes the vector in place
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 		normalizeSafe ()
normalizes the vector in place. Does nothing if vector magnitude is under PX_NORMALIZATION_EPSILON. Returns vector magnitude if >= PX_NORMALIZATION_EPSILON and 0.0f otherwise.
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 		normalizeFast ()
normalizes the vector in place. Asserts if vector magnitude is under PX_NORMALIZATION_EPSILON. returns vector magnitude.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 		multiply (const PxVec3 &a) const
a[i] * b[i], for all i.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 		minimum (const PxVec3 &v) const
element-wise minimum
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 		minElement () const
returns MIN(x, y, z);
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 		maximum (const PxVec3 &v) const
element-wise maximum
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 		maxElement () const
returns MAX(x, y, z);
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 		abs () const
returns absolute values of components;

Public Attributes

float | x
float | y
float | z

Detailed Description

3 Element vector class.

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

Constructor & Destructor Documentation

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3::PxVec3 ( ) [inline]

default constructor leaves data uninitialized.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3::PxVec3 ( PxZERO r ) [inline]

zero constructor.

References PX_UNUSED().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3::PxVec3 ( float a ) [inline, explicit]

Assigns scalar parameter to all elements.

Useful to initialize to zero or one.

Parameters:
[in] a Value to assign to elements.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3::PxVec3 | ( | float | nx,
 |  | float | ny,
 |  | float | nz |
 | ) |  |  | [inline]

Initializes from 3 scalar parameters.

Parameters:
[in] | nx | Value to initialize X component.
[in] | ny | Value to initialize Y component.
[in] | nz | Value to initialize Z component.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3::PxVec3 ( const PxVec3 & v ) [inline]

Copy ctor.

Member Function Documentation

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxVec3::abs ( ) const [inline]

returns absolute values of components;

References PxAbs().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxVec3::cross ( const PxVec3 & v ) const [inline]

cross product

References x, y, and z.

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxVec3::dot ( const PxVec3 & v ) const [inline]

returns the scalar product of this and other.

References x, y, and z.

Referenced by PxPlane::distance(), PxPlane::PxPlane(), and PxMassProperties::scaleInertia().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxVec3::getNormalized ( ) const [inline]

return a unit vector

References PxRecipSqrt().

PX_CUDA_CALLABLE PX_INLINE bool PxVec3::isFinite ( ) const [inline]

returns true if all 3 elems of the vector are finite (not NAN or INF, etc.)

References PxIsFinite().

Referenced by PxMassProperties::getMassSpaceInertia(), PxBounds3::isFinite(), PxTriangleMeshGeometry::isValid(), PxConvexMeshGeometry::isValid(), PxBoxGeometry::isValid(), PxMassProperties::rotateInertia(), PxMassProperties::scaleInertia(), PxMassProperties::sum(), PxMassProperties::translate(), and PxMassProperties::translateInertia().

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxVec3::isNormalized ( ) const [inline]

is normalized - used by API parameter validation

References PxAbs().

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxVec3::isZero ( ) const [inline]

tests for exact zero vector

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxVec3::magnitude ( ) const [inline]

returns the magnitude

References PxSqrt().

Referenced by PxQuat::PxQuat().

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxVec3::magnitudeSquared ( ) const [inline]

returns the squared magnitude

Avoids calling PxSqrt()!

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxVec3::maxElement ( ) const [inline]

returns MAX(x, y, z);

References PxMax().

Referenced by PxMeshScale::isValidForTriangleMesh().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxVec3::maximum ( const PxVec3 & v ) const [inline]

element-wise maximum

References PxMax(), x, y, and z.

Referenced by PxBounds3::boundsOfPoints(), and PxBounds3::include().

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxVec3::minElement ( ) const [inline]

returns MIN(x, y, z);

References PxMin().

Referenced by PxMeshScale::isValidForTriangleMesh().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxVec3::minimum ( const PxVec3 & v ) const [inline]

element-wise minimum

References PxMin(), x, y, and z.

Referenced by PxBounds3::boundsOfPoints(), and PxBounds3::include().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxVec3::multiply ( const PxVec3 & a ) const [inline]

a[i] * b[i], for all i.

References x, y, and z.

Referenced by PxMassProperties::PxMassProperties(), and PxMassProperties::scaleInertia().

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxVec3::normalize ( ) [inline]

normalizes the vector in place

Referenced by PxTriangle::normal().

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxVec3::normalizeFast ( ) [inline]

normalizes the vector in place. Asserts if vector magnitude is under PX_NORMALIZATION_EPSILON. returns vector magnitude.

References PX_ASSERT, and PX_NORMALIZATION_EPSILON.

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxVec3::normalizeSafe ( ) [inline]

normalizes the vector in place. Does nothing if vector magnitude is under PX_NORMALIZATION_EPSILON. Returns vector magnitude if >= PX_NORMALIZATION_EPSILON and 0.0f otherwise.

References PX_NORMALIZATION_EPSILON.

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxVec3::operator!= ( const PxVec3 & v ) const [inline]

returns true if the two vectors are not exactly equal.

References x, y, and z.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxVec3::operator* ( float f ) const [inline]

scalar post-multiplication

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3& PxVec3::operator*= ( float f ) [inline]

scalar multiplication

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxVec3::operator+ ( const PxVec3 & v ) const [inline]

vector addition

References x, y, and z.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3& PxVec3::operator+= ( const PxVec3 & v ) [inline]

vector addition

References x, y, and z.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxVec3::operator- ( const PxVec3 & v ) const [inline]

vector difference

References x, y, and z.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxVec3::operator- ( ) const [inline]

negation

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3& PxVec3::operator-= ( const PxVec3 & v ) [inline]

vector difference

References x, y, and z.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxVec3::operator/ ( float f ) const [inline]

scalar division

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3& PxVec3::operator/= ( float f ) [inline]

scalar division

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3& PxVec3::operator= ( const PxVec3 & p ) [inline]

Assignment operator.

References x, y, and z.

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxVec3::operator== ( const PxVec3 & v ) const [inline]

returns true if the two vectors are exactly equal.

References x, y, and z.

PX_DEPRECATED PX_CUDA_CALLABLE PX_FORCE_INLINE const float& PxVec3::operator[] ( unsigned int index ) const [inline]

element access

References PX_ASSERT.

PX_DEPRECATED PX_CUDA_CALLABLE PX_FORCE_INLINE float& PxVec3::operator[] ( unsigned int index ) [inline]

element access

References PX_ASSERT.

Member Data Documentation

float PxVec3::x

Referenced by PxBounds3::basisExtent(), PxBounds3::contains(), PxMat33::createDiagonal(), cross(), PxExtendedVec3::cross(), dot(), PxExtendedVec3::dot(), PxBounds3::fattenFast(), PxMat33::getInverse(), PxBounds3::intersects(), PxBounds3::isEmpty(), PxBounds3::isInside(), PxBoxGeometry::isValid(), PxBounds3::isValid(), maximum(), minimum(), multiply(), operator!=(), operator*(), operator+(), operator+=(), PxExtendedVec3::operator+=(), operator-(), operator-=(), PxExtendedVec3::operator-=(), operator=(), operator==(), PxMassProperties::PxMassProperties(), PxQuat::PxQuat(), PxQuat::rotate(), PxQuat::rotateInv(), PxMassProperties::scaleInertia(), PxMat44::setPosition(), PxMat33::transform(), and PxMassProperties::translateInertia().

float PxVec3::y

Referenced by PxBounds3::basisExtent(), PxBounds3::contains(), PxMat33::createDiagonal(), cross(), PxExtendedVec3::cross(), dot(), PxExtendedVec3::dot(), PxBounds3::fattenFast(), PxMat33::getInverse(), PxBounds3::intersects(), PxBounds3::isInside(), PxBoxGeometry::isValid(), PxBounds3::isValid(), maximum(), minimum(), multiply(), operator!=(), operator*(), operator+(), operator+=(), PxExtendedVec3::operator+=(), operator-(), operator-=(), PxExtendedVec3::operator-=(), operator=(), operator==(), PxMassProperties::PxMassProperties(), PxQuat::PxQuat(), PxQuat::rotate(), PxQuat::rotateInv(), PxMassProperties::scaleInertia(), PxMat44::setPosition(), PxMat33::transform(), and PxMassProperties::translateInertia().

float PxVec3::z

Referenced by PxBounds3::basisExtent(), PxBounds3::contains(), PxMat33::createDiagonal(), cross(), PxExtendedVec3::cross(), dot(), PxExtendedVec3::dot(), PxBounds3::fattenFast(), PxMat33::getInverse(), PxBounds3::intersects(), PxMat44::inverseRT(), PxBounds3::isInside(), PxBoxGeometry::isValid(), PxBounds3::isValid(), maximum(), minimum(), multiply(), operator!=(), operator*(), operator+(), operator+=(), PxExtendedVec3::operator+=(), operator-(), operator-=(), PxExtendedVec3::operator-=(), operator=(), operator==(), PxMassProperties::PxMassProperties(), PxQuat::PxQuat(), PxQuat::rotate(), PxQuat::rotateInv(), PxMassProperties::scaleInertia(), PxMat44::setPosition(), PxMat33::transform(), and PxMassProperties::translateInertia().

The documentation for this class was generated from the following file:
  • PxVec3.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVec4 Class Reference

PxVec4 Class Reference
[Foundation]

4 Element vector class. More...

#include <PxVec4.h>

List of all members.

Public Member Functions

PX_CUDA_CALLABLE PX_INLINE | PxVec4 ()
default constructor leaves data uninitialized.
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxVec4 (PxZERO r)
zero constructor.
PX_CUDA_CALLABLE PX_INLINE | PxVec4 (float a)
Assigns scalar parameter to all elements.
PX_CUDA_CALLABLE PX_INLINE | PxVec4 (float nx, float ny, float nz, float nw)
Initializes from 3 scalar parameters.
PX_CUDA_CALLABLE PX_INLINE | PxVec4 (const PxVec3 &v, float nw)
Initializes from 3 scalar parameters.
PX_CUDA_CALLABLE PX_INLINE | PxVec4 (const float v[])
Initializes from an array of scalar parameters.
PX_CUDA_CALLABLE PX_INLINE | PxVec4 (const PxVec4 &v)
Copy ctor.
PX_CUDA_CALLABLE PX_INLINE PxVec4 & | operator= (const PxVec4 &p)
Assignment operator.
PX_DEPRECATED PX_CUDA_CALLABLE
PX_INLINE float & 		operator[] (unsigned int index)
element access
PX_DEPRECATED PX_CUDA_CALLABLE
PX_INLINE const float & 		operator[] (unsigned int index) const
element access
PX_CUDA_CALLABLE PX_INLINE bool | operator== (const PxVec4 &v) const
returns true if the two vectors are exactly equal.
PX_CUDA_CALLABLE PX_INLINE bool | operator!= (const PxVec4 &v) const
returns true if the two vectors are not exactly equal.
PX_CUDA_CALLABLE PX_INLINE bool | isZero () const
tests for exact zero vector
PX_CUDA_CALLABLE PX_INLINE bool | isFinite () const
returns true if all 3 elems of the vector are finite (not NAN or INF, etc.)
PX_CUDA_CALLABLE PX_INLINE bool | isNormalized () const
is normalized - used by API parameter validation
PX_CUDA_CALLABLE PX_INLINE float | magnitudeSquared () const
returns the squared magnitude
PX_CUDA_CALLABLE PX_INLINE float | magnitude () const
returns the magnitude
PX_CUDA_CALLABLE PX_INLINE PxVec4 | operator- () const
negation
PX_CUDA_CALLABLE PX_INLINE PxVec4 | operator+ (const PxVec4 &v) const
vector addition
PX_CUDA_CALLABLE PX_INLINE PxVec4 | operator- (const PxVec4 &v) const
vector difference
PX_CUDA_CALLABLE PX_INLINE PxVec4 | operator* (float f) const
scalar post-multiplication
PX_CUDA_CALLABLE PX_INLINE PxVec4 | operator/ (float f) const
scalar division
PX_CUDA_CALLABLE PX_INLINE PxVec4 & | operator+= (const PxVec4 &v)
vector addition
PX_CUDA_CALLABLE PX_INLINE PxVec4 & | operator-= (const PxVec4 &v)
vector difference
PX_CUDA_CALLABLE PX_INLINE PxVec4 & | operator*= (float f)
scalar multiplication
PX_CUDA_CALLABLE PX_INLINE PxVec4 & | operator/= (float f)
scalar division
PX_CUDA_CALLABLE PX_INLINE float | dot (const PxVec4 &v) const
returns the scalar product of this and other.
PX_CUDA_CALLABLE PX_INLINE PxVec4 | getNormalized () const
PX_CUDA_CALLABLE PX_INLINE float | normalize ()
normalizes the vector in place
PX_CUDA_CALLABLE PX_INLINE PxVec4 | multiply (const PxVec4 &a) const
a[i] * b[i], for all i.
PX_CUDA_CALLABLE PX_INLINE PxVec4 | minimum (const PxVec4 &v) const
element-wise minimum
PX_CUDA_CALLABLE PX_INLINE PxVec4 | maximum (const PxVec4 &v) const
element-wise maximum
PX_CUDA_CALLABLE PX_INLINE PxVec3 | getXYZ () const
PX_CUDA_CALLABLE PX_INLINE void | setZero ()
set vector elements to zero

Public Attributes

float | x
float | y
float | z
float | w

Detailed Description

4 Element vector class.

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

Constructor & Destructor Documentation

PX_CUDA_CALLABLE PX_INLINE PxVec4::PxVec4 ( ) [inline]

default constructor leaves data uninitialized.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec4::PxVec4 ( PxZERO r ) [inline]

zero constructor.

References PX_UNUSED().

PX_CUDA_CALLABLE PX_INLINE PxVec4::PxVec4 ( float a ) [inline, explicit]

Assigns scalar parameter to all elements.

Useful to initialize to zero or one.

Parameters:
[in] a Value to assign to elements.

PX_CUDA_CALLABLE PX_INLINE PxVec4::PxVec4 | ( | float | nx,
 |  | float | ny,
 |  | float | nz,
 |  | float | nw |
 | ) |  |  | [inline]

Initializes from 3 scalar parameters.

Parameters:
[in] | nx | Value to initialize X component.
[in] | ny | Value to initialize Y component.
[in] | nz | Value to initialize Z component.
[in] | nw | Value to initialize W component.

PX_CUDA_CALLABLE PX_INLINE PxVec4::PxVec4 | ( | const PxVec3 & | v,
 |  | float | nw |
 | ) |  |  | [inline]

Initializes from 3 scalar parameters.

Parameters:
[in] | v | Value to initialize the X, Y, and Z components.
[in] | nw | Value to initialize W component.

PX_CUDA_CALLABLE PX_INLINE PxVec4::PxVec4 ( const float v[] ) [inline, explicit]

Initializes from an array of scalar parameters.

Parameters:
[in] v Value to initialize with.

PX_CUDA_CALLABLE PX_INLINE PxVec4::PxVec4 ( const PxVec4 & v ) [inline]

Copy ctor.

Member Function Documentation

PX_CUDA_CALLABLE PX_INLINE float PxVec4::dot ( const PxVec4 & v ) const [inline]

returns the scalar product of this and other.

References w, x, y, and z.

PX_CUDA_CALLABLE PX_INLINE PxVec4 PxVec4::getNormalized ( ) const [inline]

return a unit vector

References PxRecipSqrt().

PX_CUDA_CALLABLE PX_INLINE PxVec3 PxVec4::getXYZ ( ) const [inline]

PX_CUDA_CALLABLE PX_INLINE bool PxVec4::isFinite ( ) const [inline]

returns true if all 3 elems of the vector are finite (not NAN or INF, etc.)

References PxIsFinite().

PX_CUDA_CALLABLE PX_INLINE bool PxVec4::isNormalized ( ) const [inline]

is normalized - used by API parameter validation

References PxAbs().

PX_CUDA_CALLABLE PX_INLINE bool PxVec4::isZero ( ) const [inline]

tests for exact zero vector

PX_CUDA_CALLABLE PX_INLINE float PxVec4::magnitude ( ) const [inline]

returns the magnitude

References PxSqrt().

PX_CUDA_CALLABLE PX_INLINE float PxVec4::magnitudeSquared ( ) const [inline]

returns the squared magnitude

Avoids calling PxSqrt()!

PX_CUDA_CALLABLE PX_INLINE PxVec4 PxVec4::maximum ( const PxVec4 & v ) const [inline]

element-wise maximum

References PxMax(), w, x, y, and z.

PX_CUDA_CALLABLE PX_INLINE PxVec4 PxVec4::minimum ( const PxVec4 & v ) const [inline]

element-wise minimum

References PxMin(), w, x, y, and z.

PX_CUDA_CALLABLE PX_INLINE PxVec4 PxVec4::multiply ( const PxVec4 & a ) const [inline]

a[i] * b[i], for all i.

References w, x, y, and z.

PX_CUDA_CALLABLE PX_INLINE float PxVec4::normalize ( ) [inline]

normalizes the vector in place

PX_CUDA_CALLABLE PX_INLINE bool PxVec4::operator!= ( const PxVec4 & v ) const [inline]

returns true if the two vectors are not exactly equal.

References w, x, y, and z.

PX_CUDA_CALLABLE PX_INLINE PxVec4 PxVec4::operator* ( float f ) const [inline]

scalar post-multiplication

PX_CUDA_CALLABLE PX_INLINE PxVec4& PxVec4::operator*= ( float f ) [inline]

scalar multiplication

PX_CUDA_CALLABLE PX_INLINE PxVec4 PxVec4::operator+ ( const PxVec4 & v ) const [inline]

vector addition

References w, x, y, and z.

PX_CUDA_CALLABLE PX_INLINE PxVec4& PxVec4::operator+= ( const PxVec4 & v ) [inline]

vector addition

References w, x, y, and z.

PX_CUDA_CALLABLE PX_INLINE PxVec4 PxVec4::operator- ( const PxVec4 & v ) const [inline]

vector difference

References w, x, y, and z.

PX_CUDA_CALLABLE PX_INLINE PxVec4 PxVec4::operator- ( ) const [inline]

negation

PX_CUDA_CALLABLE PX_INLINE PxVec4& PxVec4::operator-= ( const PxVec4 & v ) [inline]

vector difference

References w, x, y, and z.

PX_CUDA_CALLABLE PX_INLINE PxVec4 PxVec4::operator/ ( float f ) const [inline]

scalar division

PX_CUDA_CALLABLE PX_INLINE PxVec4& PxVec4::operator/= ( float f ) [inline]

scalar division

PX_CUDA_CALLABLE PX_INLINE PxVec4& PxVec4::operator= ( const PxVec4 & p ) [inline]

Assignment operator.

References w, x, y, and z.

PX_CUDA_CALLABLE PX_INLINE bool PxVec4::operator== ( const PxVec4 & v ) const [inline]

returns true if the two vectors are exactly equal.

References w, x, y, and z.

PX_DEPRECATED PX_CUDA_CALLABLE PX_INLINE const float& PxVec4::operator[] ( unsigned int index ) const [inline]

element access

References PX_ASSERT.

PX_DEPRECATED PX_CUDA_CALLABLE PX_INLINE float& PxVec4::operator[] ( unsigned int index ) [inline]

element access

References PX_ASSERT.

PX_CUDA_CALLABLE PX_INLINE void PxVec4::setZero ( ) [inline]

set vector elements to zero

Member Data Documentation

float PxVec4::w

Referenced by dot(), maximum(), minimum(), multiply(), operator!=(), operator*(), operator+(), operator+=(), operator-(), operator-=(), operator=(), operator==(), PxMat44::scale(), and PxMat44::transform().

float PxVec4::x

Referenced by dot(), maximum(), minimum(), multiply(), operator!=(), operator*(), operator+(), operator+=(), operator-(), operator-=(), operator=(), operator==(), PxTransform::PxTransform(), PxMat44::rotate(), PxMat44::scale(), and PxMat44::transform().

float PxVec4::y

Referenced by dot(), maximum(), minimum(), multiply(), operator!=(), operator*(), operator+(), operator+=(), operator-(), operator-=(), operator=(), operator==(), PxTransform::PxTransform(), PxMat44::rotate(), PxMat44::scale(), and PxMat44::transform().

float PxVec4::z

Referenced by dot(), maximum(), minimum(), multiply(), operator!=(), operator*(), operator+(), operator+=(), operator-(), operator-=(), operator=(), operator==(), PxTransform::PxTransform(), PxMat44::rotate(), PxMat44::scale(), and PxMat44::transform().

The documentation for this class was generated from the following file:
  • PxVec4.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxFileBuf Class Reference

PxFileBuf Class Reference
[Foundation]

Callback class for data serialization. More...

#include <PxFileBuf.h>

List of all members.

Public Types

enum EndianMode {
ENDIAN_NONE = 0,
ENDIAN_BIG = 1,
ENDIAN_LITTLE = 2
}
enum OpenMode {
OPEN_FILE_NOT_FOUND,
OPEN_READ_ONLY,
OPEN_WRITE_ONLY,
OPEN_READ_WRITE_NEW,
OPEN_READ_WRITE_EXISTING
}
enum SeekType {
SEEKABLE_NO = 0,
SEEKABLE_READ = 0x1,
SEEKABLE_WRITE = 0x2,
SEEKABLE_READWRITE = 0x3
}

Public Member Functions

PxFileBuf (EndianMode mode=ENDIAN_LITTLE)
virtual | ~PxFileBuf (void)
virtual OpenMode | getOpenMode (void) const =0
bool | isOpen (void) const
virtual SeekType | isSeekable (void) const =0
void | setEndianMode (EndianMode e)
EndianMode | getEndianMode (void) const
virtual uint32_t | getFileLength (void) const =0
virtual uint32_t | seekRead (uint32_t loc)=0
Seeks the stream to a particular location for reading.
virtual uint32_t | seekWrite (uint32_t loc)=0
Seeks the stream to a particular location for writing.
virtual uint32_t | read (void *mem, uint32_t len)=0
Reads from the stream into a buffer.
virtual uint32_t | peek (void *mem, uint32_t len)=0
Reads from the stream into a buffer but does not advance the read location.
virtual uint32_t | write (const void *mem, uint32_t len)=0
Writes a buffer of memory to the stream.
virtual uint32_t | tellRead (void) const =0
Reports the current stream location read aqccess.
virtual uint32_t | tellWrite (void) const =0
Reports the current stream location for write access.
virtual void | flush (void)=0
Causes any temporarily cached data to be flushed to the stream.
virtual void | close (void)
Close the stream.
void | release (void)
PX_INLINE void | swap2Bytes (void *_data) const
PX_INLINE void | swap4Bytes (void *_data) const
PX_INLINE void | swap8Bytes (void *_data) const
PX_INLINE void | storeDword (uint32_t v)
PX_INLINE void | storeFloat (float v)
PX_INLINE void | storeDouble (double v)
PX_INLINE void | storeByte (uint8_t b)
PX_INLINE void | storeWord (uint16_t w)
uint8_t | readByte (void)
uint16_t | readWord (void)
uint32_t | readDword (void)
float | readFloat (void)
double | readDouble (void)

Static Public Member Functions

static PX_INLINE bool | isBigEndian ()

Static Public Attributes

static const uint32_t | STREAM_SEEK_END = 0xFFFFFFFF
Declares a constant to seek to the end of the stream.

Private Attributes

bool | mEndianSwap
EndianMode mEndianMode

Detailed Description

Callback class for data serialization.

The user needs to supply an PxFileBuf implementation to a number of methods to allow the SDK to read or write chunks of binary data. This allows flexibility for the source/destination of the data. For example the PxFileBuf could store data in a file, memory buffer or custom file format.

Note:
It is the users responsibility to ensure that the data is written to the appropriate offset.

Member Enumeration Documentation

enum PxFileBuf::EndianMode

Enumerator:
ENDIAN_NONE
ENDIAN_BIG
ENDIAN_LITTLE

enum PxFileBuf::OpenMode

Enumerator:
OPEN_FILE_NOT_FOUND
OPEN_READ_ONLY
OPEN_WRITE_ONLY
OPEN_READ_WRITE_NEW
OPEN_READ_WRITE_EXISTING

enum PxFileBuf::SeekType

Enumerator:
SEEKABLE_NO
SEEKABLE_READ
SEEKABLE_WRITE
SEEKABLE_READWRITE

Constructor & Destructor Documentation

PxFileBuf::PxFileBuf ( EndianMode mode = ENDIAN_LITTLE ) [inline]

virtual PxFileBuf::~PxFileBuf ( void ) [inline, virtual]

Member Function Documentation

virtual void PxFileBuf::close ( void ) [inline, virtual]

Close the stream.

virtual void PxFileBuf::flush ( void ) [pure virtual]

Causes any temporarily cached data to be flushed to the stream.

EndianMode PxFileBuf::getEndianMode ( void ) const [inline]

virtual uint32_t PxFileBuf::getFileLength ( void ) const [pure virtual]

virtual OpenMode PxFileBuf::getOpenMode ( void ) const [pure virtual]

static PX_INLINE bool PxFileBuf::isBigEndian ( ) [inline, static]

bool PxFileBuf::isOpen ( void ) const [inline]

virtual SeekType PxFileBuf::isSeekable ( void ) const [pure virtual]

virtual uint32_t PxFileBuf::peek | ( | void * | mem,
 |  | uint32_t | len |
 | ) |  |  | [pure virtual]

Reads from the stream into a buffer but does not advance the read location.

Parameters:
[out] | mem | The buffer to read the stream into.
[in] | len | The number of bytes to stream into the buffer
Returns:
Returns the actual number of bytes read. If not equal to the length requested, then reached end of stream.

virtual uint32_t PxFileBuf::read | ( | void * | mem,
 |  | uint32_t | len |
 | ) |  |  | [pure virtual]

Reads from the stream into a buffer.

Parameters:
[out] | mem | The buffer to read the stream into.
[in] | len | The number of bytes to stream into the buffer
Returns:
Returns the actual number of bytes read. If not equal to the length requested, then reached end of stream.

uint8_t PxFileBuf::readByte ( void ) [inline]

double PxFileBuf::readDouble ( void ) [inline]

uint32_t PxFileBuf::readDword ( void ) [inline]

float PxFileBuf::readFloat ( void ) [inline]

uint16_t PxFileBuf::readWord ( void ) [inline]

void PxFileBuf::release ( void ) [inline]

virtual uint32_t PxFileBuf::seekRead ( uint32_t loc ) [pure virtual]

Seeks the stream to a particular location for reading.

If the location passed exceeds the length of the stream, then it will seek to the end. Returns the location it ended up at (useful if you seek to the end) to get the file position

virtual uint32_t PxFileBuf::seekWrite ( uint32_t loc ) [pure virtual]

Seeks the stream to a particular location for writing.

If the location passed exceeds the length of the stream, then it will seek to the end. Returns the location it ended up at (useful if you seek to the end) to get the file position

void PxFileBuf::setEndianMode ( EndianMode e ) [inline]

PX_INLINE void PxFileBuf::storeByte ( uint8_t b ) [inline]

PX_INLINE void PxFileBuf::storeDouble ( double v ) [inline]

PX_INLINE void PxFileBuf::storeDword ( uint32_t v ) [inline]

PX_INLINE void PxFileBuf::storeFloat ( float v ) [inline]

PX_INLINE void PxFileBuf::storeWord ( uint16_t w ) [inline]

PX_INLINE void PxFileBuf::swap2Bytes ( void * _data ) const [inline]

PX_INLINE void PxFileBuf::swap4Bytes ( void * _data ) const [inline]

PX_INLINE void PxFileBuf::swap8Bytes ( void * _data ) const [inline]

virtual uint32_t PxFileBuf::tellRead ( void ) const [pure virtual]

Reports the current stream location read aqccess.

Returns:
Returns the current stream read location.

virtual uint32_t PxFileBuf::tellWrite ( void ) const [pure virtual]

Reports the current stream location for write access.

Returns:
Returns the current stream write location.

virtual uint32_t PxFileBuf::write | ( | const void * | mem,
 |  | uint32_t | len |
 | ) |  |  | [pure virtual]

Writes a buffer of memory to the stream.

Parameters:
[in] | mem | The address of a buffer of memory to send to the stream.
[in] | len | The number of bytes to send to the stream.
Returns:
Returns the actual number of bytes sent to the stream. If not equal to the length specific, then the stream is full or unable to write for some reason.

Member Data Documentation

EndianMode PxFileBuf::mEndianMode [private]

bool PxFileBuf::mEndianSwap [private]

const uint32_t PxFileBuf::STREAM_SEEK_END = 0xFFFFFFFF [static]

Declares a constant to seek to the end of the stream.

Does not support streams longer than 32 bits

The documentation for this class was generated from the following file:
  • PxFileBuf.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Character

Character

Classes

class | PxBoxControllerDesc
Descriptor for a box character controller. More...
class | PxBoxController
Box character controller. More...
struct | PxCapsuleClimbingMode
class | PxCapsuleControllerDesc
A descriptor for a capsule character controller. More...
class | PxCapsuleController
A capsule character controller. More...
struct | PxControllerShapeType
The type of controller, eg box, sphere or capsule. More...
struct | PxControllerNonWalkableMode
specifies how a CCT interacts with non-walkable parts. More...
struct | PxControllerCollisionFlag
specifies which sides a character is colliding with. More...
struct | PxControllerState
Describes a controller's internal state. More...
struct | PxControllerStats
Describes a controller's internal statistics. More...
struct | PxControllerHit
Describes a generic CCT hit. More...
struct | PxControllerShapeHit
Describes a hit between a CCT and a shape. Passed to onShapeHit(). More...
struct | PxControllersHit
Describes a hit between a CCT and another CCT. Passed to onControllerHit(). More...
struct | PxControllerObstacleHit
Describes a hit between a CCT and a user-defined obstacle. Passed to onObstacleHit(). More...
class | PxUserControllerHitReport
User callback class for character controller events. More...
class | PxControllerFilterCallback
Dedicated filtering callback for CCT vs CCT. More...
class | PxControllerFilters
Filtering data for "move" call. More...
class | PxControllerDesc
Descriptor class for a character controller. More...
class | PxController
Base class for character controllers. More...
struct | PxControllerBehaviorFlag
specifies controller behavior More...
class | PxControllerBehaviorCallback
User behavior callback. More...
struct | PxControllerDebugRenderFlag
specifies debug-rendering flags More...
class | PxControllerManager
Manages an array of character controllers. More...
class | PxObstacle
Base class for obstacles. More...
class | PxBoxObstacle
A box obstacle. More...
class | PxCapsuleObstacle
A capsule obstacle. More...
class | PxObstacleContext
Context class for obstacles. More...
struct | PxExtendedVec3

Defines

#define | PX_PHYSX_CHARACTER_API
#define | INVALID_OBSTACLE_HANDLE 0xffffffff
#define | PX_BIG_WORLDS
#define | PX_MAX_EXTENDED PX_MAX_F64
#define | PxExtendedAbs(x) fabs(x)

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 | ObstacleHandle
typedef double | PxExtended

Functions

PX_C_EXPORT
PX_PHYSX_CHARACTER_API
physx::PxControllerManager
*PX_CALL_CONV 		PxCreateControllerManager (physx::PxScene &scene, bool lockingEnabled=false)
Creates the controller manager.
PX_FORCE_INLINE PxVec3 | toVec3 (const PxExtendedVec3 &v)
PX_INLINE | PxBoxControllerDesc::PxBoxControllerDesc ()
constructor sets to default.
PX_INLINE | PxBoxControllerDesc::PxBoxControllerDesc (const PxBoxControllerDesc &)
copy constructor.
PX_INLINE PxBoxControllerDesc & | PxBoxControllerDesc::operator= (const PxBoxControllerDesc &)
assignment operator.
PX_INLINE void | PxBoxControllerDesc::copy (const PxBoxControllerDesc &)
virtual PX_INLINE void | PxBoxControllerDesc::setToDefault ()
(re)sets the structure to the default.
virtual PX_INLINE bool | PxBoxControllerDesc::isValid () const
returns true if the current settings are valid
PX_INLINE | PxCapsuleControllerDesc::PxCapsuleControllerDesc ()
constructor sets to default.
PX_INLINE | PxCapsuleControllerDesc::PxCapsuleControllerDesc (const PxCapsuleControllerDesc &)
copy constructor.
PX_INLINE PxCapsuleControllerDesc & | PxCapsuleControllerDesc::operator= (const PxCapsuleControllerDesc &)
assignment operator.
PX_INLINE void | PxCapsuleControllerDesc::copy (const PxCapsuleControllerDesc &)
virtual PX_INLINE void | PxCapsuleControllerDesc::setToDefault ()
(re)sets the structure to the default.
virtual PX_INLINE bool | PxCapsuleControllerDesc::isValid () const
returns true if the current settings are valid
PX_INLINE | PxControllerDesc::PxControllerDesc (PxControllerShapeType::Enum)
constructor sets to default.
PX_INLINE | PxControllerDesc::PxControllerDesc (const PxControllerDesc &)
copy constructor.
PX_INLINE PxControllerDesc & | PxControllerDesc::operator= (const PxControllerDesc &)
assignment operator.
PX_INLINE void | PxControllerDesc::copy (const PxControllerDesc &)
virtual PX_INLINE | PxControllerDesc::~PxControllerDesc ()
virtual PX_INLINE bool | PxControllerDesc::isValid () const
returns true if the current settings are valid

Define Documentation

#define INVALID_OBSTACLE_HANDLE 0xffffffff

#define PX_BIG_WORLDS

#define PX_MAX_EXTENDED PX_MAX_F64

Referenced by PxExtendedVec3::setMinusInfinity(), and PxExtendedVec3::setPlusInfinity().

#define PX_PHYSX_CHARACTER_API

#define PxExtendedAbs ( x ) fabs(x)

Typedef Documentation

typedef PxU32 ObstacleHandle

typedef PxFlags<PxControllerBehaviorFlag::Enum, PxU8> PxControllerBehaviorFlags

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

See also:
PxControllerBehaviorFlag

typedef PxFlags<PxControllerCollisionFlag::Enum, PxU8> PxControllerCollisionFlags

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

See also:
PxControllerCollisionFlag

typedef PxFlags<PxControllerDebugRenderFlag::Enum, PxU32> PxControllerDebugRenderFlags

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

See also:
PxControllerDebugRenderFlag

typedef double PxExtended

Function Documentation

PX_INLINE void PxControllerDesc::copy ( const PxControllerDesc & other ) [protected, inherited]

References PxControllerDesc::behaviorCallback, PxControllerDesc::contactOffset, PxControllerDesc::density, PxControllerDesc::invisibleWallHeight, PxControllerDesc::material, PxControllerDesc::maxJumpHeight, PxControllerDesc::nonWalkableMode, PxControllerDesc::position, PxControllerDesc::registerDeletionListener, PxControllerDesc::reportCallback, PxControllerDesc::scaleCoeff, PxControllerDesc::slopeLimit, PxControllerDesc::stepOffset, PxControllerDesc::upDirection, PxControllerDesc::userData, PxControllerDesc::volumeGrowth, PxExtendedVec3::x, PxExtendedVec3::y, and PxExtendedVec3::z.

Referenced by PxControllerDesc::operator=(), and PxControllerDesc::PxControllerDesc().

PX_INLINE void PxCapsuleControllerDesc::copy ( const PxCapsuleControllerDesc & other ) [protected, inherited]

References PxCapsuleControllerDesc::climbingMode, PxCapsuleControllerDesc::height, and PxCapsuleControllerDesc::radius.

Referenced by PxCapsuleControllerDesc::operator=(), and PxCapsuleControllerDesc::PxCapsuleControllerDesc().

PX_INLINE void PxBoxControllerDesc::copy ( const PxBoxControllerDesc & other ) [protected, inherited]

References PxBoxControllerDesc::halfForwardExtent, PxBoxControllerDesc::halfHeight, and PxBoxControllerDesc::halfSideExtent.

Referenced by PxBoxControllerDesc::operator=(), and PxBoxControllerDesc::PxBoxControllerDesc().

PX_INLINE bool PxControllerDesc::isValid ( ) const [virtual, inherited]

returns true if the current settings are valid

Returns:
True if the descriptor is valid.

Reimplemented in PxBoxControllerDesc, and PxCapsuleControllerDesc.

References PxControllerDesc::contactOffset, PxControllerDesc::density, PxControllerShapeType::eBOX, PxControllerShapeType::eCAPSULE, PxControllerDesc::material, PxControllerDesc::mType, PxControllerDesc::scaleCoeff, PxControllerDesc::slopeLimit, PxControllerDesc::stepOffset, and PxControllerDesc::volumeGrowth.

Referenced by PxCapsuleControllerDesc::isValid(), and PxBoxControllerDesc::isValid().

PX_INLINE bool PxCapsuleControllerDesc::isValid ( ) const [virtual, inherited]

returns true if the current settings are valid

Returns:
True if the descriptor is valid.

Reimplemented from PxControllerDesc.

References PxCapsuleControllerDesc::height, PxControllerDesc::isValid(), PxCapsuleControllerDesc::radius, and PxControllerDesc::stepOffset.

PX_INLINE bool PxBoxControllerDesc::isValid ( ) const [virtual, inherited]

returns true if the current settings are valid

Returns:
True if the descriptor is valid.

Reimplemented from PxControllerDesc.

References PxBoxControllerDesc::halfForwardExtent, PxBoxControllerDesc::halfHeight, PxBoxControllerDesc::halfSideExtent, PxControllerDesc::isValid(), and PxControllerDesc::stepOffset.

PX_INLINE PxControllerDesc & PxControllerDesc::operator= ( const PxControllerDesc & other ) [protected, inherited]

assignment operator.

References PxControllerDesc::copy().

PX_INLINE PxCapsuleControllerDesc & PxCapsuleControllerDesc::operator= ( const PxCapsuleControllerDesc & other ) [inherited]

assignment operator.

References PxCapsuleControllerDesc::copy().

PX_INLINE PxBoxControllerDesc & PxBoxControllerDesc::operator= ( const PxBoxControllerDesc & other ) [inherited]

assignment operator.

References PxBoxControllerDesc::copy().

PX_INLINE PxBoxControllerDesc::PxBoxControllerDesc ( const PxBoxControllerDesc & other ) [inherited]

copy constructor.

References PxBoxControllerDesc::copy().

PX_INLINE PxBoxControllerDesc::PxBoxControllerDesc ( ) [inherited]

constructor sets to default.

Referenced by PxBoxControllerDesc::setToDefault().

PX_INLINE PxCapsuleControllerDesc::PxCapsuleControllerDesc ( const PxCapsuleControllerDesc & other ) [inherited]

copy constructor.

References PxCapsuleControllerDesc::copy().

PX_INLINE PxCapsuleControllerDesc::PxCapsuleControllerDesc ( ) [inherited]

constructor sets to default.

References PxCapsuleControllerDesc::climbingMode, PxCapsuleClimbingMode::eEASY, PxCapsuleControllerDesc::height, and PxCapsuleControllerDesc::radius.

Referenced by PxCapsuleControllerDesc::setToDefault().

PX_INLINE PxControllerDesc::PxControllerDesc ( const PxControllerDesc & other ) [protected, inherited]

copy constructor.

References PxControllerDesc::copy().

PX_INLINE PxControllerDesc::PxControllerDesc ( PxControllerShapeType::Enum t ) [protected, inherited]

constructor sets to default.

References PxControllerDesc::behaviorCallback, PxControllerDesc::contactOffset, PxControllerDesc::density, PxControllerNonWalkableMode::ePREVENT_CLIMBING, PxControllerDesc::invisibleWallHeight, PxControllerDesc::material, PxControllerDesc::maxJumpHeight, PxControllerDesc::nonWalkableMode, PxControllerDesc::position, PxControllerDesc::registerDeletionListener, PxControllerDesc::reportCallback, PxControllerDesc::scaleCoeff, PxControllerDesc::slopeLimit, PxControllerDesc::stepOffset, PxControllerDesc::upDirection, PxControllerDesc::userData, PxControllerDesc::volumeGrowth, PxExtendedVec3::x, PxExtendedVec3::y, and PxExtendedVec3::z.

PX_C_EXPORT PX_PHYSX_CHARACTER_API physx::PxControllerManager* PX_CALL_CONV PxCreateControllerManager | ( | physx::PxScene & | scene,
 |  | bool | lockingEnabled = false
 | ) |  |

Creates the controller manager.

Parameters:
[in] | scene | PhysX scene.
[in] | lockingEnabled | Enables/disables internal locking.
The character controller is informed by PxDeletionListener::onRelease() when actors or shapes are released, and updates its internal caches accordingly. If character controller movement or a call to PxControllerManager::shiftOrigin() may overlap with actor/shape releases, internal data structures must be guarded against concurrent access.

Locking guarantees thread safety in such scenarios.

Note:
locking may result in significant slowdown for release of actors or shapes.
By default, locking is disabled.

PX_INLINE void PxCapsuleControllerDesc::setToDefault ( ) [virtual, inherited]

(re)sets the structure to the default.

References PxCapsuleControllerDesc::PxCapsuleControllerDesc().

PX_INLINE void PxBoxControllerDesc::setToDefault ( ) [virtual, inherited]

(re)sets the structure to the default.

References PxBoxControllerDesc::PxBoxControllerDesc().

PX_FORCE_INLINE PxVec3 toVec3 ( const PxExtendedVec3 & v )

References PxExtendedVec3::x, PxExtendedVec3::y, and PxExtendedVec3::z.

PX_INLINE PxControllerDesc::~PxControllerDesc ( ) [protected, virtual, inherited]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBoxControllerDesc Class Reference

PxBoxControllerDesc Class Reference
[Character]

Descriptor for a box character controller. More...

#include <PxBoxController.h>

Inheritance diagram for PxBoxControllerDesc:

PxControllerDesc
[legend]
Collaboration diagram for PxBoxControllerDesc:

PxControllerDescPxExtendedVec3PxMaterialPxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>PxControllerBehaviorCallbackPxVec3PxUserControllerHitReport
[legend]

List of all members.

Public Member Functions

PX_INLINE | PxBoxControllerDesc ()
constructor sets to default.
virtual PX_INLINE | ~PxBoxControllerDesc ()
PX_INLINE | PxBoxControllerDesc (const PxBoxControllerDesc &)
copy constructor.
PX_INLINE PxBoxControllerDesc & | operator= (const PxBoxControllerDesc &)
assignment operator.
virtual PX_INLINE void | setToDefault ()
(re)sets the structure to the default.
virtual PX_INLINE bool | isValid () const
returns true if the current settings are valid

Public Attributes

PxF32 | halfHeight
Half height.
PxF32 | halfSideExtent
Half side extent.
PxF32 | halfForwardExtent
Half forward extent.

Protected Member Functions

PX_INLINE void | copy (const PxBoxControllerDesc &)

Detailed Description

Descriptor for a box character controller.

See also:
PxBoxController PxControllerDesc

Constructor & Destructor Documentation

virtual PX_INLINE PxBoxControllerDesc::~PxBoxControllerDesc ( ) [inline, virtual]

Member Data Documentation

PxF32 PxBoxControllerDesc::halfForwardExtent

Half forward extent.

Default: 0.5

Referenced by copy(), and isValid().

PxF32 PxBoxControllerDesc::halfHeight

Half height.

Default: 1.0

Referenced by copy(), and isValid().

PxF32 PxBoxControllerDesc::halfSideExtent

Half side extent.

Default: 0.5

Referenced by copy(), and isValid().

The documentation for this class was generated from the following file:
  • PxBoxController.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBoxController Class Reference

PxBoxController Class Reference
[Character]

Box character controller. More...

#include <PxBoxController.h>

Inheritance diagram for PxBoxController:

PxController
[legend]
Collaboration diagram for PxBoxController:

PxController
[legend]

List of all members.

Public Member Functions

virtual PxF32 | getHalfHeight () const =0
Gets controller's half height.
virtual PxF32 | getHalfSideExtent () const =0
Gets controller's half side extent.
virtual PxF32 | getHalfForwardExtent () const =0
Gets controller's half forward extent.
virtual bool | setHalfHeight (PxF32 halfHeight)=0
Sets controller's half height.
virtual bool | setHalfSideExtent (PxF32 halfSideExtent)=0
Sets controller's half side extent.
virtual bool | setHalfForwardExtent (PxF32 halfForwardExtent)=0
Sets controller's half forward extent.

Protected Member Functions

PX_INLINE | PxBoxController ()
virtual | ~PxBoxController ()

Detailed Description

Box character controller.

See also:
PxBoxControllerDesc PxController

Constructor & Destructor Documentation

PX_INLINE PxBoxController::PxBoxController ( ) [inline, protected]

virtual PxBoxController::~PxBoxController ( ) [inline, protected, virtual]

Member Function Documentation

virtual PxF32 PxBoxController::getHalfForwardExtent ( ) const [pure virtual]

Gets controller's half forward extent.

Returns:
The half forward extent of the controller.
See also:
PxBoxControllerDesc.halfForwardExtent setHalfForwardExtent()

virtual PxF32 PxBoxController::getHalfHeight ( ) const [pure virtual]

Gets controller's half height.

Returns:
The half height of the controller.
See also:
PxBoxControllerDesc.halfHeight setHalfHeight()

virtual PxF32 PxBoxController::getHalfSideExtent ( ) const [pure virtual]

Gets controller's half side extent.

Returns:
The half side extent of the controller.
See also:
PxBoxControllerDesc.halfSideExtent setHalfSideExtent()

virtual bool PxBoxController::setHalfForwardExtent ( PxF32 halfForwardExtent ) [pure virtual]

Sets controller's half forward extent.

Warning:
this doesn't check for collisions.
Parameters:
[in] halfForwardExtent The new half forward extent for the controller.
Returns:
Currently always true.
See also:
PxBoxControllerDesc.halfForwardExtent getHalfForwardExtent()

virtual bool PxBoxController::setHalfHeight ( PxF32 halfHeight ) [pure virtual]

Sets controller's half height.

Warning:
this doesn't check for collisions.
Parameters:
[in] halfHeight The new half height for the controller.
Returns:
Currently always true.
See also:
PxBoxControllerDesc.halfHeight getHalfHeight()

virtual bool PxBoxController::setHalfSideExtent ( PxF32 halfSideExtent ) [pure virtual]

Sets controller's half side extent.

Warning:
this doesn't check for collisions.
Parameters:
[in] halfSideExtent The new half side extent for the controller.
Returns:
Currently always true.
See also:
PxBoxControllerDesc.halfSideExtent getHalfSideExtent()

The documentation for this class was generated from the following file:
  • PxBoxController.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCapsuleClimbingMode Struct Reference

PxCapsuleClimbingMode Struct Reference
[Character]

#include <PxCapsuleController.h>

List of all members.

Public Types

enum Enum {
eEASY,
eCONSTRAINED,
eLAST
}

Member Enumeration Documentation

enum PxCapsuleClimbingMode::Enum

Enumerator:
eEASY | Standard mode, let the capsule climb over surfaces according to impact normal.
eCONSTRAINED | Constrained mode, try to limit climbing according to the step offset.
eLAST

The documentation for this struct was generated from the following file:
  • PxCapsuleController.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCapsuleControllerDesc Class Reference

PxCapsuleControllerDesc Class Reference
[Character]

A descriptor for a capsule character controller. More...

#include <PxCapsuleController.h>

Inheritance diagram for PxCapsuleControllerDesc:

PxControllerDesc
[legend]
Collaboration diagram for PxCapsuleControllerDesc:

PxControllerDescPxExtendedVec3PxMaterialPxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>PxControllerBehaviorCallbackPxVec3PxUserControllerHitReport
[legend]

List of all members.

Public Member Functions

PX_INLINE | PxCapsuleControllerDesc ()
constructor sets to default.
virtual PX_INLINE | ~PxCapsuleControllerDesc ()
PX_INLINE | PxCapsuleControllerDesc (const PxCapsuleControllerDesc &)
copy constructor.
PX_INLINE PxCapsuleControllerDesc & | operator= (const PxCapsuleControllerDesc &)
assignment operator.
virtual PX_INLINE void | setToDefault ()
(re)sets the structure to the default.
virtual PX_INLINE bool | isValid () const
returns true if the current settings are valid

Public Attributes

PxF32 | radius
The radius of the capsule.
PxF32 | height
The height of the controller.
PxCapsuleClimbingMode::Enum climbingMode
The climbing mode.

Protected Member Functions

PX_INLINE void | copy (const PxCapsuleControllerDesc &)

Detailed Description

A descriptor for a capsule character controller.

See also:
PxCapsuleController PxControllerDesc

Constructor & Destructor Documentation

virtual PX_INLINE PxCapsuleControllerDesc::~PxCapsuleControllerDesc ( ) [inline, virtual]

Member Data Documentation

PxCapsuleClimbingMode::Enum PxCapsuleControllerDesc::climbingMode

The climbing mode.

Default: PxCapsuleClimbingMode::eEASY

See also:
PxCapsuleController

Referenced by copy(), and PxCapsuleControllerDesc().

PxF32 PxCapsuleControllerDesc::height

The height of the controller.

Default: 0.0

See also:
PxCapsuleController

Referenced by copy(), isValid(), and PxCapsuleControllerDesc().

PxF32 PxCapsuleControllerDesc::radius

The radius of the capsule.

Default: 0.0

See also:
PxCapsuleController

Referenced by copy(), isValid(), and PxCapsuleControllerDesc().

The documentation for this class was generated from the following file:
  • PxCapsuleController.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCapsuleController Class Reference

PxCapsuleController Class Reference
[Character]

A capsule character controller. More...

#include <PxCapsuleController.h>

Inheritance diagram for PxCapsuleController:

PxController
[legend]
Collaboration diagram for PxCapsuleController:

PxController
[legend]

List of all members.

Public Member Functions

virtual PxF32 | getRadius () const =0
Gets controller's radius.
virtual bool | setRadius (PxF32 radius)=0
Sets controller's radius.
virtual PxF32 | getHeight () const =0
Gets controller's height.
virtual bool | setHeight (PxF32 height)=0
Resets controller's height.
virtual PxCapsuleClimbingMode::Enum | getClimbingMode () const =0
Gets controller's climbing mode.
virtual bool | setClimbingMode (PxCapsuleClimbingMode::Enum mode)=0
Sets controller's climbing mode.

Protected Member Functions

PX_INLINE | PxCapsuleController ()
virtual | ~PxCapsuleController ()

Detailed Description

A capsule character controller.

The capsule is defined as a position, a vertical height, and a radius. The height is the distance between the two sphere centers at the end of the capsule. In other words:

p = pos (returned by controller)
h = height
r = radius

p = center of capsule
top sphere center = p.y + h*0.5
bottom sphere center = p.y - h*0.5
top capsule point = p.y + h*0.5 + r
bottom capsule point = p.y - h*0.5 - r

Constructor & Destructor Documentation

PX_INLINE PxCapsuleController::PxCapsuleController ( ) [inline, protected]

virtual PxCapsuleController::~PxCapsuleController ( ) [inline, protected, virtual]

Member Function Documentation

virtual PxCapsuleClimbingMode::Enum PxCapsuleController::getClimbingMode ( ) const [pure virtual]

Gets controller's climbing mode.

Returns:
The capsule controller's climbing mode.
See also:
PxCapsuleControllerDesc.climbingMode setClimbingMode()

virtual PxF32 PxCapsuleController::getHeight ( ) const [pure virtual]

Gets controller's height.

Returns:
The height of the capsule controller.
See also:
PxCapsuleControllerDesc.height setHeight()

virtual PxF32 PxCapsuleController::getRadius ( ) const [pure virtual]

Gets controller's radius.

Returns:
The radius of the controller.
See also:
PxCapsuleControllerDesc.radius setRadius()

virtual bool PxCapsuleController::setClimbingMode ( PxCapsuleClimbingMode::Enum mode ) [pure virtual]

Sets controller's climbing mode.

Parameters:
[in] mode The capsule controller's climbing mode.
See also:
PxCapsuleControllerDesc.climbingMode getClimbingMode()

virtual bool PxCapsuleController::setHeight ( PxF32 height ) [pure virtual]

Resets controller's height.

Warning:
this doesn't check for collisions.
Parameters:
[in] height The new height for the controller.
Returns:
Currently always true.
See also:
PxCapsuleControllerDesc.height getHeight()

virtual bool PxCapsuleController::setRadius ( PxF32 radius ) [pure virtual]

Sets controller's radius.

Warning:
this doesn't check for collisions.
Parameters:
[in] radius The new radius for the controller.
Returns:
Currently always true.
See also:
PxCapsuleControllerDesc.radius getRadius()

The documentation for this class was generated from the following file:
  • PxCapsuleController.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxControllerShapeType Struct Reference

PxControllerShapeType Struct Reference
[Character]

The type of controller, eg box, sphere or capsule. More...

#include <PxController.h>

List of all members.

Public Types

enum Enum {
eBOX,
eCAPSULE,
eFORCE_DWORD = 0x7fffffff
}

Detailed Description

The type of controller, eg box, sphere or capsule.

Member Enumeration Documentation

enum PxControllerShapeType::Enum

Enumerator:
eBOX A box controller.

See also:
PxBoxController PxBoxControllerDesc
eCAPSULE A capsule controller.

See also:
PxCapsuleController PxCapsuleControllerDesc
eFORCE_DWORD

The documentation for this struct was generated from the following file:
  • PxController.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxControllerNonWalkableMode Struct Reference

PxControllerNonWalkableMode Struct Reference
[Character]

specifies how a CCT interacts with non-walkable parts. More...

#include <PxController.h>

List of all members.

Public Types

enum Enum {
ePREVENT_CLIMBING,
ePREVENT_CLIMBING_AND_FORCE_SLIDING
}

Detailed Description

specifies how a CCT interacts with non-walkable parts.

This is only used when slopeLimit is non zero. It is currently enabled for static actors only, and not supported for spheres or capsules.

Member Enumeration Documentation

enum PxControllerNonWalkableMode::Enum

Enumerator:
ePREVENT_CLIMBING | Stops character from climbing up non-walkable slopes, but doesn't move it otherwise.
ePREVENT_CLIMBING_AND_FORCE_SLIDING | Stops character from climbing up non-walkable slopes, and forces it to slide down those slopes.

The documentation for this struct was generated from the following file:
  • PxController.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxControllerCollisionFlag Struct Reference

PxControllerCollisionFlag Struct Reference
[Character]

specifies which sides a character is colliding with. More...

#include <PxController.h>

List of all members.

Public Types

enum Enum {
eCOLLISION_SIDES = (1<<0),
eCOLLISION_UP = (1<<1),
eCOLLISION_DOWN = (1<<2)
}

Detailed Description

specifies which sides a character is colliding with.

Member Enumeration Documentation

enum PxControllerCollisionFlag::Enum

Enumerator:
eCOLLISION_SIDES | Character is colliding to the sides.
eCOLLISION_UP | Character has collision above.
eCOLLISION_DOWN | Character has collision below.

The documentation for this struct was generated from the following file:
  • PxController.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxControllerState Struct Reference

PxControllerState Struct Reference
[Character]

Describes a controller's internal state. More...

#include <PxController.h>

Collaboration diagram for PxControllerState:

PxRigidActorPxActorPxBasePxShapePxFlags\< PxBaseFlag::Enum, PxU16 \>PxVec3
[legend]

List of all members.

Public Attributes

PxVec3 deltaXP
delta position vector for the object the CCT is standing/riding on. Not always match the CCT delta when variable timesteps are used.
PxShape * touchedShape
Shape on which the CCT is standing.
PxRigidActor * touchedActor
Actor owning 'touchedShape'.
ObstacleHandle touchedObstacleHandle
PxU32 collisionFlags
Last known collision flags (PxControllerCollisionFlag).
bool | standOnAnotherCCT
Are we standing on another CCT?
bool | standOnObstacle
Are we standing on a user-defined obstacle?
bool | isMovingUp
is CCT moving up or not? (i.e. explicit jumping)

Detailed Description

Describes a controller's internal state.

Member Data Documentation

PxU32 PxControllerState::collisionFlags

Last known collision flags (PxControllerCollisionFlag).

PxVec3 PxControllerState::deltaXP

delta position vector for the object the CCT is standing/riding on. Not always match the CCT delta when variable timesteps are used.

bool PxControllerState::isMovingUp

is CCT moving up or not? (i.e. explicit jumping)

bool PxControllerState::standOnAnotherCCT

Are we standing on another CCT?

bool PxControllerState::standOnObstacle

Are we standing on a user-defined obstacle?

PxRigidActor* PxControllerState::touchedActor

Actor owning 'touchedShape'.

ObstacleHandle PxControllerState::touchedObstacleHandle

PxShape* PxControllerState::touchedShape

Shape on which the CCT is standing.

The documentation for this struct was generated from the following file:
  • PxController.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxControllerStats Struct Reference

PxControllerStats Struct Reference
[Character]

Describes a controller's internal statistics. More...

#include <PxController.h>

List of all members.

Public Attributes

PxU16 | nbIterations
PxU16 | nbFullUpdates
PxU16 | nbPartialUpdates
PxU16 | nbTessellation

Detailed Description

Describes a controller's internal statistics.

Member Data Documentation

PxU16 PxControllerStats::nbFullUpdates

PxU16 PxControllerStats::nbIterations

PxU16 PxControllerStats::nbPartialUpdates

PxU16 PxControllerStats::nbTessellation

The documentation for this struct was generated from the following file:
  • PxController.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxControllerHit Struct Reference

PxControllerHit Struct Reference
[Character]

Describes a generic CCT hit. More...

#include <PxController.h>

Inheritance diagram for PxControllerHit:

PxControllerObstacleHitPxControllerShapeHitPxControllersHit
[legend]
Collaboration diagram for PxControllerHit:

PxExtendedVec3PxVec3PxController
[legend]

List of all members.

Public Attributes

PxController * controller
Current controller.
PxExtendedVec3 worldPos
Contact position in world space.
PxVec3 worldNormal
Contact normal in world space.
PxVec3 dir
Motion direction.
PxF32 length
Motion length.

Detailed Description

Describes a generic CCT hit.

Member Data Documentation

PxController* PxControllerHit::controller

Current controller.

PxVec3 PxControllerHit::dir

Motion direction.

PxF32 PxControllerHit::length

Motion length.

PxVec3 PxControllerHit::worldNormal

Contact normal in world space.

PxExtendedVec3 PxControllerHit::worldPos

Contact position in world space.

The documentation for this struct was generated from the following file:
  • PxController.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxControllerShapeHit Struct Reference

PxControllerShapeHit Struct Reference
[Character]

Describes a hit between a CCT and a shape. Passed to onShapeHit(). More...

#include <PxController.h>

Inheritance diagram for PxControllerShapeHit:

PxControllerHit
[legend]
Collaboration diagram for PxControllerShapeHit:

PxControllerHitPxExtendedVec3PxVec3PxControllerPxRigidActorPxActorPxBasePxShapePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Attributes

PxShape * shape
Touched shape.
PxRigidActor * actor
Touched actor.
PxU32 triangleIndex
touched triangle index (only for meshes/heightfields)

Detailed Description

Describes a hit between a CCT and a shape. Passed to onShapeHit().

See also:
PxUserControllerHitReport.onShapeHit()

Member Data Documentation

PxRigidActor* PxControllerShapeHit::actor

Touched actor.

PxShape* PxControllerShapeHit::shape

Touched shape.

PxU32 PxControllerShapeHit::triangleIndex

touched triangle index (only for meshes/heightfields)

The documentation for this struct was generated from the following file:
  • PxController.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxControllersHit Struct Reference

PxControllersHit Struct Reference
[Character]

Describes a hit between a CCT and another CCT. Passed to onControllerHit(). More...

#include <PxController.h>

Inheritance diagram for PxControllersHit:

PxControllerHit
[legend]
Collaboration diagram for PxControllersHit:

PxControllerHitPxExtendedVec3PxVec3PxController
[legend]

List of all members.

Public Attributes

PxController * other
Touched controller.

Detailed Description

Describes a hit between a CCT and another CCT. Passed to onControllerHit().

See also:
PxUserControllerHitReport.onControllerHit()

Member Data Documentation

PxController* PxControllersHit::other

Touched controller.

The documentation for this struct was generated from the following file:
  • PxController.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxControllerObstacleHit Struct Reference

PxControllerObstacleHit Struct Reference
[Character]

Describes a hit between a CCT and a user-defined obstacle. Passed to onObstacleHit(). More...

#include <PxController.h>

Inheritance diagram for PxControllerObstacleHit:

PxControllerHit
[legend]
Collaboration diagram for PxControllerObstacleHit:

PxControllerHitPxExtendedVec3PxVec3PxController
[legend]

List of all members.

Public Attributes

const void * userData

Detailed Description

Describes a hit between a CCT and a user-defined obstacle. Passed to onObstacleHit().

See also:
PxUserControllerHitReport.onObstacleHit() PxObstacleContext

Member Data Documentation

const void* PxControllerObstacleHit::userData

The documentation for this struct was generated from the following file:
  • PxController.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxUserControllerHitReport Class Reference

PxUserControllerHitReport Class Reference
[Character]

User callback class for character controller events. More...

#include <PxController.h>

List of all members.

Public Member Functions

virtual void | onShapeHit (const PxControllerShapeHit &hit)=0
Called when current controller hits a shape.
virtual void | onControllerHit (const PxControllersHit &hit)=0
Called when current controller hits another controller.
virtual void | onObstacleHit (const PxControllerObstacleHit &hit)=0
Called when current controller hits a user-defined obstacle.

Protected Member Functions

virtual | ~PxUserControllerHitReport ()

Detailed Description

User callback class for character controller events.

Note:
Character controller hit reports are only generated when move is called.
See also:
PxControllerDesc.callback

Constructor & Destructor Documentation

virtual PxUserControllerHitReport::~PxUserControllerHitReport ( ) [inline, protected, virtual]

Member Function Documentation

virtual void PxUserControllerHitReport::onControllerHit ( const PxControllersHit & hit ) [pure virtual]

Called when current controller hits another controller.

Parameters:
[in] hit Provides information about the hit.
See also:
PxControllersHit

virtual void PxUserControllerHitReport::onObstacleHit ( const PxControllerObstacleHit & hit ) [pure virtual]

Called when current controller hits a user-defined obstacle.

Parameters:
[in] hit Provides information about the hit.
See also:
PxControllerObstacleHit PxObstacleContext

virtual void PxUserControllerHitReport::onShapeHit ( const PxControllerShapeHit & hit ) [pure virtual]

Called when current controller hits a shape.

This is called when the CCT moves and hits a shape. This will not be called when a moving shape hits a non-moving CCT.

Parameters:
[in] hit Provides information about the hit.
See also:
PxControllerShapeHit

The documentation for this class was generated from the following file:
  • PxController.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxControllerFilterCallback Class Reference

PxControllerFilterCallback Class Reference
[Character]

Dedicated filtering callback for CCT vs CCT. More...

#include <PxController.h>

List of all members.

Public Member Functions

virtual | ~PxControllerFilterCallback ()
virtual bool | filter (const PxController &a, const PxController &b)=0
Filtering method for CCT-vs-CCT.

Detailed Description

Dedicated filtering callback for CCT vs CCT.

This controls collisions between CCTs (one CCT vs anoter CCT).

To make each CCT collide against all other CCTs, just return true - or simply avoid defining a callback. To make each CCT freely go through all other CCTs, just return false. Otherwise create a custom filtering logic in this callback.

See also:
PxControllerFilters

Constructor & Destructor Documentation

virtual PxControllerFilterCallback::~PxControllerFilterCallback ( ) [inline, virtual]

Member Function Documentation

virtual bool PxControllerFilterCallback::filter | ( | const PxController & | a,
 |  | const PxController & | b |
 | ) |  |  | [pure virtual]

Filtering method for CCT-vs-CCT.

Parameters:
[in] | a | First CCT
[in] | b | Second CCT
Returns:
true to keep the pair, false to filter it out

The documentation for this class was generated from the following file:
  • PxController.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxControllerFilters Class Reference

PxControllerFilters Class Reference
[Character]

Filtering data for "move" call. More...

#include <PxController.h>

Collaboration diagram for PxControllerFilters:

PxFlags\< PxQueryFlag::Enum, PxU16 \>PxQueryFilterCallbackPxFilterDataPxControllerFilterCallback
[legend]

List of all members.

Public Member Functions

PX_INLINE | PxControllerFilters (const PxFilterData *filterData=NULL, PxQueryFilterCallback *cb=NULL, PxControllerFilterCallback *cctFilterCb=NULL)

Public Attributes

const PxFilterData * | mFilterData
PxQueryFilterCallback * mFilterCallback
Custom filter logic (can be NULL). Passed to PxScene::overlap() call.
PxQueryFlags mFilterFlags
Flags for internal PxQueryFilterData structure. Passed to PxScene::overlap() call.
PxControllerFilterCallback * mCCTFilterCallback
CCT-vs-CCT filter callback. If NULL, all CCT-vs-CCT collisions are kept.

Detailed Description

Filtering data for "move" call.

This class contains all filtering-related parameters for the PxController::move() call.

Collisions between a CCT and the world are filtered using the mFilterData, mFilterCallback and mFilterFlags members. These parameters are internally passed to PxScene::overlap() to find objects touched by the CCT. Please refer to the PxScene::overlap() documentation for details.

Collisions between a CCT and another CCT are filtered using the mCCTFilterCallback member. If this filter callback is not defined, none of the CCT-vs-CCT collisions are filtered, and each CCT will collide against all other CCTs.

Note:
PxQueryFlag::eANY_HIT and PxQueryFlag::eNO_BLOCK are ignored in mFilterFlags.
See also:
PxController.move() PxControllerFilterCallback

Constructor & Destructor Documentation

PX_INLINE PxControllerFilters::PxControllerFilters | ( | const PxFilterData * | filterData = NULL,
 |  | PxQueryFilterCallback * | cb = NULL,
 |  | PxControllerFilterCallback * | cctFilterCb = NULL |
 | ) |  |  | [inline]

Member Data Documentation

PxControllerFilterCallback* PxControllerFilters::mCCTFilterCallback

CCT-vs-CCT filter callback. If NULL, all CCT-vs-CCT collisions are kept.

PxQueryFilterCallback* PxControllerFilters::mFilterCallback

Custom filter logic (can be NULL). Passed to PxScene::overlap() call.

const PxFilterData* PxControllerFilters::mFilterData

Data for internal PxQueryFilterData structure. Passed to PxScene::overlap() call. This can be NULL, in which case a default PxFilterData is used.

PxQueryFlags PxControllerFilters::mFilterFlags

Flags for internal PxQueryFilterData structure. Passed to PxScene::overlap() call.

The documentation for this class was generated from the following file:
  • PxController.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxControllerDesc Class Reference

PxControllerDesc Class Reference
[Character]

Descriptor class for a character controller. More...

#include <PxController.h>

Inheritance diagram for PxControllerDesc:

PxBoxControllerDescPxCapsuleControllerDesc
[legend]
Collaboration diagram for PxControllerDesc:

PxExtendedVec3PxMaterialPxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>PxControllerBehaviorCallbackPxVec3PxUserControllerHitReport
[legend]

List of all members.

Public Member Functions

virtual PX_INLINE bool | isValid () const
returns true if the current settings are valid
PX_INLINE
PxControllerShapeType::Enum 		getType () const
Returns the character controller type.

Public Attributes

PxExtendedVec3 position
The position of the character.
PxVec3 upDirection
Specifies the 'up' direction.
PxF32 | slopeLimit
The maximum slope which the character can walk up.
PxF32 | invisibleWallHeight
Height of invisible walls created around non-walkable triangles.
PxF32 | maxJumpHeight
Maximum height a jumping character can reach.
PxF32 | contactOffset
The contact offset used by the controller.
PxF32 | stepOffset
Defines the maximum height of an obstacle which the character can climb.
PxF32 | density
Density of underlying kinematic actor.
PxF32 | scaleCoeff
Scale coefficient for underlying kinematic actor.
PxF32 | volumeGrowth
Cached volume growth.
PxUserControllerHitReport * reportCallback
Specifies a user report callback.
PxControllerBehaviorCallback * behaviorCallback
Specifies a user behavior callback.
PxControllerNonWalkableMode::Enum nonWalkableMode
The non-walkable mode controls if a character controller slides or not on a non-walkable part.
PxMaterial * material
The material for the actor associated with the controller.
bool | registerDeletionListener
Use a deletion listener to get informed about released objects and clear internal caches if needed.
void * | userData
User specified data associated with the controller.

Protected Member Functions

PX_INLINE | PxControllerDesc (PxControllerShapeType::Enum)
constructor sets to default.
virtual PX_INLINE | ~PxControllerDesc ()
PX_INLINE | PxControllerDesc (const PxControllerDesc &)
copy constructor.
PX_INLINE PxControllerDesc & | operator= (const PxControllerDesc &)
assignment operator.
PX_INLINE void | copy (const PxControllerDesc &)

Protected Attributes

const PxControllerShapeType::Enum | mType
The type of the controller. This gets set by the derived class' ctor, the user should not have to change it.

Detailed Description

Descriptor class for a character controller.

See also:
PxBoxController PxCapsuleController

Member Function Documentation

PX_INLINE PxControllerShapeType::Enum PxControllerDesc::getType ( ) const [inline]

Returns the character controller type.

Returns:
The controllers type.
See also:
PxControllerType PxCapsuleControllerDesc PxBoxControllerDesc

Member Data Documentation

PxControllerBehaviorCallback* PxControllerDesc::behaviorCallback

Specifies a user behavior callback.

This behavior callback is called to customize the controller's behavior w.r.t. touched shapes.

Setting this to NULL disables the callback.

Default: NULL

See also:
PxControllerBehaviorCallback

Referenced by copy(), and PxControllerDesc().

PxF32 PxControllerDesc::contactOffset

The contact offset used by the controller.

Specifies a skin around the object within which contacts will be generated. Use it to avoid numerical precision issues.

This is dependant on the scale of the users world, but should be a small, positive non zero value.

Default: 0.1

Referenced by copy(), isValid(), and PxControllerDesc().

PxF32 PxControllerDesc::density

Density of underlying kinematic actor.

The CCT creates a PhysX's kinematic actor under the hood. This controls its density.

Default: 10.0

Referenced by copy(), isValid(), and PxControllerDesc().

PxF32 PxControllerDesc::invisibleWallHeight

Height of invisible walls created around non-walkable triangles.

The library can automatically create invisible walls around non-walkable triangles defined by the 'slopeLimit' parameter. This defines the height of those walls. If it is 0.0, then no extra triangles are created.

Default: 0.0

See also:
upDirection slopeLimit maxJumpHeight

Referenced by copy(), and PxControllerDesc().

PxMaterial* PxControllerDesc::material

The material for the actor associated with the controller.

The controller internally creates a rigid body actor. This parameter specifies the material of the actor.

Default: NULL

See also:
PxMaterial

Referenced by copy(), isValid(), and PxControllerDesc().

PxF32 PxControllerDesc::maxJumpHeight

Maximum height a jumping character can reach.

This is only used if invisible walls are created ('invisibleWallHeight' is non zero).

When a character jumps, the non-walkable triangles he might fly over are not found by the collision queries (since the character's bounding volume does not touch them). Thus those non-walkable triangles do not create invisible walls, and it is possible for a jumping character to land on a non-walkable triangle, while he wouldn't have reached that place by just walking.

The 'maxJumpHeight' variable is used to extend the size of the collision volume downward. This way, all the non-walkable triangles are properly found by the collision queries and it becomes impossible to 'jump over' invisible walls.

If the character in your game can not jump, it is safe to use 0.0 here. Otherwise it is best to keep this value as small as possible, since a larger collision volume means more triangles to process.

Default: 0.0

See also:
upDirection slopeLimit invisibleWallHeight

Referenced by copy(), and PxControllerDesc().

const PxControllerShapeType::Enum PxControllerDesc::mType [protected]

The type of the controller. This gets set by the derived class' ctor, the user should not have to change it.

Referenced by isValid().

PxControllerNonWalkableMode::Enum PxControllerDesc::nonWalkableMode

The non-walkable mode controls if a character controller slides or not on a non-walkable part.

This is only used when slopeLimit is non zero.

Default: PxControllerNonWalkableMode::ePREVENT_CLIMBING

See also:
PxControllerNonWalkableMode

Referenced by copy(), and PxControllerDesc().

PxExtendedVec3 PxControllerDesc::position

The position of the character.

Note:
The character's initial position must be such that it does not overlap the static geometry.
Default: Zero

Referenced by copy(), and PxControllerDesc().

bool PxControllerDesc::registerDeletionListener

Use a deletion listener to get informed about released objects and clear internal caches if needed.

If a character controller registers a deletion listener, it will get informed about released objects. That allows the controller to invalidate cached data that connects to a released object. If a deletion listener is not registered, PxController::invalidateCache has to be called manually after objects have been released.

See also:
PxController::invalidateCache
Default: true

Referenced by copy(), and PxControllerDesc().

PxUserControllerHitReport* PxControllerDesc::reportCallback

Specifies a user report callback.

This report callback is called when the character collides with shapes and other characters.

Setting this to NULL disables the callback.

Default: NULL

See also:
PxUserControllerHitReport

Referenced by copy(), and PxControllerDesc().

PxF32 PxControllerDesc::scaleCoeff

Scale coefficient for underlying kinematic actor.

The CCT creates a PhysX's kinematic actor under the hood. This controls its scale factor. This should be a number a bit smaller than 1.0.

Default: 0.8

Referenced by copy(), isValid(), and PxControllerDesc().

PxF32 PxControllerDesc::slopeLimit

The maximum slope which the character can walk up.

In general it is desirable to limit where the character can walk, in particular it is unrealistic for the character to be able to climb arbitary slopes.

The limit is expressed as the cosine of desired limit angle. A value of 0 disables this feature.

Warning:
It is currently enabled for static actors only (not for dynamic/kinematic actors), and not supported for spheres or capsules.
Default: 0.707

See also:
upDirection invisibleWallHeight maxJumpHeight

Referenced by copy(), isValid(), and PxControllerDesc().

PxF32 PxControllerDesc::stepOffset

Defines the maximum height of an obstacle which the character can climb.

A small value will mean that the character gets stuck and cannot walk up stairs etc, a value which is too large will mean that the character can climb over unrealistically high obstacles.

Default: 0.5

See also:
upDirection

Referenced by copy(), isValid(), PxCapsuleControllerDesc::isValid(), PxBoxControllerDesc::isValid(), and PxControllerDesc().

PxVec3 PxControllerDesc::upDirection

Specifies the 'up' direction.

In order to provide stepping functionality the SDK must be informed about the up direction.

Default: (0, 1, 0)

Referenced by copy(), and PxControllerDesc().

void* PxControllerDesc::userData

User specified data associated with the controller.

Default: NULL

Referenced by copy(), and PxControllerDesc().

PxF32 PxControllerDesc::volumeGrowth

Cached volume growth.

Amount of space around the controller we cache to improve performance. This is a scale factor that should be higher than 1.0f but not too big, ideally lower than 2.0f.

Default: 1.5

Referenced by copy(), isValid(), and PxControllerDesc().

The documentation for this class was generated from the following file:
  • PxController.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxController Class Reference

PxController Class Reference
[Character]

Base class for character controllers. More...

#include <PxController.h>

Inheritance diagram for PxController:

PxBoxControllerPxCapsuleController
[legend]

List of all members.

Public Member Functions

virtual PxControllerShapeType::Enum | getType () const =0
Return the type of controller.
virtual void | release ()=0
Releases the controller.
virtual PxControllerCollisionFlags | move (const PxVec3 &disp, PxF32 minDist, PxF32 elapsedTime, const PxControllerFilters &filters, const PxObstacleContext *obstacles=NULL)=0
Moves the character using a "collide-and-slide" algorithm.
virtual bool | setPosition (const PxExtendedVec3 &position)=0
Sets controller's position.
virtual const PxExtendedVec3 & | getPosition () const =0
Retrieve the raw position of the controller.
virtual bool | setFootPosition (const PxExtendedVec3 &position)=0
Set controller's foot position.
virtual PxExtendedVec3 | getFootPosition () const =0
Retrieve the "foot" position of the controller, i.e. the position of the bottom of the CCT's shape.
virtual PxRigidDynamic * | getActor () const =0
Get the rigid body actor associated with this controller (see PhysX documentation). The behavior upon manually altering this actor is undefined, you should primarily use it for reading const properties.
virtual void | setStepOffset (const PxF32 offset)=0
The step height.
virtual PxF32 | getStepOffset () const =0
Retrieve the step height.
virtual void | setNonWalkableMode (PxControllerNonWalkableMode::Enum flag)=0
Sets the non-walkable mode for the CCT.
virtual
PxControllerNonWalkableMode::Enum 		getNonWalkableMode () const =0
Retrieves the non-walkable mode for the CCT.
virtual PxF32 | getContactOffset () const =0
Retrieve the contact offset.
virtual void | setContactOffset (PxF32 offset)=0
Sets the contact offset.
virtual PxVec3 | getUpDirection () const =0
Retrieve the 'up' direction.
virtual void | setUpDirection (const PxVec3 &up)=0
Sets the 'up' direction.
virtual PxF32 | getSlopeLimit () const =0
Retrieve the slope limit.
virtual void | setSlopeLimit (PxF32 slopeLimit)=0
Sets the slope limit.
virtual void | invalidateCache ()=0
Flushes internal geometry cache.
virtual PxScene * | getScene ()=0
Retrieve the scene associated with the controller.
virtual void * | getUserData () const =0
Returns the user data associated with this controller.
virtual void | setUserData (void *userData)=0
Sets the user data associated with this controller.
virtual void | getState (PxControllerState &state) const =0
Returns information about the controller's internal state.
virtual void | getStats (PxControllerStats &stats) const =0
Returns the controller's internal statistics.
virtual void | resize (PxReal height)=0
Resizes the controller.

Protected Member Functions

PX_INLINE | PxController ()
virtual | ~PxController ()

Detailed Description

Base class for character controllers.

See also:
PxCapsuleController PxBoxController

Constructor & Destructor Documentation

PX_INLINE PxController::PxController ( ) [inline, protected]

virtual PxController::~PxController ( ) [inline, protected, virtual]

Member Function Documentation

virtual PxRigidDynamic* PxController::getActor ( ) const [pure virtual]

Get the rigid body actor associated with this controller (see PhysX documentation). The behavior upon manually altering this actor is undefined, you should primarily use it for reading const properties.

Returns:
the actor associated with the controller.

virtual PxF32 PxController::getContactOffset ( ) const [pure virtual]

Retrieve the contact offset.

Returns:
The contact offset for the controller.
See also:
PxControllerDesc.contactOffset

virtual PxExtendedVec3 PxController::getFootPosition ( ) const [pure virtual]

Retrieve the "foot" position of the controller, i.e. the position of the bottom of the CCT's shape.

Note:
The foot position takes the contact offset into account
Returns:
The controller's foot position
See also:
PxControllerDesc.position setPosition() getPosition() setFootPosition() move()

virtual PxControllerNonWalkableMode::Enum PxController::getNonWalkableMode ( ) const [pure virtual]

Retrieves the non-walkable mode for the CCT.

Returns:
The current non-walkable mode.
See also:
PxControllerNonWalkableMode

virtual const PxExtendedVec3& PxController::getPosition ( ) const [pure virtual]

Retrieve the raw position of the controller.

The position retrieved by this function is the center of the collision shape. To retrieve the bottom position of the shape, a.k.a. the foot position, use the getFootPosition() function.

The position is updated by calls to move(). Calling this method without calling move() will return the last position or the initial position of the controller.

Returns:
The controller's center position
See also:
PxControllerDesc.position setPosition() getFootPosition() setFootPosition() move()

virtual PxScene* PxController::getScene ( ) [pure virtual]

Retrieve the scene associated with the controller.

Returns:
The physics scene

virtual PxF32 PxController::getSlopeLimit ( ) const [pure virtual]

Retrieve the slope limit.

Returns:
The slope limit for the controller.
See also:
PxControllerDesc.slopeLimit

virtual void PxController::getState ( PxControllerState & state ) const [pure virtual]

Returns information about the controller's internal state.

Parameters:
[out] state The controller's internal state
See also:
PxControllerState

virtual void PxController::getStats ( PxControllerStats & stats ) const [pure virtual]

Returns the controller's internal statistics.

Parameters:
[out] stats The controller's internal statistics
See also:
PxControllerStats

virtual PxF32 PxController::getStepOffset ( ) const [pure virtual]

Retrieve the step height.

Returns:
The step offset for the controller.
See also:
setStepOffset()

virtual PxControllerShapeType::Enum PxController::getType ( ) const [pure virtual]

Return the type of controller.

See also:
PxControllerType

virtual PxVec3 PxController::getUpDirection ( ) const [pure virtual]

Retrieve the 'up' direction.

Returns:
The up direction for the controller.
See also:
PxControllerDesc.upDirection

virtual void* PxController::getUserData ( ) const [pure virtual]

Returns the user data associated with this controller.

Returns:
The user pointer associated with the controller.
See also:
PxControllerDesc.userData

virtual void PxController::invalidateCache ( ) [pure virtual]

Flushes internal geometry cache.

The character controller uses caching in order to speed up collision testing. The cache is automatically flushed when a change to static objects is detected in the scene. For example when a static shape is added, updated, or removed from the scene, the cache is automatically invalidated.

However there may be situations that cannot be automatically detected, and those require manual invalidation of the cache. Currently the user must call this when the filtering behavior changes (the PxControllerFilters parameter of the PxController::move call). While the controller in principle could detect a change in these parameters, it cannot detect a change in the behavior of the filtering function.

See also:
PxController.move

virtual PxControllerCollisionFlags PxController::move | ( | const PxVec3 & | disp,
 |  | PxF32 | minDist,
 |  | PxF32 | elapsedTime,
 |  | const PxControllerFilters & | filters,
 |  | const PxObstacleContext * | obstacles = NULL |
 | ) |  |  | [pure virtual]

Moves the character using a "collide-and-slide" algorithm.

Parameters:
[in] | disp | Displacement vector
[in] | minDist | The minimum travelled distance to consider. If travelled distance is smaller, the character doesn't move. This is used to stop the recursive motion algorithm when remaining distance to travel is small.
[in] | elapsedTime | Time elapsed since last call
[in] | filters | User-defined filters for this move
[in] | obstacles | Potential additional obstacles the CCT should collide with.
Returns:
Collision flags, collection of PxControllerCollisionFlags

virtual void PxController::release ( ) [pure virtual]

Releases the controller.

virtual void PxController::resize ( PxReal height ) [pure virtual]

Resizes the controller.

This function attempts to resize the controller to a given size, while making sure the bottom position of the controller remains constant. In other words the function modifies both the height and the (center) position of the controller. This is a helper function that can be used to implement a 'crouch' functionality for example.

Parameters:
[in] height Desired controller's height

virtual void PxController::setContactOffset ( PxF32 offset ) [pure virtual]

Sets the contact offset.

Parameters:
[in] offset The contact offset for the controller.
See also:
PxControllerDesc.contactOffset

virtual bool PxController::setFootPosition ( const PxExtendedVec3 & position ) [pure virtual]

Set controller's foot position.

The position controlled by this function is the bottom of the collision shape, a.k.a. the foot position.

Note:
The foot position takes the contact offset into account
Warning:
This is a 'teleport' function, it doesn't check for collisions.
To move the character under normal conditions use the move() function.

Parameters:
[in] position The new (bottom) positon for the controller.
Returns:
Currently always returns true.
See also:
PxControllerDesc.position setPosition() getPosition() getFootPosition() move()

virtual void PxController::setNonWalkableMode ( PxControllerNonWalkableMode::Enum flag ) [pure virtual]

Sets the non-walkable mode for the CCT.

Parameters:
[in] flag The new value of the non-walkable mode.
See also:
PxControllerNonWalkableMode

virtual bool PxController::setPosition ( const PxExtendedVec3 & position ) [pure virtual]

Sets controller's position.

The position controlled by this function is the center of the collision shape.

Warning:
This is a 'teleport' function, it doesn't check for collisions.

The character's position must be such that it does not overlap the static geometry.

To move the character under normal conditions use the move() function.

Parameters:
[in] position The new (center) positon for the controller.
Returns:
Currently always returns true.
See also:
PxControllerDesc.position getPosition() getFootPosition() setFootPosition() move()

virtual void PxController::setSlopeLimit ( PxF32 slopeLimit ) [pure virtual]

Sets the slope limit.

Note:
This feature can not be enabled at runtime, i.e. if the slope limit is zero when creating the CCT (which disables the feature) then changing the slope limit at runtime will not have any effect, and the call will be ignored.
Parameters:
[in] slopeLimit The slope limit for the controller.
See also:
PxControllerDesc.slopeLimit

virtual void PxController::setStepOffset ( const PxF32 offset ) [pure virtual]

The step height.

Parameters:
[in] offset The new step offset for the controller.
See also:
PxControllerDesc.stepOffset

virtual void PxController::setUpDirection ( const PxVec3 & up ) [pure virtual]

Sets the 'up' direction.

Parameters:
[in] up The up direction for the controller.
See also:
PxControllerDesc.upDirection

virtual void PxController::setUserData ( void * userData ) [pure virtual]

Sets the user data associated with this controller.

Parameters:
[in] userData The user pointer associated with the controller.
See also:
PxControllerDesc.userData

The documentation for this class was generated from the following file:
  • PxController.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxControllerBehaviorFlag Struct Reference

PxControllerBehaviorFlag Struct Reference
[Character]

specifies controller behavior More...

#include <PxControllerBehavior.h>

List of all members.

Public Types

enum Enum {
eCCT_CAN_RIDE_ON_OBJECT = (1<<0),
eCCT_SLIDE = (1<<1),
eCCT_USER_DEFINED_RIDE = (1<<2)
}

Detailed Description

specifies controller behavior

Member Enumeration Documentation

enum PxControllerBehaviorFlag::Enum

Enumerator:
eCCT_CAN_RIDE_ON_OBJECT Controller can ride on touched object (i.e. when this touched object is moving horizontally).

Note:
The CCT vs. CCT case is not supported.
eCCT_SLIDE | Controller should slide on touched object.
eCCT_USER_DEFINED_RIDE | Disable all code dealing with controllers riding on objects, let users define it outside of the SDK.

The documentation for this struct was generated from the following file:
  • PxControllerBehavior.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxControllerBehaviorCallback Class Reference

PxControllerBehaviorCallback Class Reference
[Character]

User behavior callback. More...

#include <PxControllerBehavior.h>

List of all members.

Public Member Functions

virtual PxControllerBehaviorFlags | getBehaviorFlags (const PxShape &shape, const PxActor &actor)=0
Retrieve behavior flags for a shape.
virtual PxControllerBehaviorFlags | getBehaviorFlags (const PxController &controller)=0
Retrieve behavior flags for a controller.
virtual PxControllerBehaviorFlags | getBehaviorFlags (const PxObstacle &obstacle)=0
Retrieve behavior flags for an obstacle.

Protected Member Functions

virtual | ~PxControllerBehaviorCallback ()

Detailed Description

User behavior callback.

This behavior callback is called to customize the controller's behavior w.r.t. touched shapes.

Constructor & Destructor Documentation

virtual PxControllerBehaviorCallback::~PxControllerBehaviorCallback ( ) [inline, protected, virtual]

Member Function Documentation

virtual PxControllerBehaviorFlags PxControllerBehaviorCallback::getBehaviorFlags ( const PxObstacle & obstacle ) [pure virtual]

Retrieve behavior flags for an obstacle.

When the CCT touches an obstacle, the CCT's behavior w.r.t. this obstacle can be customized by users. This function retrieves the desired PxControllerBehaviorFlag flags capturing the desired behavior.

Note:
See comments about deprecated functions at the start of this class
Parameters:
[in] obstacle The obstacle the CCT is currently touching
Returns:
Desired behavior flags for the given obstacle
See also:
PxControllerBehaviorFlag

virtual PxControllerBehaviorFlags PxControllerBehaviorCallback::getBehaviorFlags ( const PxController & controller ) [pure virtual]

Retrieve behavior flags for a controller.

When the CCT touches a controller, the CCT's behavior w.r.t. this controller can be customized by users. This function retrieves the desired PxControllerBehaviorFlag flags capturing the desired behavior.

Note:
The flag PxControllerBehaviorFlag::eCCT_CAN_RIDE_ON_OBJECT is not supported.

See comments about deprecated functions at the start of this class

Parameters:
[in] controller The controller the CCT is currently touching
Returns:
Desired behavior flags for the given controller
See also:
PxControllerBehaviorFlag

virtual PxControllerBehaviorFlags PxControllerBehaviorCallback::getBehaviorFlags | ( | const PxShape & | shape,
 |  | const PxActor & | actor |
 | ) |  |  | [pure virtual]

Retrieve behavior flags for a shape.

When the CCT touches a shape, the CCT's behavior w.r.t. this shape can be customized by users. This function retrieves the desired PxControllerBehaviorFlag flags capturing the desired behavior.

Note:
See comments about deprecated functions at the start of this class
Parameters:
[in] | shape | The shape the CCT is currently touching
[in] | actor | The actor owning the shape
Returns:
Desired behavior flags for the given shape
See also:
PxControllerBehaviorFlag

The documentation for this class was generated from the following file:
  • PxControllerBehavior.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxControllerDebugRenderFlag Struct Reference

PxControllerDebugRenderFlag Struct Reference
[Character]

specifies debug-rendering flags More...

#include <PxControllerManager.h>

List of all members.

Public Types

enum Enum {
eTEMPORAL_BV = (1<<0),
eCACHED_BV = (1<<1),
eOBSTACLES = (1<<2),
eNONE = 0,
eALL = 0xffffffff
}

Detailed Description

specifies debug-rendering flags

Member Enumeration Documentation

enum PxControllerDebugRenderFlag::Enum

Enumerator:
eTEMPORAL_BV | Temporal bounding volume around controllers.
eCACHED_BV | Cached bounding volume around controllers.
eOBSTACLES | User-defined obstacles.
eNONE
eALL

The documentation for this struct was generated from the following file:
  • PxControllerManager.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxControllerManager Class Reference

PxControllerManager Class Reference
[Character]

Manages an array of character controllers. More...

#include <PxControllerManager.h>

List of all members.

Public Member Functions

virtual void | release ()=0
Releases the controller manager.
virtual PxScene & | getScene () const =0
Returns the scene the manager is adding the controllers to.
virtual PxU32 | getNbControllers () const =0
Returns the number of controllers that are being managed.
virtual PxController * | getController (PxU32 index)=0
Retrieve one of the controllers in the manager.
virtual PxController * | createController (const PxControllerDesc &desc)=0
Creates a new character controller.
virtual void | purgeControllers ()=0
Releases all the controllers that are being managed.
virtual PxRenderBuffer & | getRenderBuffer ()=0
Retrieves debug data.
virtual void | setDebugRenderingFlags (PxControllerDebugRenderFlags flags)=0
Sets debug rendering flags.
virtual PxU32 | getNbObstacleContexts () const =0
Returns the number of obstacle contexts that are being managed.
virtual PxObstacleContext * | getObstacleContext (PxU32 index)=0
Retrieve one of the obstacle contexts in the manager.
virtual PxObstacleContext * | createObstacleContext ()=0
Creates an obstacle context.
virtual void | computeInteractions (PxF32 elapsedTime, PxControllerFilterCallback *cctFilterCb=NULL)=0
Computes character-character interactions.
virtual void | setTessellation (bool flag, float maxEdgeLength)=0
Enables or disables runtime tessellation.
virtual void | setOverlapRecoveryModule (bool flag)=0
Enables or disables the overlap recovery module.
virtual void | setPreciseSweeps (bool flag)=0
Enables or disables the precise sweeps.
virtual void | setPreventVerticalSlidingAgainstCeiling (bool flag)=0
Enables or disables vertical sliding against ceilings.
virtual void | shiftOrigin (const PxVec3 &shift)=0
Shift the origin of the character controllers and obstacle objects by the specified vector.

Protected Member Functions

PxControllerManager ()
virtual | ~PxControllerManager ()

Detailed Description

Manages an array of character controllers.

See also:
PxController PxBoxController PxCapsuleController

Constructor & Destructor Documentation

PxControllerManager::PxControllerManager ( ) [inline, protected]

virtual PxControllerManager::~PxControllerManager ( ) [inline, protected, virtual]

Member Function Documentation

virtual void PxControllerManager::computeInteractions | ( | PxF32 | elapsedTime,
 |  | PxControllerFilterCallback * | cctFilterCb = NULL |
 | ) |  |  | [pure virtual]

Computes character-character interactions.

This function is an optional helper to properly resolve interactions between characters, in case they overlap (which can happen for gameplay reasons, etc).

You should call this once per frame, before your PxController::move() calls. The function will not move the characters directly, but it will compute overlap information for each character that will be used in the next move() call.

You need to provide a proper time value here so that interactions are resolved in a way that do not depend on the framerate.

If you only have one character in the scene, or if you can guarantee your characters will never overlap, then you do not need to call this function.

Note:
Releasing the manager will automatically release all the associated obstacle contexts.
Parameters:
[in] | elapsedTime | Elapsed time since last call
[in] | cctFilterCb | Filtering callback for CCT-vs-CCT interactions

virtual PxController* PxControllerManager::createController ( const PxControllerDesc & desc ) [pure virtual]

Creates a new character controller.

Parameters:
[in] desc The controllers descriptor
Returns:
The new controller
See also:
PxController PxController.release() PxControllerDesc

virtual PxObstacleContext* PxControllerManager::createObstacleContext ( ) [pure virtual]

Creates an obstacle context.

Returns:
New obstacle context
See also:
PxObstacleContext

virtual PxController* PxControllerManager::getController ( PxU32 index ) [pure virtual]

Retrieve one of the controllers in the manager.

Parameters:
index the index of the controller to return
Returns:
The controller with the specified index.

virtual PxU32 PxControllerManager::getNbControllers ( ) const [pure virtual]

Returns the number of controllers that are being managed.

Returns:
The number of controllers.

virtual PxU32 PxControllerManager::getNbObstacleContexts ( ) const [pure virtual]

Returns the number of obstacle contexts that are being managed.

Returns:
The number of obstacle contexts.

virtual PxObstacleContext* PxControllerManager::getObstacleContext ( PxU32 index ) [pure virtual]

Retrieve one of the obstacle contexts in the manager.

Parameters:
index The index of the obstacle context to retrieve.
Returns:
The obstacle context with the specified index.

virtual PxRenderBuffer& PxControllerManager::getRenderBuffer ( ) [pure virtual]

Retrieves debug data.

Returns:
The render buffer filled with debug-render data
See also:
PxControllerManager.setDebugRenderingFlags()

virtual PxScene& PxControllerManager::getScene ( ) const [pure virtual]

Returns the scene the manager is adding the controllers to.

Returns:
The associated physics scene.

virtual void PxControllerManager::purgeControllers ( ) [pure virtual]

Releases all the controllers that are being managed.

virtual void PxControllerManager::release ( ) [pure virtual]

Releases the controller manager.

Note:
This will release all associated controllers and obstacle contexts.

This function is required to be called to release foundation usage.

virtual void PxControllerManager::setDebugRenderingFlags ( PxControllerDebugRenderFlags flags ) [pure virtual]

Sets debug rendering flags.

Parameters:
[in] flags The debug rendering flags (combination of PxControllerDebugRenderFlags)
See also:
PxControllerManager.getRenderBuffer() PxControllerDebugRenderFlags

virtual void PxControllerManager::setOverlapRecoveryModule ( bool flag ) [pure virtual]

Enables or disables the overlap recovery module.

The overlap recovery module can be used to depenetrate CCTs from static objects when an overlap is detected. This can happen in three main cases:

  • when the CCT is directly spawned or teleported in another object
  • when the CCT algorithm fails due to limited FPU accuracy
  • when the "up vector" is modified, making the rotated CCT shape overlap surrounding objects

When activated, the CCT module will automatically try to resolve the penetration, and move the CCT to a safe place where it does not overlap other objects anymore. This only concerns static objects, dynamic objects are ignored by the recovery module.

When the recovery module is not activated, it is possible for the CCTs to go through static objects. By default, the recovery module is enabled.

The recovery module currently works with all geometries except heightfields.

Parameters:
[in] flag True/false to enable/disable overlap recovery module.

virtual void PxControllerManager::setPreciseSweeps ( bool flag ) [pure virtual]

Enables or disables the precise sweeps.

Precise sweeps are more accurate, but also potentially slower than regular sweeps.

By default, precise sweeps are enabled.

Parameters:
[in] flag True/false to enable/disable precise sweeps.

virtual void PxControllerManager::setPreventVerticalSlidingAgainstCeiling ( bool flag ) [pure virtual]

Enables or disables vertical sliding against ceilings.

Geometry is seen as "ceilings" when the following condition is met:

dot product(contact normal, up direction)<0.0f

This flag controls whether characters should slide vertically along the geometry in that case.

By default, sliding is allowed.

Parameters:
[in] flag True/false to enable/disable sliding.

virtual void PxControllerManager::setTessellation | ( | bool | flag,
 |  | float | maxEdgeLength |
 | ) |  |  | [pure virtual]

Enables or disables runtime tessellation.

Large triangles can create accuracy issues in the sweep code, which in turn can lead to characters not sliding smoothly against geometries, or even penetrating them. This feature allows one to reduce those issues by tessellating large triangles at runtime, before performing sweeps against them. The amount of tessellation is controlled by the 'maxEdgeLength' parameter. Any triangle with at least one edge length greater than the maxEdgeLength will get recursively tessellated, until resulting triangles are small enough.

This features only applies to triangle meshes, convex meshes, heightfields and boxes.

Parameters:
[in] | flag | True/false to enable/disable runtime tessellation.
[in] | maxEdgeLength | Max edge length allowed before tessellation kicks in.

virtual void PxControllerManager::shiftOrigin ( const PxVec3 & shift ) [pure virtual]

Shift the origin of the character controllers and obstacle objects by the specified vector.

The positions of all character controllers, obstacle objects and the corresponding data structures will get adjusted to reflect the shifted origin location (the shift vector will get subtracted from all character controller and obstacle object positions).

Note:
It is the user's responsibility to keep track of the summed total origin shift and adjust all input/output to/from PhysXCharacterKinematic 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] shift Translation vector to shift the origin by.

The documentation for this class was generated from the following file:
  • PxControllerManager.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxObstacle Class Reference

PxObstacle Class Reference
[Character]

Base class for obstacles. More...

#include <PxControllerObstacles.h>

Inheritance diagram for PxObstacle:

PxBoxObstaclePxCapsuleObstacle
[legend]
Collaboration diagram for PxObstacle:

PxExtendedVec3PxQuat
[legend]

List of all members.

Public Member Functions

PX_FORCE_INLINE
PxGeometryType::Enum 		getType () const

Public Attributes

void * mUserData
PxExtendedVec3 mPos
PxQuat mRot

Protected Member Functions

PxObstacle ()

Protected Attributes

PxGeometryType::Enum mType

Detailed Description

Base class for obstacles.

See also:
PxBoxObstacle PxCapsuleObstacle PxObstacleContext

Constructor & Destructor Documentation

PxObstacle::PxObstacle ( ) [inline, protected]

Member Function Documentation

PX_FORCE_INLINE PxGeometryType::Enum PxObstacle::getType ( ) const [inline]

Member Data Documentation

PxExtendedVec3 PxObstacle::mPos

PxQuat PxObstacle::mRot

PxGeometryType::Enum PxObstacle::mType [protected]

void* PxObstacle::mUserData

The documentation for this class was generated from the following file:
  • PxControllerObstacles.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBoxObstacle Class Reference

PxBoxObstacle Class Reference
[Character]

A box obstacle. More...

#include <PxControllerObstacles.h>

Inheritance diagram for PxBoxObstacle:

PxObstacle
[legend]
Collaboration diagram for PxBoxObstacle:

PxObstaclePxExtendedVec3PxQuatPxVec3
[legend]

List of all members.

Public Member Functions

PxBoxObstacle ()

Public Attributes

PxVec3 mHalfExtents

Detailed Description

A box obstacle.

See also:
PxObstacle PxCapsuleObstacle PxObstacleContext

Constructor & Destructor Documentation

PxBoxObstacle::PxBoxObstacle ( ) [inline]

References PxGeometryType::eBOX.

Member Data Documentation

PxVec3 PxBoxObstacle::mHalfExtents

The documentation for this class was generated from the following file:
  • PxControllerObstacles.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCapsuleObstacle Class Reference

PxCapsuleObstacle Class Reference
[Character]

A capsule obstacle. More...

#include <PxControllerObstacles.h>

Inheritance diagram for PxCapsuleObstacle:

PxObstacle
[legend]
Collaboration diagram for PxCapsuleObstacle:

PxObstaclePxExtendedVec3PxQuat
[legend]

List of all members.

Public Member Functions

PxCapsuleObstacle ()

Public Attributes

PxReal | mHalfHeight
PxReal | mRadius

Detailed Description

A capsule obstacle.

See also:
PxBoxObstacle PxObstacle PxObstacleContext

Constructor & Destructor Documentation

PxCapsuleObstacle::PxCapsuleObstacle ( ) [inline]

References PxGeometryType::eCAPSULE.

Member Data Documentation

PxReal PxCapsuleObstacle::mHalfHeight

PxReal PxCapsuleObstacle::mRadius

The documentation for this class was generated from the following file:
  • PxControllerObstacles.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxObstacleContext Class Reference

PxObstacleContext Class Reference
[Character]

Context class for obstacles. More...

#include <PxControllerObstacles.h>

List of all members.

Public Member Functions

PxObstacleContext ()
virtual | ~PxObstacleContext ()
virtual void | release ()=0
Releases the context.
virtual PxControllerManager & | getControllerManager () const =0
Retrieves the controller manager associated with this context.
virtual ObstacleHandle | addObstacle (const PxObstacle &obstacle)=0
Adds an obstacle to the context.
virtual bool | removeObstacle (ObstacleHandle handle)=0
Removes an obstacle from the context.
virtual bool | updateObstacle (ObstacleHandle handle, const PxObstacle &obstacle)=0
Updates data for an existing obstacle.
virtual PxU32 | getNbObstacles () const =0
Retrieves number of obstacles in the context.
virtual const PxObstacle * | getObstacle (PxU32 i) const =0
Retrieves desired obstacle.
virtual const PxObstacle * | getObstacleByHandle (ObstacleHandle handle) const =0
Retrieves desired obstacle by given handle.

Detailed Description

Context class for obstacles.

An obstacle context class contains and manages a set of user-defined obstacles.

See also:
PxBoxObstacle PxCapsuleObstacle PxObstacle

Constructor & Destructor Documentation

PxObstacleContext::PxObstacleContext ( ) [inline]

virtual PxObstacleContext::~PxObstacleContext ( ) [inline, virtual]

Member Function Documentation

virtual ObstacleHandle PxObstacleContext::addObstacle ( const PxObstacle & obstacle ) [pure virtual]

Adds an obstacle to the context.

Parameters:
[in] obstacle Obstacle data for the new obstacle. The data gets copied.
Returns:
Handle for newly-added obstacle

virtual PxControllerManager& PxObstacleContext::getControllerManager ( ) const [pure virtual]

Retrieves the controller manager associated with this context.

Returns:
The associated controller manager

virtual PxU32 PxObstacleContext::getNbObstacles ( ) const [pure virtual]

Retrieves number of obstacles in the context.

Returns:
Number of obstacles in the context

virtual const PxObstacle* PxObstacleContext::getObstacle ( PxU32 i ) const [pure virtual]

Retrieves desired obstacle.

Parameters:
[in] i Obstacle index
Returns:
Desired obstacle

virtual const PxObstacle* PxObstacleContext::getObstacleByHandle ( ObstacleHandle handle ) const [pure virtual]

Retrieves desired obstacle by given handle.

Parameters:
[in] handle Obstacle handle
Returns:
Desired obstacle

virtual void PxObstacleContext::release ( ) [pure virtual]

Releases the context.

virtual bool PxObstacleContext::removeObstacle ( ObstacleHandle handle ) [pure virtual]

Removes an obstacle from the context.

Parameters:
[in] handle Handle for the obstacle object that needs to be removed.
Returns:
True if success

virtual bool PxObstacleContext::updateObstacle | ( | ObstacleHandle | handle,
 |  | const PxObstacle & | obstacle |
 | ) |  |  | [pure virtual]

Updates data for an existing obstacle.

Parameters:
[in] | handle | Handle for the obstacle object that needs to be updated.
[in] | obstacle | New obstacle data
Returns:
True if success

The documentation for this class was generated from the following file:
  • PxControllerObstacles.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxExtendedVec3 Struct Reference

PxExtendedVec3 Struct Reference
[Character]

#include <PxExtended.h>

List of all members.

Public Member Functions

PX_INLINE | PxExtendedVec3 ()
PX_INLINE | PxExtendedVec3 (PxExtended _x, PxExtended _y, PxExtended _z)
PX_INLINE bool | isZero () const
PX_INLINE PxExtended | dot (const PxVec3 &v) const
PX_INLINE PxExtended | distanceSquared (const PxExtendedVec3 &v) const
PX_INLINE PxExtended | magnitudeSquared () const
PX_INLINE PxExtended | magnitude () const
PX_INLINE PxExtended | normalize ()
PX_INLINE bool | isFinite () const
PX_INLINE void | maximum (const PxExtendedVec3 &v)
PX_INLINE void | minimum (const PxExtendedVec3 &v)
PX_INLINE void | set (PxExtended x_, PxExtended y_, PxExtended z_)
PX_INLINE void | setPlusInfinity ()
PX_INLINE void | setMinusInfinity ()
PX_INLINE void | cross (const PxExtendedVec3 &left, const PxVec3 &right)
PX_INLINE void | cross (const PxExtendedVec3 &left, const PxExtendedVec3 &right)
PX_INLINE PxExtendedVec3 | cross (const PxExtendedVec3 &v) const
PX_INLINE void | cross (const PxVec3 &left, const PxExtendedVec3 &right)
PX_INLINE PxExtendedVec3 | operator- () const
PX_INLINE PxExtendedVec3 & | operator+= (const PxExtendedVec3 &v)
PX_INLINE PxExtendedVec3 & | operator-= (const PxExtendedVec3 &v)
PX_INLINE PxExtendedVec3 & | operator+= (const PxVec3 &v)
PX_INLINE PxExtendedVec3 & | operator-= (const PxVec3 &v)
PX_INLINE PxExtendedVec3 & | operator*= (const PxReal &s)
PX_INLINE PxExtendedVec3 | operator+ (const PxExtendedVec3 &v) const
PX_INLINE PxVec3 | operator- (const PxExtendedVec3 &v) const
PX_INLINE PxExtended & | operator[] (int index)
PX_INLINE PxExtended | operator[] (int index) const

Public Attributes

PxExtended x
PxExtended y
PxExtended z

Constructor & Destructor Documentation

PX_INLINE PxExtendedVec3::PxExtendedVec3 ( ) [inline]

PX_INLINE PxExtendedVec3::PxExtendedVec3 | ( | PxExtended | _x,
 |  | PxExtended | _y,
 |  | PxExtended | _z |
 | ) |  |  | [inline]

Member Function Documentation

PX_INLINE void PxExtendedVec3::cross | ( | const PxVec3 & | left,
 |  | const PxExtendedVec3 & | right |
 | ) |  |  | [inline]

References PxVec3::x, x, y, PxVec3::y, PxVec3::z, and z.

PX_INLINE PxExtendedVec3 PxExtendedVec3::cross ( const PxExtendedVec3 & v ) const [inline]

References cross().

PX_INLINE void PxExtendedVec3::cross | ( | const PxExtendedVec3 & | left,
 |  | const PxExtendedVec3 & | right |
 | ) |  |  | [inline]

References x, y, and z.

PX_INLINE void PxExtendedVec3::cross | ( | const PxExtendedVec3 & | left,
 |  | const PxVec3 & | right |
 | ) |  |  | [inline]

References x, PxVec3::x, PxVec3::y, y, z, and PxVec3::z.

Referenced by cross().

PX_INLINE PxExtended PxExtendedVec3::distanceSquared ( const PxExtendedVec3 & v ) const [inline]

References x, y, and z.

PX_INLINE PxExtended PxExtendedVec3::dot ( const PxVec3 & v ) const [inline]

References PxVec3::x, PxVec3::y, and PxVec3::z.

PX_INLINE bool PxExtendedVec3::isFinite ( ) const [inline]

References PxIsFinite().

PX_INLINE bool PxExtendedVec3::isZero ( ) const [inline]

PX_INLINE PxExtended PxExtendedVec3::magnitude ( ) const [inline]

References PxSqrt().

PX_INLINE PxExtended PxExtendedVec3::magnitudeSquared ( ) const [inline]

PX_INLINE void PxExtendedVec3::maximum ( const PxExtendedVec3 & v ) [inline]

References x, y, and z.

PX_INLINE void PxExtendedVec3::minimum ( const PxExtendedVec3 & v ) [inline]

References x, y, and z.

PX_INLINE PxExtended PxExtendedVec3::normalize ( ) [inline]

PX_INLINE PxExtendedVec3& PxExtendedVec3::operator*= ( const PxReal & s ) [inline]

PX_INLINE PxExtendedVec3 PxExtendedVec3::operator+ ( const PxExtendedVec3 & v ) const [inline]

References x, y, and z.

PX_INLINE PxExtendedVec3& PxExtendedVec3::operator+= ( const PxVec3 & v ) [inline]

References PxVec3::x, PxVec3::y, and PxVec3::z.

PX_INLINE PxExtendedVec3& PxExtendedVec3::operator+= ( const PxExtendedVec3 & v ) [inline]

References x, y, and z.

PX_INLINE PxVec3 PxExtendedVec3::operator- ( const PxExtendedVec3 & v ) const [inline]

References x, y, and z.

PX_INLINE PxExtendedVec3 PxExtendedVec3::operator- ( ) const [inline]

PX_INLINE PxExtendedVec3& PxExtendedVec3::operator-= ( const PxVec3 & v ) [inline]

References PxVec3::x, PxVec3::y, and PxVec3::z.

PX_INLINE PxExtendedVec3& PxExtendedVec3::operator-= ( const PxExtendedVec3 & v ) [inline]

References x, y, and z.

PX_INLINE PxExtended PxExtendedVec3::operator[] ( int index ) const [inline]

References PX_ASSERT.

PX_INLINE PxExtended& PxExtendedVec3::operator[] ( int index ) [inline]

References PX_ASSERT.

PX_INLINE void PxExtendedVec3::set | ( | PxExtended | x_,
 |  | PxExtended | y_,
 |  | PxExtended | z_ |
 | ) |  |  | [inline]

PX_INLINE void PxExtendedVec3::setMinusInfinity ( ) [inline]

References PX_MAX_EXTENDED.

PX_INLINE void PxExtendedVec3::setPlusInfinity ( ) [inline]

References PX_MAX_EXTENDED.

Member Data Documentation

PxExtended PxExtendedVec3::x

Referenced by PxControllerDesc::copy(), cross(), distanceSquared(), maximum(), minimum(), operator+(), operator+=(), operator-(), operator-=(), PxControllerDesc::PxControllerDesc(), and toVec3().

PxExtended PxExtendedVec3::y

Referenced by PxControllerDesc::copy(), cross(), distanceSquared(), maximum(), minimum(), operator+(), operator+=(), operator-(), operator-=(), PxControllerDesc::PxControllerDesc(), and toVec3().

PxExtended PxExtendedVec3::z

Referenced by PxControllerDesc::copy(), cross(), distanceSquared(), maximum(), minimum(), operator+(), operator+=(), operator-(), operator-=(), PxControllerDesc::PxControllerDesc(), and toVec3().

The documentation for this struct was generated from the following file:
  • PxExtended.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Common

Common

Classes

struct | PxBaseFlag
Flags for PxBase. More...
class | PxBase
Base class for objects that can be members of a PxCollection. More...
class | PxCollection
Collection class for serialization. More...
struct | PxStridedData
struct | PxTypedStridedData< TDataType >
struct | PxBoundedData
struct | PxPadding< TNumBytes >
class | PxFixedSizeLookupTable< NB_ELEMENTS >
class | PxPhysicsInsertionCallback
Callback interface that permits PxCooking to insert a TriangleMesh, HeightfieldMesh or ConvexMesh directly into PxPhysics without the need to store the cooking results into a stream. More...
struct | PxDebugColor
Default color values used for debug rendering. More...
struct | PxDebugPoint
Used to store a single point and colour for debug rendering. More...
struct | PxDebugLine
Used to store a single line and colour for debug rendering. More...
struct | PxDebugTriangle
Used to store a single triangle and colour for debug rendering. More...
struct | PxDebugText
Used to store a text for debug rendering. Doesn't own 'string' array. More...
class | PxRenderBuffer
Interface for points, lines, triangles, and text buffer. More...
class | PxProcessPxBaseCallback
Callback class used to process PxBase objects. More...
class | PxSerializationContext
Binary serialization context class. More...
class | PxDeserializationContext
Binary deserialization context class. More...
class | PxSerializationRegistry
Class serving as a registry for XML (RepX) and binary serializable types. More...
class | PxTolerancesScale
Class to define the scale at which simulation runs. Most simulation tolerances are calculated in terms of the values here. More...
struct | PxConcreteType
an enumeration of concrete classes inheriting from PxBase More...
struct | PxTypeInfo< T >
a structure containing per-type information for types inheriting from PxBase More...
class | PxInputStream
Input stream class for I/O. More...
class | PxInputData
Input data class for I/O which provides random read access. More...
class | PxOutputStream
Output stream class for I/O. More...

Defines

#define | PX_PHYSX_CORE_API
#define | PX_PHYSX_GPU_API
#define | PX_PHYSX_COMMON_API
#define | PX_SERIAL_ALIGN 16
Default serialization alignment.
#define | PX_SERIAL_FILE_ALIGN 128
Serialized input data must be aligned to this value.
#define | PX_SERIAL_OBJECT_ID_INVALID 0
PxSerialObjectId value for objects that do not have an ID.
#define | PX_SERIAL_REF_KIND_PTR_TYPE_BIT (1u<<31)
Bit to mark pointer type references,.
#define | PX_SERIAL_REF_KIND_PXBASE (0 | PX_SERIAL_REF_KIND_PTR_TYPE_BIT)
Reference kind value for PxBase objects.
#define | PX_SERIAL_REF_KIND_MATERIAL_IDX (1)
Reference kind value for material indices.
#define | PX_MAKE_FOURCC(a, b, c, d) ( (a) | ((b)<<8) | ((c)<<16) | ((d)<<24) )
Used to fix multi-byte characters warning from gcc for situations like: PxU32 foo = 'CCTS';.
#define | PX_DEFINE_TYPEINFO(_name, _fastType)

Typedefs

typedef PxU16 | PxType
typedef PxFlags
< PxBaseFlag::Enum, PxU16 > 		PxBaseFlags
typedef PxU32 | PxTriangleID
typedef PxU16 | PxMaterialTableIndex
typedef PxU16 | PxType
typedef PxU64 | PxSerialObjectId
ID type for PxBase objects in a PxCollection.
typedef void(* | PxBinaryMetaDataCallback )(PxOutputStream &stream)
Callback type for exporting binary meta data for a serializable type.

Functions

PX_PHYSX_COMMON_API
physx::PxCollection
*PX_CALL_CONV 		PxCreateCollection ()
Creates a collection object.
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_INLINE | PxTolerancesScale::PxTolerancesScale ()
constructor sets to default
PX_INLINE bool | PxTolerancesScale::isValid () const
Returns true if the descriptor is valid.

Define Documentation

#define PX_DEFINE_TYPEINFO | ( | _name,
 |  | _fastType | )

Value:

class _name; \
    template <> struct PxTypeInfo<_name>    {   static const char* name() { return #_name;  }   enum { eFastTypeId = _fastType };   };

#define PX_MAKE_FOURCC | ( | a,
 |  | b,
 |  | c,
 |  | d | ) | ( (a) | ((b)<<8) | ((c)<<16) | ((d)<<24) )

Used to fix multi-byte characters warning from gcc for situations like: PxU32 foo = 'CCTS';.

#define PX_PHYSX_COMMON_API

#define PX_PHYSX_CORE_API

#define PX_PHYSX_GPU_API

#define PX_SERIAL_ALIGN 16

Default serialization alignment.

#define PX_SERIAL_FILE_ALIGN 128

Serialized input data must be aligned to this value.

#define PX_SERIAL_OBJECT_ID_INVALID 0

PxSerialObjectId value for objects that do not have an ID.

#define PX_SERIAL_REF_KIND_MATERIAL_IDX (1)

Reference kind value for material indices.

#define PX_SERIAL_REF_KIND_PTR_TYPE_BIT (1u<<31)

Bit to mark pointer type references,.

See also:
PxDeserializationContext

#define PX_SERIAL_REF_KIND_PXBASE (0 | PX_SERIAL_REF_KIND_PTR_TYPE_BIT)

Reference kind value for PxBase objects.

Referenced by PxSerializerDefaultAdapter< T >::registerReferences(), and PxDeserializationContext::translatePxBase().

Typedef Documentation

typedef PxFlags<PxBaseFlag::Enum, PxU16> PxBaseFlags

typedef void(* PxBinaryMetaDataCallback)(PxOutputStream &stream)

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

See also:
PxSerializationRegistry::registerBinaryMetaDataCallback
Parameters:
stream Stream to store binary meta data.

typedef PxU16 PxMaterialTableIndex

typedef PxU64 PxSerialObjectId

ID type for PxBase objects in a PxCollection.

typedef PxU32 PxTriangleID

typedef PxU16 PxType

typedef PxU16 PxType

Function Documentation

PX_INLINE bool PxTolerancesScale::isValid ( ) const [inherited]

Returns true if the descriptor is valid.

Returns:
true if the current settings are valid (returns always true).

References PxTolerancesScale::length, and PxTolerancesScale::mass.

PX_PHYSX_COMMON_API physx::PxCollection* PX_CALL_CONV PxCreateCollection ( )

Creates a collection object.

Objects can only be serialized or deserialized through a collection. For serialization, users must add objects to the collection and serialize the collection as a whole. For deserialization, the system gives back a collection of deserialized objects to users.

Returns:
The new collection object.
See also:
PxCollection, PxCollection::release()

PX_FOUNDATION_API PxVec3 PxDiagonalize | ( | const PxMat33 & | m,
 |  | PxQuat & | axes
 | ) |  |

Referenced by PxMassProperties::getMassSpaceInertia().

PX_FOUNDATION_API PxQuat PxShortestRotation | ( | const PxVec3 & | from,
 |  | const PxVec3 & | target
 | ) |  |

finds the shortest rotation between two vectors.

Parameters:
[in] | from | the vector to start from
[in] | target | the 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

PX_INLINE PxTolerancesScale::PxTolerancesScale ( ) [inherited]

constructor sets to default


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBaseFlag Struct Reference

PxBaseFlag Struct Reference
[Common]

Flags for PxBase. More...

#include <PxBase.h>

List of all members.

Public Types

enum Enum {
eOWNS_MEMORY = (1<<0),
eIS_RELEASABLE = (1<<1)
}

Detailed Description

Flags for PxBase.

Member Enumeration Documentation

enum PxBaseFlag::Enum

Enumerator:
eOWNS_MEMORY
eIS_RELEASABLE

The documentation for this struct was generated from the following file:
  • PxBase.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBase Class Reference

PxBase Class Reference
[Common]

Base class for objects that can be members of a PxCollection. More...

#include <PxBase.h>

Inheritance diagram for PxBase:

PxActorPxAggregatePxArticulationPxArticulationJointPxClothFabricPxConstraintPxConvexMeshPxHeightFieldPxJointPxMaterialPxPruningStructurePxShapePxTriangleMeshPxVehicleWheelsPxClothPxParticleBasePxRigidActorPxParticleFluidPxParticleSystemPxRigidBodyPxRigidStaticPxArticulationLinkPxRigidDynamicPxD6JointPxDistanceJointPxFixedJointPxPrismaticJointPxRevoluteJointPxSphericalJointPxBVH33TriangleMeshPxBVH34TriangleMeshPxVehicleDrivePxVehicleNoDrivePxVehicleDrive4WPxVehicleDriveNWPxVehicleDriveTank
[legend]
Collaboration diagram for PxBase:

PxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

virtual void | release ()=0
Releases the PxBase instance, please check documentation of release in derived class.
virtual const char * | getConcreteTypeName () const =0
Returns string name of dynamic type.
template<class T >
T * | is ()
template<class T >
const T * | is () const
PX_FORCE_INLINE PxType | getConcreteType () const
Returns concrete type of object.
PX_FORCE_INLINE void | setBaseFlag (PxBaseFlag::Enum flag, bool value)
Set PxBaseFlag.
PX_FORCE_INLINE void | setBaseFlags (PxBaseFlags inFlags)
Set PxBaseFlags.
PX_FORCE_INLINE PxBaseFlags | getBaseFlags () const
Returns PxBaseFlags.
virtual bool | isReleasable () const
Whether the object is subordinate.

Protected Member Functions

PX_INLINE | PxBase (PxType concreteType, PxBaseFlags baseFlags)
Constructor setting concrete type and base flags.
PX_INLINE | PxBase (PxBaseFlags baseFlags)
Deserialization constructor setting base flags.
virtual | ~PxBase ()
Destructor.
virtual bool | isKindOf (const char *superClass) const
Returns whether a given type name matches with the type of this instance.
template<class T >
bool | typeMatch () const

Protected Attributes

PxType mConcreteType
PxBaseFlags mBaseFlags

Friends

void | getBinaryMetaData_PxBase (PxOutputStream &stream)

Detailed Description

Base class for objects that can be members of a PxCollection.

All PxBase sub-classes can be serialized.

See also:
PxCollection

Constructor & Destructor Documentation

PX_INLINE PxBase::PxBase | ( | PxType | concreteType,
 |  | PxBaseFlags | baseFlags |
 | ) |  |  | [inline, protected]

Constructor setting concrete type and base flags.

PX_INLINE PxBase::PxBase ( PxBaseFlags baseFlags ) [inline, protected]

Deserialization constructor setting base flags.

virtual PxBase::~PxBase ( ) [inline, protected, virtual]

Destructor.

Member Function Documentation

PX_FORCE_INLINE PxBaseFlags PxBase::getBaseFlags ( ) const [inline]

Returns PxBaseFlags.

Returns:
PxBaseFlags
See also:
PxBaseFlags

PX_FORCE_INLINE PxType PxBase::getConcreteType ( ) const [inline]

Returns concrete type of object.

Returns:
PxConcreteType::Enum of serialized object
See also:
PxConcreteType

virtual const char* PxBase::getConcreteTypeName ( ) const [pure virtual]

Returns string name of dynamic type.

Returns:
Class name of most derived type of this object.

Implemented in PxAggregate, PxArticulation, PxArticulationJoint, PxArticulationLink, PxConstraint, PxMaterial, PxPruningStructure, PxRigidDynamic, PxRigidStatic, PxShape, PxCloth, PxClothFabric, PxD6Joint, PxDistanceJoint, PxFixedJoint, PxPrismaticJoint, PxRevoluteJoint, PxSphericalJoint, PxConvexMesh, PxHeightField, PxParticleFluid, PxParticleSystem, PxVehicleDrive, PxVehicleDrive4W, PxVehicleDriveNW, PxVehicleDriveTank, PxVehicleNoDrive, and PxVehicleWheels.

template<class T >
const T* PxBase::is ( ) const [inline]

template<class T >
T* PxBase::is ( ) [inline]

virtual bool PxBase::isKindOf ( const char * superClass ) const [inline, protected, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented in PxActor, PxAggregate, PxArticulation, PxArticulationJoint, PxArticulationLink, PxConstraint, PxMaterial, PxPruningStructure, PxRigidActor, PxRigidBody, PxRigidDynamic, PxRigidStatic, PxShape, PxCloth, PxClothFabric, PxD6Joint, PxDistanceJoint, PxFixedJoint, PxJoint, PxPrismaticJoint, PxRevoluteJoint, PxSphericalJoint, PxConvexMesh, PxHeightField, PxTriangleMesh, PxBVH33TriangleMesh, PxBVH34TriangleMesh, PxParticleBase, PxParticleFluid, PxParticleSystem, PxVehicleDrive, PxVehicleDrive4W, PxVehicleDriveNW, PxVehicleDriveTank, PxVehicleNoDrive, and PxVehicleWheels.

Referenced by PxVehicleWheels::isKindOf(), PxVehicleNoDrive::isKindOf(), PxVehicleDriveTank::isKindOf(), PxVehicleDriveNW::isKindOf(), PxVehicleDrive4W::isKindOf(), PxVehicleDrive::isKindOf(), PxTriangleMesh::isKindOf(), PxShape::isKindOf(), PxPruningStructure::isKindOf(), PxMaterial::isKindOf(), PxJoint::isKindOf(), PxHeightField::isKindOf(), PxConvexMesh::isKindOf(), PxConstraint::isKindOf(), PxClothFabric::isKindOf(), PxArticulationJoint::isKindOf(), PxArticulation::isKindOf(), PxAggregate::isKindOf(), and PxActor::isKindOf().

virtual bool PxBase::isReleasable ( ) const [inline, virtual]

Whether the object is subordinate.

A class is subordinate, if it can only be instantiated in the context of another class.

Returns:
Whether the class is subordinate
See also:
PxSerialization::isSerializable

References PxBaseFlag::eIS_RELEASABLE.

virtual void PxBase::release ( ) [pure virtual]

Releases the PxBase instance, please check documentation of release in derived class.

Implemented in PxActor, PxAggregate, PxArticulation, PxArticulationLink, PxConstraint, PxMaterial, PxPruningStructure, PxRigidActor, PxShape, PxCloth, PxClothFabric, PxJoint, PxConvexMesh, PxHeightField, PxTriangleMesh, and PxVehicleWheels.

PX_FORCE_INLINE void PxBase::setBaseFlag | ( | PxBaseFlag::Enum | flag,
 |  | bool | value |
 | ) |  |  | [inline]

Set PxBaseFlag.

Parameters:
[in] | flag | The flag to be set
[in] | value | The flags new value

PX_FORCE_INLINE void PxBase::setBaseFlags ( PxBaseFlags inFlags ) [inline]

Set PxBaseFlags.

Parameters:
[in] inFlags The flags to be set
See also:
PxBaseFlags

template<class T >
bool PxBase::typeMatch ( ) const [inline, protected]

References PxConcreteType::eUNDEFINED.

Friends And Related Function Documentation

void getBinaryMetaData_PxBase ( PxOutputStream & stream ) [friend]

Member Data Documentation

PxBaseFlags PxBase::mBaseFlags [protected]

PxType PxBase::mConcreteType [protected]

The documentation for this class was generated from the following file:
  • PxBase.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCollection Class Reference

PxCollection Class Reference
[Common]

Collection class for serialization. More...

#include <PxCollection.h>

List of all members.

Public Member Functions

virtual void | add (PxBase &object, PxSerialObjectId id=PX_SERIAL_OBJECT_ID_INVALID)=0
Adds a PxBase object to the collection.
virtual void | remove (PxBase &object)=0
Removes a PxBase member object from the collection.
virtual bool | contains (PxBase &object) const =0
Returns whether the collection contains a certain PxBase object.
virtual void | addId (PxBase &object, PxSerialObjectId id)=0
Adds an id to a member PxBase object.
virtual void | removeId (PxSerialObjectId id)=0
Removes id from a contained PxBase object.
virtual void | add (PxCollection &collection)=0
Adds all PxBase objects and their ids of collection to this collection.
virtual void | remove (PxCollection &collection)=0
Removes all PxBase objects of collection from this collection.
virtual PxU32 | getNbObjects () const =0
Gets number of PxBase objects in this collection.
virtual PxBase & | getObject (PxU32 index) const =0
Gets the PxBase object of this collection given its index.
virtual PxU32 | getObjects (PxBase **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0
Copies member PxBase pointers to a user specified buffer.
virtual PxBase * | find (PxSerialObjectId id) const =0
Looks for a PxBase object given a PxSerialObjectId value.
virtual PxU32 | getNbIds () const =0
Gets number of PxSerialObjectId names in this collection.
virtual PxU32 | getIds (PxSerialObjectId *userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0
Copies member PxSerialObjectId values to a user specified buffer.
virtual PxSerialObjectId | getId (const PxBase &object) const =0
Gets the PxSerialObjectId name of a PxBase object within the collection.
virtual void | release ()=0
Deletes a collection object.

Protected Member Functions

PxCollection ()
virtual | ~PxCollection ()

Detailed Description

Collection class for serialization.

A collection is a set of PxBase objects. PxBase objects can be added to the collection regardless of other objects they depend on. Objects may be named using PxSerialObjectId values in order to resolve dependencies between objects of different collections.

Serialization and deserialization only work through collections.

A scene is typically serialized using the following steps:

  1. create a serialization registry
  2. create a collection for scene objects
  3. complete the scene objects (adds all dependent objects, e.g. meshes)
  4. serialize collection
  5. release collection
  6. release serialization registry

For example the code may look like this:

    PxPhysics* physics; // The physics
    PxScene* scene;     // The physics scene
    SerialStream s;     // The user-defined stream doing the actual write to disk

    PxSerializationRegistry* registry = PxSerialization::createSerializationRegistry(*physics); // step 1)
    PxCollection* collection = PxSerialization::createCollection(*scene);                       // step 2)
    PxSerialization::complete(*collection, *registry);                                          // step 3)
    PxSerialization::serializeCollectionToBinary(s, *collection, *registry);                    // step 4)
    collection->release();                                                                      // step 5)
    registry->release();                                                                        // step 6)

A scene is typically deserialized using the following steps:

  1. load a serialized collection into memory
  2. create a serialization registry
  3. create a collection by passing the serialized memory block
  4. add collected objects to scene
  5. release collection
  6. release serialization registry

For example the code may look like this:

    PxPhysics* physics; // The physics
    PxScene* scene;     // The physics scene
    void* memory128;    // a 128-byte aligned buffer previously loaded from disk by the user    - step 1)

    PxSerializationRegistry* registry = PxSerialization::createSerializationRegistry(*physics);     // step 2)
    PxCollection* collection = PxSerialization::createCollectionFromBinary(memory128, *registry);   // step 3)
    scene->addCollection(*collection);                                                              // step 4)
    collection->release();                                                                          // step 5)
    registry->release();                                                                            // step 6)

See also:
PxBase, PxCreateCollection()

Constructor & Destructor Documentation

PxCollection::PxCollection ( ) [inline, protected]

virtual PxCollection::~PxCollection ( ) [inline, protected, virtual]

Member Function Documentation

virtual void PxCollection::add ( PxCollection & collection ) [pure virtual]

Adds all PxBase objects and their ids of collection to this collection.

PxBase objects already in this collection are ignored. Object ids need to be conflict free, i.e. the same object may not have two different ids within the two collections.

Parameters:
[in] collection Collection to be added

virtual void PxCollection::add | ( | PxBase & | object,
 |  | PxSerialObjectId | id = PX_SERIAL_OBJECT_ID_INVALID |
 | ) |  |  | [pure virtual]

Adds a PxBase object to the collection.

Adds a PxBase object to the collection. Optionally a PxSerialObjectId can be provided in order to resolve dependencies between collections. A PxSerialObjectId value of PX_SERIAL_OBJECT_ID_INVALID means the object remains without id. Objects can be added regardless of other objects they require. If the object is already in the collection, the ID will be set if it was PX_SERIAL_OBJECT_ID_INVALID previously, otherwise the operation fails.

Parameters:
[in] | object | Object to be added to the collection
[in] | id | Optional PxSerialObjectId id

virtual void PxCollection::addId | ( | PxBase & | object,
 |  | PxSerialObjectId | id |
 | ) |  |  | [pure virtual]

Adds an id to a member PxBase object.

If the object is already associated with an id within the collection, the id is replaced. May only be called for objects that are members of the collection. The id needs to be unique within the collection.

Parameters:
[in] | object | Member PxBase object
[in] | id | PxSerialObjectId id to be given to the object

virtual bool PxCollection::contains ( PxBase & object ) const [pure virtual]

Returns whether the collection contains a certain PxBase object.

Parameters:
[in] object PxBase object
Returns:
Whether object is contained.

virtual PxBase* PxCollection::find ( PxSerialObjectId id ) const [pure virtual]

Looks for a PxBase object given a PxSerialObjectId value.

If there is no PxBase object in the collection with the given id, NULL is returned.

Parameters:
[in] id PxSerialObjectId value to look for
Returns:
PxBase object with the given id value or NULL

virtual PxSerialObjectId PxCollection::getId ( const PxBase & object ) const [pure virtual]

Gets the PxSerialObjectId name of a PxBase object within the collection.

The PxBase object needs to be a member of the collection.

Parameters:
[in] object PxBase object to get id for
Returns:
PxSerialObjectId name of the object or PX_SERIAL_OBJECT_ID_INVALID if the object is unnamed

virtual PxU32 PxCollection::getIds | ( | PxSerialObjectId * | userBuffer,
 |  | PxU32 | bufferSize,
 |  | PxU32 | startIndex = 0 |
 | ) |  |  | const [pure virtual]

Copies member PxSerialObjectId values to a user specified buffer.

Parameters:
[out] | userBuffer | Array of PxSerialObjectId values
[in] | bufferSize | Capacity of userBuffer
[in] | startIndex | Offset into list of member PxSerialObjectId values
Returns:
number of members PxSerialObjectId values that have been written to the userBuffer

virtual PxU32 PxCollection::getNbIds ( ) const [pure virtual]

Gets number of PxSerialObjectId names in this collection.

Returns:
Number of PxSerialObjectId names in this collection

virtual PxU32 PxCollection::getNbObjects ( ) const [pure virtual]

Gets number of PxBase objects in this collection.

Returns:
Number of objects in this collection

virtual PxBase& PxCollection::getObject ( PxU32 index ) const [pure virtual]

Gets the PxBase object of this collection given its index.

Parameters:
[in] index PxBase index in [0, getNbObjects())
Returns:
PxBase object at index index

virtual PxU32 PxCollection::getObjects | ( | PxBase ** | userBuffer,
 |  | PxU32 | bufferSize,
 |  | PxU32 | startIndex = 0 |
 | ) |  |  | const [pure virtual]

Copies member PxBase pointers to a user specified buffer.

Parameters:
[out] | userBuffer | Array of PxBase pointers
[in] | bufferSize | Capacity of userBuffer
[in] | startIndex | Offset into list of member PxBase objects
Returns:
number of members PxBase objects that have been written to the userBuffer

virtual void PxCollection::release ( ) [pure virtual]

Deletes a collection object.

This function only deletes the collection object, i.e. the container class. It doesn't delete objects that are part of the collection.

See also:
PxCreateCollection()

virtual void PxCollection::remove ( PxCollection & collection ) [pure virtual]

Removes all PxBase objects of collection from this collection.

PxBase objects not present in this collection are ignored. Ids of objects which are removed are also removed.

Parameters:
[in] collection Collection to be removed

virtual void PxCollection::remove ( PxBase & object ) [pure virtual]

Removes a PxBase member object from the collection.

Object needs to be contained by the collection.

Parameters:
[in] object PxBase object to be removed

virtual void PxCollection::removeId ( PxSerialObjectId id ) [pure virtual]

Removes id from a contained PxBase object.

May only be called for ids that are associated with an object in the collection.

Parameters:
[in] id PxSerialObjectId value

The documentation for this class was generated from the following file:
  • PxCollection.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxStridedData Struct Reference

PxStridedData Struct Reference
[Common]

#include <PxCoreUtilityTypes.h>

Inheritance diagram for PxStridedData:

PxBoundedData
[legend]

List of all members.

Public Member Functions

PxStridedData ()
template<typename TDataType >
PX_INLINE const TDataType & | at (PxU32 idx) const

Public Attributes

PxU32 stride
The offset in bytes between consecutive samples in the data.
const void * | data

Constructor & Destructor Documentation

PxStridedData::PxStridedData ( ) [inline]

Member Function Documentation

template<typename TDataType >
PX_INLINE const TDataType& PxStridedData::at ( PxU32 idx ) const [inline]

Member Data Documentation

const void* PxStridedData::data

Referenced by PxTriangleMeshDesc::isValid(), PxSimpleTriangleMesh::isValid(), PxConvexMeshDesc::isValid(), and PxClothMeshDesc::isValid().

PxU32 PxStridedData::stride

The offset in bytes between consecutive samples in the data.

Default: 0

Referenced by PxSimpleTriangleMesh::isValid(), PxHeightFieldDesc::isValid(), PxConvexMeshDesc::isValid(), and PxClothMeshDesc::isValid().

The documentation for this struct was generated from the following file:
  • PxCoreUtilityTypes.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTypedStridedData< TDataType > Struct Template Reference

PxTypedStridedData< TDataType > Struct Template Reference
[Common]

#include <PxCoreUtilityTypes.h>

List of all members.

Public Member Functions

PxTypedStridedData ()

Public Attributes

PxU32 stride
const TDataType * data

template<typename TDataType>
struct PxTypedStridedData< TDataType >

Constructor & Destructor Documentation

template<typename TDataType>
PxTypedStridedData< TDataType >::PxTypedStridedData ( ) [inline]

Member Data Documentation

template<typename TDataType>
const TDataType* PxTypedStridedData< TDataType >::data

Referenced by PxTriangleMeshDesc::isValid().

template<typename TDataType>
PxU32 PxTypedStridedData< TDataType >::stride

Referenced by PxTriangleMeshDesc::isValid().

The documentation for this struct was generated from the following file:
  • PxCoreUtilityTypes.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBoundedData Struct Reference

PxBoundedData Struct Reference
[Common]

#include <PxCoreUtilityTypes.h>

Inheritance diagram for PxBoundedData:

PxStridedData
[legend]
Collaboration diagram for PxBoundedData:

PxStridedData
[legend]

List of all members.

Public Member Functions

PxBoundedData ()

Public Attributes

PxU32 count

Constructor & Destructor Documentation

PxBoundedData::PxBoundedData ( ) [inline]

Member Data Documentation

PxU32 PxBoundedData::count

Referenced by PxTriangleMeshDesc::isValid(), PxSimpleTriangleMesh::isValid(), PxConvexMeshDesc::isValid(), and PxClothMeshDesc::isValid().

The documentation for this struct was generated from the following file:
  • PxCoreUtilityTypes.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPadding< TNumBytes > Struct Template Reference

PxPadding< TNumBytes > Struct Template Reference
[Common]

#include <PxCoreUtilityTypes.h>

List of all members.

Public Member Functions

PxPadding ()

Public Attributes

PxU8 mPadding [TNumBytes]

template<PxU8 TNumBytes>
struct PxPadding< TNumBytes >

Constructor & Destructor Documentation

template<PxU8 TNumBytes>
PxPadding< TNumBytes >::PxPadding ( ) [inline]

Member Data Documentation

template<PxU8 TNumBytes>
PxU8 PxPadding< TNumBytes >::mPadding[TNumBytes]

The documentation for this struct was generated from the following file:
  • PxCoreUtilityTypes.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxFixedSizeLookupTable< NB_ELEMENTS > Class Template Reference

PxFixedSizeLookupTable< NB_ELEMENTS > Class Template Reference
[Common]

#include <PxCoreUtilityTypes.h>

List of all members.

Public Member Functions

PxFixedSizeLookupTable ()
PxFixedSizeLookupTable (const PxEMPTY)
PxFixedSizeLookupTable (const PxReal *dataPairs, const PxU32 numDataPairs)
PxFixedSizeLookupTable (const PxFixedSizeLookupTable &src)
~PxFixedSizeLookupTable ()
PxFixedSizeLookupTable & | operator= (const PxFixedSizeLookupTable &src)
PX_FORCE_INLINE void | addPair (const PxReal x, const PxReal y)
PX_FORCE_INLINE PxReal | getYVal (const PxReal x) const
PxU32 | getNbDataPairs () const
void | clear ()
PX_FORCE_INLINE PxReal | getX (const PxU32 i) const
PX_FORCE_INLINE PxReal | getY (const PxU32 i) const

Public Attributes

PxReal | mDataPairs [2 *NB_ELEMENTS]
PxU32 mNbDataPairs
PxU32 | mPad [3]

template<PxU32 NB_ELEMENTS>
class PxFixedSizeLookupTable< NB_ELEMENTS >

Constructor & Destructor Documentation

template<PxU32 NB_ELEMENTS>
PxFixedSizeLookupTable< NB_ELEMENTS >::PxFixedSizeLookupTable ( ) [inline]

template<PxU32 NB_ELEMENTS>
PxFixedSizeLookupTable< NB_ELEMENTS >::PxFixedSizeLookupTable ( const PxEMPTY ) [inline]

template<PxU32 NB_ELEMENTS>
PxFixedSizeLookupTable< NB_ELEMENTS >::PxFixedSizeLookupTable | ( | const PxReal * | dataPairs,
 |  | const PxU32 | numDataPairs |
 | ) |  |  | [inline]

template<PxU32 NB_ELEMENTS>
PxFixedSizeLookupTable< NB_ELEMENTS >::PxFixedSizeLookupTable ( const PxFixedSizeLookupTable< NB_ELEMENTS > & src ) [inline]

template<PxU32 NB_ELEMENTS>
PxFixedSizeLookupTable< NB_ELEMENTS >::~PxFixedSizeLookupTable ( ) [inline]

Member Function Documentation

template<PxU32 NB_ELEMENTS>
PX_FORCE_INLINE void PxFixedSizeLookupTable< NB_ELEMENTS >::addPair | ( | const PxReal | x,
 |  | const PxReal | y |
 | ) |  |  | [inline]

template<PxU32 NB_ELEMENTS>
void PxFixedSizeLookupTable< NB_ELEMENTS >::clear ( ) [inline]

template<PxU32 NB_ELEMENTS>
PxU32 PxFixedSizeLookupTable< NB_ELEMENTS >::getNbDataPairs ( ) const [inline]

template<PxU32 NB_ELEMENTS>
PX_FORCE_INLINE PxReal PxFixedSizeLookupTable< NB_ELEMENTS >::getX ( const PxU32 i ) const [inline]

template<PxU32 NB_ELEMENTS>
PX_FORCE_INLINE PxReal PxFixedSizeLookupTable< NB_ELEMENTS >::getY ( const PxU32 i ) const [inline]

template<PxU32 NB_ELEMENTS>
PX_FORCE_INLINE PxReal PxFixedSizeLookupTable< NB_ELEMENTS >::getYVal ( const PxReal x ) const [inline]

template<PxU32 NB_ELEMENTS>
PxFixedSizeLookupTable& PxFixedSizeLookupTable< NB_ELEMENTS >::operator= ( const PxFixedSizeLookupTable< NB_ELEMENTS > & src ) [inline]

Member Data Documentation

template<PxU32 NB_ELEMENTS>
PxReal PxFixedSizeLookupTable< NB_ELEMENTS >::mDataPairs[2 *NB_ELEMENTS]

Referenced by PxFixedSizeLookupTable< eMAX_NB_ENGINE_TORQUE_CURVE_ENTRIES >::operator=(), and PxFixedSizeLookupTable< eMAX_NB_ENGINE_TORQUE_CURVE_ENTRIES >::PxFixedSizeLookupTable().

template<PxU32 NB_ELEMENTS>
PxU32 PxFixedSizeLookupTable< NB_ELEMENTS >::mNbDataPairs

Referenced by PxFixedSizeLookupTable< eMAX_NB_ENGINE_TORQUE_CURVE_ENTRIES >::operator=(), and PxFixedSizeLookupTable< eMAX_NB_ENGINE_TORQUE_CURVE_ENTRIES >::PxFixedSizeLookupTable().

template<PxU32 NB_ELEMENTS>
PxU32 PxFixedSizeLookupTable< NB_ELEMENTS >::mPad[3]

The documentation for this class was generated from the following file:
  • PxCoreUtilityTypes.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPhysicsInsertionCallback Class Reference

PxPhysicsInsertionCallback Class Reference
[Common]

Callback interface that permits PxCooking to insert a TriangleMesh, HeightfieldMesh or ConvexMesh directly into PxPhysics without the need to store the cooking results into a stream. More...

#include <PxPhysicsInsertionCallback.h>

List of all members.

Public Member Functions

PxPhysicsInsertionCallback ()
virtual PxBase * | buildObjectFromData (PxConcreteType::Enum type, void *data)=0
Builds object (TriangleMesh, HeightfieldMesh or ConvexMesh) from given data in PxPhysics.

Protected Member Functions

virtual | ~PxPhysicsInsertionCallback ()

Detailed Description

Callback interface that permits PxCooking to insert a TriangleMesh, HeightfieldMesh or ConvexMesh directly into PxPhysics without the need to store the cooking results into a stream.

Using this is advised only if real-time cooking is required; using "offline" cooking and streams is otherwise preferred.

The default PxPhysicsInsertionCallback implementation must be used. The PxPhysics default callback can be obtained using the PxPhysics::getPhysicsInsertionCallback().

See also:
PxCooking PxPhysics

Constructor & Destructor Documentation

PxPhysicsInsertionCallback::PxPhysicsInsertionCallback ( ) [inline]

virtual PxPhysicsInsertionCallback::~PxPhysicsInsertionCallback ( ) [inline, protected, virtual]

Member Function Documentation

virtual PxBase* PxPhysicsInsertionCallback::buildObjectFromData | ( | PxConcreteType::Enum | type,
 |  | void * | data |
 | ) |  |  | [pure virtual]

Builds object (TriangleMesh, HeightfieldMesh or ConvexMesh) from given data in PxPhysics.

Parameters:
type | Object type to build.
data | Object data
Returns:
PxBase Created object in PxPhysics.

The documentation for this class was generated from the following file:
  • PxPhysicsInsertionCallback.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDebugColor Struct Reference

PxDebugColor Struct Reference
[Common]

Default color values used for debug rendering. More...

#include <PxRenderBuffer.h>

List of all members.

Public Types

enum Enum {
eARGB_BLACK = 0xff000000,
eARGB_RED = 0xffff0000,
eARGB_GREEN = 0xff00ff00,
eARGB_BLUE = 0xff0000ff,
eARGB_YELLOW = 0xffffff00,
eARGB_MAGENTA = 0xffff00ff,
eARGB_CYAN = 0xff00ffff,
eARGB_WHITE = 0xffffffff,
eARGB_GREY = 0xff808080,
eARGB_DARKRED = 0x88880000,
eARGB_DARKGREEN = 0x88008800,
eARGB_DARKBLUE = 0x88000088
}

Detailed Description

Default color values used for debug rendering.

Member Enumeration Documentation

enum PxDebugColor::Enum

Enumerator:
eARGB_BLACK
eARGB_RED
eARGB_GREEN
eARGB_BLUE
eARGB_YELLOW
eARGB_MAGENTA
eARGB_CYAN
eARGB_WHITE
eARGB_GREY
eARGB_DARKRED
eARGB_DARKGREEN
eARGB_DARKBLUE

The documentation for this struct was generated from the following file:
  • PxRenderBuffer.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDebugPoint Struct Reference

PxDebugPoint Struct Reference
[Common]

Used to store a single point and colour for debug rendering. More...

#include <PxRenderBuffer.h>

Collaboration diagram for PxDebugPoint:

PxVec3
[legend]

List of all members.

Public Member Functions

PxDebugPoint (const PxVec3 &p, const PxU32 &c)

Public Attributes

PxVec3 pos
PxU32 color

Detailed Description

Used to store a single point and colour for debug rendering.

Constructor & Destructor Documentation

PxDebugPoint::PxDebugPoint | ( | const PxVec3 & | p,
 |  | const PxU32 & | c |
 | ) |  |  | [inline]

Member Data Documentation

PxU32 PxDebugPoint::color

PxVec3 PxDebugPoint::pos

The documentation for this struct was generated from the following file:
  • PxRenderBuffer.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDebugLine Struct Reference

PxDebugLine Struct Reference
[Common]

Used to store a single line and colour for debug rendering. More...

#include <PxRenderBuffer.h>

Collaboration diagram for PxDebugLine:

PxVec3
[legend]

List of all members.

Public Member Functions

PxDebugLine (const PxVec3 &p0, const PxVec3 &p1, const PxU32 &c)

Public Attributes

PxVec3 pos0
PxU32 color0
PxVec3 pos1
PxU32 color1

Detailed Description

Used to store a single line and colour for debug rendering.

Constructor & Destructor Documentation

PxDebugLine::PxDebugLine | ( | const PxVec3 & | p0,
 |  | const PxVec3 & | p1,
 |  | const PxU32 & | c |
 | ) |  |  | [inline]

Member Data Documentation

PxU32 PxDebugLine::color0

PxU32 PxDebugLine::color1

PxVec3 PxDebugLine::pos0

PxVec3 PxDebugLine::pos1

The documentation for this struct was generated from the following file:
  • PxRenderBuffer.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDebugTriangle Struct Reference

PxDebugTriangle Struct Reference
[Common]

Used to store a single triangle and colour for debug rendering. More...

#include <PxRenderBuffer.h>

Collaboration diagram for PxDebugTriangle:

PxVec3
[legend]

List of all members.

Public Member Functions

PxDebugTriangle (const PxVec3 &p0, const PxVec3 &p1, const PxVec3 &p2, const PxU32 &c)

Public Attributes

PxVec3 pos0
PxU32 color0
PxVec3 pos1
PxU32 color1
PxVec3 pos2
PxU32 color2

Detailed Description

Used to store a single triangle and colour for debug rendering.

Constructor & Destructor Documentation

PxDebugTriangle::PxDebugTriangle | ( | const PxVec3 & | p0,
 |  | const PxVec3 & | p1,
 |  | const PxVec3 & | p2,
 |  | const PxU32 & | c |
 | ) |  |  | [inline]

Member Data Documentation

PxU32 PxDebugTriangle::color0

PxU32 PxDebugTriangle::color1

PxU32 PxDebugTriangle::color2

PxVec3 PxDebugTriangle::pos0

PxVec3 PxDebugTriangle::pos1

PxVec3 PxDebugTriangle::pos2

The documentation for this struct was generated from the following file:
  • PxRenderBuffer.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDebugText Struct Reference

PxDebugText Struct Reference
[Common]

Used to store a text for debug rendering. Doesn't own 'string' array. More...

#include <PxRenderBuffer.h>

Collaboration diagram for PxDebugText:

PxVec3
[legend]

List of all members.

Public Member Functions

PxDebugText ()
PxDebugText (const PxVec3 &p, const PxReal &s, const PxU32 &c, const char *str)

Public Attributes

PxVec3 position
PxReal | size
PxU32 color
const char * | string

Detailed Description

Used to store a text for debug rendering. Doesn't own 'string' array.

Constructor & Destructor Documentation

PxDebugText::PxDebugText ( ) [inline]

PxDebugText::PxDebugText | ( | const PxVec3 & | p,
 |  | const PxReal & | s,
 |  | const PxU32 & | c,
 |  | const char * | str |
 | ) |  |  | [inline]

Member Data Documentation

PxU32 PxDebugText::color

PxVec3 PxDebugText::position

PxReal PxDebugText::size

const char* PxDebugText::string

The documentation for this struct was generated from the following file:
  • PxRenderBuffer.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRenderBuffer Class Reference

PxRenderBuffer Class Reference
[Common]

Interface for points, lines, triangles, and text buffer. More...

#include <PxRenderBuffer.h>

List of all members.

Public Member Functions

virtual | ~PxRenderBuffer ()
virtual PxU32 | getNbPoints () const =0
virtual const PxDebugPoint * | getPoints () const =0
virtual PxU32 | getNbLines () const =0
virtual const PxDebugLine * | getLines () const =0
virtual PxU32 | getNbTriangles () const =0
virtual const PxDebugTriangle * | getTriangles () const =0
virtual PxU32 | getNbTexts () const =0
virtual const PxDebugText * | getTexts () const =0
virtual void | append (const PxRenderBuffer &other)=0
virtual void | clear ()=0

Detailed Description

Interface for points, lines, triangles, and text buffer.

Constructor & Destructor Documentation

virtual PxRenderBuffer::~PxRenderBuffer ( ) [inline, virtual]

Member Function Documentation

virtual void PxRenderBuffer::append ( const PxRenderBuffer & other ) [pure virtual]

virtual void PxRenderBuffer::clear ( ) [pure virtual]

virtual const PxDebugLine* PxRenderBuffer::getLines ( ) const [pure virtual]

virtual PxU32 PxRenderBuffer::getNbLines ( ) const [pure virtual]

virtual PxU32 PxRenderBuffer::getNbPoints ( ) const [pure virtual]

virtual PxU32 PxRenderBuffer::getNbTexts ( ) const [pure virtual]

virtual PxU32 PxRenderBuffer::getNbTriangles ( ) const [pure virtual]

virtual const PxDebugPoint* PxRenderBuffer::getPoints ( ) const [pure virtual]

virtual const PxDebugText* PxRenderBuffer::getTexts ( ) const [pure virtual]

virtual const PxDebugTriangle* PxRenderBuffer::getTriangles ( ) const [pure virtual]

The documentation for this class was generated from the following file:
  • PxRenderBuffer.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxProcessPxBaseCallback Class Reference

PxProcessPxBaseCallback Class Reference
[Common]

Callback class used to process PxBase objects. More...

#include <PxSerialFramework.h>

List of all members.

Public Member Functions

virtual | ~PxProcessPxBaseCallback ()
virtual void | process (PxBase &)=0

Detailed Description

Callback class used to process PxBase objects.

See also:
PxSerializer::requires

Constructor & Destructor Documentation

virtual PxProcessPxBaseCallback::~PxProcessPxBaseCallback ( ) [inline, virtual]

Member Function Documentation

virtual void PxProcessPxBaseCallback::process ( PxBase & ) [pure virtual]

The documentation for this class was generated from the following file:
  • PxSerialFramework.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSerializationContext Class Reference

PxSerializationContext Class Reference
[Common]

Binary serialization context class. More...

#include <PxSerialFramework.h>

List of all members.

Public Member Functions

virtual void | registerReference (PxBase &base, PxU32 kind, size_t reference)=0
Registers a reference value corresponding to a PxBase object.
virtual const PxCollection & | getCollection () const =0
Returns the collection that is being serialized.
virtual void | writeData (const void *data, PxU32 size)=0
Serializes object data and object extra data.
virtual void | alignData (PxU32 alignment=PX_SERIAL_ALIGN)=0
Aligns the serialized data.
virtual void | writeName (const char *name)=0
Helper function to write a name to the extraData if serialization is configured to save names.

Protected Member Functions

PxSerializationContext ()
virtual | ~PxSerializationContext ()

Detailed Description

Binary serialization context class.

This class is used to register reference values and write object and object extra data during serialization. It is mainly used by the serialization framework. Except for custom serializable types, users should not have to worry about it.

See also:
PxDeserializationContext

Constructor & Destructor Documentation

PxSerializationContext::PxSerializationContext ( ) [inline, protected]

virtual PxSerializationContext::~PxSerializationContext ( ) [inline, protected, virtual]

Member Function Documentation

virtual void PxSerializationContext::alignData ( PxU32 alignment = PX_SERIAL_ALIGN ) [pure virtual]

Aligns the serialized data.

This function is assumed to be called within the implementation of PxSerializer::exportData and PxSerializer::exportExtraData.

See also:
PxSerializer::exportData, PxSerializer::exportExtraData, PxDeserializationContext::alignExtraData

virtual const PxCollection& PxSerializationContext::getCollection ( ) const [pure virtual]

Returns the collection that is being serialized.

virtual void PxSerializationContext::registerReference | ( | PxBase & | base,
 |  | PxU32 | kind,
 |  | size_t | reference |
 | ) |  |  | [pure virtual]

Registers a reference value corresponding to a PxBase object.

This method is assumed to be called in the implementation of PxSerializer::registerReferences for serialized references that need to be resolved on deserialization.

A reference needs to be associated with exactly one PxBase object in either the collection or the external references collection.

Different kinds of references are supported and need to be specified. In the most common case (PX_SERIAL_REF_KIND_PXBASE) the PxBase object matches the reference value (which is the pointer to the PxBase object). Integer references maybe registered as well (used for internal material indices with PX_SERIAL_REF_KIND_MATERIAL_IDX). Other kinds could be added with the restriction that for pointer types the kind value needs to be marked with the PX_SERIAL_REF_KIND_PTR_TYPE_BIT.

Parameters:
[in] | base | PxBase object associated with the reference
[in] | kind | What kind of reference this is (PX_SERIAL_REF_KIND_PXBASE, PX_SERIAL_REF_KIND_MATERIAL_IDX or custom kind)
[in] | reference | Value of reference
See also:
PxDeserializationContext::resolveReference, PX_SERIAL_REF_KIND_PXBASE, PX_SERIAL_REF_KIND_MATERIAL_IDX, PxSerializer::registerReferences

Referenced by PxSerializerDefaultAdapter< T >::registerReferences().

virtual void PxSerializationContext::writeData | ( | const void * | data,
 |  | PxU32 | size |
 | ) |  |  | [pure virtual]

Serializes object data and object extra data.

This function is assumed to be called within the implementation of PxSerializer::exportData and PxSerializer::exportExtraData.

See also:
PxSerializer::exportData, PxSerializer::exportExtraData, PxSerializer::createObject, PxDeserializationContext::readExtraData

Referenced by PxSerializerDefaultAdapter< T >::exportData().

virtual void PxSerializationContext::writeName ( const char * name ) [pure virtual]

Helper function to write a name to the extraData if serialization is configured to save names.

This function is assumed to be called within the implementation of PxSerializer::exportExtraData.

See also:
PxSerialization::serializeCollectionToBinary, PxDeserializationContext::readName

The documentation for this class was generated from the following file:
  • PxSerialFramework.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDeserializationContext Class Reference

PxDeserializationContext Class Reference
[Common]

Binary deserialization context class. More...

#include <PxSerialFramework.h>

List of all members.

Public Member Functions

virtual PxBase * | resolveReference (PxU32 kind, size_t reference) const =0
Retrieves a pointer to a deserialized PxBase object given a corresponding deserialized reference value.
template<typename T >
void | translatePxBase (T *&base)
Helper function to update PxBase pointer on deserialization.
PX_INLINE void | readName (const char *&name)
Helper function to read a name from the extra data during deserialization.
template<typename T >
PX_INLINE T * | readExtraData (PxU32 count=1)
Function to read extra data during deserialization.
template<typename T , PxU32 alignment>
PX_INLINE T * | readExtraData (PxU32 count=1)
Function to read extra data during deserialization optionally aligning the extra data stream before reading.
PX_INLINE void | alignExtraData (PxU32 alignment=PX_SERIAL_ALIGN)
Function to align the extra data stream to a power of 2 alignment.
virtual PxU32 | getPhysXVersion () const =0
Function to return the PX_PHYSX_VERSION value with which the data was originally serialized.

Protected Member Functions

PxDeserializationContext ()
virtual | ~PxDeserializationContext ()

Protected Attributes

PxU8 * | mExtraDataAddress

Detailed Description

Binary deserialization context class.

This class is used to resolve references and access extra data during deserialization. It is mainly used by the serialization framework. Except for custom serializable types, users should not have to worry about it.

See also:
PxSerializationContext

Constructor & Destructor Documentation

PxDeserializationContext::PxDeserializationContext ( ) [inline, protected]

virtual PxDeserializationContext::~PxDeserializationContext ( ) [inline, protected, virtual]

Member Function Documentation

PX_INLINE void PxDeserializationContext::alignExtraData ( PxU32 alignment = PX_SERIAL_ALIGN ) [inline]

Function to align the extra data stream to a power of 2 alignment.

This function is assumed to be called within the implementation of PxSerializer::createObject.

See also:
PxSerializationContext::alignData, PxSerializer::createObject

virtual PxU32 PxDeserializationContext::getPhysXVersion ( ) const [pure virtual]

Function to return the PX_PHYSX_VERSION value with which the data was originally serialized.

template<typename T , PxU32 alignment>
PX_INLINE T* PxDeserializationContext::readExtraData ( PxU32 count = 1 ) [inline]

Function to read extra data during deserialization optionally aligning the extra data stream before reading.

This function is assumed to be called within the implementation of PxSerializer::createObject.

See also:
PxSerializationContext::writeData, PxDeserializationContext::alignExtraData, PxSerializer::createObject

template<typename T >
PX_INLINE T* PxDeserializationContext::readExtraData ( PxU32 count = 1 ) [inline]

Function to read extra data during deserialization.

This function is assumed to be called within the implementation of PxSerializer::createObject.

See also:
PxSerializationContext::writeData, PxSerializer::createObject

PX_INLINE void PxDeserializationContext::readName ( const char *& name ) [inline]

Helper function to read a name from the extra data during deserialization.

This function is assumed to be called within the implementation of PxSerializer::createObject.

See also:
PxSerializationContext::writeName

virtual PxBase* PxDeserializationContext::resolveReference | ( | PxU32 | kind,
 |  | size_t | reference |
 | ) |  |  | const [pure virtual]

Retrieves a pointer to a deserialized PxBase object given a corresponding deserialized reference value.

This method is assumed to be called in the implementation of PxSerializer::createObject in order to update reference values on deserialization.

To update a PxBase reference the corresponding deserialized pointer value needs to be provided in order to retrieve the location of the corresponding deserialized PxBase object. (PxDeserializationContext::translatePxBase simplifies this common case).

For other kinds of references the reverence values need to be updated by deduction given the corresponding PxBase instance.

Parameters:
[in] | kind | What kind of reference this is (PX_SERIAL_REF_KIND_PXBASE, PX_SERIAL_REF_KIND_MATERIAL_IDX or custom kind)
[in] | reference | Deserialized reference value
Returns:
PxBase object associated with the reference value
See also:
PxSerializationContext::registerReference, PX_SERIAL_REF_KIND_PXBASE, PX_SERIAL_REF_KIND_MATERIAL_IDX, translatePxBase

template<typename T >
void PxDeserializationContext::translatePxBase ( T *& base ) [inline]

Helper function to update PxBase pointer on deserialization.

See also:
resolveReference, PX_SERIAL_REF_KIND_PXBASE

References PX_SERIAL_REF_KIND_PXBASE.

Member Data Documentation

PxU8* PxDeserializationContext::mExtraDataAddress [protected]

The documentation for this class was generated from the following file:
  • PxSerialFramework.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSerializationRegistry Class Reference

PxSerializationRegistry Class Reference
[Common]

Class serving as a registry for XML (RepX) and binary serializable types. More...

#include <PxSerialFramework.h>

List of all members.

Public Member Functions

virtual void | release ()=0
Releases PxSerializationRegistry instance.
Binary Serialization Functionality
virtual void | registerSerializer (PxType type, PxSerializer &serializer)=0
Register a serializer for a concrete type.
virtual PxSerializer * | unregisterSerializer (PxType type)=0
Unregister a serializer for a concrete type, and retrieves the corresponding serializer object.
virtual void | registerBinaryMetaDataCallback (PxBinaryMetaDataCallback callback)=0
Register binary meta data callback.
virtual const PxSerializer * | getSerializer (PxType type) const =0
Returns PxSerializer corresponding to type.
RepX (XML) Serialization Functionality
virtual void | registerRepXSerializer (PxType type, PxRepXSerializer &serializer)=0
Register a RepX serializer for a concrete type.
virtual PxRepXSerializer * | unregisterRepXSerializer (PxType type)=0
Unregister a RepX serializer for a concrete type, and retrieves the corresponding serializer object.
virtual PxRepXSerializer * | getRepXSerializer (const char *typeName) const =0
Returns RepX serializer given the corresponding type name.

Protected Member Functions

virtual | ~PxSerializationRegistry ()

Detailed Description

Class serving as a registry for XML (RepX) and binary serializable types.

In order to serialize and deserialize objects the application needs to maintain an instance of this class. It can be created with PxSerialization::createSerializationRegistry() and released with PxSerializationRegistry::release().

See also:
PxSerialization::createSerializationRegistry

Constructor & Destructor Documentation

virtual PxSerializationRegistry::~PxSerializationRegistry ( ) [inline, protected, virtual]

Member Function Documentation

virtual PxRepXSerializer* PxSerializationRegistry::getRepXSerializer ( const char * typeName ) const [pure virtual]

Returns RepX serializer given the corresponding type name.

Parameters:
typeName Name of the type
Returns:
Registered PxRepXSerializer object corresponding to type name
See also:
PxRepXSerializer, PxTypeInfo, PX_DEFINE_TYPEINFO

virtual const PxSerializer* PxSerializationRegistry::getSerializer ( PxType type ) const [pure virtual]

Returns PxSerializer corresponding to type.

Parameters:
type PxConcreteType of the serializer requested.
Returns:
Registered PxSerializer object corresponding to type
See also:
PxConcreteType

virtual void PxSerializationRegistry::registerBinaryMetaDataCallback ( PxBinaryMetaDataCallback callback ) [pure virtual]

Register binary meta data callback.

The callback is executed when calling PxSerialization::dumpBinaryMetaData.

Parameters:
callback PxBinaryMetaDataCallback to be registered.
See also:
PxBinaryMetaDataCallback, PxSerialization::dumpBinaryMetaData

virtual void PxSerializationRegistry::registerRepXSerializer | ( | PxType | type,
 |  | PxRepXSerializer & | serializer |
 | ) |  |  | [pure virtual]

Register a RepX serializer for a concrete type.

Parameters:
type | PxConcreteType corresponding to the RepX serializer
serializer | The PxRepXSerializer to be registered
See also:
PxConcreteType, PxRepXSerializer

virtual void PxSerializationRegistry::registerSerializer | ( | PxType | type,
 |  | PxSerializer & | serializer |
 | ) |  |  | [pure virtual]

Register a serializer for a concrete type.

Parameters:
type | PxConcreteType corresponding to the serializer
serializer | The PxSerializer to be registered
See also:
PxConcreteType, PxSerializer, PxSerializationRegistry::unregisterSerializer

virtual void PxSerializationRegistry::release ( ) [pure virtual]

Releases PxSerializationRegistry instance.

This unregisters all PhysX and PhysXExtension serializers. Make sure to unregister all custom type serializers before releasing the PxSerializationRegistry.

See also:
PxSerializationRegistry::unregisterSerializer, PxSerializationRegistry::unregisterRepXSerializer

virtual PxRepXSerializer* PxSerializationRegistry::unregisterRepXSerializer ( PxType type ) [pure virtual]

Unregister a RepX serializer for a concrete type, and retrieves the corresponding serializer object.

Parameters:
type PxConcreteType for which the RepX serializer should be unregistered
Returns:
Unregistered PxRepxSerializer corresponding to type, NULL for types for which no RepX serializer has been registered.
See also:
PxConcreteType, PxSerializationRegistry::registerRepXSerializer, PxSerializationRegistry::release

virtual PxSerializer* PxSerializationRegistry::unregisterSerializer ( PxType type ) [pure virtual]

Unregister a serializer for a concrete type, and retrieves the corresponding serializer object.

Parameters:
type PxConcreteType for which the serializer should be unregistered
Returns:
Unregistered serializer corresponding to type, NULL for types for which no serializer has been registered.
See also:
PxConcreteType, PxSerializationRegistry::registerSerializer, PxSerializationRegistry::release

The documentation for this class was generated from the following file:
  • PxSerialFramework.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTolerancesScale Class Reference

PxTolerancesScale Class Reference
[Common]

Class to define the scale at which simulation runs. Most simulation tolerances are calculated in terms of the values here. More...

#include <PxTolerancesScale.h>

List of all members.

Public Member Functions

PX_INLINE | PxTolerancesScale ()
constructor sets to default
PX_INLINE bool | isValid () const
Returns true if the descriptor is valid.

Public Attributes

PxReal | length
PX_DEPRECATED PxReal | mass
PxReal | speed

Detailed Description

Class to define the scale at which simulation runs. Most simulation tolerances are calculated in terms of the values here.

Note:
if you change the simulation scale, you will probablly also wish to change the scene's default value of gravity, and stable simulation will probably require changes to the scene's bounceThreshold also.

Member Data Documentation

PxReal PxTolerancesScale::length

brief The approximate size of objects in the simulation.

For simulating roughly human-sized in metric units, 1 is a good choice. If simulation is done in centimetres, use 100 instead. This is used to estimate certain length-related tolerances.

Referenced by isValid(), PxJointLinearLimit::PxJointLinearLimit(), and PxJointLinearLimitPair::PxJointLinearLimitPair().

PX_DEPRECATED PxReal PxTolerancesScale::mass

brief The approximate mass of a length * length * length block. If using metric scale for character sized objects and measuring mass in kilogrammes, 1000 is a good choice.

Note:
This parameter is ignored by the PhysX SDK.

Referenced by isValid().

PxReal PxTolerancesScale::speed

brief The typical magnitude of velocities of objects in simulation. This is used to estimate whether a contact should be treated as bouncing or resting based on its impact velocity, and a kinetic energy threshold below which the simulation may put objects to sleep.

For normal physical environments, a good choice is the approximate speed of an object falling under gravity for one second.

The documentation for this class was generated from the following file:
  • PxTolerancesScale.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxConcreteType Struct Reference

PxConcreteType Struct Reference
[Common]

an enumeration of concrete classes inheriting from PxBase More...

#include <PxTypeInfo.h>

List of all members.

Public Types

enum Enum {
eUNDEFINED,
eHEIGHTFIELD,
eCONVEX_MESH,
eTRIANGLE_MESH_BVH33,
eTRIANGLE_MESH_BVH34,
eCLOTH_FABRIC,
eRIGID_DYNAMIC,
eRIGID_STATIC,
eSHAPE,
eMATERIAL,
eCONSTRAINT,
eCLOTH,
ePARTICLE_SYSTEM,
ePARTICLE_FLUID,
eAGGREGATE,
eARTICULATION,
eARTICULATION_LINK,
eARTICULATION_JOINT,
ePRUNING_STRUCTURE,
ePHYSX_CORE_COUNT,
eFIRST_PHYSX_EXTENSION = 256,
eFIRST_VEHICLE_EXTENSION = 512,
eFIRST_USER_EXTENSION = 1024
}

Detailed Description

an enumeration of concrete classes inheriting from PxBase

Enumeration space is reserved for future PhysX core types, PhysXExtensions, PhysXVehicle and Custom application types.

See also:
PxBase, PxTypeInfo

Member Enumeration Documentation

enum PxConcreteType::Enum

Enumerator:
eUNDEFINED
eHEIGHTFIELD
eCONVEX_MESH
eTRIANGLE_MESH_BVH33
eTRIANGLE_MESH_BVH34
eCLOTH_FABRIC
eRIGID_DYNAMIC
eRIGID_STATIC
eSHAPE
eMATERIAL
eCONSTRAINT
eCLOTH
ePARTICLE_SYSTEM
ePARTICLE_FLUID
eAGGREGATE
eARTICULATION
eARTICULATION_LINK
eARTICULATION_JOINT
ePRUNING_STRUCTURE
ePHYSX_CORE_COUNT
eFIRST_PHYSX_EXTENSION
eFIRST_VEHICLE_EXTENSION
eFIRST_USER_EXTENSION

The documentation for this struct was generated from the following file:
  • PxTypeInfo.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTypeInfo< T > Struct Template Reference

PxTypeInfo< T > Struct Template Reference
[Common]

a structure containing per-type information for types inheriting from PxBase More...

#include <PxTypeInfo.h>

Detailed Description

template<typename T>
struct PxTypeInfo< T >

a structure containing per-type information for types inheriting from PxBase

See also:
PxBase, PxConcreteType
The documentation for this struct was generated from the following file:
  • PxTypeInfo.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxInputStream Class Reference

PxInputStream Class Reference
[Common]

Input stream class for I/O. More...

#include <PxIO.h>

Inheritance diagram for PxInputStream:

PxInputDataPxDefaultFileInputDataPxDefaultMemoryInputData
[legend]

List of all members.

Public Member Functions

virtual uint32_t | read (void *dest, uint32_t count)=0
read from the stream. The number of bytes read may be less than the number requested.
virtual | ~PxInputStream ()

Detailed Description

Input stream class for I/O.

The user needs to supply a PxInputStream implementation to a number of methods to allow the SDK to read data.

Constructor & Destructor Documentation

virtual PxInputStream::~PxInputStream ( ) [inline, virtual]

Member Function Documentation

virtual uint32_t PxInputStream::read | ( | void * | dest,
 |  | uint32_t | count |
 | ) |  |  | [pure virtual]

read from the stream. The number of bytes read may be less than the number requested.

Parameters:
[in] | dest | the destination address to which the data will be read
[in] | count | the number of bytes requested
Returns:
the number of bytes read from the stream.

Implemented in PxDefaultMemoryInputData, and PxDefaultFileInputData.

The documentation for this class was generated from the following file:
  • PxIO.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxInputData Class Reference

PxInputData Class Reference
[Common]

Input data class for I/O which provides random read access. More...

#include <PxIO.h>

Inheritance diagram for PxInputData:

PxDefaultFileInputDataPxDefaultMemoryInputDataPxInputStream
[legend]
Collaboration diagram for PxInputData:

PxInputStream
[legend]

List of all members.

Public Member Functions

virtual uint32_t | getLength () const =0
return the length of the input data
virtual void | seek (uint32_t offset)=0
seek to the given offset from the start of the data.
virtual uint32_t | tell () const =0
return the current offset from the start of the data
virtual | ~PxInputData ()

Detailed Description

Input data class for I/O which provides random read access.

The user needs to supply a PxInputData implementation to a number of methods to allow the SDK to read data.

Constructor & Destructor Documentation

virtual PxInputData::~PxInputData ( ) [inline, virtual]

Member Function Documentation

virtual uint32_t PxInputData::getLength ( ) const [pure virtual]

return the length of the input data

Returns:
size in bytes of the input data

Implemented in PxDefaultMemoryInputData, and PxDefaultFileInputData.

virtual void PxInputData::seek ( uint32_t offset ) [pure virtual]

seek to the given offset from the start of the data.

Parameters:
[in] offset the offset to seek to. If greater than the length of the data, this call is equivalent to seek(length);

Implemented in PxDefaultMemoryInputData, and PxDefaultFileInputData.

virtual uint32_t PxInputData::tell ( ) const [pure virtual]

return the current offset from the start of the data

Returns:
the offset to seek to.

Implemented in PxDefaultMemoryInputData, and PxDefaultFileInputData.

The documentation for this class was generated from the following file:
  • PxIO.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxOutputStream Class Reference

PxOutputStream Class Reference
[Common]

Output stream class for I/O. More...

#include <PxIO.h>

Inheritance diagram for PxOutputStream:

PxDefaultFileOutputStreamPxDefaultMemoryOutputStream
[legend]

List of all members.

Public Member Functions

virtual uint32_t | write (const void *src, uint32_t count)=0
write to the stream. The number of bytes written may be less than the number sent.
virtual | ~PxOutputStream ()

Detailed Description

Output stream class for I/O.

The user needs to supply a PxOutputStream implementation to a number of methods to allow the SDK to write data.

Constructor & Destructor Documentation

virtual PxOutputStream::~PxOutputStream ( ) [inline, virtual]

Member Function Documentation

virtual uint32_t PxOutputStream::write | ( | const void * | src,
 |  | uint32_t | count |
 | ) |  |  | [pure virtual]

write to the stream. The number of bytes written may be less than the number sent.

Parameters:
[in] | src | the destination address from which the data will be written
[in] | count | the number of bytes to be written
Returns:
the number of bytes written to the stream by this call.

Implemented in PxDefaultMemoryOutputStream, and PxDefaultFileOutputStream.

The documentation for this class was generated from the following file:
  • PxIO.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Extensions

Extensions

Classes

class | PxSerializer
Serialization interface class. More...
class | PxSerializerDefaultAdapter< T >
Default PxSerializer implementation. More...
struct | PxConverterReportMode
class | PxBinaryConverter
Binary converter for serialized streams. More...
class | PxBroadPhaseExt
class | PxClothFabricCooker
class | PxCollectionExt
struct | PxConstraintExtIDs
Unique identifiers for extensions classes which implement a constraint based on PxConstraint. More...
struct | PxD6Axis
Used to specify one of the degrees of freedom of a D6 joint. More...
struct | PxD6Motion
Used to specify the range of motions allowed for a degree of freedom in a D6 joint. More...
struct | PxD6Drive
Used to specify which axes of a D6 joint are driven. More...
struct | PxD6JointDriveFlag
flags for configuring the drive model of a PxD6Joint More...
class | PxD6JointDrive
parameters for configuring the drive model of a PxD6Joint More...
class | PxD6Joint
A D6 joint is a general constraint between two actors. 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...
class | PxGroupsMask
64-bit mask used for collision filtering. More...
struct | PxFilterOp
Collision filtering operations. More...
class | PxDefaultMemoryOutputStream
default implementation of a memory write stream More...
class | PxDefaultMemoryInputData
default implementation of a memory read stream More...
class | PxDefaultFileOutputStream
default implementation of a file write stream More...
class | PxDefaultFileInputData
default implementation of a file read stream More...
struct | PxDistanceJointFlag
flags for configuring the drive of a PxDistanceJoint More...
class | PxDistanceJoint
a joint that maintains an upper or lower bound (or both) on the distance between two points on different objects More...
class | PxFixedJoint
A fixed joint permits no relative movement between two bodies. ie the bodies are glued together. More...
struct | PxJointConcreteType
an enumeration of PhysX' built-in joint types More...
struct | PxJointActorIndex
an enumeration for specifying one or other of the actors referenced by a joint More...
class | PxJoint
a base interface providing common functionality for PhysX joints More...
class | PxSpring
class | PxJointLimitParameters
Describes the parameters for a joint limit. More...
class | PxJointLinearLimit
Describes a one-sided linear limit. More...
class | PxJointLinearLimitPair
Describes a two-sided limit. More...
class | PxJointAngularLimitPair
class | PxJointLimitCone
Describes an elliptical conical joint limit. Note that very small or highly elliptical limit cones may result in jitter. More...
class | PxMassProperties
Utility class to compute and manipulate mass and inertia tensor properties. More...
class | PxParticleExt
extensions for the partice feature (deprecated) More...
struct | PxPrismaticJointFlag
Flags specific to the prismatic joint. More...
class | PxPrismaticJoint
A prismatic joint permits relative translational movement between two bodies along an axis, but no relative rotational movement. More...
class | RaycastCCDManager
Raycast-CCD manager. More...
struct | PxRepXObject
Helper class containing the mapping of id to object, and type name. More...
struct | PxRepXInstantiationArgs
Arguments required to instantiate a serializable object from RepX. More...
struct | PxRevoluteJointFlag
Flags specific to the Revolute Joint. More...
class | PxRevoluteJoint
A joint which behaves in a similar way to a hinge or axle. More...
class | PxRigidActorExt
utility functions for use with PxRigidActor and subclasses More...
class | PxRigidBodyExt
utility functions for use with PxRigidBody and subclasses More...
class | PxSceneQueryExt
utility functions for use with PxScene, related to scene queries. More...
class | PxSerialization
Utility functions for serialization. More...
class | PxShapeExt
utility functions for use with PxShape More...
struct | PxSphericalJointFlag
Flags specific to the spherical joint. More...
class | PxSphericalJoint
A joint which behaves in a similar way to a ball and socket. More...
class | PxMeshOverlapUtil
Utility class to find mesh triangles touched by a specified geometry object. More...

Defines

#define | PX_NEW_SERIALIZER_ADAPTER(x)
Preprocessor Macro to simplify adapter creation.
#define | PX_DELETE_SERIALIZER_ADAPTER(x) { PxSerializer* s = x; if (s) { s->~PxSerializer(); PxGetFoundation().getAllocatorCallback().deallocate(s); } }
Preprocessor Macro to simplify adapter deletion.
#define | PX_BINARY_SERIAL_VERSION 0

Typedefs

typedef PxFlags
< PxD6JointDriveFlag::Enum,
PxU32 > 		PxD6JointDriveFlags
typedef FILE * | PxFileHandle
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

Functions

PxClothFabric * | PxClothFabricCreate (PxPhysics &physics, const PxClothMeshDesc &desc, const PxVec3 &gravity, bool useGeodesicTether=true)
Cooks a triangle mesh to a PxClothFabric.
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.
PxD6Joint * | PxD6JointCreate (PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)
Create a D6 joint.
PX_FORCE_INLINE void * | platformAlignedAlloc (size_t size)
PX_FORCE_INLINE void | platformAlignedFree (void *ptr)
PxDefaultCpuDispatcher * | PxDefaultCpuDispatcherCreate (PxU32 numThreads, PxU32 *affinityMasks=NULL)
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.
PX_C_EXPORT bool PX_CALL_CONV | PxInitExtensions (physx::PxPhysics &physics, physx::PxPvd *pvd)
Initialize the PhysXExtensions library.
PX_C_EXPORT void PX_CALL_CONV | PxCloseExtensions ()
Shut down the PhysXExtensions library.
PxFixedJoint * | PxFixedJointCreate (PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)
Create a fixed joint.
PX_C_EXPORT void PX_CALL_CONV | PxSetJointGlobalFrame (physx::PxJoint &joint, const physx::PxVec3 *wsAnchor, const physx::PxVec3 *wsAxis)
Helper function to setup a joint's global frame.
PxPrismaticJoint * | PxPrismaticJointCreate (PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)
Create a prismatic joint.
PxRevoluteJoint * | PxRevoluteJointCreate (PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)
Create a revolute joint.
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
PX_C_EXPORT bool PX_CALL_CONV | PxBuildSmoothNormals (physx::PxU32 nbTris, physx::PxU32 nbVerts, const physx::PxVec3 *verts, const physx::PxU32 *dFaces, const physx::PxU16 *wFaces, physx::PxVec3 *normals, bool flip)
Builds smooth vertex normals over a mesh.
PxSphericalJoint * | PxSphericalJointCreate (PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)
Create a spherical joint.
PX_DEPRECATED PxVec3 | PxComputeMeshPenetration (PxU32 maxIter, const PxGeometry &geom, const PxTransform &geomPose, const PxTriangleMeshGeometry &meshGeom, const PxTransform &meshPose, PxU32 &nb)
Computes an approximate minimum translational distance (MTD) between a geometry object and a mesh.
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.
PX_DEPRECATED PxVec3 | PxComputeHeightFieldPenetration (PxU32 maxIter, const PxGeometry &geom, const PxTransform &geomPose, const PxHeightFieldGeometry &heightFieldGeom, const PxTransform &heightFieldPose, PxU32 &nb)
Computes an approximate minimum translational distance (MTD) between a geometry object and a heightfield.
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.

Define Documentation

#define PX_BINARY_SERIAL_VERSION 0

PX_BINARY_SERIAL_VERSION is used to specify the binary data format compatibility additionally to the physics sdk version. The binary format version is defined as "PX_PHYSICS_VERSION_MAJOR.PX_PHYSICS_VERSION_MINOR.PX_PHYSICS_VERSION_BUGFIX-PX_BINARY_SERIAL_VERSION". The following binary format versions are compatible with the current physics version: (no compatible versions)

The PX_BINARY_SERIAL_VERSION for a given PhysX release is typically 0. If incompatible modifications are made to a customer specific branch the number should be increased.

#define PX_DELETE_SERIALIZER_ADAPTER ( x ) { PxSerializer* s = x; if (s) { s->~PxSerializer(); PxGetFoundation().getAllocatorCallback().deallocate(s); } }

Preprocessor Macro to simplify adapter deletion.

#define PX_NEW_SERIALIZER_ADAPTER ( x )

Value:

*new( PxGetFoundation().getAllocatorCallback().allocate(sizeof(PxSerializerDefaultAdapter<x>), \
    "PxSerializerDefaultAdapter",  __FILE__, __LINE__ )) PxSerializerDefaultAdapter<x>(#x)
Preprocessor Macro to simplify adapter creation.

Note: that the allocator used for creation needs to match with the one used in PX_DELETE_SERIALIZER_ADAPTER.

Typedef Documentation

typedef PxFlags<PxD6JointDriveFlag::Enum, PxU32> PxD6JointDriveFlags

typedef PxFlags<PxDistanceJointFlag::Enum, PxU16> PxDistanceJointFlags

typedef FILE* PxFileHandle

typedef PxFlags<PxPrismaticJointFlag::Enum, PxU16> PxPrismaticJointFlags

typedef PxFlags<PxRevoluteJointFlag::Enum, PxU16> PxRevoluteJointFlags

typedef PxQueryCache PxSceneQueryCache

typedef PxQueryFilterCallback PxSceneQueryFilterCallback

typedef PxQueryFilterData PxSceneQueryFilterData

typedef PxHitFlag PxSceneQueryFlag

typedef PxHitFlags PxSceneQueryFlags

typedef PxQueryHit PxSceneQueryHit

typedef PxFlags<PxSphericalJointFlag::Enum, PxU16> PxSphericalJointFlags

Function Documentation

PX_FORCE_INLINE void* platformAlignedAlloc ( size_t size )

Referenced by PxDefaultAllocator::allocate().

PX_FORCE_INLINE void platformAlignedFree ( void * ptr )

Referenced by PxDefaultAllocator::deallocate().

PX_C_EXPORT bool PX_CALL_CONV PxBuildSmoothNormals | ( | physx::PxU32 | nbTris,
 |  | physx::PxU32 | nbVerts,
 |  | const physx::PxVec3 * | verts,
 |  | const physx::PxU32 * | dFaces,
 |  | const physx::PxU16 * | wFaces,
 |  | physx::PxVec3 * | normals,
 |  | bool | flip
 | ) |  |

Builds smooth vertex normals over a mesh.

  • "smooth" because smoothing groups are not supported here
  • takes angles into account for correct cube normals computation

To use 32bit indices pass a pointer in dFaces and set wFaces to zero. Alternatively pass a pointer to wFaces and set dFaces to zero.

Parameters:
[in] | nbTris | Number of triangles
[in] | nbVerts | Number of vertices
[in] | verts | Array of vertices
[in] | dFaces | Array of dword triangle indices, or null
[in] | wFaces | Array of word triangle indices, or null
[out] | normals | Array of computed normals (assumes nbVerts vectors)
[in] | flip | Flips the normals or not
Returns:
True on success.

PxRigidDynamic* 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 and rigidDynamic flags
  • mass, moment of inertia, and center of mass frame
  • linear and angular velocity
  • linear and angular damping
  • 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

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] | physicsSDK | PxPhysics - the physics SDK used to allocate the rigid static
[in] | body | the rigid dynamic to clone.
[in] | transform | the transform of the new dynamic
Returns:
the newly-created rigid static

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

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] | shape | the shape from which to take the attributes.
[in] | isExclusive | whether the new shape should be an exclusive or shared shape.
Returns:
the newly-created rigid static

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

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] | actor | the rigid actor from which to take the attributes.
[in] | transform | the transform of the new static.
Returns:
the newly-created rigid static

PX_C_EXPORT void PX_CALL_CONV PxCloseExtensions ( )

Shut down the PhysXExtensions library.

This function should be called to cleanly shut down the PhysXExtensions library before application exit.

Note:
This function is required to be called to release foundation usage.
See also:
PxInitExtensions

PxClothFabric* PxClothFabricCreate | ( | PxPhysics & | physics,
 |  | const PxClothMeshDesc & | desc,
 |  | const PxVec3 & | gravity,
 |  | bool | useGeodesicTether = true
 | ) |  |

Cooks a triangle mesh to a PxClothFabric.

Parameters:
physics | The physics instance.
desc | The cloth mesh descriptor on which the generation of the cooked mesh depends.
gravity | A normalized vector which specifies the direction of gravity. This information allows the cooker to generate a fabric with higher quality simulation behavior.
useGeodesicTether | A flag to indicate whether to compute geodesic distance for tether constraints.
Returns:
The created cloth fabric, or NULL if creation failed.

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.

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] | direction | Computed MTD unit direction
[out] | depth | Penetration depth. Always positive or zero.
[in] | geom | The geometry object
[in] | geomPose | Pose for the geometry object
[in] | heightFieldGeom | The heightfield geometry
[in] | heightFieldPose | Pose for the heightfield
[in] | maxIter | Max number of iterations before returning.
[out] | usedIter | Number 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

PX_DEPRECATED PxVec3 PxComputeHeightFieldPenetration | ( | PxU32 | maxIter,
 |  | const PxGeometry & | geom,
 |  | const PxTransform & | geomPose,
 |  | const PxHeightFieldGeometry & | heightFieldGeom,
 |  | const PxTransform & | heightFieldPose,
 |  | PxU32 & | nb
 | ) |  |

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:
[in] | maxIter | Max number of iterations before returning.
[in] | geom | The geometry object
[in] | geomPose | Pose for the geometry object
[in] | heightFieldGeom | The heightfield geometry
[in] | heightFieldPose | Pose for the heightfield
[out] | nb | Number of depenetrations attempts performed during the call. 0 means no overlap has been detected.
Returns:
Approximate depenetration vector
See also:
PxGeometry PxTransform PxHeightFieldGeometry

PX_DEPRECATED PxVec3 PxComputeMeshPenetration | ( | PxU32 | maxIter,
 |  | const PxGeometry & | geom,
 |  | const PxTransform & | geomPose,
 |  | const PxTriangleMeshGeometry & | meshGeom,
 |  | const PxTransform & | meshPose,
 |  | PxU32 & | nb
 | ) |  |

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:
[in] | maxIter | Max number of iterations before returning.
[in] | geom | The geometry object
[in] | geomPose | Pose for the geometry object
[in] | meshGeom | The mesh geometry
[in] | meshPose | Pose for the mesh
[out] | nb | Number of depenetrations attempts performed during the call. 0 means no overlap has been detected.
Returns:
Approximate depenetration vector
See also:
PxGeometry PxTransform PxTriangleMeshGeometry

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.

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] | direction | Computed MTD unit direction
[out] | depth | Penetration depth. Always positive or zero.
[in] | geom | The geometry object
[in] | geomPose | Pose for the geometry object
[in] | meshGeom | The mesh geometry
[in] | meshPose | Pose for the mesh
[in] | maxIter | Max number of iterations before returning.
[out] | usedIter | Number 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

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

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

Parameters:
[in] | sdk | the PxPhysics object
[in] | transform | the transform of the new object
[in] | shape | the shape of the new object
[in] | density | the 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

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.

Parameters:
[in] | sdk | the PxPhysics object
[in] | transform | the global pose of the new object
[in] | geometry | the geometry of the new object's shape, which must be a sphere, capsule, box or convex
[in] | material | the material for the new object's shape
[in] | density | the density of the new object. Must be greater than zero.
[in] | shapeOffset | an 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

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

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

Parameters:
[in] | sdk | the PxPhysics object
[in] | transform | the global pose of the new object
[in] | density | the density of the new object. Must be greater than zero if the object is to participate in simulation.
[in] | shape | the 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

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.

Parameters:
[in] | sdk | the PxPhysics object
[in] | transform | the global pose of the new object
[in] | geometry | the geometry of the new object's shape
[in] | material | the material for the new object's shape
[in] | density | the density of the new object. Must be greater than zero if the object is to participate in simulation.
[in] | shapeOffset | an 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

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

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

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

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

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

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

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.

Parameters:
[in] | sdk | the PxPhysics object
[in] | transform | the global pose of the new object
[in] | geometry | the geometry of the new object's shape
[in] | material | the material for the new object's shape
[in] | shapeOffset | an 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

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

Create a D6 joint.

Parameters:
[in] | physics | the physics SDK
[in] | actor0 | an actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in] | localFrame0 | the position and orientation of the joint relative to actor0
[in] | actor1 | an actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in] | localFrame1 | the position and orientation of the joint relative to actor1
See also:
PxD6Joint

PxDefaultCpuDispatcher* PxDefaultCpuDispatcherCreate | ( | PxU32 | numThreads,
 |  | PxU32 * | affinityMasks = NULL
 | ) |  |

Create default dispatcher, extensions SDK needs to be initialized first.

Parameters:
[in] | numThreads | Number of worker threads the dispatcher should use.
[in] | affinityMasks | Array with affinity mask for each thread. If not defined, default masks will be used.
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()
See also:
PxDefaultCpuDispatcher

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.

This shader provides the following logic:

  • If one of the two filter objects is a trigger, the pair is acccepted and PxPairFlag::eTRIGGER_DEFAULT will be used for trigger reports
  • Else, if the filter mask logic (see further below) discards the pair it will be suppressed (PxFilterFlag::eSUPPRESS)
  • Else, the pair gets accepted and collision response gets enabled (PxPairFlag::eCONTACT_DEFAULT)
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

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

Create a distance Joint.

Parameters:
[in] | physics | the physics SDK
[in] | actor0 | an actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in] | localFrame0 | the position and orientation of the joint relative to actor0
[in] | actor1 | an actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in] | localFrame1 | the position and orientation of the joint relative to actor1
See also:
PxDistanceJoint

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.

Parameters:
[in] | convexGeom | The convex mesh geometry.
[in] | geomPose | Pose for the geometry object.
[in] | impactPos | Impact position.
[in] | unitDir | Normalized impact direction.
Returns:
Closest face index of the convex geometry.
See also:
PxTransform PxConvexMeshGeometry

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

Create a fixed joint.

Parameters:
[in] | physics | the physics SDK
[in] | actor0 | an actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in] | localFrame0 | the position and orientation of the joint relative to actor0
[in] | actor1 | an actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in] | localFrame1 | the position and orientation of the joint relative to actor1
See also:
PxFixedJoint

bool PxGetFilterBool ( )

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

Returns:
flag Boolean value for filter.
See also:
PxSetFilterBool PxSetFilterConstants

void PxGetFilterConstants | ( | PxGroupsMask & | c0,
 |  | PxGroupsMask & | c1
 | ) |  |

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

Parameters:
[out] | c0 | the filtering constants, as a mask. See PxGroupsMask.
[out] | c1 | the filtering constants, as a mask. See PxGroupsMask.
See also:
PxSetFilterOps PxSetFilterBool PxSetFilterConstants

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

Retrieves filtering operation. See comments for PxGroupsMask.

Parameters:
[out] | op0 | First filter operator.
[out] | op1 | Second filter operator.
[out] | op2 | Third filter operator.
See also:
PxSetFilterOps PxSetFilterBool PxSetFilterConstants

PxU16 PxGetGroup ( const PxActor & actor )

Retrieves the value set with PxSetGroup().

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

bool 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] | group1 | First Group
[in] | group2 | Second Group
Returns:
True if the groups could collide
See also:
PxSetGroupCollisionFlag

PxGroupsMask PxGetGroupsMask ( const PxActor & actor )

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

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

PX_C_EXPORT bool PX_CALL_CONV PxInitExtensions | ( | physx::PxPhysics & | physics,
 |  | physx::PxPvd * | pvd
 | ) |  |

Initialize the PhysXExtensions library.

This should be called before calling any functions or methods in extensions which may require allocation.

Note:
This function does not need to be called before creating a PxDefaultAllocator object.
Parameters:
physics | a PxPhysics object
pvd | an PxPvd (PhysX Visual Debugger) object
See also:
PxCloseExtensions PxFoundation PxPhysics

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

Create a prismatic joint.

Parameters:
[in] | physics | the physics SDK
[in] | actor0 | an actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in] | localFrame0 | the position and orientation of the joint relative to actor0
[in] | actor1 | an actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in] | localFrame1 | the position and orientation of the joint relative to actor1
See also:
PxPrismaticJoint

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

Create a revolute joint.

Parameters:
[in] | physics | the physics SDK
[in] | actor0 | an actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in] | localFrame0 | the position and orientation of the joint relative to actor0
[in] | actor1 | an actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in] | localFrame1 | the position and orientation of the joint relative to actor1
See also:
PxRevoluteJoint

void 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] | actor | a rigid actor
[in] | scale | the scale by which to multiply the actor. Must be >0.
[in] | scaleMassProps | whether to scale the mass properties

void PxSetFilterBool ( const bool enable )

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

Parameters:
[in] enable Boolean value for filter.
See also:
PxSetFilterOps PxSsetFilterConstants

void PxSetFilterConstants | ( | const PxGroupsMask & | c0,
 |  | const PxGroupsMask & | c1
 | ) |  |

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

Parameters:
[in] | c0 | The new group mask. See PxGroupsMask.
[in] | c1 | The new group mask. See PxGroupsMask.
See also:
PxSetFilterOps PxSetFilterBool PxGetFilterConstants

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

Setups filtering operations. See comments for PxGroupsMask.

Parameters:
[in] | op0 | Filter op 0.
[in] | op1 | Filter op 1.
[in] | op2 | Filter op 2.
See also:
PxSetFilterBool PxSetFilterConstants

void 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] | actor | The actor
[in] | collisionGroup | Collision group this actor belongs to
See also:
PxGetGroup

void 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] | group1 | First Group
[in] | group2 | Second Group
[in] | enable | True to enable collision between the groups
See also:
PxGetGroupCollisionFlag

void PxSetGroupsMask | ( | PxActor & | actor,
 |  | const PxGroupsMask & | mask
 | ) |  |

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

Parameters:
[in] | actor | The actor
[in] | mask | The group mask to set for the actor.
See also:
PxGetGroupsMask()

PX_C_EXPORT void PX_CALL_CONV PxSetJointGlobalFrame | ( | physx::PxJoint & | joint,
 |  | const physx::PxVec3 * | wsAnchor,
 |  | const physx::PxVec3 * | wsAxis
 | ) |  |

Helper function to setup a joint's global frame.

This replaces the following functions from previous SDK versions:

void NxJointDesc::setGlobalAnchor(const NxVec3& wsAnchor); void NxJointDesc::setGlobalAxis(const NxVec3& wsAxis);

The function sets the joint's localPose using world-space input parameters.

Parameters:
[in] | wsAnchor | Global frame anchor point. Range: position vector
[in] | wsAxis | Global frame axis. Range: direction vector
[in,out] | joint | Joint having its global frame set.

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

Create a spherical joint.

Parameters:
[in] | physics | the physics SDK
[in] | actor0 | an actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in] | localFrame0 | the position and orientation of the joint relative to actor0
[in] | actor1 | an actor to which the joint is attached. NULL may be used to attach the joint to a specific point in the world frame
[in] | localFrame1 | the position and orientation of the joint relative to actor1
See also:
PxSphericalJoint


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSerializer Class Reference

PxSerializer Class Reference
[Extensions]

Serialization interface class. More...

#include <PxSerializer.h>

Inheritance diagram for PxSerializer:

PxSerializerDefaultAdapter\< T \>
[legend]

List of all members.

Public Member Functions

virtual | ~PxSerializer ()
Basics needed for Binary- and RepX-Serialization
virtual const char * | getConcreteTypeName () const =0
Returns string name of dynamic type.
virtual void | requiresObjects (PxBase &, PxProcessPxBaseCallback &) const =0
Adds required objects to the collection.
virtual bool | isSubordinate () const =0
Whether the object is subordinate.
Functionality needed for Binary Serialization only
virtual void | exportExtraData (PxBase &, PxSerializationContext &) const =0
Exports object's extra data to stream.
virtual void | exportData (PxBase &, PxSerializationContext &) const =0
Exports object's data to stream.
virtual void | registerReferences (PxBase &obj, PxSerializationContext &s) const =0
Register references that the object maintains to other objects.
virtual size_t | getClassSize () const =0
Returns size needed to create the class instance.
virtual PxBase * | createObject (PxU8 *&address, PxDeserializationContext &context) const =0
Create object at a given address, resolve references and import extra data.

Detailed Description

Serialization interface class.

PxSerializer is used to extend serializable PxBase classes with serialization functionality. The interface is structured such that per-class adapter instances can be used as opposed to per-object adapter instances, avoiding per object allocations. Hence the methods take a reference to PxBase as a parameter.

The PxSerializer interface needs to be implemented for binary or RepX serialization to work on custom types. If only RepX serialization is needed, some methods can be left empty, as they are only needed for binary serialization.

A default implementation is available as a template adapter (PxSerializerDefaultAdapter).

See also:
PxSerializerDefaultAdapter, PX_NEW_SERIALIZER_ADAPTER, PxSerializationRegistry::registerSerializer

Constructor & Destructor Documentation

virtual PxSerializer::~PxSerializer ( ) [inline, virtual]

Member Function Documentation

virtual PxBase* PxSerializer::createObject | ( | PxU8 *& | address,
 |  | PxDeserializationContext & | context |
 | ) |  |  | const [pure virtual]

Create object at a given address, resolve references and import extra data.

Parameters:
address | Location at which object is created. Address is increased by the size of the created object.
context | Context for reading external data and resolving references.
Returns:
Created PxBase pointer (needs to be identical to address before increment).

Implemented in PxSerializerDefaultAdapter< T >.

virtual void PxSerializer::exportData | ( | PxBase & | ,
 |  | PxSerializationContext & |  |
 | ) |  |  | const [pure virtual]

Exports object's data to stream.

Implemented in PxSerializerDefaultAdapter< T >.

virtual void PxSerializer::exportExtraData | ( | PxBase & | ,
 |  | PxSerializationContext & |  |
 | ) |  |  | const [pure virtual]

Exports object's extra data to stream.

Implemented in PxSerializerDefaultAdapter< T >.

virtual size_t PxSerializer::getClassSize ( ) const [pure virtual]

Returns size needed to create the class instance.

Returns:
sizeof class instance.

Implemented in PxSerializerDefaultAdapter< T >.

virtual const char* PxSerializer::getConcreteTypeName ( ) const [pure virtual]

Returns string name of dynamic type.

Returns:
Class name of most derived type of this object.

Implemented in PxSerializerDefaultAdapter< T >.

virtual bool PxSerializer::isSubordinate ( ) const [pure virtual]

Whether the object is subordinate.

A class is subordinate, if it can only be instantiated in the context of another class.

Returns:
Whether the class is subordinate
See also:
PxSerialization::isSerializable

Implemented in PxSerializerDefaultAdapter< T >.

virtual void PxSerializer::registerReferences | ( | PxBase & | obj,
 |  | PxSerializationContext & | s |
 | ) |  |  | const [pure virtual]

Register references that the object maintains to other objects.

Implemented in PxSerializerDefaultAdapter< T >.

virtual void PxSerializer::requiresObjects | ( | PxBase & | ,
 |  | PxProcessPxBaseCallback & |  |
 | ) |  |  | const [pure virtual]

Adds required objects to the collection.

This method does not add the required objects recursively, e.g. objects required by required objects.

See also:
PxCollection, PxSerialization::complete

Implemented in PxSerializerDefaultAdapter< T >.

The documentation for this class was generated from the following file:
  • PxSerializer.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSerializerDefaultAdapter< T > Class Template Reference

PxSerializerDefaultAdapter< T > Class Template Reference
[Extensions]

Default PxSerializer implementation. More...

#include <PxSerializer.h>

Inheritance diagram for PxSerializerDefaultAdapter< T >:

PxSerializer
[legend]
Collaboration diagram for PxSerializerDefaultAdapter< T >:

PxSerializer
[legend]

List of all members.

Public Member Functions

Basics needed for Binary- and RepX-Serialization
PxSerializerDefaultAdapter (const char *name)
virtual const char * | getConcreteTypeName () const
Returns string name of dynamic type.
virtual void | requiresObjects (PxBase &obj, PxProcessPxBaseCallback &c) const
Adds required objects to the collection.
virtual bool | isSubordinate () const
Whether the object is subordinate.
Functionality needed for Binary Serialization only
virtual void | exportExtraData (PxBase &obj, PxSerializationContext &s) const
Exports object's extra data to stream.
virtual void | exportData (PxBase &obj, PxSerializationContext &s) const
Exports object's data to stream.
virtual void | registerReferences (PxBase &obj, PxSerializationContext &s) const
Register references that the object maintains to other objects.
virtual size_t | getClassSize () const
Returns size needed to create the class instance.
virtual PxBase * | createObject (PxU8 *&address, PxDeserializationContext &context) const
Create object at a given address, resolve references and import extra data.

Private Attributes

const char * | mTypeName

Detailed Description

template<class T>
class PxSerializerDefaultAdapter< T >

Default PxSerializer implementation.

Constructor & Destructor Documentation

template<class T >
PxSerializerDefaultAdapter< T >::PxSerializerDefaultAdapter ( const char * name ) [inline]

Member Function Documentation

template<class T >
virtual PxBase* PxSerializerDefaultAdapter< T >::createObject | ( | PxU8 *& | address,
 |  | PxDeserializationContext & | context |
 | ) |  |  | const [inline, virtual]

Create object at a given address, resolve references and import extra data.

Parameters:
address | Location at which object is created. Address is increased by the size of the created object.
context | Context for reading external data and resolving references.
Returns:
Created PxBase pointer (needs to be identical to address before increment).

Implements PxSerializer.

template<class T >
virtual void PxSerializerDefaultAdapter< T >::exportData | ( | PxBase & | ,
 |  | PxSerializationContext & |  |
 | ) |  |  | const [inline, virtual]

Exports object's data to stream.

Implements PxSerializer.

References PxSerializationContext::writeData().

template<class T >
virtual void PxSerializerDefaultAdapter< T >::exportExtraData | ( | PxBase & | ,
 |  | PxSerializationContext & |  |
 | ) |  |  | const [inline, virtual]

Exports object's extra data to stream.

Implements PxSerializer.

template<class T >
virtual size_t PxSerializerDefaultAdapter< T >::getClassSize ( ) const [inline, virtual]

Returns size needed to create the class instance.

Returns:
sizeof class instance.

Implements PxSerializer.

template<class T >
virtual const char* PxSerializerDefaultAdapter< T >::getConcreteTypeName ( ) const [inline, virtual]

Returns string name of dynamic type.

Returns:
Class name of most derived type of this object.

Implements PxSerializer.

template<class T >
virtual bool PxSerializerDefaultAdapter< T >::isSubordinate ( ) const [inline, virtual]

Whether the object is subordinate.

A class is subordinate, if it can only be instantiated in the context of another class.

Returns:
Whether the class is subordinate
See also:
PxSerialization::isSerializable

Implements PxSerializer.

template<class T >
virtual void PxSerializerDefaultAdapter< T >::registerReferences | ( | PxBase & | obj,
 |  | PxSerializationContext & | s |
 | ) |  |  | const [inline, virtual]

Register references that the object maintains to other objects.

Implements PxSerializer.

References PX_ASSERT, PX_SERIAL_REF_KIND_PXBASE, and PxSerializationContext::registerReference().

template<class T >
virtual void PxSerializerDefaultAdapter< T >::requiresObjects | ( | PxBase & | ,
 |  | PxProcessPxBaseCallback & |  |
 | ) |  |  | const [inline, virtual]

Adds required objects to the collection.

This method does not add the required objects recursively, e.g. objects required by required objects.

See also:
PxCollection, PxSerialization::complete

Implements PxSerializer.

Member Data Documentation

template<class T >
const char* PxSerializerDefaultAdapter< T >::mTypeName [private]

The documentation for this class was generated from the following file:
  • PxSerializer.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxConverterReportMode Struct Reference

PxConverterReportMode Struct Reference
[Extensions]

#include <PxBinaryConverter.h>

List of all members.

Public Types

enum Enum {
eNONE,
eNORMAL,
eVERBOSE
}

Member Enumeration Documentation

enum PxConverterReportMode::Enum

Enumerator:
eNONE | Silent mode. If enabled, no information is sent to the error stream.
eNORMAL | Normal mode. If enabled, only important information is sent to the error stream.
eVERBOSE | Verbose mode. If enabled, detailed information is sent to the error stream.

The documentation for this struct was generated from the following file:
  • PxBinaryConverter.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBinaryConverter Class Reference

PxBinaryConverter Class Reference
[Extensions]

Binary converter for serialized streams. More...

#include <PxBinaryConverter.h>

List of all members.

Public Member Functions

virtual void | release ()=0
Releases binary converter.
virtual void | setReportMode (PxConverterReportMode::Enum mode)=0
Sets desired report mode.
virtual bool | setMetaData (PxInputStream &srcMetaData, PxInputStream &dstMetaData)=0
Setups source and target meta-data streams.
virtual bool | compareMetaData () const =0
Test utility function to compare two sets of meta data.
virtual bool | convert (PxInputStream &srcStream, PxU32 srcSize, PxOutputStream &targetStream)=0
Converts binary stream from source platform to target platform.

Protected Member Functions

PxBinaryConverter ()
virtual | ~PxBinaryConverter ()

Detailed Description

Binary converter for serialized streams.

The binary converter class is targeted at converting binary streams from authoring platforms, such as windows, osx or linux to any game runtime platform supported by PhysX. Particularly it is currently not supported to run the converter on a platforms that has an endian mismatch with the platform corresponding to the source binary file and source meta data.

If you want to use multiple threads for batch conversions, please create one instance of this class for each thread.

See also:
PxSerialization.createBinaryConverter

Constructor & Destructor Documentation

PxBinaryConverter::PxBinaryConverter ( ) [inline, protected]

virtual PxBinaryConverter::~PxBinaryConverter ( ) [inline, protected, virtual]

Member Function Documentation

virtual bool PxBinaryConverter::compareMetaData ( ) const [pure virtual]

Test utility function to compare two sets of meta data.

The meta data needs to be set before calling the compareMetaData method. This method will issue PxErrorCode::eDEBUG_INFO messages if mismatches are encountered.

Returns:
True if meta data is equivalend

virtual bool PxBinaryConverter::convert | ( | PxInputStream & | srcStream,
 |  | PxU32 | srcSize,
 |  | PxOutputStream & | targetStream |
 | ) |  |  | [pure virtual]

Converts binary stream from source platform to target platform.

The converter needs to be configured with source and destination meta data before calling the conversion method. The source meta data needs to correspond to the same platform as the source binary data.

Parameters:
[in] | srcStream | Source stream
[in] | srcSize | Number of bytes to convert
[in] | targetStream | Target stream
Returns:
True if success

virtual void PxBinaryConverter::release ( ) [pure virtual]

Releases binary converter.

virtual bool PxBinaryConverter::setMetaData | ( | PxInputStream & | srcMetaData,
 |  | PxInputStream & | dstMetaData |
 | ) |  |  | [pure virtual]

Setups source and target meta-data streams.

The source meta data provided needs to have the same endianness as the platform the converter is run on. The meta data needs to be set before calling the conversion method.

Parameters:
[in] | srcMetaData | Source platform's meta-data stream
[in] | dstMetaData | Target platform's meta-data stream
Returns:
True if success

virtual void PxBinaryConverter::setReportMode ( PxConverterReportMode::Enum mode ) [pure virtual]

Sets desired report mode.

Parameters:
[in] mode Report mode

The documentation for this class was generated from the following file:
  • PxBinaryConverter.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBroadPhaseExt Class Reference

PxBroadPhaseExt Class Reference
[Extensions]

#include <PxBroadPhaseExt.h>

List of all members.

Static Public Member Functions

static PxU32 createRegionsFromWorldBounds (PxBounds3 *regions, const PxBounds3 &globalBounds, PxU32 nbSubdiv, PxU32 upAxis=1)
Creates regions for PxSceneDesc, from a global box.

Member Function Documentation

static PxU32 PxBroadPhaseExt::createRegionsFromWorldBounds | ( | PxBounds3 * | regions,
 |  | const PxBounds3 & | globalBounds,
 |  | PxU32 | nbSubdiv,
 |  | PxU32 | upAxis = 1 |
 | ) |  |  | [static]

Creates regions for PxSceneDesc, from a global box.

This helper simply subdivides the given global box into a 2D grid of smaller boxes. Each one of those smaller boxes is a region of interest for the broadphase. There are nbSubdiv*nbSubdiv regions in the 2D grid. The function does not subdivide along the given up axis.

This is the simplest setup one can use with PxBroadPhaseType::eMBP. A more sophisticated setup would try to cover the game world with a non-uniform set of regions (i.e. not just a grid).

Parameters:
[out] | regions | Regions computed from the input global box
[in] | globalBounds | World-space box covering the game world
[in] | nbSubdiv | Grid subdivision level. The function will create nbSubdiv*nbSubdiv regions.
[in] | upAxis | Up axis (0 for X, 1 for Y, 2 for Z).
Returns:
number of regions written out to the 'regions' array
See also:
PxSceneDesc PxBroadPhaseType

The documentation for this class was generated from the following file:
  • PxBroadPhaseExt.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothFabricCooker Class Reference

PxClothFabricCooker Class Reference
[Extensions]

#include <PxClothFabricCooker.h>

List of all members.

Public Member Functions

PxClothFabricCooker (const PxClothMeshDesc &desc, const PxVec3 &gravity, bool useGeodesicTether=true)
Cooks a triangle mesh to a PxClothFabricDesc.
~PxClothFabricCooker ()
PxClothFabricDesc | getDescriptor () const
Returns the fabric descriptor to create the fabric.
void | save (PxOutputStream &stream, bool platformMismatch) const
Saves the fabric data to a platform and version dependent stream.

Private Attributes

PxFabricCookerImpl * | mImpl

Detailed Description

Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Constructor & Destructor Documentation

PxClothFabricCooker::PxClothFabricCooker | ( | const PxClothMeshDesc & | desc,
 |  | const PxVec3 & | gravity,
 |  | bool | useGeodesicTether = true
 | ) |  |

Cooks a triangle mesh to a PxClothFabricDesc.

Parameters:
desc | The cloth mesh descriptor on which the generation of the cooked mesh depends.
gravity | A normalized vector which specifies the direction of gravity. This information allows the cooker to generate a fabric with higher quality simulation behavior.
useGeodesicTether | A flag to indicate whether to compute geodesic distance for tether constraints.
Note:
The geodesic option for tether only works for manifold input. For non-manifold input, a simple Euclidean distance will be used. For more detailed cooker status for such cases, try running PxClothGeodesicTetherCooker directly.

PxClothFabricCooker::~PxClothFabricCooker ( )

Member Function Documentation

PxClothFabricDesc PxClothFabricCooker::getDescriptor ( ) const

Returns the fabric descriptor to create the fabric.

void PxClothFabricCooker::save | ( | PxOutputStream & | stream,
 |  | bool | platformMismatch |
 | ) |  |  | const

Saves the fabric data to a platform and version dependent stream.

Member Data Documentation

PxFabricCookerImpl* PxClothFabricCooker::mImpl [private]

The documentation for this class was generated from the following file:
  • PxClothFabricCooker.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCollectionExt Class Reference

PxCollectionExt Class Reference
[Extensions]

#include <PxCollectionExt.h>

List of all members.

Static Public Member Functions

static void | releaseObjects (PxCollection &collection, bool releaseExclusiveShapes=true)
Removes and releases all object from a collection.
static void | remove (PxCollection &collection, PxType concreteType, PxCollection *to=NULL)
Removes objects of a given type from a collection, potentially adding them to another collection.
static PxCollection * | createCollection (PxPhysics &physics)
Collects all objects in PxPhysics that are shareable across multiple scenes.
static PxCollection * | createCollection (PxScene &scene)
Collects all objects from a PxScene.

Member Function Documentation

static PxCollection* PxCollectionExt::createCollection ( PxScene & scene ) [static]

Collects all objects from a PxScene.

This function creates a new collection from all objects that where added to the specified PxScene. Instances of the following types are included: PxActor, PxAggregate, PxArticulation and PxJoint (other PxConstraint types are not included).

This is a helper function to ease the creation of collections for serialization. The function PxSerialization.complete() can be used to complete the collection with required objects prior to serialization.

Parameters:
[in] scene The PxScene instance from which objects are collected. See PxScene
Returns:
Collection to which objects are added. See PxCollection
See also:
PxCollection, PxScene, PxSerialization.complete()

static PxCollection* PxCollectionExt::createCollection ( PxPhysics & physics ) [static]

Collects all objects in PxPhysics that are shareable across multiple scenes.

This function creates a new collection from all objects that are shareable across multiple scenes. Instances of the following types are included: PxConvexMesh, PxTriangleMesh, PxHeightField, PxShape, PxMaterial and PxClothFabric.

This is a helper function to ease the creation of collections for serialization.

Parameters:
[in] physics The physics SDK instance from which objects are collected. See PxPhysics
Returns:
Collection to which objects are added. See PxCollection
See also:
PxCollection, PxPhysics

static void PxCollectionExt::releaseObjects | ( | PxCollection & | collection,
 |  | bool | releaseExclusiveShapes = true |
 | ) |  |  | [static]

Removes and releases all object from a collection.

The Collection itself is not released.

If the releaseExclusiveShapes flag is not set to true, release() will not be called on exclusive shapes.

It is assumed that the application holds a reference to each of the objects in the collection, with the exception of objects that are not releasable (PxBase::isReleasable()). In general, objects that violate this assumption need to be removed from the collection prior to calling releaseObjects.

Note:
when a shape is created with PxRigidActor::createShape() or PxRigidActorExt::createExclusiveShape(), the only counted reference is held by the actor. If such a shape and its actor are present in the collection, the reference count will be decremented once when the actor is released, and once when the shape is released, resulting in undefined behavior. Shape reference counts can be incremented with PxShape::acquireReference().
Parameters:
[in] | collection | to remove and release all object from.
[in] | releaseExclusiveShapes | if this parameter is set to false, release() will not be called on exclusive shapes.

static void PxCollectionExt::remove | ( | PxCollection & | collection,
 |  | PxType | concreteType,
 |  | PxCollection * | to = NULL |
 | ) |  |  | [static]

Removes objects of a given type from a collection, potentially adding them to another collection.

Parameters:
[in,out] | collection | Collection from which objects are removed
[in] | concreteType | PxConcreteType of sdk objects that should be removed
[in,out] | to | Optional collection to which the removed objects are added
See also:
PxCollection, PxConcreteType

The documentation for this class was generated from the following file:
  • PxCollectionExt.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxConstraintExtIDs Struct Reference

PxConstraintExtIDs Struct Reference
[Extensions]

Unique identifiers for extensions classes which implement a constraint based on PxConstraint. More...

#include <PxConstraintExt.h>

List of all members.

Public Types

enum Enum {
eJOINT,
eVEHICLE_SUSP_LIMIT,
eVEHICLE_STICKY_TYRE,
eNEXT_FREE_ID,
eINVALID_ID = 0x7fffffff
}

Detailed Description

Unique identifiers for extensions classes which implement a constraint based on PxConstraint.

Note:
Users which want to create their own custom constraint types should choose an ID larger or equal to eNEXT_FREE_ID and not eINVALID_ID.
See also:
PxConstraint PxSimulationEventCallback.onConstraintBreak()

Member Enumeration Documentation

enum PxConstraintExtIDs::Enum

Enumerator:
eJOINT
eVEHICLE_SUSP_LIMIT
eVEHICLE_STICKY_TYRE
eNEXT_FREE_ID
eINVALID_ID

The documentation for this struct was generated from the following file:
  • PxConstraintExt.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxD6Axis Struct Reference

PxD6Axis Struct Reference
[Extensions]

Used to specify one of the degrees of freedom of a D6 joint. More...

#include <PxD6Joint.h>

List of all members.

Public Types

enum Enum {
eX = 0,
eY = 1,
eZ = 2,
eTWIST = 3,
eSWING1 = 4,
eSWING2 = 5,
eCOUNT = 6
}

Detailed Description

Used to specify one of the degrees of freedom of a D6 joint.

See also:
PxD6Joint

Member Enumeration Documentation

enum PxD6Axis::Enum

Enumerator:
eX | motion along the X axix
eY | motion along the Y axis
eZ | motion along the Z axis
eTWIST | motion around the X axis
eSWING1 | motion around the Y axis
eSWING2 | motion around the Z axis
eCOUNT

The documentation for this struct was generated from the following file:
  • PxD6Joint.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxD6Motion Struct Reference

PxD6Motion Struct Reference
[Extensions]

Used to specify the range of motions allowed for a degree of freedom in a D6 joint. More...

#include <PxD6Joint.h>

List of all members.

Public Types

enum Enum {
eLOCKED,
eLIMITED,
eFREE
}

Detailed Description

Used to specify the range of motions allowed for a degree of freedom in a D6 joint.

See also:
PxD6Joint

Member Enumeration Documentation

enum PxD6Motion::Enum

Enumerator:
eLOCKED | The DOF is locked, it does not allow relative motion.
eLIMITED | The DOF is limited, it only allows motion within a specific range.
eFREE | The DOF is free and has its full range of motion.

The documentation for this struct was generated from the following file:
  • PxD6Joint.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxD6Drive Struct Reference

PxD6Drive Struct Reference
[Extensions]

Used to specify which axes of a D6 joint are driven. More...

#include <PxD6Joint.h>

List of all members.

Public Types

enum Enum {
eX = 0,
eY = 1,
eZ = 2,
eSWING = 3,
eTWIST = 4,
eSLERP = 5,
eCOUNT = 6
}

Detailed Description

Used to specify which axes of a D6 joint are driven.

Each drive is an implicit force-limited damped spring:

force = spring * (target position - position) + damping * (targetVelocity - velocity)

Alternatively, the spring may be configured to generate a specified acceleration instead of a force.

A linear axis is affected by drive only if the corresponding drive flag is set. There are two possible models for angular drive: swing/twist, which may be used to drive one or more angular degrees of freedom, or slerp, which may only be used to drive all three angular degrees simultaneously.

See also:
PxD6Joint

Member Enumeration Documentation

enum PxD6Drive::Enum

Enumerator:
eX | drive along the X-axis
eY | drive along the Y-axis
eZ | drive along the Z-axis
eSWING | drive of displacement from the X-axis
eTWIST | drive of the displacement around the X-axis
eSLERP | drive of all three angular degrees along a SLERP-path
eCOUNT

The documentation for this struct was generated from the following file:
  • PxD6Joint.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxD6JointDriveFlag Struct Reference

PxD6JointDriveFlag Struct Reference
[Extensions]

flags for configuring the drive model of a PxD6Joint More...

#include <PxD6Joint.h>

List of all members.

Public Types

enum Enum { eACCELERATION = 1 }

Detailed Description

flags for configuring the drive model of a PxD6Joint

See also:
PxD6JointDrive PxD6Joint

Member Enumeration Documentation

enum PxD6JointDriveFlag::Enum

Enumerator:
eACCELERATION drive spring is for the acceleration at the joint (rather than the force)

The documentation for this struct was generated from the following file:
  • PxD6Joint.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxD6JointDrive Class Reference

PxD6JointDrive Class Reference
[Extensions]

parameters for configuring the drive model of a PxD6Joint More...

#include <PxD6Joint.h>

Inheritance diagram for PxD6JointDrive:

PxSpring
[legend]
Collaboration diagram for PxD6JointDrive:

PxSpringPxFlags\< PxD6JointDriveFlag::Enum, PxU32 \>
[legend]

List of all members.

Public Member Functions

PxD6JointDrive ()
default constructor for PxD6JointDrive.
PxD6JointDrive (PxReal driveStiffness, PxReal driveDamping, PxReal driveForceLimit, bool isAcceleration=false)
constructor a PxD6JointDrive.
bool | isValid () const
returns true if the drive is valid

Public Attributes

PxReal | forceLimit
the force limit of the drive - may be an impulse or a force depending on PxConstraintFlag::eDRIVE_LIMITS_ARE_FORCES
PxD6JointDriveFlags flags
the joint drive flags

Detailed Description

parameters for configuring the drive model of a PxD6Joint

See also:
PxD6Joint

Constructor & Destructor Documentation

PxD6JointDrive::PxD6JointDrive ( ) [inline]

default constructor for PxD6JointDrive.

PxD6JointDrive::PxD6JointDrive | ( | PxReal | driveStiffness,
 |  | PxReal | driveDamping,
 |  | PxReal | driveForceLimit,
 |  | bool | isAcceleration = false |
 | ) |  |  | [inline]

constructor a PxD6JointDrive.

Parameters:
[in] | driveStiffness | the stiffness of the drive spring.
[in] | driveDamping | the damping of the drive spring
[in] | driveForceLimit | the maximum impulse or force that can be exerted by the drive
[in] | isAcceleration | whether the drive is an acceleration drive or a force drive

Member Function Documentation

bool PxD6JointDrive::isValid ( ) const [inline]

returns true if the drive is valid

References PxIsFinite().

Member Data Documentation

PxD6JointDriveFlags PxD6JointDrive::flags

the joint drive flags

PxReal PxD6JointDrive::forceLimit

the force limit of the drive - may be an impulse or a force depending on PxConstraintFlag::eDRIVE_LIMITS_ARE_FORCES

The documentation for this class was generated from the following file:
  • PxD6Joint.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxD6Joint Class Reference

PxD6Joint Class Reference
[Extensions]

A D6 joint is a general constraint between two actors. More...

#include <PxD6Joint.h>

Inheritance diagram for PxD6Joint:

PxJointPxBase
[legend]
Collaboration diagram for PxD6Joint:

PxJointPxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

virtual void | setMotion (PxD6Axis::Enum axis, PxD6Motion::Enum type)=0
Set the motion type around the specified axis.
virtual PxD6Motion::Enum | getMotion (PxD6Axis::Enum axis) const =0
Get the motion type around the specified axis.
virtual PxReal | getTwist () const =0
get the twist angle of the joint
virtual PxReal | getSwingYAngle () const =0
get the swing angle of the joint from the Y axis
virtual PxReal | getSwingZAngle () const =0
get the swing angle of the joint from the Z axis
virtual void | setLinearLimit (const PxJointLinearLimit &limit)=0
Set the linear limit for the joint.
virtual PxJointLinearLimit | getLinearLimit () const =0
Get the linear limit for the joint.
virtual void | setTwistLimit (const PxJointAngularLimitPair &limit)=0
Set the twist limit for the joint.
virtual PxJointAngularLimitPair | getTwistLimit () const =0
Get the twist limit for the joint.
virtual void | setSwingLimit (const PxJointLimitCone &limit)=0
Set the swing cone limit for the joint.
virtual PxJointLimitCone | getSwingLimit () const =0
Get the cone limit for the joint.
virtual void | setDrive (PxD6Drive::Enum index, const PxD6JointDrive &drive)=0
Set the drive parameters for the specified drive type.
virtual PxD6JointDrive | getDrive (PxD6Drive::Enum index) const =0
Get the drive parameters for the specified drive type.
virtual void | setDrivePosition (const PxTransform &pose)=0
Set the drive goal pose.
virtual PxTransform | getDrivePosition () const =0
Get the drive goal pose.
virtual void | setDriveVelocity (const PxVec3 &linear, const PxVec3 &angular)=0
Set the target goal velocity for drive.
virtual void | getDriveVelocity (PxVec3 &linear, PxVec3 &angular) const =0
Get the target goal velocity for joint drive.
virtual void | setProjectionLinearTolerance (PxReal tolerance)=0
Set the linear tolerance threshold for projection. Projection is enabled if PxConstraintFlag::ePROJECTION is set for the joint.
virtual PxReal | getProjectionLinearTolerance () const =0
Get the linear tolerance threshold for projection.
virtual void | setProjectionAngularTolerance (PxReal tolerance)=0
Set the angular tolerance threshold for projection. Projection is enabled if PxConstraintFlag::ePROJECTION is set for the joint.
virtual PxReal | getProjectionAngularTolerance () const =0
Get the angular tolerance threshold for projection.
virtual const char * | getConcreteTypeName () const
Returns string name of PxD6Joint, used for serialization.

Protected Member Functions

PX_INLINE | PxD6Joint (PxType concreteType, PxBaseFlags baseFlags)
Constructor.
PX_INLINE | PxD6Joint (PxBaseFlags baseFlags)
Deserialization constructor.
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Detailed Description

A D6 joint is a general constraint between two actors.

It allows the application to individually define the linear and rotational degrees of freedom, and also to configure a variety of limits and driven degrees of freedom.

By default all degrees of freedom are locked. So to create a prismatic joint with free motion along the x-axis:

    ...
    joint->setMotion(PxD6Axis::eX, PxD6JointMotion::eFREE);
     ...

Or a Revolute joint with motion free allowed around the x-axis:

    ...
    joint->setMotion(PxD6Axis::eTWIST, PxD6JointMotion::eFREE);
    ...

Degrees of freedom may also be set to limited instead of locked. There is a single limit value for all linear degrees of freedom, which may act as a linear, circular, or spherical limit depending on which degrees of freedom are limited.

If the twist degree of freedom is limited, is supports upper and lower limits. The two swing degrees of freedom are limited with a cone limit.

See also:
PxD6JointCreate() PxJoint

Constructor & Destructor Documentation

PX_INLINE PxD6Joint::PxD6Joint | ( | PxType | concreteType,
 |  | PxBaseFlags | baseFlags |
 | ) |  |  | [inline, protected]

Constructor.

PX_INLINE PxD6Joint::PxD6Joint ( PxBaseFlags baseFlags ) [inline, protected]

Deserialization constructor.

Member Function Documentation

virtual const char* PxD6Joint::getConcreteTypeName ( ) const [inline, virtual]

Returns string name of PxD6Joint, used for serialization.

Implements PxBase.

virtual PxD6JointDrive PxD6Joint::getDrive ( PxD6Drive::Enum index ) const [pure virtual]

Get the drive parameters for the specified drive type.

Parameters:
[in] index the specified drive type
See also:
setDrive() PxD6JointDrive

virtual PxTransform PxD6Joint::getDrivePosition ( ) const [pure virtual]

Get the drive goal pose.

See also:
getDrivePosition()

virtual void PxD6Joint::getDriveVelocity | ( | PxVec3 & | linear,
 |  | PxVec3 & | angular |
 | ) |  |  | const [pure virtual]

Get the target goal velocity for joint drive.

Parameters:
[in] | linear | The goal velocity for linear drive
[in] | angular | The goal velocity for angular drive
See also:
setDriveVelocity()

virtual PxJointLinearLimit PxD6Joint::getLinearLimit ( ) const [pure virtual]

Get the linear limit for the joint.

Returns:
the linear limit structure
See also:
setLinearLimit() PxJointLinearLimit

virtual PxD6Motion::Enum PxD6Joint::getMotion ( PxD6Axis::Enum axis ) const [pure virtual]

Get the motion type around the specified axis.

See also:
setMotion() PxD6Axis PxD6Motion
Parameters:
[in] axis the degree of freedom around which the motion type is specified
Returns:
the motion type around the specified axis

virtual PxReal PxD6Joint::getProjectionAngularTolerance ( ) const [pure virtual]

Get the angular tolerance threshold for projection.

Returns:
tolerance the angular tolerance threshold in radians
See also:
setProjectionAngularTolerance()

virtual PxReal PxD6Joint::getProjectionLinearTolerance ( ) const [pure virtual]

Get the linear tolerance threshold for projection.

Returns:
the linear tolerance threshold
See also:
setProjectionLinearTolerance()

virtual PxJointLimitCone PxD6Joint::getSwingLimit ( ) const [pure virtual]

Get the cone limit for the joint.

Returns:
the swing limit structure
See also:
setLimitCone() PxJointLimitCone

virtual PxReal PxD6Joint::getSwingYAngle ( ) const [pure virtual]

get the swing angle of the joint from the Y axis

virtual PxReal PxD6Joint::getSwingZAngle ( ) const [pure virtual]

get the swing angle of the joint from the Z axis

virtual PxReal PxD6Joint::getTwist ( ) const [pure virtual]

get the twist angle of the joint

virtual PxJointAngularLimitPair PxD6Joint::getTwistLimit ( ) const [pure virtual]

Get the twist limit for the joint.

Returns:
the twist limit structure
See also:
setTwistLimit() PxJointAngularLimitPair

virtual bool PxD6Joint::isKindOf ( const char * name ) const [inline, protected, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxJoint.

References PxJoint::isKindOf().

virtual void PxD6Joint::setDrive | ( | PxD6Drive::Enum | index,
 |  | const PxD6JointDrive & | drive |
 | ) |  |  | [pure virtual]

Set the drive parameters for the specified drive type.

Parameters:
[in] | index | the type of drive being specified
[in] | drive | the drive parameters
See also:
getDrive() PxD6JointDrive
Default The default drive spring and damping values are zero, the force limit is zero, and no flags are set.

virtual void PxD6Joint::setDrivePosition ( const PxTransform & pose ) [pure virtual]

Set the drive goal pose.

The goal is relative to the constraint frame of actor[0]

Default the identity transform

Parameters:
[in] pose The goal drive pose if positional drive is in use.
See also:
setDrivePosition()

virtual void PxD6Joint::setDriveVelocity | ( | const PxVec3 & | linear,
 |  | const PxVec3 & | angular |
 | ) |  |  | [pure virtual]

Set the target goal velocity for drive.

The velocity is measured in the constraint frame of actor[0]

Parameters:
[in] | linear | The goal velocity for linear drive
[in] | angular | The goal velocity for angular drive
See also:
getDriveVelocity()

virtual void PxD6Joint::setLinearLimit ( const PxJointLinearLimit & limit ) [pure virtual]

Set the linear limit for the joint.

A single limit constraints all linear limited degrees of freedom, forming a linear, circular or spherical constraint on motion depending on the number of limited degrees.

Parameters:
[in] limit the linear limit structure
See also:
getLinearLimit()

virtual void PxD6Joint::setMotion | ( | PxD6Axis::Enum | axis,
 |  | PxD6Motion::Enum | type |
 | ) |  |  | [pure virtual]

Set the motion type around the specified axis.

Each axis may independently specify that the degree of freedom is locked (blocking relative movement along or around this axis), limited by the corresponding limit, or free.

Parameters:
[in] | axis | the axis around which motion is specified
[in] | type | the motion type around the specified axis
Default: all degrees of freedom are locked

See also:
getMotion() PxD6Axis PxD6Motion

virtual void PxD6Joint::setProjectionAngularTolerance ( PxReal tolerance ) [pure virtual]

Set the angular tolerance threshold for projection. Projection is enabled if PxConstraintFlag::ePROJECTION is set for the joint.

If the joint deviates by more than this angle around its locked angular degrees of freedom, the solver will move the bodies to close the angle.

Setting a very small tolerance may result in simulation jitter or other artifacts.

Sometimes it is not possible to project (for example when the joints form a cycle).

Range: [0,Pi]
Default: Pi

Parameters:
[in] tolerance the angular tolerance threshold in radians
Note:
Angular projection is implemented only for the case of two or three locked angular degrees of freedom.
See also:
getProjectionAngularTolerance() PxJoint::setConstraintFlag() PxConstraintFlag::ePROJECTION

virtual void PxD6Joint::setProjectionLinearTolerance ( PxReal tolerance ) [pure virtual]

Set the linear tolerance threshold for projection. Projection is enabled if PxConstraintFlag::ePROJECTION is set for the joint.

If the joint separates by more than this distance along its locked degrees of freedom, the solver will move the bodies to close the distance.

Setting a very small tolerance may result in simulation jitter or other artifacts.

Sometimes it is not possible to project (for example when the joints form a cycle).

Range: [0, PX_MAX_F32)
Default: 1e10f

Parameters:
[in] tolerance the linear tolerance threshold
See also:
getProjectionLinearTolerance() PxJoint::setConstraintFlags() PxConstraintFlag::ePROJECTION

virtual void PxD6Joint::setSwingLimit ( const PxJointLimitCone & limit ) [pure virtual]

Set the swing cone limit for the joint.

The cone limit is used if either or both swing axes are limited. The extents are symmetrical and measured in the frame of the parent. If only one swing degree of freedom is limited, the corresponding value from the cone limit defines the limit range.

Parameters:
[in] limit the cone limit structure
See also:
getLimitCone() PxJointLimitCone

virtual void PxD6Joint::setTwistLimit ( const PxJointAngularLimitPair & limit ) [pure virtual]

Set the twist limit for the joint.

The twist limit controls the range of motion around the twist axis.

The limit angle range is (-2*PI, 2*PI) and the extent of the limit must be strictly less than 2*PI

Parameters:
[in] limit the twist limit structure
See also:
getTwistLimit() PxJointAngularLimitPair

The documentation for this class was generated from the following file:
  • PxD6Joint.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDefaultAllocator Class Reference

PxDefaultAllocator Class Reference
[Extensions]

default implementation of the allocator interface required by the SDK More...

#include <PxDefaultAllocator.h>

Inheritance diagram for PxDefaultAllocator:

PxAllocatorCallback
[legend]
Collaboration diagram for PxDefaultAllocator:

PxAllocatorCallback
[legend]

List of all members.

Public Member Functions

void * | allocate (size_t size, const char *, const char *, int)
Allocates size bytes of memory, which must be 16-byte aligned.
void | deallocate (void *ptr)
Frees memory previously allocated by allocate().

Detailed Description

default implementation of the allocator interface required by the SDK

Member Function Documentation

void* PxDefaultAllocator::allocate | ( | size_t | size,
 |  | const char * | typeName,
 |  | const char * | filename,
 |  | int | line |
 | ) |  |  | [inline, virtual]

Allocates size bytes of memory, which must be 16-byte aligned.

This method should never return NULL. If you run out of memory, then you should terminate the app or take some other appropriate action.

Threading: This function should be thread safe as it can be called in the context of the user thread and physics processing thread(s).

Parameters:
size | Number of bytes to allocate.
typeName | Name of the datatype that is being allocated
filename | The source file which allocated the memory
line | The source line which allocated the memory
Returns:
The allocated block of memory.

Implements PxAllocatorCallback.

References platformAlignedAlloc(), and PX_ASSERT.

void PxDefaultAllocator::deallocate ( void * ptr ) [inline, virtual]

Frees memory previously allocated by allocate().

Threading: This function should be thread safe as it can be called in the context of the user thread and physics processing thread(s).

Parameters:
ptr Memory to free.

Implements PxAllocatorCallback.

References platformAlignedFree().

The documentation for this class was generated from the following file:
  • PxDefaultAllocator.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDefaultCpuDispatcher Class Reference

PxDefaultCpuDispatcher Class Reference
[Extensions]

A default implementation for a CPU task dispatcher. More...

#include <PxDefaultCpuDispatcher.h>

List of all members.

Public Member Functions

virtual void | release ()=0
Deletes the dispatcher.
virtual void | setRunProfiled (bool runProfiled)=0
Enables profiling at task level.
virtual bool | getRunProfiled () const =0
Checks if profiling is enabled at task level.

Detailed Description

A default implementation for a CPU task dispatcher.

See also:
PxDefaultCpuDispatcherCreate() PxCpuDispatcher

Member Function Documentation

virtual bool PxDefaultCpuDispatcher::getRunProfiled ( ) const [pure virtual]

Checks if profiling is enabled at task level.

Returns:
True if tasks should be profiled.

virtual void PxDefaultCpuDispatcher::release ( ) [pure virtual]

Deletes the dispatcher.

Do not keep a reference to the deleted instance.

See also:
PxDefaultCpuDispatcherCreate()

virtual void PxDefaultCpuDispatcher::setRunProfiled ( bool runProfiled ) [pure virtual]

Enables profiling at task level.

Note:
By default enabled only in profiling builds.
Parameters:
[in] runProfiled True if tasks should be profiled.

The documentation for this class was generated from the following file:
  • PxDefaultCpuDispatcher.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxGroupsMask Class Reference

PxGroupsMask Class Reference
[Extensions]

64-bit mask used for collision filtering. More...

#include <PxDefaultSimulationFilterShader.h>

List of all members.

Public Member Functions

PX_INLINE | PxGroupsMask ()
PX_INLINE | ~PxGroupsMask ()

Public Attributes

PxU16 | bits0
PxU16 | bits1
PxU16 | bits2
PxU16 | bits3

Detailed Description

64-bit mask used for collision filtering.

The collision filtering equation for 2 objects o0 and o1 is:

 (G0 op0 K0) op2 (G1 op1 K1) == b

with

  • G0 = PxGroupsMask for object o0. See PxSetGroupsMask
  • G1 = PxGroupsMask for object o1. See PxSetGroupsMask
  • K0 = filtering constant 0. See PxSetFilterConstants
  • K1 = filtering constant 1. See PxSetFilterConstants
  • b = filtering boolean. See PxSetFilterBool
  • op0, op1, op2 = filtering operations. See PxSetFilterOps

If the filtering equation is true, collision detection is enabled.

See also:
PxSetFilterOps()

Constructor & Destructor Documentation

PX_INLINE PxGroupsMask::PxGroupsMask ( ) [inline]

PX_INLINE PxGroupsMask::~PxGroupsMask ( ) [inline]

Member Data Documentation

PxU16 PxGroupsMask::bits0

PxU16 PxGroupsMask::bits1

PxU16 PxGroupsMask::bits2

PxU16 PxGroupsMask::bits3

The documentation for this class was generated from the following file:
  • PxDefaultSimulationFilterShader.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxFilterOp Struct Reference

PxFilterOp Struct Reference
[Extensions]

Collision filtering operations. More...

#include <PxDefaultSimulationFilterShader.h>

List of all members.

Public Types

enum Enum {
PX_FILTEROP_AND,
PX_FILTEROP_OR,
PX_FILTEROP_XOR,
PX_FILTEROP_NAND,
PX_FILTEROP_NOR,
PX_FILTEROP_NXOR,
PX_FILTEROP_SWAP_AND
}

Detailed Description

Collision filtering operations.

See also:
PxGroupsMask

Member Enumeration Documentation

enum PxFilterOp::Enum

Enumerator:
PX_FILTEROP_AND
PX_FILTEROP_OR
PX_FILTEROP_XOR
PX_FILTEROP_NAND
PX_FILTEROP_NOR
PX_FILTEROP_NXOR
PX_FILTEROP_SWAP_AND

The documentation for this struct was generated from the following file:
  • PxDefaultSimulationFilterShader.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDefaultMemoryOutputStream Class Reference

PxDefaultMemoryOutputStream Class Reference
[Extensions]

default implementation of a memory write stream More...

#include <PxDefaultStreams.h>

Inheritance diagram for PxDefaultMemoryOutputStream:

PxOutputStream
[legend]
Collaboration diagram for PxDefaultMemoryOutputStream:

PxOutputStreamPxAllocatorCallback
[legend]

List of all members.

Public Member Functions

PxDefaultMemoryOutputStream (PxAllocatorCallback &allocator=PxGetFoundation().getAllocatorCallback())
virtual | ~PxDefaultMemoryOutputStream ()
virtual PxU32 | write (const void *src, PxU32 count)
write to the stream. The number of bytes written may be less than the number sent.
virtual PxU32 | getSize () const
virtual PxU8 * | getData () const

Private Member Functions

PxDefaultMemoryOutputStream (const PxDefaultMemoryOutputStream &)
PxDefaultMemoryOutputStream & | operator= (const PxDefaultMemoryOutputStream &)

Private Attributes

PxAllocatorCallback & mAllocator
PxU8 * | mData
PxU32 mSize
PxU32 mCapacity

Detailed Description

default implementation of a memory write stream

See also:
PxOutputStream

Constructor & Destructor Documentation

PxDefaultMemoryOutputStream::PxDefaultMemoryOutputStream ( PxAllocatorCallback & allocator = PxGetFoundation().getAllocatorCallback() )

virtual PxDefaultMemoryOutputStream::~PxDefaultMemoryOutputStream ( ) [virtual]

PxDefaultMemoryOutputStream::PxDefaultMemoryOutputStream ( const PxDefaultMemoryOutputStream & ) [private]

Member Function Documentation

virtual PxU8* PxDefaultMemoryOutputStream::getData ( ) const [inline, virtual]

virtual PxU32 PxDefaultMemoryOutputStream::getSize ( ) const [inline, virtual]

PxDefaultMemoryOutputStream& PxDefaultMemoryOutputStream::operator= ( const PxDefaultMemoryOutputStream & ) [private]

virtual PxU32 PxDefaultMemoryOutputStream::write | ( | const void * | src,
 |  | PxU32 | count |
 | ) |  |  | [virtual]

write to the stream. The number of bytes written may be less than the number sent.

Parameters:
[in] | src | the destination address from which the data will be written
[in] | count | the number of bytes to be written
Returns:
the number of bytes written to the stream by this call.

Implements PxOutputStream.

Member Data Documentation

PxAllocatorCallback& PxDefaultMemoryOutputStream::mAllocator [private]

PxU32 PxDefaultMemoryOutputStream::mCapacity [private]

PxU8* PxDefaultMemoryOutputStream::mData [private]

PxU32 PxDefaultMemoryOutputStream::mSize [private]

The documentation for this class was generated from the following file:
  • PxDefaultStreams.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDefaultMemoryInputData Class Reference

PxDefaultMemoryInputData Class Reference
[Extensions]

default implementation of a memory read stream More...

#include <PxDefaultStreams.h>

Inheritance diagram for PxDefaultMemoryInputData:

PxInputDataPxInputStream
[legend]
Collaboration diagram for PxDefaultMemoryInputData:

PxInputDataPxInputStream
[legend]

List of all members.

Public Member Functions

PxDefaultMemoryInputData (PxU8 *data, PxU32 length)
virtual PxU32 | read (void *dest, PxU32 count)
read from the stream. The number of bytes read may be less than the number requested.
virtual PxU32 | getLength () const
return the length of the input data
virtual void | seek (PxU32 pos)
seek to the given offset from the start of the data.
virtual PxU32 | tell () const
return the current offset from the start of the data

Private Attributes

PxU32 mSize
const PxU8 * | mData
PxU32 mPos

Detailed Description

default implementation of a memory read stream

See also:
PxInputData

Constructor & Destructor Documentation

PxDefaultMemoryInputData::PxDefaultMemoryInputData | ( | PxU8 * | data,
 |  | PxU32 | length
 | ) |  |

Member Function Documentation

virtual PxU32 PxDefaultMemoryInputData::getLength ( ) const [virtual]

return the length of the input data

Returns:
size in bytes of the input data

Implements PxInputData.

virtual PxU32 PxDefaultMemoryInputData::read | ( | void * | dest,
 |  | PxU32 | count |
 | ) |  |  | [virtual]

read from the stream. The number of bytes read may be less than the number requested.

Parameters:
[in] | dest | the destination address to which the data will be read
[in] | count | the number of bytes requested
Returns:
the number of bytes read from the stream.

Implements PxInputStream.

virtual void PxDefaultMemoryInputData::seek ( PxU32 offset ) [virtual]

seek to the given offset from the start of the data.

Parameters:
[in] offset the offset to seek to. If greater than the length of the data, this call is equivalent to seek(length);

Implements PxInputData.

virtual PxU32 PxDefaultMemoryInputData::tell ( ) const [virtual]

return the current offset from the start of the data

Returns:
the offset to seek to.

Implements PxInputData.

Member Data Documentation

const PxU8* PxDefaultMemoryInputData::mData [private]

PxU32 PxDefaultMemoryInputData::mPos [private]

PxU32 PxDefaultMemoryInputData::mSize [private]

The documentation for this class was generated from the following file:
  • PxDefaultStreams.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDefaultFileOutputStream Class Reference

PxDefaultFileOutputStream Class Reference
[Extensions]

default implementation of a file write stream More...

#include <PxDefaultStreams.h>

Inheritance diagram for PxDefaultFileOutputStream:

PxOutputStream
[legend]
Collaboration diagram for PxDefaultFileOutputStream:

PxOutputStream
[legend]

List of all members.

Public Member Functions

PxDefaultFileOutputStream (const char *name)
virtual | ~PxDefaultFileOutputStream ()
virtual PxU32 | write (const void *src, PxU32 count)
write to the stream. The number of bytes written may be less than the number sent.
virtual bool | isValid ()

Private Attributes

PxFileHandle mFile

Detailed Description

default implementation of a file write stream

See also:
PxOutputStream

Constructor & Destructor Documentation

PxDefaultFileOutputStream::PxDefaultFileOutputStream ( const char * name )

virtual PxDefaultFileOutputStream::~PxDefaultFileOutputStream ( ) [virtual]

Member Function Documentation

virtual bool PxDefaultFileOutputStream::isValid ( ) [virtual]

virtual PxU32 PxDefaultFileOutputStream::write | ( | const void * | src,
 |  | PxU32 | count |
 | ) |  |  | [virtual]

write to the stream. The number of bytes written may be less than the number sent.

Parameters:
[in] | src | the destination address from which the data will be written
[in] | count | the number of bytes to be written
Returns:
the number of bytes written to the stream by this call.

Implements PxOutputStream.

Member Data Documentation

PxFileHandle PxDefaultFileOutputStream::mFile [private]

The documentation for this class was generated from the following file:
  • PxDefaultStreams.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDefaultFileInputData Class Reference

PxDefaultFileInputData Class Reference
[Extensions]

default implementation of a file read stream More...

#include <PxDefaultStreams.h>

Inheritance diagram for PxDefaultFileInputData:

PxInputDataPxInputStream
[legend]
Collaboration diagram for PxDefaultFileInputData:

PxInputDataPxInputStream
[legend]

List of all members.

Public Member Functions

PxDefaultFileInputData (const char *name)
virtual | ~PxDefaultFileInputData ()
virtual PxU32 | read (void *dest, PxU32 count)
read from the stream. The number of bytes read may be less than the number requested.
virtual void | seek (PxU32 pos)
seek to the given offset from the start of the data.
virtual PxU32 | tell () const
return the current offset from the start of the data
virtual PxU32 | getLength () const
return the length of the input data
bool | isValid () const

Private Attributes

PxFileHandle mFile
PxU32 mLength

Detailed Description

default implementation of a file read stream

See also:
PxInputData

Constructor & Destructor Documentation

PxDefaultFileInputData::PxDefaultFileInputData ( const char * name )

virtual PxDefaultFileInputData::~PxDefaultFileInputData ( ) [virtual]

Member Function Documentation

virtual PxU32 PxDefaultFileInputData::getLength ( ) const [virtual]

return the length of the input data

Returns:
size in bytes of the input data

Implements PxInputData.

bool PxDefaultFileInputData::isValid ( ) const

virtual PxU32 PxDefaultFileInputData::read | ( | void * | dest,
 |  | PxU32 | count |
 | ) |  |  | [virtual]

read from the stream. The number of bytes read may be less than the number requested.

Parameters:
[in] | dest | the destination address to which the data will be read
[in] | count | the number of bytes requested
Returns:
the number of bytes read from the stream.

Implements PxInputStream.

virtual void PxDefaultFileInputData::seek ( PxU32 offset ) [virtual]

seek to the given offset from the start of the data.

Parameters:
[in] offset the offset to seek to. If greater than the length of the data, this call is equivalent to seek(length);

Implements PxInputData.

virtual PxU32 PxDefaultFileInputData::tell ( ) const [virtual]

return the current offset from the start of the data

Returns:
the offset to seek to.

Implements PxInputData.

Member Data Documentation

PxFileHandle PxDefaultFileInputData::mFile [private]

PxU32 PxDefaultFileInputData::mLength [private]

The documentation for this class was generated from the following file:
  • PxDefaultStreams.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDistanceJointFlag Struct Reference

PxDistanceJointFlag Struct Reference
[Extensions]

flags for configuring the drive of a PxDistanceJoint More...

#include <PxDistanceJoint.h>

List of all members.

Public Types

enum Enum {
eMAX_DISTANCE_ENABLED = 1<<1,
eMIN_DISTANCE_ENABLED = 1<<2,
eSPRING_ENABLED = 1<<3
}

Detailed Description

flags for configuring the drive of a PxDistanceJoint

See also:
PxDistanceJoint

Member Enumeration Documentation

enum PxDistanceJointFlag::Enum

Enumerator:
eMAX_DISTANCE_ENABLED
eMIN_DISTANCE_ENABLED
eSPRING_ENABLED

The documentation for this struct was generated from the following file:
  • PxDistanceJoint.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDistanceJoint Class Reference

PxDistanceJoint Class Reference
[Extensions]

a joint that maintains an upper or lower bound (or both) on the distance between two points on different objects More...

#include <PxDistanceJoint.h>

Inheritance diagram for PxDistanceJoint:

PxJointPxBase
[legend]
Collaboration diagram for PxDistanceJoint:

PxJointPxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

virtual PxReal | getDistance () const =0
Return the current distance of the joint.
virtual void | setMinDistance (PxReal distance)=0
Set the allowed minimum distance for the joint.
virtual PxReal | getMinDistance () const =0
Get the allowed minimum distance for the joint.
virtual void | setMaxDistance (PxReal distance)=0
Set the allowed maximum distance for the joint.
virtual PxReal | getMaxDistance () const =0
Get the allowed maximum distance for the joint.
virtual void | setTolerance (PxReal tolerance)=0
Set the error tolerance of the joint.
virtual PxReal | getTolerance () const =0
Get the error tolerance of the joint.
virtual void | setStiffness (PxReal stiffness)=0
Set the strength of the joint spring.
virtual PxReal | getStiffness () const =0
Get the strength of the joint spring.
virtual void | setDamping (PxReal damping)=0
Set the damping of the joint spring.
virtual PxReal | getDamping () const =0
Get the damping of the joint spring.
virtual void | setDistanceJointFlags (PxDistanceJointFlags flags)=0
Set the flags specific to the Distance Joint.
virtual void | setDistanceJointFlag (PxDistanceJointFlag::Enum flag, bool value)=0
Set a single flag specific to a Distance Joint to true or false.
virtual PxDistanceJointFlags | getDistanceJointFlags (void) const =0
Get the flags specific to the Distance Joint.
virtual const char * | getConcreteTypeName () const
Returns string name of PxDistanceJoint, used for serialization.

Protected Member Functions

PX_INLINE | PxDistanceJoint (PxType concreteType, PxBaseFlags baseFlags)
Constructor.
PX_INLINE | PxDistanceJoint (PxBaseFlags baseFlags)
Deserialization constructor.
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Detailed Description

a joint that maintains an upper or lower bound (or both) on the distance between two points on different objects

See also:
PxDistanceJointCreate PxJoint

Constructor & Destructor Documentation

PX_INLINE PxDistanceJoint::PxDistanceJoint | ( | PxType | concreteType,
 |  | PxBaseFlags | baseFlags |
 | ) |  |  | [inline, protected]

Constructor.

PX_INLINE PxDistanceJoint::PxDistanceJoint ( PxBaseFlags baseFlags ) [inline, protected]

Deserialization constructor.

Member Function Documentation

virtual const char* PxDistanceJoint::getConcreteTypeName ( ) const [inline, virtual]

Returns string name of PxDistanceJoint, used for serialization.

Implements PxBase.

virtual PxReal PxDistanceJoint::getDamping ( ) const [pure virtual]

Get the damping of the joint spring.

Returns:
the degree of damping of the joint spring of the joint
See also:
PxDistanceJointFlag::eSPRING_ENABLED setDamping()

virtual PxReal PxDistanceJoint::getDistance ( ) const [pure virtual]

Return the current distance of the joint.

virtual PxDistanceJointFlags PxDistanceJoint::getDistanceJointFlags ( void ) const [pure virtual]

Get the flags specific to the Distance Joint.

Returns:
the joint flags
See also:
PxDistanceJoint::flags, PxDistanceJointFlag setFlag() setFlags()

virtual PxReal PxDistanceJoint::getMaxDistance ( ) const [pure virtual]

Get the allowed maximum distance for the joint.

Returns:
the allowed maximum distance
See also:
PxDistanceJoint::maxDistance, PxDistanceJointFlag::eMAX_DISTANCE_ENABLED setMaxDistance()

virtual PxReal PxDistanceJoint::getMinDistance ( ) const [pure virtual]

Get the allowed minimum distance for the joint.

Returns:
the allowed minimum distance
See also:
PxDistanceJoint::minDistance, PxDistanceJointFlag::eMIN_DISTANCE_ENABLED setMinDistance()

virtual PxReal PxDistanceJoint::getStiffness ( ) const [pure virtual]

Get the strength of the joint spring.

Returns:
stiffness the spring strength of the joint
See also:
PxDistanceJointFlag::eSPRING_ENABLED setStiffness()

virtual PxReal PxDistanceJoint::getTolerance ( ) const [pure virtual]

Get the error tolerance of the joint.

the distance beyond the joint's [min, max] range before the joint becomes active.

Default 0.25f * PxTolerancesScale::length Range (0, PX_MAX_F32)

This value should be used to ensure that if the minimum distance is zero and the spring function is in use, the rest length of the spring is non-zero.

See also:
PxDistanceJoint::tolerance, setTolerance()

virtual bool PxDistanceJoint::isKindOf ( const char * name ) const [inline, protected, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxJoint.

References PxJoint::isKindOf().

virtual void PxDistanceJoint::setDamping ( PxReal damping ) [pure virtual]

Set the damping of the joint spring.

The spring is used if enabled, and the distance exceeds the range [min-error, max+error].

Default 0.0f Range [0, PX_MAX_F32)

Parameters:
[in] damping the degree of damping of the joint spring of the joint
See also:
PxDistanceJointFlag::eSPRING_ENABLED setDamping()

virtual void PxDistanceJoint::setDistanceJointFlag | ( | PxDistanceJointFlag::Enum | flag,
 |  | bool | value |
 | ) |  |  | [pure virtual]

Set a single flag specific to a Distance Joint to true or false.

Parameters:
[in] | flag | The flag to set or clear.
[in] | value | the value to which to set the flag
See also:
PxDistanceJointFlag, getFlags() setFlags()

virtual void PxDistanceJoint::setDistanceJointFlags ( PxDistanceJointFlags flags ) [pure virtual]

Set the flags specific to the Distance Joint.

Default PxDistanceJointFlag::eMAX_DISTANCE_ENABLED

Parameters:
[in] flags The joint flags.
See also:
PxDistanceJointFlag setFlag() getFlags()

virtual void PxDistanceJoint::setMaxDistance ( PxReal distance ) [pure virtual]

Set the allowed maximum distance for the joint.

The maximum distance must be no less than the minimum distance.

Default 0.0f Range [0, PX_MAX_F32)

Parameters:
[in] distance the maximum distance
See also:
PxDistanceJoint::maxDistance, PxDistanceJointFlag::eMAX_DISTANCE_ENABLED getMinDistance()

virtual void PxDistanceJoint::setMinDistance ( PxReal distance ) [pure virtual]

Set the allowed minimum distance for the joint.

The minimum distance must be no more than the maximum distance

Default 0.0f Range [0, PX_MAX_F32)

Parameters:
[in] distance the minimum distance
See also:
PxDistanceJoint::minDistance, PxDistanceJointFlag::eMIN_DISTANCE_ENABLED getMinDistance()

virtual void PxDistanceJoint::setStiffness ( PxReal stiffness ) [pure virtual]

Set the strength of the joint spring.

The spring is used if enabled, and the distance exceeds the range [min-error, max+error].

Default 0.0f Range [0, PX_MAX_F32)

Parameters:
[in] stiffness the spring strength of the joint
See also:
PxDistanceJointFlag::eSPRING_ENABLED getStiffness()

virtual void PxDistanceJoint::setTolerance ( PxReal tolerance ) [pure virtual]

Set the error tolerance of the joint.

Parameters:
[in] tolerance the distance beyond the allowed range at which the joint becomes active
See also:
PxDistanceJoint::tolerance, getTolerance()

The documentation for this class was generated from the following file:
  • PxDistanceJoint.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxFixedJoint Class Reference

PxFixedJoint Class Reference
[Extensions]

A fixed joint permits no relative movement between two bodies. ie the bodies are glued together. More...

#include <PxFixedJoint.h>

Inheritance diagram for PxFixedJoint:

PxJointPxBase
[legend]
Collaboration diagram for PxFixedJoint:

PxJointPxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

virtual void | setProjectionLinearTolerance (PxReal tolerance)=0
Set the linear tolerance threshold for projection. Projection is enabled if PxConstraintFlag::ePROJECTION is set for the joint.
virtual PxReal | getProjectionLinearTolerance () const =0
Get the linear tolerance threshold for projection.
virtual void | setProjectionAngularTolerance (PxReal tolerance)=0
Set the angular tolerance threshold for projection. Projection is enabled if PxConstraintFlag::ePROJECTION is set for the joint.
virtual PxReal | getProjectionAngularTolerance () const =0
Get the angular tolerance threshold for projection.
virtual const char * | getConcreteTypeName () const
Returns string name of PxFixedJoint, used for serialization.

Protected Member Functions

PX_INLINE | PxFixedJoint (PxType concreteType, PxBaseFlags baseFlags)
Constructor.
PX_INLINE | PxFixedJoint (PxBaseFlags baseFlags)
Deserialization constructor.
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Detailed Description

A fixed joint permits no relative movement between two bodies. ie the bodies are glued together.

See also:
PxFixedJointCreate() PxJoint

Constructor & Destructor Documentation

PX_INLINE PxFixedJoint::PxFixedJoint | ( | PxType | concreteType,
 |  | PxBaseFlags | baseFlags |
 | ) |  |  | [inline, protected]

Constructor.

PX_INLINE PxFixedJoint::PxFixedJoint ( PxBaseFlags baseFlags ) [inline, protected]

Deserialization constructor.

Member Function Documentation

virtual const char* PxFixedJoint::getConcreteTypeName ( ) const [inline, virtual]

Returns string name of PxFixedJoint, used for serialization.

Implements PxBase.

virtual PxReal PxFixedJoint::getProjectionAngularTolerance ( ) const [pure virtual]

Get the angular tolerance threshold for projection.

Returns:
the angular tolerance threshold in radians
See also:
setProjectionAngularTolerance()

virtual PxReal PxFixedJoint::getProjectionLinearTolerance ( ) const [pure virtual]

Get the linear tolerance threshold for projection.

Returns:
the linear tolerance threshold
See also:
setProjectionLinearTolerance() PxJoint::setConstraintFlag()

virtual bool PxFixedJoint::isKindOf ( const char * name ) const [inline, protected, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxJoint.

References PxJoint::isKindOf().

virtual void PxFixedJoint::setProjectionAngularTolerance ( PxReal tolerance ) [pure virtual]

Set the angular tolerance threshold for projection. Projection is enabled if PxConstraintFlag::ePROJECTION is set for the joint.

If the joint deviates by more than this angle around its locked angular degrees of freedom, the solver will move the bodies to close the angle.

Setting a very small tolerance may result in simulation jitter or other artifacts.

Sometimes it is not possible to project (for example when the joints form a cycle).

Range: [0,Pi]
Default: Pi

Parameters:
[in] tolerance the angular tolerance threshold in radians
See also:
getProjectionAngularTolerance() PxJoint::setConstraintFlag() PxConstraintFlag::ePROJECTION

virtual void PxFixedJoint::setProjectionLinearTolerance ( PxReal tolerance ) [pure virtual]

Set the linear tolerance threshold for projection. Projection is enabled if PxConstraintFlag::ePROJECTION is set for the joint.

If the joint separates by more than this distance along its locked degrees of freedom, the solver will move the bodies to close the distance.

Setting a very small tolerance may result in simulation jitter or other artifacts.

Sometimes it is not possible to project (for example when the joints form a cycle).

Range: [0, PX_MAX_F32)
Default: 1e10f

Parameters:
[in] tolerance the linear tolerance threshold
See also:
getProjectionLinearTolerance() PxJoint::setConstraintFlags() PxConstraintFlag::ePROJECTION

The documentation for this class was generated from the following file:
  • PxFixedJoint.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxJointConcreteType Struct Reference

PxJointConcreteType Struct Reference
[Extensions]

an enumeration of PhysX' built-in joint types More...

#include <PxJoint.h>

List of all members.

Public Types

enum Enum {
eSPHERICAL = PxConcreteType::eFIRST_PHYSX_EXTENSION,
eREVOLUTE,
ePRISMATIC,
eFIXED,
eDISTANCE,
eD6,
eLast
}

Detailed Description

an enumeration of PhysX' built-in joint types

See also:
PxJoint

Member Enumeration Documentation

enum PxJointConcreteType::Enum

Enumerator:
eSPHERICAL
eREVOLUTE
ePRISMATIC
eFIXED
eDISTANCE
eD6
eLast

The documentation for this struct was generated from the following file:
  • PxJoint.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxJointActorIndex Struct Reference

PxJointActorIndex Struct Reference
[Extensions]

an enumeration for specifying one or other of the actors referenced by a joint More...

#include <PxJoint.h>

List of all members.

Public Types

enum Enum {
eACTOR0,
eACTOR1,
COUNT
}

Detailed Description

an enumeration for specifying one or other of the actors referenced by a joint

See also:
PxJoint

Member Enumeration Documentation

enum PxJointActorIndex::Enum

Enumerator:
eACTOR0
eACTOR1
COUNT

The documentation for this struct was generated from the following file:
  • PxJoint.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxJoint Class Reference

PxJoint Class Reference
[Extensions]

a base interface providing common functionality for PhysX joints More...

#include <PxJoint.h>

Inheritance diagram for PxJoint:

PxD6JointPxDistanceJointPxFixedJointPxPrismaticJointPxRevoluteJointPxSphericalJointPxBase
[legend]
Collaboration diagram for PxJoint:

PxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

virtual void | setActors (PxRigidActor *actor0, PxRigidActor *actor1)=0
Set the actors for this joint.
virtual void | getActors (PxRigidActor *&actor0, PxRigidActor *&actor1) const =0
Get the actors for this joint.
virtual void | setLocalPose (PxJointActorIndex::Enum actor, const PxTransform &localPose)=0
Set the joint local pose for an actor.
virtual PxTransform | getLocalPose (PxJointActorIndex::Enum actor) const =0
get the joint local pose for an actor.
virtual PxTransform | getRelativeTransform () const =0
get the relative pose for this joint
virtual PxVec3 | getRelativeLinearVelocity () const =0
get the relative linear velocity of the joint
virtual PxVec3 | getRelativeAngularVelocity () const =0
get the relative angular velocity of the joint
virtual void | setBreakForce (PxReal force, PxReal torque)=0
set the break force for this joint.
virtual void | getBreakForce (PxReal &force, PxReal &torque) const =0
get the break force for this joint.
virtual void | setConstraintFlags (PxConstraintFlags flags)=0
set the constraint flags for this joint.
virtual void | setConstraintFlag (PxConstraintFlag::Enum flag, bool value)=0
set a constraint flags for this joint to a specified value.
virtual PxConstraintFlags | getConstraintFlags () const =0
get the constraint flags for this joint.
virtual void | setInvMassScale0 (PxReal invMassScale)=0
set the inverse mass scale for actor0.
virtual PxReal | getInvMassScale0 () const =0
get the inverse mass scale for actor0.
virtual void | setInvInertiaScale0 (PxReal invInertiaScale)=0
set the inverse inertia scale for actor0.
virtual PxReal | getInvInertiaScale0 () const =0
get the inverse inertia scale for actor0.
virtual void | setInvMassScale1 (PxReal invMassScale)=0
set the inverse mass scale for actor1.
virtual PxReal | getInvMassScale1 () const =0
get the inverse mass scale for actor1.
virtual void | setInvInertiaScale1 (PxReal invInertiaScale)=0
set the inverse inertia scale for actor1.
virtual PxReal | getInvInertiaScale1 () const =0
get the inverse inertia scale for actor1.
virtual PxConstraint * | getConstraint () const =0
Retrieves the PxConstraint corresponding to this joint.
virtual void | setName (const char *name)=0
Sets a name string for the object that can be retrieved with getName().
virtual const char * | getName () const =0
Retrieves the name string set with setName().
virtual void | release ()=0
Deletes the joint.
virtual PxScene * | getScene () const =0
Retrieves the scene which this joint belongs to.

Static Public Member Functions

static void | getBinaryMetaData (PxOutputStream &stream)
Put class meta data in stream, used for serialization.

Public Attributes

void * | userData
user can assign this to whatever, usually to create a 1:1 relationship with a user object.

Protected Member Functions

virtual | ~PxJoint ()
PX_INLINE | PxJoint (PxType concreteType, PxBaseFlags baseFlags)
Constructor.
PX_INLINE | PxJoint (PxBaseFlags baseFlags)
Deserialization constructor.
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Detailed Description

a base interface providing common functionality for PhysX joints

Constructor & Destructor Documentation

virtual PxJoint::~PxJoint ( ) [inline, protected, virtual]

PX_INLINE PxJoint::PxJoint | ( | PxType | concreteType,
 |  | PxBaseFlags | baseFlags |
 | ) |  |  | [inline, protected]

Constructor.

PX_INLINE PxJoint::PxJoint ( PxBaseFlags baseFlags ) [inline, protected]

Deserialization constructor.

Member Function Documentation

virtual void PxJoint::getActors | ( | PxRigidActor *& | actor0,
 |  | PxRigidActor *& | actor1 |
 | ) |  |  | const [pure virtual]

Get the actors for this joint.

Parameters:
[out] | actor0 | the first actor.
[out] | actor1 | the second actor
See also:
setActors()

static void PxJoint::getBinaryMetaData ( PxOutputStream & stream ) [static]

Put class meta data in stream, used for serialization.

virtual void PxJoint::getBreakForce | ( | PxReal & | force,
 |  | PxReal & | torque |
 | ) |  |  | const [pure virtual]

get the break force for this joint.

Parameters:
[out] | force | the maximum force the joint can apply before breaking
[out] | torque | the maximum torque the joint can apply before breaking
See also:
setBreakForce()

virtual PxConstraint* PxJoint::getConstraint ( ) const [pure virtual]

Retrieves the PxConstraint corresponding to this joint.

This can be used to determine, among other things, the force applied at the joint.

Returns:
the constraint

virtual PxConstraintFlags PxJoint::getConstraintFlags ( ) const [pure virtual]

get the constraint flags for this joint.

Returns:
the constraint flags
See also:
PxConstraintFlag

virtual PxReal PxJoint::getInvInertiaScale0 ( ) const [pure virtual]

get the inverse inertia scale for actor0.

Returns:
inverse inertia scale for actor0
See also:
setInvInertiaScale0

virtual PxReal PxJoint::getInvInertiaScale1 ( ) const [pure virtual]

get the inverse inertia scale for actor1.

Returns:
inverse inertia scale for actor1
See also:
setInvInertiaScale1

virtual PxReal PxJoint::getInvMassScale0 ( ) const [pure virtual]

get the inverse mass scale for actor0.

Returns:
inverse mass scale for actor0
See also:
setInvMassScale0

virtual PxReal PxJoint::getInvMassScale1 ( ) const [pure virtual]

get the inverse mass scale for actor1.

Returns:
inverse mass scale for actor1
See also:
setInvMassScale1

virtual PxTransform PxJoint::getLocalPose ( PxJointActorIndex::Enum actor ) const [pure virtual]

get the joint local pose for an actor.

Parameters:
[in] actor 0 for the first actor, 1 for the second actor.
return the local pose for this joint

See also:
setLocalPose()

virtual const char* PxJoint::getName ( ) const [pure virtual]

Retrieves the name string set with setName().

Returns:
Name string associated with object.
See also:
setName()

virtual PxVec3 PxJoint::getRelativeAngularVelocity ( ) const [pure virtual]

get the relative angular velocity of the joint

This function returns the angular velocity of actor1 relative to actor0. The value is returned in the constraint frame of actor0

virtual PxVec3 PxJoint::getRelativeLinearVelocity ( ) const [pure virtual]

get the relative linear velocity of the joint

This function returns the linear velocity of the origin of the constraint frame of actor1, relative to the origin of the constraint frame of actor0. The value is returned in the constraint frame of actor0

virtual PxTransform PxJoint::getRelativeTransform ( ) const [pure virtual]

get the relative pose for this joint

This function returns the pose of the joint frame of actor1 relative to actor0

virtual PxScene* PxJoint::getScene ( ) const [pure virtual]

Retrieves the scene which this joint belongs to.

Returns:
Owner Scene. NULL if not part of a scene.
See also:
PxScene

virtual bool PxJoint::isKindOf ( const char * name ) const [inline, protected, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxBase.

Reimplemented in PxD6Joint, PxDistanceJoint, PxFixedJoint, PxPrismaticJoint, PxRevoluteJoint, and PxSphericalJoint.

References PxBase::isKindOf().

Referenced by PxSphericalJoint::isKindOf(), PxRevoluteJoint::isKindOf(), PxPrismaticJoint::isKindOf(), PxFixedJoint::isKindOf(), PxDistanceJoint::isKindOf(), and PxD6Joint::isKindOf().

virtual void PxJoint::release ( ) [pure virtual]

Deletes the joint.

Note:
This call does not wake up the connected rigid bodies.

Implements PxBase.

virtual void PxJoint::setActors | ( | PxRigidActor * | actor0,
 |  | PxRigidActor * | actor1 |
 | ) |  |  | [pure virtual]

Set the actors for this joint.

An actor may be NULL to indicate the world frame. At most one of the actors may be NULL.

Parameters:
[in] | actor0 | the first actor.
[in] | actor1 | the second actor
See also:
getActors()

virtual void PxJoint::setBreakForce | ( | PxReal | force,
 |  | PxReal | torque |
 | ) |  |  | [pure virtual]

set the break force for this joint.

if the constraint force or torque on the joint exceeds the specified values, the joint will break, at which point it will not constrain the two actors and the flag PxConstraintFlag::eBROKEN will be set. The force and torque are measured in the joint frame of the first actor

Parameters:
[in] | force | the maximum force the joint can apply before breaking
[in] | torque | the maximum torque the joint can apply before breaking

virtual void PxJoint::setConstraintFlag | ( | PxConstraintFlag::Enum | flag,
 |  | bool | value |
 | ) |  |  | [pure virtual]

set a constraint flags for this joint to a specified value.

Parameters:
[in] | flag | the constraint flag
[in] | value | the value to which to set the flag
See also:
PxConstraintFlag

virtual void PxJoint::setConstraintFlags ( PxConstraintFlags flags ) [pure virtual]

set the constraint flags for this joint.

Parameters:
[in] flags the constraint flags
See also:
PxConstraintFlag

virtual void PxJoint::setInvInertiaScale0 ( PxReal invInertiaScale ) [pure virtual]

set the inverse inertia scale for actor0.

Parameters:
[in] invInertiaScale the scale to apply to the inverse inertia of actor0 for resolving this constraint
See also:
getInvMassScale0

virtual void PxJoint::setInvInertiaScale1 ( PxReal invInertiaScale ) [pure virtual]

set the inverse inertia scale for actor1.

Parameters:
[in] invInertiaScale the scale to apply to the inverse inertia of actor1 for resolving this constraint
See also:
getInvInertiaScale1

virtual void PxJoint::setInvMassScale0 ( PxReal invMassScale ) [pure virtual]

set the inverse mass scale for actor0.

Parameters:
[in] invMassScale the scale to apply to the inverse mass of actor 0 for resolving this constraint
See also:
getInvMassScale0

virtual void PxJoint::setInvMassScale1 ( PxReal invMassScale ) [pure virtual]

set the inverse mass scale for actor1.

Parameters:
[in] invMassScale the scale to apply to the inverse mass of actor 1 for resolving this constraint
See also:
getInvMassScale1

virtual void PxJoint::setLocalPose | ( | PxJointActorIndex::Enum | actor,
 |  | const PxTransform & | localPose |
 | ) |  |  | [pure virtual]

Set the joint local pose for an actor.

This is the relative pose which locates the joint frame relative to the actor.

Parameters:
[in] | actor | 0 for the first actor, 1 for the second actor.
[in] | localPose | the local pose for the actor this joint
See also:
getLocalPose()

virtual void PxJoint::setName ( const char * name ) [pure virtual]

Sets a name string for the object that can be retrieved with getName().

This is for debugging and is not used by the SDK. The string is not copied by the SDK, only the pointer is stored.

Parameters:
[in] name String to set the objects name to.
See also:
getName()

Member Data Documentation

void* PxJoint::userData

user can assign this to whatever, usually to create a 1:1 relationship with a user object.

The documentation for this class was generated from the following file:
  • PxJoint.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSpring Class Reference

PxSpring Class Reference
[Extensions]

#include <PxJoint.h>

Inheritance diagram for PxSpring:

PxD6JointDrive
[legend]

List of all members.

Public Member Functions

PxSpring (PxReal stiffness_, PxReal damping_)

Public Attributes

PxReal | stiffness
the spring strength of the drive: that is, the force proportional to the position error
PxReal | damping
the damping strength of the drive: that is, the force proportional to the velocity error

Constructor & Destructor Documentation

PxSpring::PxSpring | ( | PxReal | stiffness_,
 |  | PxReal | damping_ |
 | ) |  |  | [inline]

Member Data Documentation

PxReal PxSpring::damping

the damping strength of the drive: that is, the force proportional to the velocity error

Referenced by PxJointAngularLimitPair::PxJointAngularLimitPair(), PxJointLimitCone::PxJointLimitCone(), PxJointLinearLimit::PxJointLinearLimit(), and PxJointLinearLimitPair::PxJointLinearLimitPair().

PxReal PxSpring::stiffness

the spring strength of the drive: that is, the force proportional to the position error

Referenced by PxJointAngularLimitPair::PxJointAngularLimitPair(), PxJointLimitCone::PxJointLimitCone(), PxJointLinearLimit::PxJointLinearLimit(), and PxJointLinearLimitPair::PxJointLinearLimitPair().

The documentation for this class was generated from the following file:
  • PxJoint.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxJointLimitParameters Class Reference

PxJointLimitParameters Class Reference
[Extensions]

Describes the parameters for a joint limit. More...

#include <PxJointLimit.h>

Inheritance diagram for PxJointLimitParameters:

PxJointAngularLimitPairPxJointLimitConePxJointLinearLimitPxJointLinearLimitPair
[legend]

List of all members.

Public Member Functions

PxJointLimitParameters ()
PX_INLINE bool | isValid () const
Returns true if the current settings are valid.
PX_INLINE bool | isSoft () const

Public Attributes

PxReal | restitution
Controls the amount of bounce when the joint hits a limit.
PxReal | bounceThreshold
PxReal | stiffness
if greater than zero, the limit is soft, i.e. a spring pulls the joint back to the limit
PxReal | damping
if spring is greater than zero, this is the damping of the limit spring
PxReal | contactDistance
the distance inside the limit value at which the limit will be considered to be active by the solver. As this value is made larger, the limit becomes active more quickly. It thus becomes less likely to violate the extents of the limit, but more expensive.

Protected Member Functions

~PxJointLimitParameters ()

Detailed Description

Describes the parameters for a joint limit.

Limits are enabled or disabled by setting flags or other configuration parameters joints, see the documentation for specific joint types for details.

Constructor & Destructor Documentation

PxJointLimitParameters::PxJointLimitParameters ( ) [inline]

PxJointLimitParameters::~PxJointLimitParameters ( ) [inline, protected]

Member Function Documentation

PX_INLINE bool PxJointLimitParameters::isSoft ( ) const [inline]

PX_INLINE bool PxJointLimitParameters::isValid ( ) const [inline]

Returns true if the current settings are valid.

Returns:
true if the current settings are valid

Reimplemented in PxJointLinearLimit, PxJointLinearLimitPair, PxJointAngularLimitPair, and PxJointLimitCone.

References PxIsFinite().

Referenced by PxJointLimitCone::isValid(), PxJointAngularLimitPair::isValid(), PxJointLinearLimitPair::isValid(), and PxJointLinearLimit::isValid().

Member Data Documentation

PxReal PxJointLimitParameters::bounceThreshold

determines the minimum impact velocity which will cause the joint to bounce

PxReal PxJointLimitParameters::contactDistance

the distance inside the limit value at which the limit will be considered to be active by the solver. As this value is made larger, the limit becomes active more quickly. It thus becomes less likely to violate the extents of the limit, but more expensive.

The contact distance should be less than the limit angle or distance, and in the case of a pair limit, less than half the distance between the upper and lower bounds. Exceeding this value will result in the limit being active all the time.

Making this value too small can result in jitter around the limit.

Default: depends on the joint

See also:
PxPhysics::getTolerancesScale()

Referenced by PxJointAngularLimitPair::PxJointAngularLimitPair(), PxJointLimitCone::PxJointLimitCone(), PxJointLinearLimit::PxJointLinearLimit(), and PxJointLinearLimitPair::PxJointLinearLimitPair().

PxReal PxJointLimitParameters::damping

if spring is greater than zero, this is the damping of the limit spring

Range: [0, PX_MAX_F32)
Default: 0.0

PxReal PxJointLimitParameters::restitution

Controls the amount of bounce when the joint hits a limit.

A restitution value of 1.0 causes the joint to bounce back with the velocity which it hit the limit. A value of zero causes the joint to stop dead.

In situations where the joint has many locked DOFs (e.g. 5) the restitution may not be applied correctly. This is due to a limitation in the solver which causes the restitution velocity to become zero as the solver enforces constraints on the other DOFs.

This limitation applies to both angular and linear limits, however it is generally most apparent with limited angular DOFs. Disabling joint projection and increasing the solver iteration count may improve this behavior to some extent.

Also, combining soft joint limits with joint drives driving against those limits may affect stability.

Range: [0,1]
Default: 0.0

PxReal PxJointLimitParameters::stiffness

if greater than zero, the limit is soft, i.e. a spring pulls the joint back to the limit

Range: [0, PX_MAX_F32)
Default: 0.0

The documentation for this class was generated from the following file:
  • PxJointLimit.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxJointLinearLimit Class Reference

PxJointLinearLimit Class Reference
[Extensions]

Describes a one-sided linear limit. More...

#include <PxJointLimit.h>

Inheritance diagram for PxJointLinearLimit:

PxJointLimitParameters
[legend]
Collaboration diagram for PxJointLinearLimit:

PxJointLimitParameters
[legend]

List of all members.

Public Member Functions

PxJointLinearLimit (const PxTolerancesScale &scale, PxReal extent, PxReal contactDist=-1)
construct a linear hard limit
PxJointLinearLimit (PxReal extent, const PxSpring &spring)
construct a linear soft limit
PX_INLINE bool | isValid () const
Returns true if the limit is valid.

Public Attributes

PxReal | value
the extent of the limit.

Detailed Description

Describes a one-sided linear limit.

Constructor & Destructor Documentation

PxJointLinearLimit::PxJointLinearLimit | ( | const PxTolerancesScale & | scale,
 |  | PxReal | extent,
 |  | PxReal | contactDist = -1 |
 | ) |  |  | [inline]

construct a linear hard limit

Parameters:
[in] | scale | a PxTolerancesScale struct. Should be the same as used when creating the PxPhysics object.
[in] | extent | the extent of the limit
[in] | contactDist | the distance from the limit at which it becomes active. Default is 0.01f scaled by the tolerance length scale
See also:
PxJointLimitParameters PxTolerancesScale

References PxJointLimitParameters::contactDistance, and PxTolerancesScale::length.

PxJointLinearLimit::PxJointLinearLimit | ( | PxReal | extent,
 |  | const PxSpring & | spring |
 | ) |  |  | [inline]

construct a linear soft limit

Parameters:
[in] | extent | the extent of the limit
[in] | spring | the stiffness and damping parameters for the limit spring
See also:
PxJointLimitParameters PxTolerancesScale

References PxSpring::damping, and PxSpring::stiffness.

Member Function Documentation

PX_INLINE bool PxJointLinearLimit::isValid ( ) const [inline]

Returns true if the limit is valid.

Returns:
true if the current settings are valid

Reimplemented from PxJointLimitParameters.

References PxJointLimitParameters::isValid(), and PxIsFinite().

Member Data Documentation

PxReal PxJointLinearLimit::value

the extent of the limit.

Range: (0, PX_MAX_F32)
Default: PX_MAX_F32

The documentation for this class was generated from the following file:
  • PxJointLimit.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxJointLinearLimitPair Class Reference

PxJointLinearLimitPair Class Reference
[Extensions]

Describes a two-sided limit. More...

#include <PxJointLimit.h>

Inheritance diagram for PxJointLinearLimitPair:

PxJointLimitParameters
[legend]
Collaboration diagram for PxJointLinearLimitPair:

PxJointLimitParameters
[legend]

List of all members.

Public Member Functions

PxJointLinearLimitPair (const PxTolerancesScale &scale, PxReal lowerLimit, PxReal upperLimit, PxReal contactDist=-1)
Construct a linear hard limit pair. The lower distance value must be less than the upper distance value.
PxJointLinearLimitPair (PxReal lowerLimit, PxReal upperLimit, const PxSpring &spring)
construct a linear soft limit pair
PX_INLINE bool | isValid () const
Returns true if the limit is valid.

Public Attributes

PxReal | upper
the range of the limit. The upper limit must be no lower than the lower limit, and if they are equal the limited degree of freedom will be treated as locked.
PxReal | lower

Detailed Description

Describes a two-sided limit.

Constructor & Destructor Documentation

PxJointLinearLimitPair::PxJointLinearLimitPair | ( | const PxTolerancesScale & | scale,
 |  | PxReal | lowerLimit,
 |  | PxReal | upperLimit,
 |  | PxReal | contactDist = -1 |
 | ) |  |  | [inline]

Construct a linear hard limit pair. The lower distance value must be less than the upper distance value.

Parameters:
[in] | scale | a PxTolerancesScale struct. Should be the same as used when creating the PxPhysics object.
[in] | lowerLimit | the lower distance of the limit
[in] | upperLimit | the upper distance of the limit
[in] | contactDist | the distance from the limit at which it becomes active. Default is the lesser of 0.01f scaled by the tolerance length scale, and 0.49 * (upperLimit - lowerLimit)
See also:
PxJointLimitParameters PxTolerancesScale

References PxJointLimitParameters::contactDistance, PxTolerancesScale::length, and PxMin().

PxJointLinearLimitPair::PxJointLinearLimitPair | ( | PxReal | lowerLimit,
 |  | PxReal | upperLimit,
 |  | const PxSpring & | spring |
 | ) |  |  | [inline]

construct a linear soft limit pair

Parameters:
[in] | lowerLimit | the lower distance of the limit
[in] | upperLimit | the upper distance of the limit
[in] | spring | the stiffness and damping parameters of the limit spring
See also:
PxJointLimitParameters PxTolerancesScale

References PxSpring::damping, and PxSpring::stiffness.

Member Function Documentation

PX_INLINE bool PxJointLinearLimitPair::isValid ( ) const [inline]

Returns true if the limit is valid.

Returns:
true if the current settings are valid

Reimplemented from PxJointLimitParameters.

References PxJointLimitParameters::isValid(), and PxIsFinite().

Member Data Documentation

PxReal PxJointLinearLimitPair::lower

PxReal PxJointLinearLimitPair::upper

the range of the limit. The upper limit must be no lower than the lower limit, and if they are equal the limited degree of freedom will be treated as locked.

Unit: Angular: Radians Range: See the joint on which the limit is used for details
Default: 0.0

The documentation for this class was generated from the following file:
  • PxJointLimit.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxJointAngularLimitPair Class Reference

PxJointAngularLimitPair Class Reference
[Extensions]

#include <PxJointLimit.h>

Inheritance diagram for PxJointAngularLimitPair:

PxJointLimitParameters
[legend]
Collaboration diagram for PxJointAngularLimitPair:

PxJointLimitParameters
[legend]

List of all members.

Public Member Functions

PxJointAngularLimitPair (PxReal lowerLimit, PxReal upperLimit, PxReal contactDist=-1)
construct an angular hard limit pair.
PxJointAngularLimitPair (PxReal lowerLimit, PxReal upperLimit, const PxSpring &spring)
construct an angular soft limit pair.
PX_INLINE bool | isValid () const
Returns true if the limit is valid.

Public Attributes

PxReal | upper
the range of the limit. The upper limit must be no lower than the lower limit.
PxReal | lower

Constructor & Destructor Documentation

PxJointAngularLimitPair::PxJointAngularLimitPair | ( | PxReal | lowerLimit,
 |  | PxReal | upperLimit,
 |  | PxReal | contactDist = -1 |
 | ) |  |  | [inline]

construct an angular hard limit pair.

The lower value must be less than the upper value.

Parameters:
[in] | lowerLimit | the lower angle of the limit
[in] | upperLimit | the upper angle of the limit
[in] | contactDist | the distance from the limit at which it becomes active. Default is the lesser of 0.1 radians, and 0.49 * (upperLimit - lowerLimit)
See also:
PxJointLimitParameters

References PxJointLimitParameters::contactDistance, and PxMin().

PxJointAngularLimitPair::PxJointAngularLimitPair | ( | PxReal | lowerLimit,
 |  | PxReal | upperLimit,
 |  | const PxSpring & | spring |
 | ) |  |  | [inline]

construct an angular soft limit pair.

The lower value must be less than the upper value.

Parameters:
[in] | lowerLimit | the lower angle of the limit
[in] | upperLimit | the upper angle of the limit
[in] | spring | the stiffness and damping of the limit spring
See also:
PxJointLimitParameters

References PxSpring::damping, and PxSpring::stiffness.

Member Function Documentation

PX_INLINE bool PxJointAngularLimitPair::isValid ( ) const [inline]

Returns true if the limit is valid.

Returns:
true if the current settings are valid

Reimplemented from PxJointLimitParameters.

References PxJointLimitParameters::isValid(), and PxIsFinite().

Member Data Documentation

PxReal PxJointAngularLimitPair::lower

PxReal PxJointAngularLimitPair::upper

the range of the limit. The upper limit must be no lower than the lower limit.

Unit: Angular: Radians Range: See the joint on which the limit is used for details
Default: 0.0

The documentation for this class was generated from the following file:
  • PxJointLimit.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxJointLimitCone Class Reference

PxJointLimitCone Class Reference
[Extensions]

Describes an elliptical conical joint limit. Note that very small or highly elliptical limit cones may result in jitter. More...

#include <PxJointLimit.h>

Inheritance diagram for PxJointLimitCone:

PxJointLimitParameters
[legend]
Collaboration diagram for PxJointLimitCone:

PxJointLimitParameters
[legend]

List of all members.

Public Member Functions

PxJointLimitCone (PxReal yLimitAngle, PxReal zLimitAngle, PxReal contactDist=-1)
Construct a cone hard limit.
PxJointLimitCone (PxReal yLimitAngle, PxReal zLimitAngle, const PxSpring &spring)
Construct a cone soft limit.
PX_INLINE bool | isValid () const
Returns true if the limit is valid.

Public Attributes

PxReal | yAngle
the maximum angle from the Y axis of the constraint frame.
PxReal | zAngle
the maximum angle from the Z-axis of the constraint frame.

Detailed Description

Describes an elliptical conical joint limit. Note that very small or highly elliptical limit cones may result in jitter.

See also:
PxD6Joint PxSphericalJoint

Constructor & Destructor Documentation

PxJointLimitCone::PxJointLimitCone | ( | PxReal | yLimitAngle,
 |  | PxReal | zLimitAngle,
 |  | PxReal | contactDist = -1 |
 | ) |  |  | [inline]

Construct a cone hard limit.

Parameters:
[in] | yLimitAngle | the limit angle from the Y-axis of the constraint frame
[in] | zLimitAngle | the limit angle from the Z-axis of the constraint frame
[in] | contactDist | the distance from the limit at which it becomes active. Default is the lesser of 0.1 radians, and 0.49 * the lower of the limit angles
See also:
PxJointLimitParameters

References PxJointLimitParameters::contactDistance, and PxMin().

PxJointLimitCone::PxJointLimitCone | ( | PxReal | yLimitAngle,
 |  | PxReal | zLimitAngle,
 |  | const PxSpring & | spring |
 | ) |  |  | [inline]

Construct a cone soft limit.

Parameters:
[in] | yLimitAngle | the limit angle from the Y-axis of the constraint frame
[in] | zLimitAngle | the limit angle from the Z-axis of the constraint frame
[in] | spring | the stiffness and damping of the limit spring
See also:
PxJointLimitParameters

References PxSpring::damping, and PxSpring::stiffness.

Member Function Documentation

PX_INLINE bool PxJointLimitCone::isValid ( ) const [inline]

Returns true if the limit is valid.

Returns:
true if the current settings are valid

Reimplemented from PxJointLimitParameters.

References PxJointLimitParameters::isValid(), PxIsFinite(), and PxPi.

Member Data Documentation

PxReal PxJointLimitCone::yAngle

the maximum angle from the Y axis of the constraint frame.

Unit: Angular: Radians Range: Angular: (0,PI)
Default: PI/2

PxReal PxJointLimitCone::zAngle

the maximum angle from the Z-axis of the constraint frame.

Unit: Angular: Radians Range: Angular: (0,PI)
Default: PI/2

The documentation for this class was generated from the following file:
  • PxJointLimit.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMassProperties Class Reference

PxMassProperties Class Reference
[Extensions]

Utility class to compute and manipulate mass and inertia tensor properties. More...

#include <PxMassProperties.h>

Collaboration diagram for PxMassProperties:

PxVec3PxMat33
[legend]

List of all members.

Public Member Functions

PX_FORCE_INLINE | PxMassProperties ()
Default constructor.
PX_FORCE_INLINE | PxMassProperties (const PxReal m, const PxMat33 &inertiaT, const PxVec3 &com)
Construct from individual elements.
PxMassProperties (const PxGeometry &geometry)
Compute mass properties based on a provided geometry structure.
PX_FORCE_INLINE PxMassProperties | operator* (const PxReal scale) const
Scale mass properties.
PX_FORCE_INLINE void | translate (const PxVec3 &t)
Translate the center of mass by a given vector and adjust the inertia tensor accordingly.

Static Public Member Functions

static PX_FORCE_INLINE PxVec3 | getMassSpaceInertia (const PxMat33 &inertia, PxQuat &massFrame)
Get the entries of the diagonalized inertia tensor and the corresponding reference rotation.
static PX_FORCE_INLINE PxMat33 | translateInertia (const PxMat33 &inertia, const PxReal mass, const PxVec3 &t)
Translate an inertia tensor using the parallel axis theorem.
static PX_FORCE_INLINE PxMat33 | rotateInertia (const PxMat33 &inertia, const PxQuat &q)
Rotate an inertia tensor around the center of mass.
static PxMat33 | scaleInertia (const PxMat33 &inertia, const PxQuat &scaleRotation, const PxVec3 &scale)
Non-uniform scaling of the inertia tensor.
static PxMassProperties | sum (const PxMassProperties *props, const PxTransform *transforms, const PxU32 count)
Sum up individual mass properties.

Public Attributes

PxMat33 inertiaTensor
The inertia tensor of the object.
PxVec3 centerOfMass
The center of mass of the object.
PxReal | mass
The mass of the object.

Detailed Description

Utility class to compute and manipulate mass and inertia tensor properties.

In most cases PxRigidBodyExt::updateMassAndInertia(), PxRigidBodyExt::setMassAndUpdateInertia() should be enough to setup the mass properties of a rigid body. This utility class targets users that need to customize the mass properties computation.

Constructor & Destructor Documentation

PX_FORCE_INLINE PxMassProperties::PxMassProperties ( ) [inline]

Default constructor.

PX_FORCE_INLINE PxMassProperties::PxMassProperties | ( | const PxReal | m,
 |  | const PxMat33 & | inertiaT,
 |  | const PxVec3 & | com |
 | ) |  |  | [inline]

Construct from individual elements.

PxMassProperties::PxMassProperties ( const PxGeometry & geometry ) [inline]

Compute mass properties based on a provided geometry structure.

This constructor assumes the geometry has a density of 1. Mass and inertia tensor scale linearly with density.

Parameters:
[in] geometry The geometry to compute the mass properties for. Supported geometry types are: sphere, box, capsule and convex mesh.

References PxConvexMeshGeometry::convexMesh, PxMat33::createDiagonal(), PxGeometryType::eBOX, PxGeometryType::eCAPSULE, PxGeometryType::eCONVEXMESH, PxGeometryType::eGEOMETRY_COUNT, PxGeometryType::eHEIGHTFIELD, PxGeometryType::eINVALID, PxGeometryType::ePLANE, PxGeometryType::eSPHERE, PxGeometryType::eTRIANGLEMESH, PxConvexMesh::getMassInformation(), PxGeometry::getType(), PxBoxGeometry::halfExtents, PxCapsuleGeometry::halfHeight, PxVec3::multiply(), PX_ASSERT, PxIsFinite(), PxPi, PxCapsuleGeometry::radius, PxSphereGeometry::radius, PxQuat::rotate(), PxQuat::rotateInv(), PxMeshScale::rotation, PxMeshScale::scale, PxConvexMeshGeometry::scale, PxVec3::x, PxVec3::y, and PxVec3::z.

Member Function Documentation

static PX_FORCE_INLINE PxVec3 PxMassProperties::getMassSpaceInertia | ( | const PxMat33 & | inertia,
 |  | PxQuat & | massFrame |
 | ) |  |  | [inline, static]

Get the entries of the diagonalized inertia tensor and the corresponding reference rotation.

Parameters:
[in] | inertia | The inertia tensor to diagonalize.
[out] | massFrame | The frame the diagonalized tensor refers to.
Returns:
The entries of the diagonalized inertia tensor.

References PxMat33::column0, PxMat33::column1, PxMat33::column2, PxQuat::isFinite(), PxVec3::isFinite(), PX_ASSERT, and PxDiagonalize().

PX_FORCE_INLINE PxMassProperties PxMassProperties::operator* ( const PxReal scale ) const [inline]

Scale mass properties.

Parameters:
[in] scale The linear scaling factor to apply to the mass properties.
Returns:
The scaled mass properties.

References PX_ASSERT, and PxIsFinite().

static PX_FORCE_INLINE PxMat33 PxMassProperties::rotateInertia | ( | const PxMat33 & | inertia,
 |  | const PxQuat & | q |
 | ) |  |  | [inline, static]

Rotate an inertia tensor around the center of mass.

Parameters:
[in] | inertia | The inertia tensor to rotate.
[in] | q | The rotation to apply to the inertia tensor.
Returns:
The rotated inertia tensor.

References PxMat33::column0, PxMat33::column1, PxMat33::column2, PxMat33::getTranspose(), PxVec3::isFinite(), PxQuat::isUnit(), and PX_ASSERT.

static PxMat33 PxMassProperties::scaleInertia | ( | const PxMat33 & | inertia,
 |  | const PxQuat & | scaleRotation,
 |  | const PxVec3 & | scale |
 | ) |  |  | [inline, static]

Non-uniform scaling of the inertia tensor.

Parameters:
[in] | inertia | The inertia tensor to scale.
[in] | scaleRotation | The frame of the provided scaling factors.
[in] | scale | The scaling factor for each axis (relative to the frame specified in scaleRotation).
Returns:
The scaled inertia tensor.

References PxMat33::column0, PxMat33::column1, PxMat33::column2, PxVec3::dot(), PxQuat::getConjugate(), PxVec3::isFinite(), PxQuat::isUnit(), PxVec3::multiply(), PX_ASSERT, PxVec3::x, PxVec3::y, and PxVec3::z.

static PxMassProperties PxMassProperties::sum | ( | const PxMassProperties * | props,
 |  | const PxTransform * | transforms,
 |  | const PxU32 | count |
 | ) |  |  | [inline, static]

Sum up individual mass properties.

Parameters:
[in] | props | Array of mass properties to sum up.
[in] | transforms | Reference transforms for each mass properties entry.
[in] | count | The number of mass properties to sum up.
Returns:
The summed up mass properties.

References PxMat33::column0, PxMat33::column1, PxMat33::column2, inertiaTensor, PxVec3::isFinite(), mass, PX_ASSERT, PxIsFinite(), PxZero, and PxTransform::transform().

PX_FORCE_INLINE void PxMassProperties::translate ( const PxVec3 & t ) [inline]

Translate the center of mass by a given vector and adjust the inertia tensor accordingly.

Parameters:
[in] t The translation vector for the center of mass.

References PxVec3::isFinite(), and PX_ASSERT.

static PX_FORCE_INLINE PxMat33 PxMassProperties::translateInertia | ( | const PxMat33 & | inertia,
 |  | const PxReal | mass,
 |  | const PxVec3 & | t |
 | ) |  |  | [inline, static]

Translate an inertia tensor using the parallel axis theorem.

Parameters:
[in] | inertia | The inertia tensor to translate.
[in] | mass | The mass of the object.
[in] | t | The relative frame to translate the inertia tensor to.
Returns:
The translated inertia tensor.

References PxMat33::column0, PxMat33::column1, PxMat33::column2, PxVec3::isFinite(), PX_ASSERT, PxIsFinite(), PxVec3::x, PxVec3::y, and PxVec3::z.

Member Data Documentation

PxVec3 PxMassProperties::centerOfMass

The center of mass of the object.

PxMat33 PxMassProperties::inertiaTensor

The inertia tensor of the object.

Referenced by sum().

PxReal PxMassProperties::mass

The mass of the object.

Referenced by sum().

The documentation for this class was generated from the following file:
  • PxMassProperties.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxParticleExt Class Reference

PxParticleExt Class Reference
[Extensions]

extensions for the partice feature (deprecated) More...

#include <PxParticleExt.h>

List of all members.

Classes

class | IndexPool
Class to manage particle indices. Extension particle index management can be useful if no application side particle index allocation functionality is available. An PxParticleExt::IndexPool instance is meant to be used for one PxParticleSystem/PxParticleFluid instance. The instance can be created with PxParticleExt::createIndexPool(). More...
struct | ParticleBounds

Static Public Member Functions

static PxU32 | buildBoundsHash (PxU32 *sortedParticleIndices, ParticleBounds *particleBounds, const PxStrideIterator< const PxVec3 > &positionBuffer, const PxU32 validParticleRange, const PxU32 *validParticleBitmap, const PxU32 hashSize, const PxU32 maxBounds, const PxReal gridSpacing)
Computes particle bounds by sorting particle positions into a spatial hash grid.
static IndexPool * | createIndexPool (PxU32 maxParticles)
Creates a PxParticlesExt::IndexPool instance.
static IndexPool * | createIndexPool (PxU32 maxParticles, PxU32 validParticleRange, const PxU32 *validParticleBitmap)
Creates a PxParticlesExt::IndexPool instance initialized with a preallocated set of indices specified with a bitmap.

Detailed Description

extensions for the partice feature (deprecated)

Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4

Member Function Documentation

static PxU32 PxParticleExt::buildBoundsHash | ( | PxU32 * | sortedParticleIndices,
 |  | ParticleBounds * | particleBounds,
 |  | const PxStrideIterator< const PxVec3 > & | positionBuffer,
 |  | const PxU32 | validParticleRange,
 |  | const PxU32 * | validParticleBitmap,
 |  | const PxU32 | hashSize,
 |  | const PxU32 | maxBounds,
 |  | const PxReal | gridSpacing |
 | ) |  |  | [static]

Computes particle bounds by sorting particle positions into a spatial hash grid.

Given a strided array of particle positions, this function partitions the particles into subsets of nearby particles by mapping the particle positions onto a 3-dimensional grid and creating ParticleBounds data structures for each occupied grid cell.

Each returned ParticleBounds data structure can be used to determine the indices of the particles belonging to the same grid cell. Particle indices of one grid cell are returned as contiguous blocks in the sortedParticleIndices buffer and can be found within the range [firstParticle, firstParticle + numParticles - 1]. Each returned ParticleBounds further contains an AABB "bounds" that tightly fits all particle positions within the grid cell.

The number of created ParticleBounds can be retrieved via the return value. The user can cap the maximum amount of generated ParticleBounds via the maxBounds parameter. Particles that would cause this maximum to be exceeded will be skipped over and will not be part of any returned ParticleBounds. (Note that this also hold when maxBounds is equal to hashSize. Thus, in the worst case, if no particle should ever be skipped over by the algorithm "hashSize" must be at least equal to numParticles)

The user is responsible for allocating the output buffers sortedParticleIndices (for at least numParticles entries) and particleBounds (for at least maxBounds entries).

The size of a cubical grid cell can be tuned by setting the gridSpacing parameter.

The user supplied hashSize must be a power of two.

Parameters:
[out] | sortedParticleIndices | Pointer to user allocated array of size numParticles where the sorted particle indices will be written to.
[out] | particleBounds | Pointer to user allocated array of size maxBounds where the ParticleBounds will be written to.
[in] | positionBuffer | Strided data of input particle positions.
[in] | validParticleRange | Range of valid particles within validParticleBitmap. (See PxParticleReadData.validParticleRange).
[in] | validParticleBitmap | Bitmap specifying valid slots in positionBuffer. (See PxParticleReadData.validParticleBitmap).
[in] | hashSize | Hash size used internally by the hashing algorithm. Must be a power of two.
[in] | maxBounds | Maximum number of bounds to be returned. Must be smaller or equal than hashSize.
[in] | gridSpacing | Side length of each cubical grid cell.
Returns:
PxU32. Number of ParticleBounds data structures written to the particleBounds buffer. Smaller or equal than maxBounds.

static IndexPool* PxParticleExt::createIndexPool | ( | PxU32 | maxParticles,
 |  | PxU32 | validParticleRange,
 |  | const PxU32 * | validParticleBitmap |
 | ) |  |  | [static]

Creates a PxParticlesExt::IndexPool instance initialized with a preallocated set of indices specified with a bitmap.

Parameters:
[in] | maxParticles | Maximum number of available indices.
[in] | validParticleRange | Range of indices represented in validParticleBitmap. (See PxParticleReadData.validParticleRange).
[in] | validParticleBitmap | Bitmap specifying the valid particle indices that should be preallocated. (See PxParticleReadData.validParticleBitmap).

static IndexPool* PxParticleExt::createIndexPool ( PxU32 maxParticles ) [static]

Creates a PxParticlesExt::IndexPool instance.

Parameters:
[in] maxParticles Maximum number of available indices.

The documentation for this class was generated from the following file:
  • PxParticleExt.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPrismaticJointFlag Struct Reference

PxPrismaticJointFlag Struct Reference
[Extensions]

Flags specific to the prismatic joint. More...

#include <PxPrismaticJoint.h>

List of all members.

Public Types

enum Enum { eLIMIT_ENABLED = 1<<1 }

Detailed Description

Flags specific to the prismatic joint.

See also:
PxPrismaticJoint

Member Enumeration Documentation

enum PxPrismaticJointFlag::Enum

Enumerator:
eLIMIT_ENABLED

The documentation for this struct was generated from the following file:
  • PxPrismaticJoint.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPrismaticJoint Class Reference

PxPrismaticJoint Class Reference
[Extensions]

A prismatic joint permits relative translational movement between two bodies along an axis, but no relative rotational movement. More...

#include <PxPrismaticJoint.h>

Inheritance diagram for PxPrismaticJoint:

PxJointPxBase
[legend]
Collaboration diagram for PxPrismaticJoint:

PxJointPxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

virtual PxReal | getPosition () const =0
returns the displacement of the joint along its axis.
virtual PxReal | getVelocity () const =0
returns the velocity of the joint along its axis
virtual void | setLimit (const PxJointLinearLimitPair &)=0
sets the joint limit parameters.
virtual PxJointLinearLimitPair | getLimit () const =0
gets the joint limit parameters.
virtual void | setPrismaticJointFlags (PxPrismaticJointFlags flags)=0
Set the flags specific to the Prismatic Joint.
virtual void | setPrismaticJointFlag (PxPrismaticJointFlag::Enum flag, bool value)=0
Set a single flag specific to a Prismatic Joint to true or false.
virtual PxPrismaticJointFlags | getPrismaticJointFlags (void) const =0
Get the flags specific to the Prismatic Joint.
virtual void | setProjectionLinearTolerance (PxReal tolerance)=0
Set the linear tolerance threshold for projection.
virtual PxReal | getProjectionLinearTolerance () const =0
Get the linear tolerance threshold for projection.
virtual void | setProjectionAngularTolerance (PxReal tolerance)=0
Set the angular tolerance threshold for projection. Projection is enabled if PxConstraintFlag::ePROJECTION is set for the joint.
virtual PxReal | getProjectionAngularTolerance () const =0
Get the angular tolerance threshold for projection.
virtual const char * | getConcreteTypeName () const
Returns string name of PxPrismaticJoint, used for serialization.

Protected Member Functions

PX_INLINE | PxPrismaticJoint (PxType concreteType, PxBaseFlags baseFlags)
Constructor.
PX_INLINE | PxPrismaticJoint (PxBaseFlags baseFlags)
Deserialization constructor.
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Detailed Description

A prismatic joint permits relative translational movement between two bodies along an axis, but no relative rotational movement.

the axis on each body is defined as the line containing the origin of the joint frame and extending along the x-axis of that frame

See also:
PxPrismaticJointCreate() PxJoint

Constructor & Destructor Documentation

PX_INLINE PxPrismaticJoint::PxPrismaticJoint | ( | PxType | concreteType,
 |  | PxBaseFlags | baseFlags |
 | ) |  |  | [inline, protected]

Constructor.

PX_INLINE PxPrismaticJoint::PxPrismaticJoint ( PxBaseFlags baseFlags ) [inline, protected]

Deserialization constructor.

Member Function Documentation

virtual const char* PxPrismaticJoint::getConcreteTypeName ( ) const [inline, virtual]

Returns string name of PxPrismaticJoint, used for serialization.

Implements PxBase.

virtual PxJointLinearLimitPair PxPrismaticJoint::getLimit ( ) const [pure virtual]

gets the joint limit parameters.

See also:
PxJointLinearLimit getLimit()

virtual PxReal PxPrismaticJoint::getPosition ( ) const [pure virtual]

returns the displacement of the joint along its axis.

virtual PxPrismaticJointFlags PxPrismaticJoint::getPrismaticJointFlags ( void ) const [pure virtual]

Get the flags specific to the Prismatic Joint.

Returns:
the joint flags
See also:
PxPrismaticJoint::flags, PxPrismaticJointFlag setFlag() setFlags()

virtual PxReal PxPrismaticJoint::getProjectionAngularTolerance ( ) const [pure virtual]

Get the angular tolerance threshold for projection.

See also:
getProjectionAngularTolerance()

virtual PxReal PxPrismaticJoint::getProjectionLinearTolerance ( ) const [pure virtual]

Get the linear tolerance threshold for projection.

Returns:
the linear tolerance threshold in radians
See also:
setProjectionLinearTolerance()

virtual PxReal PxPrismaticJoint::getVelocity ( ) const [pure virtual]

returns the velocity of the joint along its axis

virtual bool PxPrismaticJoint::isKindOf ( const char * name ) const [inline, protected, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxJoint.

References PxJoint::isKindOf().

virtual void PxPrismaticJoint::setLimit ( const PxJointLinearLimitPair & ) [pure virtual]

sets the joint limit parameters.

The limit range is [-PX_MAX_F32, PX_MAX_F32], but note that the width of the limit (upper-lower) must also be a valid float.

See also:
PxJointLinearLimitPair getLimit()

virtual void PxPrismaticJoint::setPrismaticJointFlag | ( | PxPrismaticJointFlag::Enum | flag,
 |  | bool | value |
 | ) |  |  | [pure virtual]

Set a single flag specific to a Prismatic Joint to true or false.

Parameters:
[in] | flag | The flag to set or clear.
[in] | value | the value to which to set the flag
See also:
PxPrismaticJointFlag, getFlags() setFlags()

virtual void PxPrismaticJoint::setPrismaticJointFlags ( PxPrismaticJointFlags flags ) [pure virtual]

Set the flags specific to the Prismatic Joint.

Default PxPrismaticJointFlags(0)

Parameters:
[in] flags The joint flags.
See also:
PxPrismaticJointFlag setFlag() getFlags()

virtual void PxPrismaticJoint::setProjectionAngularTolerance ( PxReal tolerance ) [pure virtual]

Set the angular tolerance threshold for projection. Projection is enabled if PxConstraintFlag::ePROJECTION is set for the joint.

If the joint separates by more than this distance along its locked degrees of freedom, the solver will move the bodies to close the distance.

Setting a very small tolerance may result in simulation jitter or other artifacts.

Sometimes it is not possible to project (for example when the joints form a cycle).

Range: [0, PX_MAX_F32)
Default: Pi

Parameters:
[in] tolerance the linear tolerance threshold
See also:
getProjectionLinearTolerance() PxJoint::setConstraintFlags()

virtual void PxPrismaticJoint::setProjectionLinearTolerance ( PxReal tolerance ) [pure virtual]

Set the linear tolerance threshold for projection.

If the joint separates by more than this distance along its locked degrees of freedom, the solver will move the bodies to close the distance.

Setting a very small tolerance may result in simulation jitter or other artifacts.

Sometimes it is not possible to project (for example when the joints form a cycle).

This value must be nonnegative.

Range: [0, PX_MAX_F32)
Default: 1e10f

Parameters:
[in] tolerance the linear tolerance threshold
See also:
getProjectionLinearTolerance()

The documentation for this class was generated from the following file:
  • PxPrismaticJoint.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: RaycastCCDManager Class Reference

RaycastCCDManager Class Reference
[Extensions]

Raycast-CCD manager. More...

#include <PxRaycastCCD.h>

List of all members.

Public Member Functions

RaycastCCDManager (PxScene *scene)
~RaycastCCDManager ()
bool | registerRaycastCCDObject (PxRigidDynamic *actor, PxShape *shape)
Register dynamic object for raycast CCD.
void | doRaycastCCD (bool doDynamicDynamicCCD)
Perform raycast CCD. Call this after your simulate/fetchResults calls.

Private Attributes

RaycastCCDManagerInternal * | mImpl

Detailed Description

Raycast-CCD manager.

Raycast-CCD is a simple and potentially cheaper alternative to the SDK's built-in continuous collision detection algorithm.

This implementation has some limitations:

  • it is only implemented for PxRigidDynamic objects (not for PxArticulationLink)
  • it is only implemented for simple actors with 1 shape (not for "compounds")

Also, since it is raycast-based, the solution is not perfect. In particular:

  • small dynamic objects can still go through the static world if the ray goes through a crack between edges, or a small hole in the world (like the keyhole from a door).
  • dynamic-vs-dynamic CCD is very approximate. It only works well for fast-moving dynamic objects colliding against slow-moving dynamic objects.

Finally, since it is using the SDK's scene queries under the hood, it only works provided the simulation shapes also have scene-query shapes associated with them. That is, if the objects in the scene only use PxShapeFlag::eSIMULATION_SHAPE (and no PxShapeFlag::eSCENE_QUERY_SHAPE), then the raycast-CCD system will not work.

Constructor & Destructor Documentation

RaycastCCDManager::RaycastCCDManager ( PxScene * scene )

RaycastCCDManager::~RaycastCCDManager ( )

Member Function Documentation

void RaycastCCDManager::doRaycastCCD ( bool doDynamicDynamicCCD )

Perform raycast CCD. Call this after your simulate/fetchResults calls.

Parameters:
[in] doDynamicDynamicCCD True to enable dynamic-vs-dynamic CCD (more expensive, not always needed)

bool RaycastCCDManager::registerRaycastCCDObject | ( | PxRigidDynamic * | actor,
 |  | PxShape * | shape
 | ) |  |

Register dynamic object for raycast CCD.

Parameters:
[in] | actor | object's actor
[in] | shape | object's shape
Returns:
True if success

Member Data Documentation

RaycastCCDManagerInternal* RaycastCCDManager::mImpl [private]

The documentation for this class was generated from the following file:
  • PxRaycastCCD.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRepXObject Struct Reference

PxRepXObject Struct Reference
[Extensions]

Helper class containing the mapping of id to object, and type name. More...

#include <PxRepXSimpleType.h>

List of all members.

Public Member Functions

PxRepXObject (const char *inTypeName="", const void *inSerializable=NULL, const PxSerialObjectId inId=0)
bool | isValid () const

Public Attributes

const char * | typeName
Identifies the extension meant to handle this object.
const void * | serializable
Pointer to the serializable this was created from.
PxSerialObjectId id
Id given to this object at some point.

Detailed Description

Helper class containing the mapping of id to object, and type name.

Constructor & Destructor Documentation

PxRepXObject::PxRepXObject | ( | const char * | inTypeName = "",
 |  | const void * | inSerializable = NULL,
 |  | const PxSerialObjectId | inId = 0 |
 | ) |  |  | [inline]

Member Function Documentation

bool PxRepXObject::isValid ( ) const [inline]

Member Data Documentation

PxSerialObjectId PxRepXObject::id

Id given to this object at some point.

const void* PxRepXObject::serializable

Pointer to the serializable this was created from.

const char* PxRepXObject::typeName

Identifies the extension meant to handle this object.

See also:
PxTypeInfo, PX_DEFINE_TYPEINFO, PxRepXSerializer

The documentation for this struct was generated from the following file:
  • PxRepXSimpleType.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRepXInstantiationArgs Struct Reference

PxRepXInstantiationArgs Struct Reference
[Extensions]

Arguments required to instantiate a serializable object from RepX. More...

#include <PxRepXSimpleType.h>

Collaboration diagram for PxRepXInstantiationArgs:

PxStringTablePxCookingPxPhysics
[legend]

List of all members.

Public Member Functions

PxRepXInstantiationArgs (PxPhysics &inPhysics, PxCooking *inCooking=NULL, PxStringTable *inStringTable=NULL)
PxRepXInstantiationArgs & operator= (const PxRepXInstantiationArgs &)

Public Attributes

PxPhysics & physics
PxCooking * cooker
PxStringTable * stringTable

Detailed Description

Arguments required to instantiate a serializable object from RepX.

Extra arguments can be added to the object map under special ids.

See also:
PxRepXSerializer::objectToFile, PxRepXSerializer::fileToObject

Constructor & Destructor Documentation

PxRepXInstantiationArgs::PxRepXInstantiationArgs | ( | PxPhysics & | inPhysics,
 |  | PxCooking * | inCooking = NULL,
 |  | PxStringTable * | inStringTable = NULL |
 | ) |  |  | [inline]

Member Function Documentation

PxRepXInstantiationArgs& PxRepXInstantiationArgs::operator= ( const PxRepXInstantiationArgs & )

Member Data Documentation

PxCooking* PxRepXInstantiationArgs::cooker

PxPhysics& PxRepXInstantiationArgs::physics

PxStringTable* PxRepXInstantiationArgs::stringTable

The documentation for this struct was generated from the following file:
  • PxRepXSimpleType.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRevoluteJointFlag Struct Reference

PxRevoluteJointFlag Struct Reference
[Extensions]

Flags specific to the Revolute Joint. More...

#include <PxRevoluteJoint.h>

List of all members.

Public Types

enum Enum {
eLIMIT_ENABLED = 1<<0,
eDRIVE_ENABLED = 1<<1,
eDRIVE_FREESPIN = 1<<2
}

Detailed Description

Flags specific to the Revolute Joint.

See also:
PxRevoluteJoint

Member Enumeration Documentation

enum PxRevoluteJointFlag::Enum

Enumerator:
eLIMIT_ENABLED | enable the limit
eDRIVE_ENABLED | enable the drive
eDRIVE_FREESPIN | if the existing velocity is beyond the drive velocity, do not add force

The documentation for this struct was generated from the following file:
  • PxRevoluteJoint.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRevoluteJoint Class Reference

PxRevoluteJoint Class Reference
[Extensions]

A joint which behaves in a similar way to a hinge or axle. More...

#include <PxRevoluteJoint.h>

Inheritance diagram for PxRevoluteJoint:

PxJointPxBase
[legend]
Collaboration diagram for PxRevoluteJoint:

PxJointPxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

virtual PxReal | getAngle () const =0
return the angle of the joint, in the range (-Pi, Pi]
virtual PxReal | getVelocity () const =0
return the velocity of the joint
virtual void | setLimit (const PxJointAngularLimitPair &limits)=0
set the joint limit parameters.
virtual PxJointAngularLimitPair | getLimit () const =0
get the joint limit parameters.
virtual void | setDriveVelocity (PxReal velocity)=0
set the target velocity for the drive model.
virtual PxReal | getDriveVelocity () const =0
gets the target velocity for the drive model.
virtual void | setDriveForceLimit (PxReal limit)=0
sets the maximum torque the drive can exert.
virtual PxReal | getDriveForceLimit () const =0
gets the maximum torque the drive can exert.
virtual void | setDriveGearRatio (PxReal ratio)=0
sets the gear ratio for the drive.
virtual PxReal | getDriveGearRatio () const =0
gets the gear ratio.
virtual void | setRevoluteJointFlags (PxRevoluteJointFlags flags)=0
sets the flags specific to the Revolute Joint.
virtual void | setRevoluteJointFlag (PxRevoluteJointFlag::Enum flag, bool value)=0
sets a single flag specific to a Revolute Joint.
virtual PxRevoluteJointFlags | getRevoluteJointFlags (void) const =0
gets the flags specific to the Revolute Joint.
virtual void | setProjectionLinearTolerance (PxReal tolerance)=0
Set the linear tolerance threshold for projection. Projection is enabled if PxConstraintFlag::ePROJECTION is set for the joint.
virtual PxReal | getProjectionLinearTolerance () const =0
Get the linear tolerance threshold for projection.
virtual void | setProjectionAngularTolerance (PxReal tolerance)=0
Set the angular tolerance threshold for projection. Projection is enabled if PxConstraintFlag::ePROJECTION is set for the joint.
virtual PxReal | getProjectionAngularTolerance () const =0
gets the angular tolerance threshold for projection.
virtual const char * | getConcreteTypeName () const
Returns string name of PxRevoluteJoint, used for serialization.

Protected Member Functions

PX_INLINE | PxRevoluteJoint (PxType concreteType, PxBaseFlags baseFlags)
Constructor.
PX_INLINE | PxRevoluteJoint (PxBaseFlags baseFlags)
Deserialization constructor.
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Detailed Description

A joint which behaves in a similar way to a hinge or axle.

A hinge joint removes all but a single rotational degree of freedom from two objects. The axis along which the two bodies may rotate is specified with a point and a direction vector.

The position of the hinge on each body is specified by the origin of the body's joint frame. The axis of the hinge is specified as the direction of the x-axis in the body's joint frame.

A revolute joint can be given a motor, so that it can apply a force to rotate the attached actors. It may also be given a limit, to restrict the revolute motion to within a certain range. In addition, the bodies may be projected together if the distance or angle between them exceeds a given threshold.

Projection, drive and limits are activated by setting the appropriate flags on the joint.

See also:
PxRevoluteJointCreate() PxJoint

Constructor & Destructor Documentation

PX_INLINE PxRevoluteJoint::PxRevoluteJoint | ( | PxType | concreteType,
 |  | PxBaseFlags | baseFlags |
 | ) |  |  | [inline, protected]

Constructor.

PX_INLINE PxRevoluteJoint::PxRevoluteJoint ( PxBaseFlags baseFlags ) [inline, protected]

Deserialization constructor.

Member Function Documentation

virtual PxReal PxRevoluteJoint::getAngle ( ) const [pure virtual]

return the angle of the joint, in the range (-Pi, Pi]

virtual const char* PxRevoluteJoint::getConcreteTypeName ( ) const [inline, virtual]

Returns string name of PxRevoluteJoint, used for serialization.

Implements PxBase.

virtual PxReal PxRevoluteJoint::getDriveForceLimit ( ) const [pure virtual]

gets the maximum torque the drive can exert.

Returns:
the torque limit
See also:
setDriveVelocity()

virtual PxReal PxRevoluteJoint::getDriveGearRatio ( ) const [pure virtual]

gets the gear ratio.

Returns:
the drive gear ratio
See also:
setDriveGearRatio()

virtual PxReal PxRevoluteJoint::getDriveVelocity ( ) const [pure virtual]

gets the target velocity for the drive model.

Returns:
the drive target velocity
See also:
setDriveVelocity()

virtual PxJointAngularLimitPair PxRevoluteJoint::getLimit ( ) const [pure virtual]

get the joint limit parameters.

Returns:
the joint limit parameters
See also:
PxJointAngularLimitPair setLimit()

virtual PxReal PxRevoluteJoint::getProjectionAngularTolerance ( ) const [pure virtual]

gets the angular tolerance threshold for projection.

Returns:
the angular tolerance threshold in radians
See also:
setProjectionAngularTolerance()

virtual PxReal PxRevoluteJoint::getProjectionLinearTolerance ( ) const [pure virtual]

Get the linear tolerance threshold for projection.

Returns:
the linear tolerance threshold
See also:
setProjectionLinearTolerance()

virtual PxRevoluteJointFlags PxRevoluteJoint::getRevoluteJointFlags ( void ) const [pure virtual]

gets the flags specific to the Revolute Joint.

Returns:
the joint flags
See also:
PxRevoluteJoint::flags, PxRevoluteJointFlag setFlag() setFlags()

virtual PxReal PxRevoluteJoint::getVelocity ( ) const [pure virtual]

return the velocity of the joint

virtual bool PxRevoluteJoint::isKindOf ( const char * name ) const [inline, protected, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxJoint.

References PxJoint::isKindOf().

virtual void PxRevoluteJoint::setDriveForceLimit ( PxReal limit ) [pure virtual]

sets the maximum torque the drive can exert.

Setting this to a very large value if velTarget is also very large may cause unexpected results.

The value set here may be used either as an impulse limit or a force limit, depending on the flag PxConstraintFlag::eDRIVE_LIMITS_ARE_FORCES

Range: [0, PX_MAX_F32)
Default: PX_MAX_F32

See also:
setDriveVelocity()

virtual void PxRevoluteJoint::setDriveGearRatio ( PxReal ratio ) [pure virtual]

sets the gear ratio for the drive.

When setting up the drive constraint, the velocity of the first actor is scaled by this value, and its response to drive torque is scaled down. So if the drive target velocity is zero, the second actor will be driven to the velocity of the first scaled by the gear ratio

Range: [0, PX_MAX_F32)
Default: 1.0

Parameters:
[in] ratio the drive gear ratio
See also:
getDriveGearRatio()

virtual void PxRevoluteJoint::setDriveVelocity ( PxReal velocity ) [pure virtual]

set the target velocity for the drive model.

The motor will only be able to reach this velocity if the maxForce is sufficiently large. If the joint is spinning faster than this velocity, the motor will actually try to brake (see PxRevoluteJointFlag::eDRIVE_FREESPIN.)

If you set this to infinity then the motor will keep speeding up, unless there is some sort of resistance on the attached bodies. The sign of this variable determines the rotation direction, with positive values going the same way as positive joint angles.

Parameters:
[in] velocity the drive target velocity
Range: [0, PX_MAX_F32)
Default: 0.0

See also:
PxRevoluteFlags::eDRIVE_FREESPIN

virtual void PxRevoluteJoint::setLimit ( const PxJointAngularLimitPair & limits ) [pure virtual]

set the joint limit parameters.

The limit is activated using the flag PxRevoluteJointFlag::eLIMIT_ENABLED

The limit angle range is (-2*PI, 2*PI) and the extent of the limit must be strictly less than 2*PI

Parameters:
[in] limits The joint limit parameters.
See also:
PxJointAngularLimitPair getLimit()

virtual void PxRevoluteJoint::setProjectionAngularTolerance ( PxReal tolerance ) [pure virtual]

Set the angular tolerance threshold for projection. Projection is enabled if PxConstraintFlag::ePROJECTION is set for the joint.

If the joint deviates by more than this angle around its locked angular degrees of freedom, the solver will move the bodies to close the angle.

Setting a very small tolerance may result in simulation jitter or other artifacts.

Sometimes it is not possible to project (for example when the joints form a cycle).

Range: [0,Pi]
Default: Pi

Parameters:
[in] tolerance the angular tolerance threshold in radians
See also:
getProjectionAngularTolerance() PxJoint::setConstraintFlag() PxConstraintFlag::ePROJECTION

virtual void PxRevoluteJoint::setProjectionLinearTolerance ( PxReal tolerance ) [pure virtual]

Set the linear tolerance threshold for projection. Projection is enabled if PxConstraintFlag::ePROJECTION is set for the joint.

If the joint separates by more than this distance along its locked degrees of freedom, the solver will move the bodies to close the distance.

Setting a very small tolerance may result in simulation jitter or other artifacts.

Sometimes it is not possible to project (for example when the joints form a cycle).

Range: [0, PX_MAX_F32)
Default: 1e10f

Parameters:
[in] tolerance the linear tolerance threshold
See also:
getProjectionLinearTolerance() PxJoint::setConstraintFlags() PxConstraintFlag::ePROJECTION

virtual void PxRevoluteJoint::setRevoluteJointFlag | ( | PxRevoluteJointFlag::Enum | flag,
 |  | bool | value |
 | ) |  |  | [pure virtual]

sets a single flag specific to a Revolute Joint.

Parameters:
[in] | flag | The flag to set or clear.
[in] | value | the value to which to set the flag
See also:
PxRevoluteJointFlag, getFlags() setFlags()

virtual void PxRevoluteJoint::setRevoluteJointFlags ( PxRevoluteJointFlags flags ) [pure virtual]

sets the flags specific to the Revolute Joint.

Default PxRevoluteJointFlags(0)

Parameters:
[in] flags The joint flags.
See also:
PxRevoluteJointFlag setFlag() getFlags()

The documentation for this class was generated from the following file:
  • PxRevoluteJoint.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRigidActorExt Class Reference

PxRigidActorExt Class Reference
[Extensions]

utility functions for use with PxRigidActor and subclasses More...

#include <PxRigidActorExt.h>

List of all members.

Static Public Member Functions

static PxShape * | createExclusiveShape (PxRigidActor &actor, const PxGeometry &geometry, PxMaterial *const *materials, PxU16 materialCount, PxShapeFlags shapeFlags=PxShapeFlag::eVISUALIZATION|PxShapeFlag::eSCENE_QUERY_SHAPE|PxShapeFlag::eSIMULATION_SHAPE)
Creates a new shape with default properties and a list of materials and adds it to the list of shapes of this actor.
static PX_FORCE_INLINE PxShape * | createExclusiveShape (PxRigidActor &actor, const PxGeometry &geometry, const PxMaterial &material, PxShapeFlags shapeFlags=PxShapeFlag::eVISUALIZATION|PxShapeFlag::eSCENE_QUERY_SHAPE|PxShapeFlag::eSIMULATION_SHAPE)
Creates a new shape with default properties and a single material adds it to the list of shapes of this actor.

Detailed Description

utility functions for use with PxRigidActor and subclasses

See also:
PxRigidActor PxRigidStatic PxRigidBody PxRigidDynamic PxArticulationLink

Member Function Documentation

static PX_FORCE_INLINE PxShape* PxRigidActorExt::createExclusiveShape | ( | PxRigidActor & | actor,
 |  | const PxGeometry & | geometry,
 |  | const PxMaterial & | material,
 |  | PxShapeFlags | shapeFlags = PxShapeFlag::eVISUALIZATION | PxShapeFlag::eSCENE_QUERY_SHAPE | PxShapeFlag::eSIMULATION_SHAPE |
 | ) |  |  | [inline, static]

Creates a new shape with default properties and a single material adds it to the list of shapes of this actor.

This is equivalent to the following

PxShape* shape(...) = PxGetPhysics().createShape(...); // reference count is 1 actor->attachShape(shape); // increments reference count shape->release(); // releases user reference, leaving reference count at 1

As a consequence, detachShape() will result in the release of the last reference, and the shape will be deleted.

Note:
The default shape flags to be set are: eVISUALIZATION, eSIMULATION_SHAPE, eSCENE_QUERY_SHAPE (see PxShapeFlag). Triangle mesh, heightfield or plane geometry shapes configured as eSIMULATION_SHAPE are not supported for non-kinematic PxRigidDynamic instances.

Creating compounds with a very large number of shapes may adversely affect performance and stability.

Sleeping: Does NOT wake the actor up automatically.

Parameters:
[in] | actor | the actor to which to attach the shape
[in] | geometry | the geometry of the shape
[in] | material | the material for the shape
[in] | shapeFlags | optional PxShapeFlags
Returns:
The newly created shape.
See also:
PxShape PxShape::release(), PxPhysics::createShape(), PxRigidActor::attachShape()

static PxShape* PxRigidActorExt::createExclusiveShape | ( | PxRigidActor & | actor,
 |  | const PxGeometry & | geometry,
 |  | PxMaterial *const * | materials,
 |  | PxU16 | materialCount,
 |  | PxShapeFlags | shapeFlags = PxShapeFlag::eVISUALIZATION | PxShapeFlag::eSCENE_QUERY_SHAPE | PxShapeFlag::eSIMULATION_SHAPE |
 | ) |  |  | [inline, static]

Creates a new shape with default properties and a list of materials and adds it to the list of shapes of this actor.

This is equivalent to the following

PxShape* shape(...) = PxGetPhysics().createShape(...); // reference count is 1 actor->attachShape(shape); // increments reference count shape->release(); // releases user reference, leaving reference count at 1

As a consequence, detachShape() will result in the release of the last reference, and the shape will be deleted.

Note:
The default shape flags to be set are: eVISUALIZATION, eSIMULATION_SHAPE, eSCENE_QUERY_SHAPE (see PxShapeFlag). Triangle mesh, heightfield or plane geometry shapes configured as eSIMULATION_SHAPE are not supported for non-kinematic PxRigidDynamic instances.

Creating compounds with a very large number of shapes may adversely affect performance and stability.

Sleeping: Does NOT wake the actor up automatically.

Parameters:
[in] | actor | the actor to which to attach the shape
[in] | geometry | the geometry of the shape
[in] | materials | a pointer to an array of material pointers
[in] | materialCount | the count of materials
[in] | shapeFlags | optional PxShapeFlags
Returns:
The newly created shape.
See also:
PxShape PxShape::release(), PxPhysics::createShape(), PxRigidActor::attachShape()

References PxRigidActor::attachShape(), PxGetPhysics(), and PxShape::release().

The documentation for this class was generated from the following file:
  • PxRigidActorExt.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRigidBodyExt Class Reference

PxRigidBodyExt Class Reference
[Extensions]

utility functions for use with PxRigidBody and subclasses More...

#include <PxRigidBodyExt.h>

List of all members.

Static Public Member Functions

static bool | updateMassAndInertia (PxRigidBody &body, const PxReal *shapeDensities, PxU32 shapeDensityCount, const PxVec3 *massLocalPose=NULL, bool includeNonSimShapes=false)
Computation of mass properties for a rigid body actor.
static bool | updateMassAndInertia (PxRigidBody &body, PxReal density, const PxVec3 *massLocalPose=NULL, bool includeNonSimShapes=false)
Computation of mass properties for a rigid body actor.
static bool | setMassAndUpdateInertia (PxRigidBody &body, const PxReal *shapeMasses, PxU32 shapeMassCount, const PxVec3 *massLocalPose=NULL, bool includeNonSimShapes=false)
Computation of mass properties for a rigid body actor.
static bool | setMassAndUpdateInertia (PxRigidBody &body, PxReal mass, const PxVec3 *massLocalPose=NULL, bool includeNonSimShapes=false)
Computation of mass properties for a rigid body actor.
static PxMassProperties | computeMassPropertiesFromShapes (const PxShape *const *shapes, PxU32 shapeCount)
Compute the mass, inertia tensor and center of mass from a list of shapes.
static void | addForceAtPos (PxRigidBody &body, const PxVec3 &force, const PxVec3 &pos, PxForceMode::Enum mode=PxForceMode::eFORCE, bool wakeup=true)
Applies a force (or impulse) defined in the global coordinate frame, acting at a particular point in global coordinates, to the actor.
static void | addForceAtLocalPos (PxRigidBody &body, const PxVec3 &force, const PxVec3 &pos, PxForceMode::Enum mode=PxForceMode::eFORCE, bool wakeup=true)
Applies a force (or impulse) defined in the global coordinate frame, acting at a particular point in local coordinates, to the actor.
static void | addLocalForceAtPos (PxRigidBody &body, const PxVec3 &force, const PxVec3 &pos, PxForceMode::Enum mode=PxForceMode::eFORCE, bool wakeup=true)
Applies a force (or impulse) defined in the actor local coordinate frame, acting at a particular point in global coordinates, to the actor.
static void | addLocalForceAtLocalPos (PxRigidBody &body, const PxVec3 &force, const PxVec3 &pos, PxForceMode::Enum mode=PxForceMode::eFORCE, bool wakeup=true)
Applies a force (or impulse) defined in the actor local coordinate frame, acting at a particular point in local coordinates, to the actor.
static PxVec3 | getVelocityAtPos (const PxRigidBody &body, const PxVec3 &pos)
Computes the velocity of a point given in world coordinates if it were attached to the specified body and moving with it.
static PxVec3 | getLocalVelocityAtLocalPos (const PxRigidBody &body, const PxVec3 &pos)
Computes the velocity of a point given in local coordinates if it were attached to the specified body and moving with it.
static PxVec3 | getVelocityAtOffset (const PxRigidBody &body, const PxVec3 &pos)
Computes the velocity of a point (offset from the origin of the body) given in world coordinates if it were attached to the specified body and moving with it.
static bool | linearSweepSingle (PxRigidBody &body, PxScene &scene, const PxVec3 &unitDir, const PxReal distance, PxHitFlags outputFlags, PxSweepHit &closestHit, PxU32 &shapeIndex, const PxQueryFilterData &filterData=PxQueryFilterData(), PxQueryFilterCallback *filterCall=NULL, const PxQueryCache *cache=NULL, const PxReal inflation=0.0f)
Performs a linear sweep through space with the body's geometry objects.
static PxU32 | linearSweepMultiple (PxRigidBody &body, PxScene &scene, const PxVec3 &unitDir, const PxReal distance, PxHitFlags outputFlags, PxSweepHit *touchHitBuffer, PxU32 *touchHitShapeIndices, PxU32 touchHitBufferSize, PxSweepHit &block, PxI32 &blockingShapeIndex, bool &overflow, const PxQueryFilterData &filterData=PxQueryFilterData(), PxQueryFilterCallback *filterCall=NULL, const PxQueryCache *cache=NULL, const PxReal inflation=0.0f)
Performs a linear sweep through space with the body's geometry objects, returning all overlaps.
static void | computeVelocityDeltaFromImpulse (const PxRigidBody &body, const PxVec3 &impulsiveForce, const PxVec3 &impulsiveTorque, PxVec3 &deltaLinearVelocity, PxVec3 &deltaAngularVelocity)
Compute the change to linear and angular velocity that would occur if an impulsive force and torque were to be applied to a specified rigid body.
static void | computeVelocityDeltaFromImpulse (const PxRigidBody &body, const PxTransform &globalPose, const PxVec3 &point, const PxVec3 &impulse, const PxReal invMassScale, const PxReal invInertiaScale, PxVec3 &deltaLinearVelocity, PxVec3 &deltaAngularVelocity)
Computes the linear and angular velocity change vectors for a given impulse at a world space position taking a mass and inertia scale into account.
static void | computeLinearAngularImpulse (const PxRigidBody &body, const PxTransform &globalPose, const PxVec3 &point, const PxVec3 &impulse, const PxReal invMassScale, const PxReal invInertiaScale, PxVec3 &linearImpulse, PxVec3 &angularImpulse)
Computes the linear and angular impulse vectors for a given impulse at a world space position taking a mass and inertia scale into account.

Detailed Description

utility functions for use with PxRigidBody and subclasses

See also:
PxRigidBody PxRigidDynamic PxArticulationLink

Member Function Documentation

static void PxRigidBodyExt::addForceAtLocalPos | ( | PxRigidBody & | body,
 |  | const PxVec3 & | force,
 |  | const PxVec3 & | pos,
 |  | PxForceMode::Enum | mode = PxForceMode::eFORCE,
 |  | bool | wakeup = true |
 | ) |  |  | [static]

Applies a force (or impulse) defined in the global coordinate frame, acting at a particular point in local coordinates, to the actor.

Note that if the force does not act along the center of mass of the actor, this will also add the corresponding torque. Because forces are reset at the end of every timestep, you can maintain a total external force on an object by calling this once every frame.

Note:
if this call is used to apply a force or impulse to an articulation link, only the link is updated, not the entire articulation
PxForceMode determines if the force is to be conventional or impulsive. Only eFORCE and eIMPULSE are supported, as the force required to produce a given velocity change or acceleration is underdetermined given only the desired change at a given point.

Sleeping: This call wakes the actor if it is sleeping and the wakeup parameter is true (default).

Parameters:
[in] | body | The rigid body to apply the force to.
[in] | force | Force/impulse to add, defined in the global frame. Range: force vector
[in] | pos | Position in the local frame to add the force at. Range: position vector
[in] | mode | The mode to use when applying the force/impulse(see PxForceMode).
[in] | wakeup | Specify if the call should wake up the actor.
See also:
PxForceMode

addForceAtPos() addLocalForceAtPos() addLocalForceAtLocalPos()

static void PxRigidBodyExt::addForceAtPos | ( | PxRigidBody & | body,
 |  | const PxVec3 & | force,
 |  | const PxVec3 & | pos,
 |  | PxForceMode::Enum | mode = PxForceMode::eFORCE,
 |  | bool | wakeup = true |
 | ) |  |  | [static]

Applies a force (or impulse) defined in the global coordinate frame, acting at a particular point in global coordinates, to the actor.

Note that if the force does not act along the center of mass of the actor, this will also add the corresponding torque. Because forces are reset at the end of every timestep, you can maintain a total external force on an object by calling this once every frame.

Note:
if this call is used to apply a force or impulse to an articulation link, only the link is updated, not the entire articulation
PxForceMode determines if the force is to be conventional or impulsive. Only eFORCE and eIMPULSE are supported, as the force required to produce a given velocity change or acceleration is underdetermined given only the desired change at a given point.

Sleeping: This call wakes the actor if it is sleeping and the wakeup parameter is true (default).

Parameters:
[in] | body | The rigid body to apply the force to.
[in] | force | Force/impulse to add, defined in the global frame. Range: force vector
[in] | pos | Position in the global frame to add the force at. Range: position vector
[in] | mode | The mode to use when applying the force/impulse(see PxForceMode).
[in] | wakeup | Specify if the call should wake up the actor.
See also:
PxForceMode

addForceAtLocalPos() addLocalForceAtPos() addLocalForceAtLocalPos()

static void PxRigidBodyExt::addLocalForceAtLocalPos | ( | PxRigidBody & | body,
 |  | const PxVec3 & | force,
 |  | const PxVec3 & | pos,
 |  | PxForceMode::Enum | mode = PxForceMode::eFORCE,
 |  | bool | wakeup = true |
 | ) |  |  | [static]

Applies a force (or impulse) defined in the actor local coordinate frame, acting at a particular point in local coordinates, to the actor.

Note that if the force does not act along the center of mass of the actor, this will also add the corresponding torque. Because forces are reset at the end of every timestep, you can maintain a total external force on an object by calling this once every frame.

Note:
if this call is used to apply a force or impulse to an articulation link, only the link is updated, not the entire articulation
PxForceMode determines if the force is to be conventional or impulsive. Only eFORCE and eIMPULSE are supported, as the force required to produce a given velocity change or acceleration is underdetermined given only the desired change at a given point.

Sleeping: This call wakes the actor if it is sleeping and the wakeup parameter is true (default).

Parameters:
[in] | body | The rigid body to apply the force to.
[in] | force | Force/impulse to add, defined in the local frame. Range: force vector
[in] | pos | Position in the local frame to add the force at. Range: position vector
[in] | mode | The mode to use when applying the force/impulse(see PxForceMode).
[in] | wakeup | Specify if the call should wake up the actor.
See also:
PxForceMode

addForceAtPos() addForceAtLocalPos() addLocalForceAtPos()

static void PxRigidBodyExt::addLocalForceAtPos | ( | PxRigidBody & | body,
 |  | const PxVec3 & | force,
 |  | const PxVec3 & | pos,
 |  | PxForceMode::Enum | mode = PxForceMode::eFORCE,
 |  | bool | wakeup = true |
 | ) |  |  | [static]

Applies a force (or impulse) defined in the actor local coordinate frame, acting at a particular point in global coordinates, to the actor.

Note that if the force does not act along the center of mass of the actor, this will also add the corresponding torque. Because forces are reset at the end of every timestep, you can maintain a total external force on an object by calling this once every frame.

Note:
if this call is used to apply a force or impulse to an articulation link, only the link is updated, not the entire articulation
PxForceMode determines if the force is to be conventional or impulsive. Only eFORCE and eIMPULSE are supported, as the force required to produce a given velocity change or acceleration is underdetermined given only the desired change at a given point.

Sleeping: This call wakes the actor if it is sleeping and the wakeup parameter is true (default).

Parameters:
[in] | body | The rigid body to apply the force to.
[in] | force | Force/impulse to add, defined in the local frame. Range: force vector
[in] | pos | Position in the global frame to add the force at. Range: position vector
[in] | mode | The mode to use when applying the force/impulse(see PxForceMode).
[in] | wakeup | Specify if the call should wake up the actor.
See also:
PxForceMode

addForceAtPos() addForceAtLocalPos() addLocalForceAtLocalPos()

static void PxRigidBodyExt::computeLinearAngularImpulse | ( | const PxRigidBody & | body,
 |  | const PxTransform & | globalPose,
 |  | const PxVec3 & | point,
 |  | const PxVec3 & | impulse,
 |  | const PxReal | invMassScale,
 |  | const PxReal | invInertiaScale,
 |  | PxVec3 & | linearImpulse,
 |  | PxVec3 & | angularImpulse |
 | ) |  |  | [static]

Computes the linear and angular impulse vectors for a given impulse at a world space position taking a mass and inertia scale into account.

This function is useful for extracting the respective linear and angular impulses from a contact or joint when the mass/inertia ratios have been adjusted.

Parameters:
[in] | body | The rigid body
[in] | globalPose | The body's world space transform
[in] | point | The point in world space where the impulse is applied
[in] | impulse | The impulse vector in world space
[in] | invMassScale | The inverse mass scale
[in] | invInertiaScale | The inverse inertia scale
[out] | linearImpulse | The linear impulse
[out] | angularImpulse | The angular impulse

static PxMassProperties PxRigidBodyExt::computeMassPropertiesFromShapes | ( | const PxShape *const * | shapes,
 |  | PxU32 | shapeCount |
 | ) |  |  | [static]

Compute the mass, inertia tensor and center of mass from a list of shapes.

Parameters:
[in] | shapes | The shapes to compute the mass properties from.
[in] | shapeCount | The number of provided shapes.
Returns:
The mass properties from the combined shapes.
See also:
PxRigidBody::setCMassLocalPose PxRigidBody::setMassSpaceInertiaTensor PxRigidBody::setMass

static void PxRigidBodyExt::computeVelocityDeltaFromImpulse | ( | const PxRigidBody & | body,
 |  | const PxTransform & | globalPose,
 |  | const PxVec3 & | point,
 |  | const PxVec3 & | impulse,
 |  | const PxReal | invMassScale,
 |  | const PxReal | invInertiaScale,
 |  | PxVec3 & | deltaLinearVelocity,
 |  | PxVec3 & | deltaAngularVelocity |
 | ) |  |  | [static]

Computes the linear and angular velocity change vectors for a given impulse at a world space position taking a mass and inertia scale into account.

This function is useful for extracting the respective linear and angular velocity changes from a contact or joint when the mass/inertia ratios have been adjusted.

Note:
if this call is used to determine the velocity delta for an articulation link, only the mass properties of the link are taken into account.
Parameters:
[in] | body | The rigid body
[in] | globalPose | The body's world space transform
[in] | point | The point in world space where the impulse is applied
[in] | impulse | The impulse vector in world space
[in] | invMassScale | The inverse mass scale
[in] | invInertiaScale | The inverse inertia scale
[out] | deltaLinearVelocity | The linear velocity change
[out] | deltaAngularVelocity | The angular velocity change

static void PxRigidBodyExt::computeVelocityDeltaFromImpulse | ( | const PxRigidBody & | body,
 |  | const PxVec3 & | impulsiveForce,
 |  | const PxVec3 & | impulsiveTorque,
 |  | PxVec3 & | deltaLinearVelocity,
 |  | PxVec3 & | deltaAngularVelocity |
 | ) |  |  | [static]

Compute the change to linear and angular velocity that would occur if an impulsive force and torque were to be applied to a specified rigid body.

The rigid body is left unaffected unless a subsequent independent call is executed that actually applies the computed changes to velocity and angular velocity.

Note:
if this call is used to determine the velocity delta for an articulation link, only the mass properties of the link are taken into account.
See also:
PxRigidBody::getLinearVelocity, PxRigidBody::setLinearVelocity, PxRigidBody::getAngularVelocity, PxRigidBody::setAngularVelocity
Parameters:
[in] | body | The body under consideration.
[in] | impulsiveForce | The impulsive force that would be applied to the specified rigid body.
[in] | impulsiveTorque | The impulsive torque that would be applied to the specified rigid body.
[out] | deltaLinearVelocity | The change in linear velocity that would arise if impulsiveForce was to be applied to the specified rigid body.
[out] | deltaAngularVelocity | The change in angular velocity that would arise if impulsiveTorque was to be applied to the specified rigid body.

static PxVec3 PxRigidBodyExt::getLocalVelocityAtLocalPos | ( | const PxRigidBody & | body,
 |  | const PxVec3 & | pos |
 | ) |  |  | [static]

Computes the velocity of a point given in local coordinates if it were attached to the specified body and moving with it.

Parameters:
[in] | body | The rigid body the point is attached to.
[in] | pos | Position we wish to determine the velocity for, defined in the local frame. Range: position vector
Returns:
The velocity of point in the local frame.
See also:
getLocalPointVelocity()

static PxVec3 PxRigidBodyExt::getVelocityAtOffset | ( | const PxRigidBody & | body,
 |  | const PxVec3 & | pos |
 | ) |  |  | [static]

Computes the velocity of a point (offset from the origin of the body) given in world coordinates if it were attached to the specified body and moving with it.

Parameters:
[in] | body | The rigid body the point is attached to.
[in] | pos | Position (offset from the origin of the body) we wish to determine the velocity for, defined in the global frame. Range: position vector
Returns:
The velocity of point (offset from the origin of the body) in the global frame.
See also:
getLocalPointVelocity()

static PxVec3 PxRigidBodyExt::getVelocityAtPos | ( | const PxRigidBody & | body,
 |  | const PxVec3 & | pos |
 | ) |  |  | [static]

Computes the velocity of a point given in world coordinates if it were attached to the specified body and moving with it.

Parameters:
[in] | body | The rigid body the point is attached to.
[in] | pos | Position we wish to determine the velocity for, defined in the global frame. Range: position vector
Returns:
The velocity of point in the global frame.
See also:
getLocalPointVelocity()

static PxU32 PxRigidBodyExt::linearSweepMultiple | ( | PxRigidBody & | body,
 |  | PxScene & | scene,
 |  | const PxVec3 & | unitDir,
 |  | const PxReal | distance,
 |  | PxHitFlags | outputFlags,
 |  | PxSweepHit * | touchHitBuffer,
 |  | PxU32 * | touchHitShapeIndices,
 |  | PxU32 | touchHitBufferSize,
 |  | PxSweepHit & | block,
 |  | PxI32 & | blockingShapeIndex,
 |  | bool & | overflow,
 |  | const PxQueryFilterData & | filterData = PxQueryFilterData(),
 |  | PxQueryFilterCallback * | filterCall = NULL,
 |  | const PxQueryCache * | cache = NULL,
 |  | const PxReal | inflation = 0.0f |
 | ) |  |  | [static]

Performs a linear sweep through space with the body's geometry objects, returning all overlaps.

Note:
Supported geometries are: box, sphere, capsule, convex. Other geometry types will be ignored.
This function sweeps all shapes attached to a given rigid body through space and reports all objects in the scene that intersect any of the shapes' swept paths until there are no more objects to report or a blocking hit is encountered.

Parameters:
[in] | body | The rigid body to sweep.
[in] | scene | The scene object to process the query.
[in] | unitDir | Normalized direction of the sweep.
[in] | distance | Sweep distance. Needs to be larger than 0.
[in] | outputFlags | Specifies which properties should be written to the hit information.
[out] | touchHitBuffer | Raycast hit information buffer. If the buffer overflows, an arbitrary subset of touch hits is returned (typically the query should be restarted with a larger buffer).
[out] | touchHitShapeIndices | After the query is completed, touchHitShapeIndices[i] will contain the body index that caused the hit stored in hitBuffer[i]
[in] | touchHitBufferSize | Size of both touch hit buffers in elements.
[out] | block | Closest blocking hit is returned via this reference.
[out] | blockingShapeIndex | Set to -1 if if a blocking hit was not found, otherwise set to closest blocking hit shape index. The touching hits are reported separately in hitBuffer.
[out] | overflow | Set to true if touchHitBuffer didn't have enough space for all results. Touch hits will be incomplete if overflow occurred. Possible solution is to restart the query with a larger buffer.
[in] | filterData | If any word in filterData.data is non-zero then filterData.data will be used for filtering, otherwise shape->getQueryFilterData() will be used instead.
[in] | filterCall | Custom filtering logic (optional). Only used if the corresponding PxQueryFlag flags are set. If NULL, all hits are assumed to be blocking.
[in] | cache | Cached hit shape (optional). Ray is tested against cached shape first then against the scene. Note: Filtering is not executed for a cached shape if supplied; instead, if a hit is found, it is assumed to be a blocking hit.
[in] | inflation | This parameter creates a skin around the swept geometry which increases its extents for sweeping. The sweep will register a hit as soon as the skin touches a shape, and will return the corresponding distance and normal.
Returns:
the number of touching hits. If overflow is set to true, the results are incomplete. In case of overflow there are also no guarantees that all touching hits returned are closer than the blocking hit.
See also:
PxScene PxQueryFlags PxFilterData PxBatchQueryPreFilterShader PxBatchQueryPostFilterShader PxSweepHit

static bool PxRigidBodyExt::linearSweepSingle | ( | PxRigidBody & | body,
 |  | PxScene & | scene,
 |  | const PxVec3 & | unitDir,
 |  | const PxReal | distance,
 |  | PxHitFlags | outputFlags,
 |  | PxSweepHit & | closestHit,
 |  | PxU32 & | shapeIndex,
 |  | const PxQueryFilterData & | filterData = PxQueryFilterData(),
 |  | PxQueryFilterCallback * | filterCall = NULL,
 |  | const PxQueryCache * | cache = NULL,
 |  | const PxReal | inflation = 0.0f |
 | ) |  |  | [static]

Performs a linear sweep through space with the body's geometry objects.

Note:
Supported geometries are: box, sphere, capsule, convex. Other geometry types will be ignored.

If eTOUCH is returned from the filter callback, it will trigger an error and the hit will be discarded.

The function sweeps all shapes attached to a given rigid body through space and reports the nearest object in the scene which intersects any of of the shapes swept paths. Information about the closest intersection is written to a PxSweepHit structure.

Parameters:
[in] | body | The rigid body to sweep.
[in] | scene | The scene object to process the query.
[in] | unitDir | Normalized direction of the sweep.
[in] | distance | Sweep distance. Needs to be larger than 0.
[in] | outputFlags | Specifies which properties should be written to the hit information.
[out] | closestHit | Closest hit result.
[out] | shapeIndex | Index of the body shape that caused the closest hit.
[in] | filterData | If any word in filterData.data is non-zero then filterData.data will be used for filtering, otherwise shape->getQueryFilterData() will be used instead.
[in] | filterCall | Custom filtering logic (optional). Only used if the corresponding PxQueryFlag flags are set. If NULL, all hits are assumed to be blocking.
[in] | cache | Cached hit shape (optional). Ray is tested against cached shape first then against the scene. Note: Filtering is not executed for a cached shape if supplied; instead, if a hit is found, it is assumed to be a blocking hit.
[in] | inflation | This parameter creates a skin around the swept geometry which increases its extents for sweeping. The sweep will register a hit as soon as the skin touches a shape, and will return the corresponding distance and normal.
Returns:
True if a blocking hit was found.
See also:
PxScene PxQueryFlags PxFilterData PxBatchQueryPreFilterShader PxBatchQueryPostFilterShader PxSweepHit

static bool PxRigidBodyExt::setMassAndUpdateInertia | ( | PxRigidBody & | body,
 |  | PxReal | mass,
 |  | const PxVec3 * | massLocalPose = NULL,
 |  | bool | includeNonSimShapes = false |
 | ) |  |  | [static]

Computation of mass properties for a rigid body actor.

This method sets the mass, inertia and center of mass of a rigid body. The mass is set to the user-supplied value, and the inertia and center of mass are computed according to the rigid body's shapes and the input mass.

If no collision shapes are found, the inertia tensor is set to (1,1,1)

See also:
updateMassAndInertia for more details.
Parameters:
[in,out] | body | The rigid body for which to set the mass and centre of mass local pose properties.
[in] | mass | The mass of the body. Must be greater than 0.
[in] | massLocalPose | The center of mass relative to the actor frame. If set to null then (0,0,0) is assumed.
[in] | includeNonSimShapes | True if all kind of shapes (PxShapeFlag::eSCENE_QUERY_SHAPE, PxShapeFlag::eTRIGGER_SHAPE, PxShapeFlag::ePARTICLE_DRAIN) should be taken into account.
Returns:
Boolean. True on success else false.
See also:
PxRigidBody::setCMassLocalPose PxRigidBody::setMassSpaceInertiaTensor PxRigidBody::setMass

static bool PxRigidBodyExt::setMassAndUpdateInertia | ( | PxRigidBody & | body,
 |  | const PxReal * | shapeMasses,
 |  | PxU32 | shapeMassCount,
 |  | const PxVec3 * | massLocalPose = NULL,
 |  | bool | includeNonSimShapes = false |
 | ) |  |  | [static]

Computation of mass properties for a rigid body actor.

This method sets the mass, inertia and center of mass of a rigid body. The mass is set to the sum of all user-supplied shape mass values, and the inertia and center of mass are computed according to the rigid body's shapes and the per shape mass input values.

If no collision shapes are found, the inertia tensor is set to (1,1,1)

Note:
If a single mass value should be used for the actor as a whole then the overloaded method setMassAndUpdateInertia() with a single mass parameter can be used instead.
See also:
updateMassAndInertia for more details.
Parameters:
[in,out] | body | The rigid body for which to set the mass and centre of mass local pose properties.
[in] | shapeMasses | The per shape mass values. There must be one entry for each shape which has the PxShapeFlag::eSIMULATION_SHAPE set. Other shapes are ignored. The mass values must be greater than 0.
[in] | shapeMassCount | The number of provided mass values.
[in] | massLocalPose | The center of mass relative to the actor frame. If set to null then (0,0,0) is assumed.
[in] | includeNonSimShapes | True if all kind of shapes (PxShapeFlag::eSCENE_QUERY_SHAPE, PxShapeFlag::eTRIGGER_SHAPE, PxShapeFlag::ePARTICLE_DRAIN) should be taken into account.
Returns:
Boolean. True on success else false.
See also:
PxRigidBody::setCMassLocalPose PxRigidBody::setMassSpaceInertiaTensor PxRigidBody::setMass

static bool PxRigidBodyExt::updateMassAndInertia | ( | PxRigidBody & | body,
 |  | PxReal | density,
 |  | const PxVec3 * | massLocalPose = NULL,
 |  | bool | includeNonSimShapes = false |
 | ) |  |  | [static]

Computation of mass properties for a rigid body actor.

See previous method for details.

Parameters:
[in,out] | body | The rigid body.
[in] | density | The density of the body. Used to compute the mass of the body. The density must be greater than 0.
[in] | massLocalPose | The center of mass relative to the actor frame. If set to null then (0,0,0) is assumed.
[in] | includeNonSimShapes | True if all kind of shapes (PxShapeFlag::eSCENE_QUERY_SHAPE, PxShapeFlag::eTRIGGER_SHAPE, PxShapeFlag::ePARTICLE_DRAIN) should be taken into account.
Returns:
Boolean. True on success else false.
See also:
PxRigidBody::setMassLocalPose PxRigidBody::setMassSpaceInertiaTensor PxRigidBody::setMass

static bool PxRigidBodyExt::updateMassAndInertia | ( | PxRigidBody & | body,
 |  | const PxReal * | shapeDensities,
 |  | PxU32 | shapeDensityCount,
 |  | const PxVec3 * | massLocalPose = NULL,
 |  | bool | includeNonSimShapes = false |
 | ) |  |  | [static]

Computation of mass properties for a rigid body actor.

To simulate a dynamic rigid actor, the SDK needs a mass and an inertia tensor.

This method offers functionality to compute the necessary mass and inertia properties based on the shapes declared in the PxRigidBody descriptor and some additionally specified parameters. For each shape, the shape geometry, the shape positioning within the actor and the specified shape density are used to compute the body's mass and inertia properties.

  • Shapes without PxShapeFlag::eSIMULATION_SHAPE set are ignored unless includeNonSimShapes is true.
  • Shapes with plane, triangle mesh or heightfield geometry and PxShapeFlag::eSIMULATION_SHAPE set are not allowed for PxRigidBody collision.

This method will set the mass, center of mass, and inertia tensor

if no collision shapes are found, the inertia tensor is set to (1,1,1) and the mass to 1

if massLocalPose is non-NULL, the rigid body's center of mass parameter will be set to the user provided value (massLocalPose) and the inertia tensor will be resolved at that point.

Note:
If all shapes of the actor have the same density then the overloaded method updateMassAndInertia() with a single density parameter can be used instead.
Parameters:
[in,out] | body | The rigid body.
[in] | shapeDensities | The per shape densities. There must be one entry for each shape which has the PxShapeFlag::eSIMULATION_SHAPE set (or for all shapes if includeNonSimShapes is set to true). Other shapes are ignored. The density values must be greater than 0.
[in] | shapeDensityCount | The number of provided density values.
[in] | massLocalPose | The center of mass relative to the actor frame. If set to null then (0,0,0) is assumed.
[in] | includeNonSimShapes | True if all kind of shapes (PxShapeFlag::eSCENE_QUERY_SHAPE, PxShapeFlag::eTRIGGER_SHAPE, PxShapeFlag::ePARTICLE_DRAIN) should be taken into account.
Returns:
Boolean. True on success else false.
See also:
PxRigidBody::setMassLocalPose PxRigidBody::setMassSpaceInertiaTensor PxRigidBody::setMass

The documentation for this class was generated from the following file:
  • PxRigidBodyExt.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSceneQueryExt Class Reference

PxSceneQueryExt Class Reference
[Extensions]

utility functions for use with PxScene, related to scene queries. More...

#include <PxSceneQueryExt.h>

List of all members.

Static Public Member Functions

static bool | raycastAny (const PxScene &scene, const PxVec3 &origin, const PxVec3 &unitDir, const PxReal distance, PxSceneQueryHit &hit, const PxSceneQueryFilterData &filterData=PxSceneQueryFilterData(), PxSceneQueryFilterCallback *filterCall=NULL, const PxSceneQueryCache *cache=NULL, PX_DEPRECATED PxClientID queryClient=PX_DEFAULT_CLIENT)
Raycast returning any blocking hit, not necessarily the closest.
static bool | raycastSingle (const PxScene &scene, const PxVec3 &origin, const PxVec3 &unitDir, const PxReal distance, PxSceneQueryFlags outputFlags, PxRaycastHit &hit, const PxSceneQueryFilterData &filterData=PxSceneQueryFilterData(), PxSceneQueryFilterCallback *filterCall=NULL, const PxSceneQueryCache *cache=NULL, PX_DEPRECATED PxClientID queryClient=PX_DEFAULT_CLIENT)
Raycast returning a single result.
static PxI32 | raycastMultiple (const PxScene &scene, const PxVec3 &origin, const PxVec3 &unitDir, const PxReal distance, PxSceneQueryFlags outputFlags, PxRaycastHit *hitBuffer, PxU32 hitBufferSize, bool &blockingHit, const PxSceneQueryFilterData &filterData=PxSceneQueryFilterData(), PxSceneQueryFilterCallback *filterCall=NULL, const PxSceneQueryCache *cache=NULL, PX_DEPRECATED PxClientID queryClient=PX_DEFAULT_CLIENT)
Raycast returning multiple results.
static bool | sweepAny (const PxScene &scene, const PxGeometry &geometry, const PxTransform &pose, const PxVec3 &unitDir, const PxReal distance, PxSceneQueryFlags queryFlags, PxSceneQueryHit &hit, const PxSceneQueryFilterData &filterData=PxSceneQueryFilterData(), PxSceneQueryFilterCallback *filterCall=NULL, const PxSceneQueryCache *cache=NULL, PX_DEPRECATED PxClientID queryClient=PX_DEFAULT_CLIENT, PxReal inflation=0.0f)
Sweep returning any blocking hit, not necessarily the closest.
static bool | sweepSingle (const PxScene &scene, const PxGeometry &geometry, const PxTransform &pose, const PxVec3 &unitDir, const PxReal distance, PxSceneQueryFlags outputFlags, PxSweepHit &hit, const PxSceneQueryFilterData &filterData=PxSceneQueryFilterData(), PxSceneQueryFilterCallback *filterCall=NULL, const PxSceneQueryCache *cache=NULL, PX_DEPRECATED PxClientID queryClient=PX_DEFAULT_CLIENT, PxReal inflation=0.0f)
Sweep returning a single result.
static PxI32 | sweepMultiple (const PxScene &scene, const PxGeometry &geometry, const PxTransform &pose, const PxVec3 &unitDir, const PxReal distance, PxSceneQueryFlags outputFlags, PxSweepHit *hitBuffer, PxU32 hitBufferSize, bool &blockingHit, const PxSceneQueryFilterData &filterData=PxSceneQueryFilterData(), PxSceneQueryFilterCallback *filterCall=NULL, const PxSceneQueryCache *cache=NULL, PX_DEPRECATED PxClientID queryClient=PX_DEFAULT_CLIENT, PxReal inflation=0.0f)
Sweep returning multiple results.
static PxI32 | overlapMultiple (const PxScene &scene, const PxGeometry &geometry, const PxTransform &pose, PxOverlapHit *hitBuffer, PxU32 hitBufferSize, const PxSceneQueryFilterData &filterData=PxSceneQueryFilterData(), PxSceneQueryFilterCallback *filterCall=NULL, PX_DEPRECATED PxClientID queryClient=PX_DEFAULT_CLIENT)
Test overlap between a geometry and objects in the scene.
static bool | overlapAny (const PxScene &scene, const PxGeometry &geometry, const PxTransform &pose, PxOverlapHit &hit, const PxSceneQueryFilterData &filterData=PxSceneQueryFilterData(), PxSceneQueryFilterCallback *filterCall=NULL, PX_DEPRECATED PxClientID queryClient=PX_DEFAULT_CLIENT)
Test returning, for a given geometry, any overlapping object in the scene.

Detailed Description

utility functions for use with PxScene, related to scene queries.

Some of these functions have been deprecated (removed) in PhysX 3.4. We re-implement them here for easy migration from 3.3 to 3.4.

See also:
PxShape

Member Function Documentation

static bool PxSceneQueryExt::overlapAny | ( | const PxScene & | scene,
 |  | const PxGeometry & | geometry,
 |  | const PxTransform & | pose,
 |  | PxOverlapHit & | hit,
 |  | const PxSceneQueryFilterData & | filterData = PxSceneQueryFilterData(),
 |  | PxSceneQueryFilterCallback * | filterCall = NULL,
 |  | PX_DEPRECATED PxClientID | queryClient = PX_DEFAULT_CLIENT |
 | ) |  |  | [static]

Test returning, for a given geometry, any overlapping object in the scene.

Note:
Filtering: Overlap tests do not distinguish between touching and blocking hit types. Both trigger a hit.

PxHitFlag::eMESH_MULTIPLE and PxHitFlag::eMESH_BOTH_SIDES have no effect in this case

Parameters:
[in] | scene | The scene
[in] | geometry | Geometry of object to check for overlap (supported types are: box, sphere, capsule, convex).
[in] | pose | Pose of the object.
[out] | hit | Pointer to store the overlapping object to.
[in] | filterData | Filtering data and simple logic.
[in] | filterCall | Custom filtering logic (optional). Only used if the corresponding PxHitFlag flags are set. If NULL, all hits are assumed to overlap.
[in] | queryClient | ID of the client doing the query
Returns:
True if an overlap was found.
Deprecated:
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4
See also:
PxSceneQueryFlags PxSceneQueryFilterData PxSceneQueryFilterCallback

static PxI32 PxSceneQueryExt::overlapMultiple | ( | const PxScene & | scene,
 |  | const PxGeometry & | geometry,
 |  | const PxTransform & | pose,
 |  | PxOverlapHit * | hitBuffer,
 |  | PxU32 | hitBufferSize,
 |  | const PxSceneQueryFilterData & | filterData = PxSceneQueryFilterData(),
 |  | PxSceneQueryFilterCallback * | filterCall = NULL,
 |  | PX_DEPRECATED PxClientID | queryClient = PX_DEFAULT_CLIENT |
 | ) |  |  | [static]

Test overlap between a geometry and objects in the scene.

Note:
Filtering: Overlap tests do not distinguish between touching and blocking hit types. Both get written to the hit buffer.

PxHitFlag::eMESH_MULTIPLE and PxHitFlag::eMESH_BOTH_SIDES have no effect in this case

Parameters:
[in] | scene | The scene
[in] | geometry | Geometry of object to check for overlap (supported types are: box, sphere, capsule, convex).
[in] | pose | Pose of the object.
[out] | hitBuffer | Buffer to store the overlapping objects to. If the buffer overflows, an arbitrary subset of overlapping objects is stored (typically the query should be restarted with a larger buffer).
[in] | hitBufferSize | Size of the hit buffer.
[in] | filterData | Filtering data and simple logic.
[in] | filterCall | Custom filtering logic (optional). Only used if the corresponding PxHitFlag flags are set. If NULL, all hits are assumed to overlap.
[in] | queryClient | ID of the client doing the query
Returns:
Number of hits in the buffer, or -1 if the buffer overflowed.
Deprecated:
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4
See also:
PxSceneQueryFlags PxSceneQueryFilterData PxSceneQueryFilterCallback

static bool PxSceneQueryExt::raycastAny | ( | const PxScene & | scene,
 |  | const PxVec3 & | origin,
 |  | const PxVec3 & | unitDir,
 |  | const PxReal | distance,
 |  | PxSceneQueryHit & | hit,
 |  | const PxSceneQueryFilterData & | filterData = PxSceneQueryFilterData(),
 |  | PxSceneQueryFilterCallback * | filterCall = NULL,
 |  | const PxSceneQueryCache * | cache = NULL,
 |  | PX_DEPRECATED PxClientID | queryClient = PX_DEFAULT_CLIENT |
 | ) |  |  | [static]

Raycast returning any blocking hit, not necessarily the closest.

Returns whether any rigid actor is hit along the ray.

Note:
Shooting a ray from within an object leads to different results depending on the shape type. Please check the details in article SceneQuery. User can ignore such objects by using one of the provided filter mechanisms.
Parameters:
[in] | scene | The scene
[in] | origin | Origin of the ray.
[in] | unitDir | Normalized direction of the ray.
[in] | distance | Length of the ray. Needs to be larger than 0.
[out] | hit | Raycast hit information.
[in] | filterData | Filtering data and simple logic.
[in] | filterCall | Custom filtering logic (optional). Only used if the corresponding PxHitFlag flags are set. If NULL, all hits are assumed to be blocking.
[in] | cache | Cached hit shape (optional). Ray is tested against cached shape first. If no hit is found the ray gets queried against the scene. Note: Filtering is not executed for a cached shape if supplied; instead, if a hit is found, it is assumed to be a blocking hit. Note: Using past touching hits as cache will produce incorrect behavior since the cached hit will always be treated as blocking.
[in] | queryClient | ID of the client doing the query
Returns:
True if a blocking hit was found.
Deprecated:
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4
See also:
PxSceneQueryFilterData PxSceneQueryFilterCallback PxSceneQueryCache PxSceneQueryHit

static PxI32 PxSceneQueryExt::raycastMultiple | ( | const PxScene & | scene,
 |  | const PxVec3 & | origin,
 |  | const PxVec3 & | unitDir,
 |  | const PxReal | distance,
 |  | PxSceneQueryFlags | outputFlags,
 |  | PxRaycastHit * | hitBuffer,
 |  | PxU32 | hitBufferSize,
 |  | bool & | blockingHit,
 |  | const PxSceneQueryFilterData & | filterData = PxSceneQueryFilterData(),
 |  | PxSceneQueryFilterCallback * | filterCall = NULL,
 |  | const PxSceneQueryCache * | cache = NULL,
 |  | PX_DEPRECATED PxClientID | queryClient = PX_DEFAULT_CLIENT |
 | ) |  |  | [static]

Raycast returning multiple results.

Find all rigid actors that get hit along the ray. Each result contains data as specified by the outputFlags field.

Note:
Touching hits are not ordered.

Shooting a ray from within an object leads to different results depending on the shape type. Please check the details in article SceneQuery. User can ignore such objects by using one of the provided filter mechanisms.

Parameters:
[in] | scene | The scene
[in] | origin | Origin of the ray.
[in] | unitDir | Normalized direction of the ray.
[in] | distance | Length of the ray. Needs to be larger than 0.
[in] | outputFlags | Specifies which properties should be written to the hit information
[out] | hitBuffer | Raycast hit information buffer. If the buffer overflows, the blocking hit is returned as the last entry together with an arbitrary subset of the nearer touching hits (typically the query should be restarted with a larger buffer).
[in] | hitBufferSize | Size of the hit buffer.
[out] | blockingHit | True if a blocking hit was found. If found, it is the last in the buffer, preceded by any touching hits which are closer. Otherwise the touching hits are listed.
[in] | filterData | Filtering data and simple logic.
[in] | filterCall | Custom filtering logic (optional). Only used if the corresponding PxHitFlag flags are set. If NULL, all hits are assumed to be touching.
[in] | cache | Cached hit shape (optional). Ray is tested against cached shape first then against the scene. Note: Filtering is not executed for a cached shape if supplied; instead, if a hit is found, it is assumed to be a blocking hit. Note: Using past touching hits as cache will produce incorrect behavior since the cached hit will always be treated as blocking.
[in] | queryClient | ID of the client doing the query
Returns:
Number of hits in the buffer, or -1 if the buffer overflowed.
Deprecated:
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4
See also:
PxSceneQueryFlags PxRaycastHit PxSceneQueryFilterData PxSceneQueryFilterCallback PxSceneQueryCache

static bool PxSceneQueryExt::raycastSingle | ( | const PxScene & | scene,
 |  | const PxVec3 & | origin,
 |  | const PxVec3 & | unitDir,
 |  | const PxReal | distance,
 |  | PxSceneQueryFlags | outputFlags,
 |  | PxRaycastHit & | hit,
 |  | const PxSceneQueryFilterData & | filterData = PxSceneQueryFilterData(),
 |  | PxSceneQueryFilterCallback * | filterCall = NULL,
 |  | const PxSceneQueryCache * | cache = NULL,
 |  | PX_DEPRECATED PxClientID | queryClient = PX_DEFAULT_CLIENT |
 | ) |  |  | [static]

Raycast returning a single result.

Returns the first rigid actor that is hit along the ray. Data for a blocking hit will be returned as specified by the outputFlags field. Touching hits will be ignored.

Note:
Shooting a ray from within an object leads to different results depending on the shape type. Please check the details in article SceneQuery. User can ignore such objects by using one of the provided filter mechanisms.
Parameters:
[in] | scene | The scene
[in] | origin | Origin of the ray.
[in] | unitDir | Normalized direction of the ray.
[in] | distance | Length of the ray. Needs to be larger than 0.
[in] | outputFlags | Specifies which properties should be written to the hit information
[out] | hit | Raycast hit information.
[in] | filterData | Filtering data and simple logic.
[in] | filterCall | Custom filtering logic (optional). Only used if the corresponding PxHitFlag flags are set. If NULL, all hits are assumed to be blocking.
[in] | cache | Cached hit shape (optional). Ray is tested against cached shape first then against the scene. Note: Filtering is not executed for a cached shape if supplied; instead, if a hit is found, it is assumed to be a blocking hit. Note: Using past touching hits as cache will produce incorrect behavior since the cached hit will always be treated as blocking.
[in] | queryClient | ID of the client doing the query
Returns:
True if a blocking hit was found.
Deprecated:
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4
See also:
PxSceneQueryFlags PxRaycastHit PxSceneQueryFilterData PxSceneQueryFilterCallback PxSceneQueryCache

static bool PxSceneQueryExt::sweepAny | ( | const PxScene & | scene,
 |  | const PxGeometry & | geometry,
 |  | const PxTransform & | pose,
 |  | const PxVec3 & | unitDir,
 |  | const PxReal | distance,
 |  | PxSceneQueryFlags | queryFlags,
 |  | PxSceneQueryHit & | hit,
 |  | const PxSceneQueryFilterData & | filterData = PxSceneQueryFilterData(),
 |  | PxSceneQueryFilterCallback * | filterCall = NULL,
 |  | const PxSceneQueryCache * | cache = NULL,
 |  | PX_DEPRECATED PxClientID | queryClient = PX_DEFAULT_CLIENT,
 |  | PxReal | inflation = 0.0f |
 | ) |  |  | [static]

Sweep returning any blocking hit, not necessarily the closest.

Returns whether any rigid actor is hit along the sweep path.

Note:
If a shape from the scene is already overlapping with the query shape in its starting position, behavior is controlled by the PxSceneQueryFlag::eINITIAL_OVERLAP flag.
Parameters:
[in] | scene | The scene
[in] | geometry | Geometry of object to sweep (supported types are: box, sphere, capsule, convex).
[in] | pose | Pose of the sweep object.
[in] | unitDir | Normalized direction of the sweep.
[in] | distance | Sweep distance. Needs to be larger than 0. Will be clamped to PX_MAX_SWEEP_DISTANCE.
[in] | queryFlags | Combination of PxSceneQueryFlag defining the query behavior
[out] | hit | Sweep hit information.
[in] | filterData | Filtering data and simple logic.
[in] | filterCall | Custom filtering logic (optional). Only used if the corresponding PxHitFlag flags are set. If NULL, all hits are assumed to be blocking.
[in] | cache | Cached hit shape (optional). Sweep is performed against cached shape first. If no hit is found the sweep gets queried against the scene. Note: Filtering is not executed for a cached shape if supplied; instead, if a hit is found, it is assumed to be a blocking hit. Note: Using past touching hits as cache will produce incorrect behavior since the cached hit will always be treated as blocking.
[in] | queryClient | ID of the client doing the query
[in] | inflation | This parameter creates a skin around the swept geometry which increases its extents for sweeping. The sweep will register a hit as soon as the skin touches a shape, and will return the corresponding distance and normal.
Returns:
True if a blocking hit was found.
Deprecated:
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4
See also:
PxSceneQueryFilterData PxSceneQueryFilterCallback PxSceneQueryHit PxSceneQueryCache

static PxI32 PxSceneQueryExt::sweepMultiple | ( | const PxScene & | scene,
 |  | const PxGeometry & | geometry,
 |  | const PxTransform & | pose,
 |  | const PxVec3 & | unitDir,
 |  | const PxReal | distance,
 |  | PxSceneQueryFlags | outputFlags,
 |  | PxSweepHit * | hitBuffer,
 |  | PxU32 | hitBufferSize,
 |  | bool & | blockingHit,
 |  | const PxSceneQueryFilterData & | filterData = PxSceneQueryFilterData(),
 |  | PxSceneQueryFilterCallback * | filterCall = NULL,
 |  | const PxSceneQueryCache * | cache = NULL,
 |  | PX_DEPRECATED PxClientID | queryClient = PX_DEFAULT_CLIENT,
 |  | PxReal | inflation = 0.0f |
 | ) |  |  | [static]

Sweep returning multiple results.

Find all rigid actors that get hit along the sweep. Each result contains data as specified by the outputFlags field.

Note:
Touching hits are not ordered.

If a shape from the scene is already overlapping with the query shape in its starting position, behavior is controlled by the PxSceneQueryFlag::eINITIAL_OVERLAP flag.

Parameters:
[in] | scene | The scene
[in] | geometry | Geometry of object to sweep (supported types are: box, sphere, capsule, convex).
[in] | pose | Pose of the sweep object.
[in] | unitDir | Normalized direction of the sweep.
[in] | distance | Sweep distance. Needs to be larger than 0. Will be clamped to PX_MAX_SWEEP_DISTANCE.
[in] | outputFlags | Specifies which properties should be written to the hit information.
[out] | hitBuffer | Sweep hit information buffer. If the buffer overflows, the blocking hit is returned as the last entry together with an arbitrary subset of the nearer touching hits (typically the query should be restarted with a larger buffer).
[in] | hitBufferSize | Size of the hit buffer.
[out] | blockingHit | True if a blocking hit was found. If found, it is the last in the buffer, preceded by any touching hits which are closer. Otherwise the touching hits are listed.
[in] | filterData | Filtering data and simple logic.
[in] | filterCall | Custom filtering logic (optional). Only used if the corresponding PxHitFlag flags are set. If NULL, all hits are assumed to be touching.
[in] | cache | Cached hit shape (optional). Sweep is performed against cached shape first then against the scene. Note: Filtering is not executed for a cached shape if supplied; instead, if a hit is found, it is assumed to be a blocking hit. Note: Using past touching hits as cache will produce incorrect behavior since the cached hit will always be treated as blocking.
[in] | queryClient | ID of the client doing the query
[in] | inflation | This parameter creates a skin around the swept geometry which increases its extents for sweeping. The sweep will register a hit as soon as the skin touches a shape, and will return the corresponding distance and normal.
Returns:
Number of hits in the buffer, or -1 if the buffer overflowed.
Deprecated:
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4
See also:
PxSceneQueryFlags PxSweepHit PxSceneQueryFilterData PxSceneQueryFilterCallback PxSceneQueryCache

static bool PxSceneQueryExt::sweepSingle | ( | const PxScene & | scene,
 |  | const PxGeometry & | geometry,
 |  | const PxTransform & | pose,
 |  | const PxVec3 & | unitDir,
 |  | const PxReal | distance,
 |  | PxSceneQueryFlags | outputFlags,
 |  | PxSweepHit & | hit,
 |  | const PxSceneQueryFilterData & | filterData = PxSceneQueryFilterData(),
 |  | PxSceneQueryFilterCallback * | filterCall = NULL,
 |  | const PxSceneQueryCache * | cache = NULL,
 |  | PX_DEPRECATED PxClientID | queryClient = PX_DEFAULT_CLIENT,
 |  | PxReal | inflation = 0.0f |
 | ) |  |  | [static]

Sweep returning a single result.

Returns the first rigid actor that is hit along the ray. Data for a blocking hit will be returned as specified by the outputFlags field. Touching hits will be ignored.

Note:
If a shape from the scene is already overlapping with the query shape in its starting position, behavior is controlled by the PxSceneQueryFlag::eINITIAL_OVERLAP flag.
Parameters:
[in] | scene | The scene
[in] | geometry | Geometry of object to sweep (supported types are: box, sphere, capsule, convex).
[in] | pose | Pose of the sweep object.
[in] | unitDir | Normalized direction of the sweep.
[in] | distance | Sweep distance. Needs to be larger than 0. Will be clamped to PX_MAX_SWEEP_DISTANCE.
[in] | outputFlags | Specifies which properties should be written to the hit information.
[out] | hit | Sweep hit information.
[in] | filterData | Filtering data and simple logic.
[in] | filterCall | Custom filtering logic (optional). Only used if the corresponding PxHitFlag flags are set. If NULL, all hits are assumed to be blocking.
[in] | cache | Cached hit shape (optional). Sweep is performed against cached shape first then against the scene. Note: Filtering is not executed for a cached shape if supplied; instead, if a hit is found, it is assumed to be a blocking hit. Note: Using past touching hits as cache will produce incorrect behavior since the cached hit will always be treated as blocking.
[in] | queryClient | ID of the client doing the query
[in] | inflation | This parameter creates a skin around the swept geometry which increases its extents for sweeping. The sweep will register a hit as soon as the skin touches a shape, and will return the corresponding distance and normal.
Returns:
True if a blocking hit was found.
Deprecated:
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4
See also:
PxSceneQueryFlags PxSweepHit PxSceneQueryFilterData PxSceneQueryFilterCallback PxSceneQueryCache

The documentation for this class was generated from the following file:
  • PxSceneQueryExt.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSerialization Class Reference

PxSerialization Class Reference
[Extensions]

Utility functions for serialization. More...

#include <PxSerialization.h>

List of all members.

Classes

struct | PxXmlMiscParameter
Additional PxScene and PxPhysics options stored in XML serialized data. More...

Static Public Member Functions

static bool | isSerializable (PxCollection &collection, PxSerializationRegistry &sr, const PxCollection *externalReferences=NULL)
Returns whether the collection is serializable with the externalReferences collection.
static void | complete (PxCollection &collection, PxSerializationRegistry &sr, const PxCollection *exceptFor=NULL, bool followJoints=false)
Adds to a collection all objects such that it can be successfully serialized.
static void | createSerialObjectIds (PxCollection &collection, const PxSerialObjectId base)
Creates PxSerialObjectId values for unnamed objects in a collection.
static PxCollection * | createCollectionFromXml (PxInputData &inputData, PxCooking &cooking, PxSerializationRegistry &sr, const PxCollection *externalRefs=NULL, PxStringTable *stringTable=NULL, PxXmlMiscParameter *outArgs=NULL)
Creates a PxCollection from XML data.
static PxCollection * | createCollectionFromBinary (void *memBlock, PxSerializationRegistry &sr, const PxCollection *externalRefs=NULL)
Deserializes a PxCollection from memory.
static bool | serializeCollectionToXml (PxOutputStream &outputStream, PxCollection &collection, PxSerializationRegistry &sr, PxCooking *cooking=NULL, const PxCollection *externalRefs=NULL, PxXmlMiscParameter *inArgs=NULL)
Serializes a physics collection to an XML output stream.
static bool | serializeCollectionToBinary (PxOutputStream &outputStream, PxCollection &collection, PxSerializationRegistry &sr, const PxCollection *externalRefs=NULL, bool exportNames=false)
Serializes a collection to a binary stream.
static void | dumpBinaryMetaData (PxOutputStream &outputStream, PxSerializationRegistry &sr)
Dumps the binary meta-data to a stream.
static PxBinaryConverter * | createBinaryConverter ()
Creates binary converter for re-targeting binary-serialized data.
static PxSerializationRegistry * | createSerializationRegistry (PxPhysics &physics)
Creates an application managed registry for serialization.

Detailed Description

Utility functions for serialization.

See also:
PxCollection, PxSerializationRegistry

Member Function Documentation

static void PxSerialization::complete | ( | PxCollection & | collection,
 |  | PxSerializationRegistry & | sr,
 |  | const PxCollection * | exceptFor = NULL,
 |  | bool | followJoints = false |
 | ) |  |  | [static]

Adds to a collection all objects such that it can be successfully serialized.

A collection C is complete relative to an other collection D if every object required by C is either in C or D. This function adds objects to a collection, such that it becomes complete with respect to the exceptFor collection. Completeness is needed for serialization. See PxSerialization::serializeCollectionToBinary, PxSerialization::serializeCollectionToXml.

Sdk objects require other sdk object according to the following rules:

  • joints require their actors and constraint
  • rigid actors require their shapes
  • shapes require their material(s) and mesh (triangle mesh, convex mesh or height field), if any
  • articulations require their links and joints
  • aggregates require their actors
  • cloth actors require their cloth fabric

If followJoints is specified another rule is added:

  • actors require their joints

Specifying followJoints will make whole jointed actor chains being added to the collection. Following chains is interrupted whenever a object in exceptFor is encountered.

Parameters:
[in,out] | collection | Collection which is completed
[in] | sr | PxSerializationRegistry instance with information about registered classes.
[in] | exceptFor | Optional exemption collection
[in] | followJoints | Specifies whether joints should be added for jointed actors
See also:
PxCollection, PxSerialization::serializeCollectionToBinary, PxSerialization::serializeCollectionToXml, PxSerializationRegistry

static PxBinaryConverter* PxSerialization::createBinaryConverter ( ) [static]

Creates binary converter for re-targeting binary-serialized data.

Returns:
Binary converter instance.

static PxCollection* PxSerialization::createCollectionFromBinary | ( | void * | memBlock,
 |  | PxSerializationRegistry & | sr,
 |  | const PxCollection * | externalRefs = NULL |
 | ) |  |  | [static]

Deserializes a PxCollection from memory.

Creates a collection from memory. If the collection has external dependencies another collection can be provided to resolve these.

The memory block provided has to be 128 bytes aligned and contain a contiguous serialized collection as written by PxSerialization::serializeCollectionToBinary. The contained binary data needs to be compatible with the current binary format version which is defined by "PX_PHYSICS_VERSION_MAJOR.PX_PHYSICS_VERSION_MINOR.PX_PHYSICS_VERSION_BUGFIX-PX_BINARY_SERIAL_VERSION". For a list of compatible sdk releases refer to the documentation of PX_BINARY_SERIAL_VERSION.

Parameters:
[in] | memBlock | Pointer to memory block containing the serialized collection
[in] | sr | PxSerializationRegistry instance with information about registered classes.
[in] | externalRefs | Collection to resolve external dependencies
See also:
PxCollection, PxSerialization::complete, PxSerialization::serializeCollectionToBinary, PxSerializationRegistry, PX_BINARY_SERIAL_VERSION

static PxCollection* PxSerialization::createCollectionFromXml | ( | PxInputData & | inputData,
 |  | PxCooking & | cooking,
 |  | PxSerializationRegistry & | sr,
 |  | const PxCollection * | externalRefs = NULL,
 |  | PxStringTable * | stringTable = NULL,
 |  | PxXmlMiscParameter * | outArgs = NULL |
 | ) |  |  | [static]

Creates a PxCollection from XML data.

Parameters:
inputData | The input data containing the XML collection.
cooking | PxCooking instance used for sdk object instantiation.
sr | PxSerializationRegistry instance with information about registered classes.
externalRefs | PxCollection used to resolve external references.
stringTable | PxStringTable instance used for storing object names.
outArgs | Optional parameters of physics and scene deserialized from XML. See PxSerialization::PxXmlMiscParameter
Returns:
a pointer to a PxCollection if successful or NULL if it failed.
See also:
PxCollection, PxSerializationRegistry, PxInputData, PxStringTable, PxCooking, PxSerialization::PxXmlMiscParameter

static PxSerializationRegistry* PxSerialization::createSerializationRegistry ( PxPhysics & physics ) [static]

Creates an application managed registry for serialization.

Parameters:
[in] physics Physics SDK to generate create serialization registry
Returns:
PxSerializationRegistry instance.
See also:
PxSerializationRegistry

static void PxSerialization::createSerialObjectIds | ( | PxCollection & | collection,
 |  | const PxSerialObjectId | base |
 | ) |  |  | [static]

Creates PxSerialObjectId values for unnamed objects in a collection.

Creates PxSerialObjectId names for unnamed objects in a collection starting at a base value and incrementing, skipping values that are already assigned to objects in the collection.

Parameters:
[in,out] | collection | Collection for which names are created
[in] | base | Start address for PxSerialObjectId names
See also:
PxCollection

static void PxSerialization::dumpBinaryMetaData | ( | PxOutputStream & | outputStream,
 |  | PxSerializationRegistry & | sr |
 | ) |  |  | [static]

Dumps the binary meta-data to a stream.

A meta-data file contains information about the SDK's internal classes and about custom user types ready for serialization. Such a file is needed to convert binary-serialized data from one platform to another (re-targeting). The converter needs meta-data files for the source and target platforms to perform conversions.

Custom user types can be supported with PxSerializationRegistry::registerBinaryMetaDataCallback (see the guide for more information).

Parameters:
[out] | outputStream | Stream to write meta data to
[in] | sr | PxSerializationRegistry instance with information about registered classes used for conversion.
See also:
PxOutputStream, PxSerializationRegistry

static bool PxSerialization::isSerializable | ( | PxCollection & | collection,
 |  | PxSerializationRegistry & | sr,
 |  | const PxCollection * | externalReferences = NULL |
 | ) |  |  | [static]

Returns whether the collection is serializable with the externalReferences collection.

Some definitions to explain whether a collection can be serialized or not:

For definitions of requires and complete see PxSerialization::complete

A serializable object is subordinate if it cannot be serialized on its own The following objects are subordinate:

  • articulation links
  • articulation joints
  • joints

A collection C can be serialized with external references collection D iff

  • C is complete relative to D (no dangling references)
  • Every object in D required by an object in C has a valid ID (no unnamed references)
  • Every subordinate object in C is required by another object in C (no orphans)

Parameters:
[in] | collection | Collection to be checked
[in] | sr | PxSerializationRegistry instance with information about registered classes.
[in] | externalReferences | the external References collection
Returns:
Whether the collection is serializable
See also:
PxSerialization::complete, PxSerialization::serializeCollectionToBinary, PxSerialization::serializeCollectionToXml, PxSerializationRegistry

static bool PxSerialization::serializeCollectionToBinary | ( | PxOutputStream & | outputStream,
 |  | PxCollection & | collection,
 |  | PxSerializationRegistry & | sr,
 |  | const PxCollection * | externalRefs = NULL,
 |  | bool | exportNames = false |
 | ) |  |  | [static]

Serializes a collection to a binary stream.

Serializes a collection to a stream. In order to resolve external dependencies the externalReferences collection has to be provided. Optionally names of objects that where set for example with PxActor::setName are serialized along with the objects.

The collection can be successfully serialized if isSerializable(collection) returns true. See isSerializable.

The implementation of the output stream needs to fulfill the requirements on the memory block input taken by PxSerialization::createCollectionFromBinary.

Note:
Serialization of objects in a scene that is simultaneously being simulated is not supported and leads to undefined behavior.
Parameters:
[out] | outputStream | into which the collection is serialized
[in] | collection | Collection to be serialized
[in] | sr | PxSerializationRegistry instance with information about registered classes.
[in] | externalRefs | Collection used to resolve external dependencies
[in] | exportNames | Specifies whether object names are serialized
Returns:
Whether serialization was successful
See also:
PxCollection, PxOutputStream, PxSerialization::complete, PxSerialization::createCollectionFromBinary, PxSerializationRegistry

static bool PxSerialization::serializeCollectionToXml | ( | PxOutputStream & | outputStream,
 |  | PxCollection & | collection,
 |  | PxSerializationRegistry & | sr,
 |  | PxCooking * | cooking = NULL,
 |  | const PxCollection * | externalRefs = NULL,
 |  | PxXmlMiscParameter * | inArgs = NULL |
 | ) |  |  | [static]

Serializes a physics collection to an XML output stream.

The collection to be serialized needs to be complete

See also:
PxSerialization.complete. Optionally the XML may contain meshes in binary cooked format for fast loading. It does this when providing a valid non-null PxCooking pointer.
Note:
Serialization of objects in a scene that is simultaneously being simulated is not supported and leads to undefined behavior.
Parameters:
outputStream | Stream to save collection to.
collection | PxCollection instance which is serialized. The collection needs to be complete with respect to the externalRefs collection.
sr | PxSerializationRegistry instance with information about registered classes.
cooking | Optional pointer to cooking instance. If provided, cooked mesh data is cached for fast loading.
externalRefs | Collection containing external references.
inArgs | Optional parameters of physics and scene serialized to XML along with the collection. See PxSerialization::PxXmlMiscParameter
Returns:
true if the collection is successfully serialized.
See also:
PxCollection, PxOutputStream, PxSerializationRegistry, PxCooking, PxSerialization::PxXmlMiscParameter

The documentation for this class was generated from the following file:
  • PxSerialization.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxShapeExt Class Reference

PxShapeExt Class Reference
[Extensions]

utility functions for use with PxShape More...

#include <PxShapeExt.h>

List of all members.

Static Public Member Functions

static PX_INLINE PxTransform | getGlobalPose (const PxShape &shape, const PxRigidActor &actor)
Retrieves the world space pose of the shape.
static PX_INLINE PxU32 | raycast (const PxShape &shape, const PxRigidActor &actor, const PxVec3 &rayOrigin, const PxVec3 &rayDir, PxReal maxDist, PxHitFlags hitFlags, PxU32 maxHits, PxRaycastHit *rayHits)
Raycast test against the shape.
static PX_INLINE bool | overlap (const PxShape &shape, const PxRigidActor &actor, const PxGeometry &otherGeom, const PxTransform &otherGeomPose)
Test overlap between the shape and a geometry object.
static PX_INLINE bool | sweep (const PxShape &shape, const PxRigidActor &actor, const PxVec3 &unitDir, const PxReal distance, const PxGeometry &otherGeom, const PxTransform &otherGeomPose, PxSweepHit &sweepHit, PxHitFlags hitFlags)
Sweep a geometry object against the shape.
static PX_INLINE PxBounds3 | getWorldBounds (const PxShape &shape, const PxRigidActor &actor, float inflation=1.01f)
Retrieves the axis aligned bounding box enclosing the shape.

Detailed Description

utility functions for use with PxShape

See also:
PxShape

Member Function Documentation

static PX_INLINE PxTransform PxShapeExt::getGlobalPose | ( | const PxShape & | shape,
 |  | const PxRigidActor & | actor |
 | ) |  |  | [inline, static]

Retrieves the world space pose of the shape.

Parameters:
[in] | shape | The shape for which to get the global pose.
[in] | actor | The actor to which the shape is attached
Returns:
Global pose of shape.

References PxRigidActor::getGlobalPose(), and PxShape::getLocalPose().

static PX_INLINE PxBounds3 PxShapeExt::getWorldBounds | ( | const PxShape & | shape,
 |  | const PxRigidActor & | actor,
 |  | float | inflation = 1.01f |
 | ) |  |  | [inline, static]

Retrieves the axis aligned bounding box enclosing the shape.

Returns:
The shape's bounding box.
Parameters:
[in] | shape | the shape
[in] | actor | the actor to which the shape is attached
[in] | inflation | Scale factor for computed world bounds. Box extents are multiplied by this value.
See also:
PxBounds3

References PxGeometryHolder::any(), PxShape::getGeometry(), and PxGeometryQuery::getWorldBounds().

static PX_INLINE bool PxShapeExt::overlap | ( | const PxShape & | shape,
 |  | const PxRigidActor & | actor,
 |  | const PxGeometry & | otherGeom,
 |  | const PxTransform & | otherGeomPose |
 | ) |  |  | [inline, static]

Test overlap between the shape and a geometry object.

Parameters:
[in] | shape | the shape
[in] | actor | the actor to which the shape is attached
[in] | otherGeom | The other geometry object to test overlap with
[in] | otherGeomPose | Pose of the other geometry object
Returns:
True if the shape overlaps the geometry object
See also:
PxGeometry PxTransform

References PxGeometryHolder::any(), PxShape::getGeometry(), and PxGeometryQuery::overlap().

static PX_INLINE PxU32 PxShapeExt::raycast | ( | const PxShape & | shape,
 |  | const PxRigidActor & | actor,
 |  | const PxVec3 & | rayOrigin,
 |  | const PxVec3 & | rayDir,
 |  | PxReal | maxDist,
 |  | PxHitFlags | hitFlags,
 |  | PxU32 | maxHits,
 |  | PxRaycastHit * | rayHits |
 | ) |  |  | [inline, static]

Raycast test against the shape.

Parameters:
[in] | shape | the shape
[in] | actor | the actor to which the shape is attached
[in] | rayOrigin | The origin of the ray to test the geometry object against
[in] | rayDir | The direction of the ray to test the geometry object against
[in] | maxDist | Maximum ray length
[in] | hitFlags | Specify which properties per hit should be computed and written to result hit array. Combination of PxHitFlag flags
[in] | maxHits | max number of returned hits = size of 'rayHits' buffer
[out] | rayHits | Raycast hits information
Returns:
Number of hits between the ray and the shape
See also:
PxRaycastHit PxTransform

References PxGeometryHolder::any(), PxShape::getGeometry(), and PxGeometryQuery::raycast().

static PX_INLINE bool PxShapeExt::sweep | ( | const PxShape & | shape,
 |  | const PxRigidActor & | actor,
 |  | const PxVec3 & | unitDir,
 |  | const PxReal | distance,
 |  | const PxGeometry & | otherGeom,
 |  | const PxTransform & | otherGeomPose,
 |  | PxSweepHit & | sweepHit,
 |  | PxHitFlags | hitFlags |
 | ) |  |  | [inline, static]

Sweep a geometry object against the shape.

Currently only box, sphere, capsule and convex mesh shapes are supported, i.e. the swept geometry object must be one of those types.

Parameters:
[in] | shape | the shape
[in] | actor | the actor to which the shape is attached
[in] | unitDir | Normalized direction along which the geometry object should be swept.
[in] | distance | Sweep distance. Needs to be larger than 0.
[in] | otherGeom | The geometry object to sweep against the shape
[in] | otherGeomPose | Pose of the geometry object
[out] | sweepHit | The sweep hit information. Only valid if this method returns true.
[in] | hitFlags | Specify which properties per hit should be computed and written to result hit array. Combination of PxHitFlag flags
Returns:
True if the swept geometry object hits the shape
See also:
PxGeometry PxTransform PxSweepHit

References PxGeometryHolder::any(), PxShape::getGeometry(), and PxGeometryQuery::sweep().

The documentation for this class was generated from the following file:
  • PxShapeExt.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSphericalJointFlag Struct Reference

PxSphericalJointFlag Struct Reference
[Extensions]

Flags specific to the spherical joint. More...

#include <PxSphericalJoint.h>

List of all members.

Public Types

enum Enum { eLIMIT_ENABLED = 1<<1 }

Detailed Description

Flags specific to the spherical joint.

See also:
PxSphericalJoint

Member Enumeration Documentation

enum PxSphericalJointFlag::Enum

Enumerator:
eLIMIT_ENABLED the cone limit for the spherical joint is enabled

The documentation for this struct was generated from the following file:
  • PxSphericalJoint.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSphericalJoint Class Reference

PxSphericalJoint Class Reference
[Extensions]

A joint which behaves in a similar way to a ball and socket. More...

#include <PxSphericalJoint.h>

Inheritance diagram for PxSphericalJoint:

PxJointPxBase
[legend]
Collaboration diagram for PxSphericalJoint:

PxJointPxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

virtual PxJointLimitCone | getLimitCone () const =0
Set the limit cone.
virtual void | setLimitCone (const PxJointLimitCone &limit)=0
Get the limit cone.
virtual void | setSphericalJointFlags (PxSphericalJointFlags flags)=0
Set the flags specific to the Spherical Joint.
virtual void | setSphericalJointFlag (PxSphericalJointFlag::Enum flag, bool value)=0
Set a single flag specific to a Spherical Joint to true or false.
virtual PxSphericalJointFlags | getSphericalJointFlags (void) const =0
Get the flags specific to the Spherical Joint.
virtual void | setProjectionLinearTolerance (PxReal tolerance)=0
Set the linear tolerance threshold for projection. Projection is enabled if PxConstraintFlag::ePROJECTION is set for the joint.
virtual PxReal | getProjectionLinearTolerance () const =0
Get the linear tolerance threshold for projection.
virtual const char * | getConcreteTypeName () const
Returns string name of PxSphericalJoint, used for serialization.

Protected Member Functions

PX_INLINE | PxSphericalJoint (PxType concreteType, PxBaseFlags baseFlags)
Constructor.
PX_INLINE | PxSphericalJoint (PxBaseFlags baseFlags)
Deserialization constructor.
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Detailed Description

A joint which behaves in a similar way to a ball and socket.

A spherical joint removes all linear degrees of freedom from two objects.

The position of the joint on each actor is specified by the origin of the body's joint frame.

A spherical joint may have a cone limit, to restrict the motion to within a certain range. In addition, the bodies may be projected together if the distance between them exceeds a given threshold.

Projection, drive and limits are activated by setting the appropriate flags on the joint.

See also:
PxRevoluteJointCreate() PxJoint

Constructor & Destructor Documentation

PX_INLINE PxSphericalJoint::PxSphericalJoint | ( | PxType | concreteType,
 |  | PxBaseFlags | baseFlags |
 | ) |  |  | [inline, protected]

Constructor.

PX_INLINE PxSphericalJoint::PxSphericalJoint ( PxBaseFlags baseFlags ) [inline, protected]

Deserialization constructor.

Member Function Documentation

virtual const char* PxSphericalJoint::getConcreteTypeName ( ) const [inline, virtual]

Returns string name of PxSphericalJoint, used for serialization.

Implements PxBase.

virtual PxJointLimitCone PxSphericalJoint::getLimitCone ( ) const [pure virtual]

Set the limit cone.

If enabled, the limit cone will constrain the angular movement of the joint to lie within an elliptical cone.

Returns:
the limit cone
See also:
PxJointLimitCone setLimit()

virtual PxReal PxSphericalJoint::getProjectionLinearTolerance ( ) const [pure virtual]

Get the linear tolerance threshold for projection.

Returns:
the linear tolerance threshold
See also:
setProjectionLinearTolerance()

virtual PxSphericalJointFlags PxSphericalJoint::getSphericalJointFlags ( void ) const [pure virtual]

Get the flags specific to the Spherical Joint.

Returns:
the joint flags
See also:
PxSphericalJoint::flags, PxSphericalJointFlag setFlag() setFlags()

virtual bool PxSphericalJoint::isKindOf ( const char * name ) const [inline, protected, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxJoint.

References PxJoint::isKindOf().

virtual void PxSphericalJoint::setLimitCone ( const PxJointLimitCone & limit ) [pure virtual]

Get the limit cone.

Parameters:
[in] limit the limit cone
See also:
PxJointLimitCone getLimit()

virtual void PxSphericalJoint::setProjectionLinearTolerance ( PxReal tolerance ) [pure virtual]

Set the linear tolerance threshold for projection. Projection is enabled if PxConstraintFlag::ePROJECTION is set for the joint.

If the joint separates by more than this distance along its locked degrees of freedom, the solver will move the bodies to close the distance.

Setting a very small tolerance may result in simulation jitter or other artifacts.

Sometimes it is not possible to project (for example when the joints form a cycle).

Range: [0, PX_MAX_F32)
Default: 1e10f

Parameters:
[in] tolerance the linear tolerance threshold
See also:
getProjectionLinearTolerance() PxJoint::setConstraintFlags() PxConstraintFlag::ePROJECTION

virtual void PxSphericalJoint::setSphericalJointFlag | ( | PxSphericalJointFlag::Enum | flag,
 |  | bool | value |
 | ) |  |  | [pure virtual]

Set a single flag specific to a Spherical Joint to true or false.

Parameters:
[in] | flag | The flag to set or clear.
[in] | value | the value to which to set the flag
See also:
PxSphericalJointFlag, getFlags() setFlags()

virtual void PxSphericalJoint::setSphericalJointFlags ( PxSphericalJointFlags flags ) [pure virtual]

Set the flags specific to the Spherical Joint.

Default PxSphericalJointFlags(0)

Parameters:
[in] flags The joint flags.
See also:
PxSphericalJointFlag setFlag() getFlags()

The documentation for this class was generated from the following file:
  • PxSphericalJoint.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMeshOverlapUtil Class Reference

PxMeshOverlapUtil Class Reference
[Extensions]

Utility class to find mesh triangles touched by a specified geometry object. More...

#include <PxTriangleMeshExt.h>

List of all members.

Public Member Functions

PxMeshOverlapUtil ()
~PxMeshOverlapUtil ()
PxU32 | findOverlap (const PxGeometry &geom, const PxTransform &geomPose, const PxTriangleMeshGeometry &meshGeom, const PxTransform &meshPose)
Find the mesh triangles which touch the specified geometry object.
PxU32 | findOverlap (const PxGeometry &geom, const PxTransform &geomPose, const PxHeightFieldGeometry &hfGeom, const PxTransform &hfPose)
Find the height field triangles which touch the specified geometry object.
PX_FORCE_INLINE const PxU32 * | getResults () const
Retrieves array of triangle indices after a findOverlap call.
PX_FORCE_INLINE PxU32 | getNbResults () const
Retrieves number of triangle indices after a findOverlap call.

Private Attributes

PxU32 * mResultsMemory
PxU32 | mResults [256]
PxU32 mNbResults
PxU32 mMaxNbResults

Detailed Description

Utility class to find mesh triangles touched by a specified geometry object.

This class is a helper calling PxMeshQuery::findOverlapTriangleMesh or PxMeshQuery::findOverlapHeightField under the hood, while taking care of necessary memory management issues.

PxMeshQuery::findOverlapTriangleMesh and PxMeshQuery::findOverlapHeightField are the "raw" functions operating on user-provided fixed-size buffers. These functions abort with an error code in case of buffer overflow. PxMeshOverlapUtil is a convenient helper function checking this error code, and resizing buffers appropriately, until the desired call succeeds.

Returned triangle indices are stored within the class, and can be used with PxMeshQuery::getTriangle() to retrieve the triangle properties.

Constructor & Destructor Documentation

PxMeshOverlapUtil::PxMeshOverlapUtil ( )

PxMeshOverlapUtil::~PxMeshOverlapUtil ( )

Member Function Documentation

PxU32 PxMeshOverlapUtil::findOverlap | ( | const PxGeometry & | geom,
 |  | const PxTransform & | geomPose,
 |  | const PxHeightFieldGeometry & | hfGeom,
 |  | const PxTransform & | hfPose
 | ) |  |

Find the height field triangles which touch the specified geometry object.

Parameters:
[in] | geom | The geometry object to test for height field overlaps. Supported geometries are PxSphereGeometry, PxCapsuleGeometry and PxBoxGeometry. The sphere and capsule queries are currently conservative estimates.
[in] | geomPose | Pose of the geometry object
[in] | hfGeom | The height field geometry to check overlap against
[in] | hfPose | Pose of the height field
Returns:
Number of overlaps found. Triangle indices can then be accessed through the getResults() function.
See also:
PxGeometry PxTransform PxHeightFieldGeometry PxMeshQuery::findOverlapHeightField

PxU32 PxMeshOverlapUtil::findOverlap | ( | const PxGeometry & | geom,
 |  | const PxTransform & | geomPose,
 |  | const PxTriangleMeshGeometry & | meshGeom,
 |  | const PxTransform & | meshPose
 | ) |  |

Find the mesh triangles which touch the specified geometry object.

Parameters:
[in] | geom | The geometry object to test for mesh triangle overlaps. Supported geometries are PxSphereGeometry, PxCapsuleGeometry and PxBoxGeometry
[in] | geomPose | Pose of the geometry object
[in] | meshGeom | The triangle mesh geometry to check overlap against
[in] | meshPose | Pose of the triangle mesh
Returns:
Number of overlaps found. Triangle indices can then be accessed through the getResults() function.
See also:
PxGeometry PxTransform PxTriangleMeshGeometry PxMeshQuery::findOverlapTriangleMesh

PX_FORCE_INLINE PxU32 PxMeshOverlapUtil::getNbResults ( ) const [inline]

Retrieves number of triangle indices after a findOverlap call.

Returns:
Number of touched triangles

PX_FORCE_INLINE const PxU32* PxMeshOverlapUtil::getResults ( ) const [inline]

Retrieves array of triangle indices after a findOverlap call.

Returns:
Indices of touched triangles

Member Data Documentation

PxU32 PxMeshOverlapUtil::mMaxNbResults [private]

PxU32 PxMeshOverlapUtil::mNbResults [private]

PxU32 PxMeshOverlapUtil::mResults[256] [private]

PxU32* PxMeshOverlapUtil::mResultsMemory [private]

The documentation for this class was generated from the following file:
  • PxTriangleMeshExt.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Cooking

Cooking

Classes

struct | PxMeshCookingHint
Enumeration for mesh cooking hints. More...
struct | PxBVH33MidphaseDesc
Structure describing parameters affecting BVH33 midphase mesh structure. More...
struct | PxBVH34MidphaseDesc
Structure describing parameters affecting BVH34 midphase mesh structure. More...
struct | PxConvexFlag
Flags which describe the format and behavior of a convex mesh. More...
class | PxConvexMeshDesc
Descriptor class for PxConvexMesh. More...
struct | PxPlatform
struct | PxConvexMeshCookingResult
Result from convex cooking. More...
struct | PxConvexMeshCookingType
Enumeration for convex mesh cooking algorithms. More...
struct | PxTriangleMeshCookingResult
Result from triangle mesh cooking. More...
struct | PxMeshPreprocessingFlag
Enum for the set of mesh pre-processing parameters. More...
struct | PxCookingParams
Structure describing parameters affecting mesh cooking. More...
class | PxCooking
class | PxMidphaseDesc
Structure describing parameters affecting midphase mesh structure. More...
class | PxTriangleMeshDesc
Descriptor class for PxTriangleMesh. More...
class | PxClothMeshDesc
Descriptor class for a cloth mesh. More...

Typedefs

typedef PxFlags
< PxConvexFlag::Enum, PxU16 > 		PxConvexFlags
collection of set bits defined in PxConvexFlag.
typedef PxFlags
< PxMeshPreprocessingFlag::Enum,
PxU32 > 		PxMeshPreprocessingFlags

Functions

PX_DEPRECATED PX_FORCE_INLINE PxU32 | PxGetGaussMapVertexLimitForPlatform (PxPlatform::Enum targetPlatform)
PX_C_EXPORT
PX_PHYSX_COOKING_API
physx::PxCooking *PX_CALL_CONV 		PxCreateCooking (physx::PxU32 version, physx::PxFoundation &foundation, const physx::PxCookingParams &params)
Create an instance of the cooking interface.
PX_INLINE | PxConvexMeshDesc::PxConvexMeshDesc ()
constructor sets to default.
PX_INLINE void | PxConvexMeshDesc::setToDefault ()
(re)sets the structure to the default.
PX_INLINE bool | PxConvexMeshDesc::isValid () const
Returns true if the descriptor is valid.
PX_INLINE | PxTriangleMeshDesc::PxTriangleMeshDesc ()
Constructor sets to default.
PX_INLINE void | PxTriangleMeshDesc::setToDefault ()
(re)sets the structure to the default.
PX_INLINE bool | PxTriangleMeshDesc::isValid () const
Returns true if the descriptor is valid.
PX_INLINE | PxClothMeshDesc::PxClothMeshDesc ()
constructor sets to default.
PX_INLINE void | PxClothMeshDesc::setToDefault ()
(re)sets the structure to the default.
PX_INLINE bool | PxClothMeshDesc::isValid () const
Returns true if the descriptor is valid.

Typedef Documentation

typedef PxFlags<PxConvexFlag::Enum,PxU16> PxConvexFlags

collection of set bits defined in PxConvexFlag.

See also:
PxConvexFlag

typedef PxFlags<PxMeshPreprocessingFlag::Enum,PxU32> PxMeshPreprocessingFlags

Function Documentation

PX_INLINE bool PxClothMeshDesc::isValid ( ) const [inherited]

Returns true if the descriptor is valid.

Returns:
True if the current settings are valid

References PxBoundedData::count, PxStridedData::data, PxMeshFlag::e16_BIT_INDICES, PxClothMeshDesc::flags, PxClothMeshDesc::invMasses, PxClothMeshDesc::points, PxClothMeshDesc::quads, PxStridedData::stride, and PxClothMeshDesc::triangles.

PX_INLINE bool PxTriangleMeshDesc::isValid ( ) const [inherited]

Returns true if the descriptor is valid.

Returns:
true if the current settings are valid

Reimplemented from PxSimpleTriangleMesh.

References PxBoundedData::count, PxTypedStridedData< TDataType >::data, PxStridedData::data, PxTriangleMeshDesc::materialIndices, PxSimpleTriangleMesh::points, PxTypedStridedData< TDataType >::stride, and PxSimpleTriangleMesh::triangles.

PX_INLINE bool PxConvexMeshDesc::isValid ( ) const [inherited]

Returns true if the descriptor is valid.

Returns:
True if the current settings are valid

References PxBoundedData::count, PxStridedData::data, PxConvexFlag::e16_BIT_INDICES, PxConvexFlag::eCOMPUTE_CONVEX, PxConvexFlag::ePLANE_SHIFTING, PxConvexMeshDesc::flags, PxConvexMeshDesc::indices, PxConvexMeshDesc::points, PxConvexMeshDesc::polygons, PxConvexMeshDesc::quantizedCount, PxStridedData::stride, and PxConvexMeshDesc::vertexLimit.

PX_INLINE PxClothMeshDesc::PxClothMeshDesc ( ) [inherited]

constructor sets to default.

Referenced by PxClothMeshDesc::setToDefault().

PX_INLINE PxConvexMeshDesc::PxConvexMeshDesc ( ) [inherited]

constructor sets to default.

Referenced by PxConvexMeshDesc::setToDefault().

PX_C_EXPORT PX_PHYSX_COOKING_API physx::PxCooking* PX_CALL_CONV PxCreateCooking | ( | physx::PxU32 | version,
 |  | physx::PxFoundation & | foundation,
 |  | const physx::PxCookingParams & | params
 | ) |  |

Create an instance of the cooking interface.

Note that the foundation object is handled as an application-wide singleton in statically linked executables and a DLL-wide singleton in dynamically linked executables. Therefore, if you are using the runtime SDK in the same executable as cooking, you should pass the Physics's copy of foundation (acquired with PxPhysics::getFoundation()) to the cooker. This will also ensure correct handling of memory for objects passed from the cooker to the SDK.

To use cooking in standalone mode, create an instance of the Foundation object with PxCreateCookingFoundation. You should pass the same foundation object to all instances of the cooking interface.

Parameters:
[in] | version | the SDK version number
[in] | foundation | the foundation object associated with this instance of the cooking interface.
[in] | params | the parameters for this instance of the cooking interface
Returns:
true on success.

PX_DEPRECATED PX_FORCE_INLINE PxU32 PxGetGaussMapVertexLimitForPlatform ( PxPlatform::Enum targetPlatform )

References PxPlatform::eARM, PxPlatform::ePC, and PX_ASSERT_WITH_MESSAGE.

Referenced by PxCookingParams::PxCookingParams().

PX_INLINE PxTriangleMeshDesc::PxTriangleMeshDesc ( ) [inherited]

Constructor sets to default.

References PxTriangleMeshDesc::setToDefault().

Referenced by PxTriangleMeshDesc::setToDefault().

PX_INLINE void PxClothMeshDesc::setToDefault ( ) [inherited]

(re)sets the structure to the default.

References PxClothMeshDesc::PxClothMeshDesc().

PX_INLINE void PxTriangleMeshDesc::setToDefault ( ) [inherited]

(re)sets the structure to the default.

Reimplemented from PxSimpleTriangleMesh.

References PxTriangleMeshDesc::PxTriangleMeshDesc().

Referenced by PxTriangleMeshDesc::PxTriangleMeshDesc().

PX_INLINE void PxConvexMeshDesc::setToDefault ( ) [inherited]

(re)sets the structure to the default.

References PxConvexMeshDesc::PxConvexMeshDesc().


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMeshCookingHint Struct Reference

PxMeshCookingHint Struct Reference
[Cooking]

Enumeration for mesh cooking hints. More...

#include <PxBVH33MidphaseDesc.h>

List of all members.

Public Types

enum Enum {
eSIM_PERFORMANCE = 0,
eCOOKING_PERFORMANCE = 1
}

Detailed Description

Enumeration for mesh cooking hints.

Member Enumeration Documentation

enum PxMeshCookingHint::Enum

Enumerator:
eSIM_PERFORMANCE | Default value. Favors higher quality hierarchy with higher runtime performance over cooking speed.
eCOOKING_PERFORMANCE | Enables fast cooking path at the expense of somewhat lower quality hierarchy construction.

The documentation for this struct was generated from the following file:
  • PxBVH33MidphaseDesc.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBVH33MidphaseDesc Struct Reference

PxBVH33MidphaseDesc Struct Reference
[Cooking]

Structure describing parameters affecting BVH33 midphase mesh structure. More...

#include <PxBVH33MidphaseDesc.h>

List of all members.

Public Member Functions

void | setToDefault ()
Desc initialization to default value.
bool | isValid () const
Returns true if the descriptor is valid.

Public Attributes

PxF32 | meshSizePerformanceTradeOff
Controls the trade-off between mesh size and runtime performance.
PxMeshCookingHint::Enum meshCookingHint
Mesh cooking hint. Used to specify mesh hierarchy construction preference.

Detailed Description

Structure describing parameters affecting BVH33 midphase mesh structure.

See also:
PxCookingParams, PxMidphaseDesc

Member Function Documentation

bool PxBVH33MidphaseDesc::isValid ( ) const [inline]

Returns true if the descriptor is valid.

Returns:
true if the current settings are valid.

void PxBVH33MidphaseDesc::setToDefault ( ) [inline]

Desc initialization to default value.

References PxMeshCookingHint::eSIM_PERFORMANCE.

Member Data Documentation

PxMeshCookingHint::Enum PxBVH33MidphaseDesc::meshCookingHint

Mesh cooking hint. Used to specify mesh hierarchy construction preference.

Default value: PxMeshCookingHint::eSIM_PERFORMANCE

PxF32 PxBVH33MidphaseDesc::meshSizePerformanceTradeOff

Controls the trade-off between mesh size and runtime performance.

Using a value of 1.0 will produce a larger cooked mesh with generally higher runtime performance, using 0.0 will produce a smaller cooked mesh, with generally lower runtime performance.

Values outside of [0,1] range will be clamped and cause a warning when any mesh gets cooked.

Default value: 0.55 Range: [0.0f, 1.0f]

The documentation for this struct was generated from the following file:
  • PxBVH33MidphaseDesc.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBVH34MidphaseDesc Struct Reference

PxBVH34MidphaseDesc Struct Reference
[Cooking]

Structure describing parameters affecting BVH34 midphase mesh structure. More...

#include <PxBVH34MidphaseDesc.h>

List of all members.

Public Member Functions

void | setToDefault ()
Desc initialization to default value.
bool | isValid () const
Returns true if the descriptor is valid.

Public Attributes

PxU32 numTrisPerLeaf
Mesh cooking hint for max triangles per leaf limit. Less triangles per leaf produces larger meshes with better runtime performance and worse cooking performance. More triangles per leaf results in faster cooking speed and smaller mesh sizes, but with worse runtime performance.

Detailed Description

Structure describing parameters affecting BVH34 midphase mesh structure.

See also:
PxCookingParams, PxMidphaseDesc

Member Function Documentation

bool PxBVH34MidphaseDesc::isValid ( ) const [inline]

Returns true if the descriptor is valid.

Returns:
true if the current settings are valid.

void PxBVH34MidphaseDesc::setToDefault ( ) [inline]

Desc initialization to default value.

Member Data Documentation

PxU32 PxBVH34MidphaseDesc::numTrisPerLeaf

Mesh cooking hint for max triangles per leaf limit. Less triangles per leaf produces larger meshes with better runtime performance and worse cooking performance. More triangles per leaf results in faster cooking speed and smaller mesh sizes, but with worse runtime performance.

Default value: 4 Range: <4, 15>

The documentation for this struct was generated from the following file:
  • PxBVH34MidphaseDesc.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxConvexFlag Struct Reference

PxConvexFlag Struct Reference
[Cooking]

Flags which describe the format and behavior of a convex mesh. More...

#include <PxConvexMeshDesc.h>

List of all members.

Public Types

enum Enum {
e16_BIT_INDICES = (1<<0),
eCOMPUTE_CONVEX = (1<<1),
eCHECK_ZERO_AREA_TRIANGLES = (1<<2),
eINFLATE_CONVEX = (1<<3),
eQUANTIZE_INPUT = (1 << 4),
eDISABLE_MESH_VALIDATION = (1 << 5),
ePLANE_SHIFTING = (1 << 6),
eFAST_INERTIA_COMPUTATION = (1 << 7),
eGPU_COMPATIBLE = (1 << 8),
eSHIFT_VERTICES = (1 << 9)
}

Detailed Description

Flags which describe the format and behavior of a convex mesh.

Member Enumeration Documentation

enum PxConvexFlag::Enum

Enumerator:
e16_BIT_INDICES Denotes the use of 16-bit vertex indices in PxConvexMeshDesc::triangles or PxConvexMeshDesc::polygons. (otherwise, 32-bit indices are assumed)
See also:
PxConvexMeshDesc.indices
eCOMPUTE_CONVEX Automatically recomputes the hull from the vertices. If this flag is not set, you must provide the entire geometry manually.

Note:
There are two different algorithms for hull computation, please see PxConvexMeshCookingType.
See also:
PxConvexMeshCookingType
eCHECK_ZERO_AREA_TRIANGLES Checks and removes almost zero-area triangles during convex hull computation. The rejected area size is specified in PxCookingParams::areaTestEpsilon.

Note:
This flag is only used in combination with eCOMPUTE_CONVEX.

If this flag is used in combination with eINFLATE_CONVEX, the newly added triangles by the inflation algorithm are not checked (size of the triangles depends on PxCooking::skinWidth).

See also:
PxCookingParams PxCookingParams::areaTestEpsilon
eINFLATE_CONVEX Inflates the convex points according to skin width.

Note:
eINFLATE_CONVEX flag has been deprecated. The flag is automatically used when PxConvexMeshCookingType::eINFLATION_INCREMENTAL_HULL is set. The default algorithm PxConvexMeshCookingType::eQUICK_HULL ignores this flag, inflation is not used.
See also:
PxCookingParams PxConvexMeshCookingType
eQUANTIZE_INPUT Quantizes the input vertices using the k-means clustering.

Note:
The input vertices are quantized to PxConvexMeshDesc::quantizedCount see http://en.wikipedia.org/wiki/K-means_clustering
eDISABLE_MESH_VALIDATION Disables the convex mesh validation to speed-up hull creation. Please use separate validation function in checked/debug builds. Creating a convex mesh with invalid input data without prior validation may result in undefined behavior.

See also:
PxCooking::validateConvexMesh
ePLANE_SHIFTING Enables plane shifting vertex limit algorithm.

Plane shifting is an alternative algorithm for the case when the computed hull has more vertices than the specified vertex limit.

The default algorithm computes the full hull, and an OBB around the input vertices. This OBB is then sliced with the hull planes until the vertex limit is reached.The default algorithm requires the vertex limit to be set to at least 8, and typically produces results that are much better quality than are produced by plane shifting.

When plane shifting is enabled, the hull computation stops when vertex limit is reached. The hull planes are then shifted to contain all input vertices, and the new plane intersection points are then used to generate the final hull with the given vertex limit.Plane shifting may produce sharp edges to vertices very far away from the input cloud, and does not guarantee that all input vertices are inside the resulting hull.However, it can be used with a vertex limit as low as 4.

eFAST_INERTIA_COMPUTATION Inertia tensor computation is faster using SIMD code, but the precision is lower, which may result in incorrect inertia for very thin hulls.
eGPU_COMPATIBLE Convex hulls are created with respect to GPU simulation limitations. Vertex limit is set to 64 and vertex limit per face is internally set to 32.

Note:
Can be used only with eCOMPUTE_CONVEX flag.
eSHIFT_VERTICES Convex hull input vertices are shifted to be around origin to provide better computation stability. It is recommended to provide input vertices around the origin, otherwise use this flag to improve numerical stability.

Note:
Is used only with eCOMPUTE_CONVEX flag.

The documentation for this struct was generated from the following file:
  • PxConvexMeshDesc.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxConvexMeshDesc Class Reference

PxConvexMeshDesc Class Reference
[Cooking]

Descriptor class for PxConvexMesh. More...

#include <PxConvexMeshDesc.h>

Collaboration diagram for PxConvexMeshDesc:

PxBoundedDataPxStridedDataPxFlags\< PxConvexFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

PX_INLINE | PxConvexMeshDesc ()
constructor sets to default.
PX_INLINE void | setToDefault ()
(re)sets the structure to the default.
PX_INLINE bool | isValid () const
Returns true if the descriptor is valid.

Public Attributes

PxBoundedData points
Vertex positions data in PxBoundedData format.
PxBoundedData polygons
Polygons data in PxBoundedData format.
PxBoundedData indices
Polygon indices data in PxBoundedData format.
PxConvexFlags flags
Flags bits, combined from values of the enum PxConvexFlag.
PxU16 | vertexLimit
Limits the number of vertices of the result convex mesh. Hard maximum limit is 256 and minimum limit is 4 if PxConvexFlag::ePLANE_SHIFTING is used, otherwise the minimum limit is 8.
PxU16 | quantizedCount
Maximum number of vertices after quantization. The quantization is done during the vertex cleaning phase. The quantization is applied when PxConvexFlag::eQUANTIZE_INPUT is specified.

Detailed Description

Descriptor class for PxConvexMesh.

Note:
The number of vertices and the number of convex polygons in a cooked convex mesh is limited to 256.
See also:
PxConvexMesh PxConvexMeshGeometry PxShape PxPhysics.createConvexMesh()

Member Data Documentation

PxConvexFlags PxConvexMeshDesc::flags

Flags bits, combined from values of the enum PxConvexFlag.

Default: 0

Referenced by isValid().

PxBoundedData PxConvexMeshDesc::indices

Polygon indices data in PxBoundedData format.

Pointer to first index.

Default: NULL

This is declared as a void pointer because it is actually either an PxU16 or a PxU32 pointer.

See also:
PxHullPolygon PxConvexFlag::e16_BIT_INDICES

Referenced by isValid().

PxBoundedData PxConvexMeshDesc::points

Vertex positions data in PxBoundedData format.

Default: NULL

Referenced by isValid().

PxBoundedData PxConvexMeshDesc::polygons

Polygons data in PxBoundedData format.

Pointer to first polygon.

Default: NULL

See also:
PxHullPolygon

Referenced by isValid().

PxU16 PxConvexMeshDesc::quantizedCount

Maximum number of vertices after quantization. The quantization is done during the vertex cleaning phase. The quantization is applied when PxConvexFlag::eQUANTIZE_INPUT is specified.

See also:
PxConvexFlag::eQUANTIZE_INPUT
Range: [4, 65535]
Default: 255

Referenced by isValid().

PxU16 PxConvexMeshDesc::vertexLimit

Limits the number of vertices of the result convex mesh. Hard maximum limit is 256 and minimum limit is 4 if PxConvexFlag::ePLANE_SHIFTING is used, otherwise the minimum limit is 8.

Note:
Vertex limit is only used when PxConvexFlag::eCOMPUTE_CONVEX is specified.

The please see PxConvexFlag::ePLANE_SHIFTING for algorithm explanation

See also:
PxConvexFlag::ePLANE_SHIFTING
Range: [4, 255]
Default: 255

Referenced by isValid().

The documentation for this class was generated from the following file:
  • PxConvexMeshDesc.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPlatform Struct Reference

PxPlatform Struct Reference
[Cooking]

#include <PxCooking.h>

List of all members.

Public Types

enum Enum {
ePC,
eARM
}

Member Enumeration Documentation

enum PxPlatform::Enum

Enumerator:
ePC
eARM

The documentation for this struct was generated from the following file:
  • PxCooking.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxConvexMeshCookingResult Struct Reference

PxConvexMeshCookingResult Struct Reference
[Cooking]

Result from convex cooking. More...

#include <PxCooking.h>

List of all members.

Public Types

enum Enum {
eSUCCESS,
eZERO_AREA_TEST_FAILED,
ePOLYGONS_LIMIT_REACHED,
eFAILURE
}

Detailed Description

Result from convex cooking.

Member Enumeration Documentation

enum PxConvexMeshCookingResult::Enum

Enumerator:
eSUCCESS | Convex mesh cooking succeeded.
eZERO_AREA_TEST_FAILED Convex mesh cooking failed, algorithm couldn't find 4 initial vertices without a small triangle.

See also:
PxCookingParams::areaTestEpsilon PxConvexFlag::eCHECK_ZERO_AREA_TRIANGLES
ePOLYGONS_LIMIT_REACHED Convex mesh cooking succeeded, but the algorithm has reached the 255 polygons limit. The produced hull does not contain all input vertices. Try to simplify the input vertices or try to use the eINFLATE_CONVEX or the eQUANTIZE_INPUT flags.

See also:
PxConvexFlag::eINFLATE_CONVEX PxConvexFlag::eQUANTIZE_INPUT
eFAILURE | Something unrecoverable happened. Check the error stream to find out what.

The documentation for this struct was generated from the following file:
  • PxCooking.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxConvexMeshCookingType Struct Reference

PxConvexMeshCookingType Struct Reference
[Cooking]

Enumeration for convex mesh cooking algorithms. More...

#include <PxCooking.h>

List of all members.

Public Types

enum Enum {
PX_DEPRECATED = 0,
eQUICKHULL
}

Detailed Description

Enumeration for convex mesh cooking algorithms.

Member Enumeration Documentation

enum PxConvexMeshCookingType::Enum

Enumerator:
PX_DEPRECATED Legacy incremental algorithm using the inflation skinWidth parameter.

The algorithm produces a hull with inflated planes. The hull's vertices are not the input vertices; new vertices are created from the inflated plane's intersections.

Note:
This algorithm is less stable and produces worse results than eQUICK_HULL; it is recommended to use the eQUICKHULL algorithm.

This legacy algorithm will be removed in future releases.

eQUICKHULL The Quickhull algorithm constructs the hull from the given input points. The resulting hull will only contain a subset of the input points.

The documentation for this struct was generated from the following file:
  • PxCooking.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTriangleMeshCookingResult Struct Reference

PxTriangleMeshCookingResult Struct Reference
[Cooking]

Result from triangle mesh cooking. More...

#include <PxCooking.h>

List of all members.

Public Types

enum Enum {
eSUCCESS = 0,
eLARGE_TRIANGLE,
eFAILURE
}

Detailed Description

Result from triangle mesh cooking.

Member Enumeration Documentation

enum PxTriangleMeshCookingResult::Enum

Enumerator:
eSUCCESS | Everything is A-OK.
eLARGE_TRIANGLE | a triangle is too large for well-conditioned results. Tessellate the mesh for better behavior, see the user guide section on cooking for more details.
eFAILURE | Something unrecoverable happened. Check the error stream to find out what.

The documentation for this struct was generated from the following file:
  • PxCooking.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMeshPreprocessingFlag Struct Reference

PxMeshPreprocessingFlag Struct Reference
[Cooking]

Enum for the set of mesh pre-processing parameters. More...

#include <PxCooking.h>

List of all members.

Public Types

enum Enum {
eWELD_VERTICES = 1 << 0,
eDISABLE_CLEAN_MESH = 1 << 1,
eDISABLE_ACTIVE_EDGES_PRECOMPUTE = 1 << 2,
eFORCE_32BIT_INDICES = 1 << 3
}

Detailed Description

Enum for the set of mesh pre-processing parameters.

Member Enumeration Documentation

enum PxMeshPreprocessingFlag::Enum

Enumerator:
eWELD_VERTICES | When set, mesh welding is performed. See PxCookingParams::meshWeldTolerance. Clean mesh must be enabled.
eDISABLE_CLEAN_MESH When set, mesh cleaning is disabled. This makes cooking faster.

When clean mesh is not performed, mesh welding is also not performed.

It is recommended to use only meshes that passed during validateTriangleMesh.

eDISABLE_ACTIVE_EDGES_PRECOMPUTE | When set, active edges are set for each triangle edge. This makes cooking faster but slow up contact generation.
eFORCE_32BIT_INDICES When set, 32-bit indices will always be created regardless of triangle count.

Note:
By default mesh will be created with 16-bit indices for triangle count <= 0xFFFF and 32-bit otherwise.

The documentation for this struct was generated from the following file:
  • PxCooking.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCookingParams Struct Reference

PxCookingParams Struct Reference
[Cooking]

Structure describing parameters affecting mesh cooking. More...

#include <PxCooking.h>

Collaboration diagram for PxCookingParams:

PxMidphaseDescPxBVH34MidphaseDescPxBVH33MidphaseDescPxTolerancesScalePxFlags\< PxMeshPreprocessingFlag::Enum, PxU32 \>
[legend]

List of all members.

Public Member Functions

PxCookingParams (const PxTolerancesScale &sc)

Public Attributes

PxPlatform::Enum targetPlatform
Target platform.
PX_DEPRECATED float | skinWidth
Skin width for convexes.
float | areaTestEpsilon
Zero-size area epsilon used in convex hull computation.
float | planeTolerance
Plane tolerance used in convex hull computation.
PxConvexMeshCookingType::Enum convexMeshCookingType
Convex hull creation algorithm.
bool | suppressTriangleMeshRemapTable
When true, the face remap table is not created. This saves a significant amount of memory, but the SDK will not be able to provide the remap information for internal mesh triangles returned by collisions, sweeps or raycasts hits.
bool | buildTriangleAdjacencies
When true, the triangle adjacency information is created. You can get the adjacency triangles for a given triangle from getTriangle.
bool | buildGPUData
When true, addigional information required for GPU-accelerated rigid body simulation is created. This can increase memory usage and cooking times for convex meshes and triangle meshes.
PxTolerancesScale scale
Tolerance scale is used to check if cooked triangles are not too huge. This check will help with simulation stability.
PxMeshPreprocessingFlags meshPreprocessParams
Mesh pre-processing parameters. Used to control options like whether the mesh cooking performs vertex welding before cooking.
PX_DEPRECATED
PxMeshCookingHint::Enum 		meshCookingHint
Mesh cooking hint. Used to specify mesh hierarchy construction preference.
PX_DEPRECATED PxF32 | meshSizePerformanceTradeOff
Controls the trade-off between mesh size and runtime performance.
PxReal | meshWeldTolerance
Mesh weld tolerance. If mesh welding is enabled, this controls the distance at which vertices are welded. If mesh welding is not enabled, this value defines the acceptance distance for mesh validation. Provided no two vertices are within this distance, the mesh is considered to be clean. If not, a warning will be emitted. Having a clean, welded mesh is required to achieve the best possible performance.
PxMidphaseDesc midphaseDesc
Controls the desired midphase desc structure for triangle meshes.
PxU32 gaussMapLimit
Vertex limit beyond which additional acceleration structures are computed for each convex mesh. Increase that limit to reduce memory usage. Computing the extra structures all the time does not guarantee optimal performance. There is a per-platform break-even point below which the extra structures actually hurt performance.

Detailed Description

Structure describing parameters affecting mesh cooking.

See also:
PxSetCookingParams() PxGetCookingParams()

Constructor & Destructor Documentation

PxCookingParams::PxCookingParams ( const PxTolerancesScale & sc ) [inline]

References PxPlatform::eARM, PxPlatform::ePC, and PxGetGaussMapVertexLimitForPlatform().

Member Data Documentation

float PxCookingParams::areaTestEpsilon

Zero-size area epsilon used in convex hull computation.

If the area of a triangle of the hull is below this value, the triangle will be rejected. This test is done only if PxConvexFlag::eCHECK_ZERO_AREA_TRIANGLES is used.

See also:
PxConvexFlag::eCHECK_ZERO_AREA_TRIANGLES
Default value: 0.06f*PxTolerancesScale.length*PxTolerancesScale.length

Range: (0.0f, PX_MAX_F32)

bool PxCookingParams::buildGPUData

When true, addigional information required for GPU-accelerated rigid body simulation is created. This can increase memory usage and cooking times for convex meshes and triangle meshes.

Default value: false

bool PxCookingParams::buildTriangleAdjacencies

When true, the triangle adjacency information is created. You can get the adjacency triangles for a given triangle from getTriangle.

Default value: false

PxConvexMeshCookingType::Enum PxCookingParams::convexMeshCookingType

Convex hull creation algorithm.

Default value: PxConvexMeshCookingType::eQUICKHULL

See also:
PxConvexMeshCookingType

PxU32 PxCookingParams::gaussMapLimit

Vertex limit beyond which additional acceleration structures are computed for each convex mesh. Increase that limit to reduce memory usage. Computing the extra structures all the time does not guarantee optimal performance. There is a per-platform break-even point below which the extra structures actually hurt performance.

Default value: 32

PX_DEPRECATED PxMeshCookingHint::Enum PxCookingParams::meshCookingHint

Mesh cooking hint. Used to specify mesh hierarchy construction preference.

Note:
Deprecated in 3.4, parameter moved to PxBVH33MidphaseDesc.
See also:
PxBVH33MidphaseDesc, PxMidphaseDescUnion
Default value: PxMeshCookingHint::eSIM_PERFORMANCE

PxMeshPreprocessingFlags PxCookingParams::meshPreprocessParams

Mesh pre-processing parameters. Used to control options like whether the mesh cooking performs vertex welding before cooking.

Default value: 0

PX_DEPRECATED PxF32 PxCookingParams::meshSizePerformanceTradeOff

Controls the trade-off between mesh size and runtime performance.

Using a value of 1.0 will produce a larger cooked mesh with generally higher runtime performance, using 0.0 will produce a smaller cooked mesh, with generally lower runtime performance.

Values outside of [0,1] range will be clamped and cause a warning when any mesh gets cooked.

Note:
Deprecated in 3.4, parameter moved to PxBVH33MidphaseDesc.
Default value: 0.55 Range: [0.0f, 1.0f]

PxReal PxCookingParams::meshWeldTolerance

Mesh weld tolerance. If mesh welding is enabled, this controls the distance at which vertices are welded. If mesh welding is not enabled, this value defines the acceptance distance for mesh validation. Provided no two vertices are within this distance, the mesh is considered to be clean. If not, a warning will be emitted. Having a clean, welded mesh is required to achieve the best possible performance.

The default vertex welding uses a snap-to-grid approach. This approach effectively truncates each vertex to integer values using meshWeldTolerance. Once these snapped vertices are produced, all vertices that snap to a given vertex on the grid are remapped to reference a single vertex. Following this, all triangles' indices are remapped to reference this subset of clean vertices. It should be noted that the vertices that we do not alter the position of the vertices; the snap-to-grid is only performed to identify nearby vertices.

The mesh validation approach also uses the same snap-to-grid approach to identify nearby vertices. If more than one vertex snaps to a given grid coordinate, we ensure that the distance between the vertices is at least meshWeldTolerance. If this is not the case, a warning is emitted.

Default value: 0.0

PxMidphaseDesc PxCookingParams::midphaseDesc

Controls the desired midphase desc structure for triangle meshes.

Note:
If PxMeshMidPhase::eINVALID is used, the default PxMeshMidPhase::eBVH33 is used and the deprecated parameters PxCookingParams::meshCookingHint and PxCookingParams::meshSizePerformanceTradeOff are used.
See also:
PxBVH33MidphaseDesc, PxBVH34MidphaseDesc, PxMidphaseDesc
Default value: PxMeshMidPhase::eINVALID

float PxCookingParams::planeTolerance

Plane tolerance used in convex hull computation.

The value is used during hull construction. When a new point is about to be added to the hull it gets dropped when the point is closer to the hull than the planeTolerance. The planeTolerance is increased according to the hull size.

If 0.0f is set all points are accepted when the convex hull is created. This may lead to edge cases where the new points may be merged into an existing polygon and the polygons plane equation might slightly change therefore. This might lead to failures during polygon merging phase in the hull computation.

It is recommended to use the default value, however if it is required that all points needs to be accepted or huge thin convexes are created, it might be required to lower the default value.

Note:
The plane tolerance is used only within PxConvexMeshCookingType::eQUICKHULL algorithm.
Default value: 0.0007f

Range: <0.0f, PX_MAX_F32)

PxTolerancesScale PxCookingParams::scale

Tolerance scale is used to check if cooked triangles are not too huge. This check will help with simulation stability.

Note:
The PxTolerancesScale values have to match the values used when creating a PxPhysics or PxScene instance.
See also:
PxTolerancesScale

PX_DEPRECATED float PxCookingParams::skinWidth

Skin width for convexes.

Specifies the amount to inflate the convex mesh when the inflation algorithm is used.

The value is used for moving planes outward, and beveling sharp edges. This helps the hull generator code produce more stable convexes for collision detection. Please note that the resulting hull will increase its size, so contact generation may produce noticeable separation between shapes. The separation distance can be reduced by decreasing the contactOffset and restOffset. See the user's manual on 'Shapes - Tuning Shape Collision Behavior' for details.

Change the value if the produced hulls are too thin or improper for your usage. Increasing the value too much will result in incorrect hull size and a large separation between shapes.

Note:
skinWidth is only used when PxConvexMeshCookingType::eINFLATION_INCREMENTAL_HULL is enabled.
See also:
PxConvexMeshCookingType PxConvexFlag::eINFLATE_CONVEX
Default value: 0.025f*PxTolerancesScale.length

Range: (0.0f, PX_MAX_F32)

bool PxCookingParams::suppressTriangleMeshRemapTable

When true, the face remap table is not created. This saves a significant amount of memory, but the SDK will not be able to provide the remap information for internal mesh triangles returned by collisions, sweeps or raycasts hits.

Default value: false

PxPlatform::Enum PxCookingParams::targetPlatform

Target platform.

Should be set to the platform which you intend to load the cooked mesh data on. This allows the SDK to optimize the mesh data in an appropriate way for the platform and make sure that endianness issues are accounted for correctly.

Default value: Same as the platform on which the SDK is running.

The documentation for this struct was generated from the following file:
  • PxCooking.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCooking Class Reference

PxCooking Class Reference
[Cooking]

#include <PxCooking.h>

List of all members.

Public Member Functions

virtual void | release ()=0
Closes this instance of the interface.
virtual void | setParams (const PxCookingParams &params)=0
Sets cooking parameters.
virtual const PxCookingParams & | getParams () const =0
Gets cooking parameters.
virtual bool | platformMismatch () const =0
Checks endianness is the same between cooking & target platforms.
virtual bool | cookTriangleMesh (const PxTriangleMeshDesc &desc, PxOutputStream &stream, PxTriangleMeshCookingResult::Enum *condition=NULL) const =0
Cooks a triangle mesh. The results are written to the stream.
virtual PxTriangleMesh * | createTriangleMesh (const PxTriangleMeshDesc &desc, PxPhysicsInsertionCallback &insertionCallback, PxTriangleMeshCookingResult::Enum *condition=NULL) const =0
Cooks and creates a triangle mesh and inserts it into PxPhysics.
virtual bool | validateTriangleMesh (const PxTriangleMeshDesc &desc) const =0
Verifies if the triangle mesh is valid. Prints an error message for each inconsistency found.
virtual bool | cookConvexMesh (const PxConvexMeshDesc &desc, PxOutputStream &stream, PxConvexMeshCookingResult::Enum *condition=NULL) const =0
Cooks a convex mesh. The results are written to the stream.
virtual PxConvexMesh * | createConvexMesh (const PxConvexMeshDesc &desc, PxPhysicsInsertionCallback &insertionCallback, PxConvexMeshCookingResult::Enum *condition=NULL) const =0
Cooks and creates a convex mesh and inserts it into PxPhysics.
virtual bool | validateConvexMesh (const PxConvexMeshDesc &desc) const =0
Verifies if the convex mesh is valid. Prints an error message for each inconsistency found.
virtual bool | computeHullPolygons (const PxSimpleTriangleMesh &mesh, PxAllocatorCallback &inCallback, PxU32 &nbVerts, PxVec3 *&vertices, PxU32 &nbIndices, PxU32 *&indices, PxU32 &nbPolygons, PxHullPolygon *&hullPolygons) const =0
Computed hull polygons from given vertices and triangles. Polygons are needed for PxConvexMeshDesc rather than triangles.
virtual bool | cookHeightField (const PxHeightFieldDesc &desc, PxOutputStream &stream) const =0
Cooks a heightfield. The results are written to the stream.
virtual PxHeightField * | createHeightField (const PxHeightFieldDesc &desc, PxPhysicsInsertionCallback &insertionCallback) const =0
Cooks and creates a heightfield mesh and inserts it into PxPhysics.

Protected Member Functions

virtual | ~PxCooking ()

Constructor & Destructor Documentation

virtual PxCooking::~PxCooking ( ) [inline, protected, virtual]

Member Function Documentation

virtual bool PxCooking::computeHullPolygons | ( | const PxSimpleTriangleMesh & | mesh,
 |  | PxAllocatorCallback & | inCallback,
 |  | PxU32 & | nbVerts,
 |  | PxVec3 *& | vertices,
 |  | PxU32 & | nbIndices,
 |  | PxU32 *& | indices,
 |  | PxU32 & | nbPolygons,
 |  | PxHullPolygon *& | hullPolygons |
 | ) |  |  | const [pure virtual]

Computed hull polygons from given vertices and triangles. Polygons are needed for PxConvexMeshDesc rather than triangles.

Please note that the resulting polygons may have different number of vertices. Some vertices may be removed. The output vertices, indices and polygons must be used to construct a hull.

The provided PxAllocatorCallback does allocate the out array's. It is the user responsibility to deallocated those array's.

Parameters:
[in] | mesh | Simple triangle mesh containing vertices and triangles used to compute polygons.
[in] | inCallback | Memory allocator for out array allocations.
[out] | nbVerts | Number of vertices used by polygons.
[out] | vertices | Vertices array used by polygons.
[out] | nbIndices | Number of indices used by polygons.
[out] | indices | Indices array used by polygons.
[out] | nbPolygons | Number of created polygons.
[out] | hullPolygons | Polygons array.
Returns:
true on success
See also:
cookConvexMesh() PxConvexFlags PxConvexMeshDesc PxSimpleTriangleMesh

virtual bool PxCooking::cookConvexMesh | ( | const PxConvexMeshDesc & | desc,
 |  | PxOutputStream & | stream,
 |  | PxConvexMeshCookingResult::Enum * | condition = NULL |
 | ) |  |  | const [pure virtual]

Cooks a convex mesh. The results are written to the stream.

To create a triangle mesh object it is necessary to first 'cook' the mesh data into a form which allows the SDK to perform efficient collision detection.

cookConvexMesh() allows a mesh description to be cooked into a binary stream suitable for loading and performing collision detection at runtime.

Example

//TODO: Add Code Snippet Here

Note:
The number of vertices and the number of convex polygons in a cooked convex mesh is limited to 255.

If those limits are exceeded in either the user-provided data or the final cooked mesh, an error is reported.

Parameters:
[in] | desc | The convex mesh descriptor to read the mesh from.
[in] | stream | User stream to output the cooked data.
[out] | condition | Result from convex mesh cooking.
Returns:
true on success.
See also:
cookTriangleMesh() setParams() PxConvexMeshCookingResult::Enum

virtual bool PxCooking::cookHeightField | ( | const PxHeightFieldDesc & | desc,
 |  | PxOutputStream & | stream |
 | ) |  |  | const [pure virtual]

Cooks a heightfield. The results are written to the stream.

To create a heightfield object there is an option to precompute some of calculations done while loading the heightfield data.

cookHeightField() allows a heightfield description to be cooked into a binary stream suitable for loading and performing collision detection at runtime.

Parameters:
[in] | desc | The heightfield descriptor to read the HF from.
[in] | stream | User stream to output the cooked data.
Returns:
true on success
See also:
PxPhysics.createHeightField()

virtual bool PxCooking::cookTriangleMesh | ( | const PxTriangleMeshDesc & | desc,
 |  | PxOutputStream & | stream,
 |  | PxTriangleMeshCookingResult::Enum * | condition = NULL |
 | ) |  |  | const [pure virtual]

Cooks a triangle mesh. The results are written to the stream.

To create a triangle mesh object it is necessary to first 'cook' the mesh data into a form which allows the SDK to perform efficient collision detection.

cookTriangleMesh() allows a mesh description to be cooked into a binary stream suitable for loading and performing collision detection at runtime.

Example

//TODO: Add Code Snippet Here

Parameters:
[in] | desc | The triangle mesh descriptor to read the mesh from.
[in] | stream | User stream to output the cooked data.
[out] | condition | Result from triangle mesh cooking.
Returns:
true on success
See also:
cookConvexMesh() setParams() PxPhysics.createTriangleMesh() PxTriangleMeshCookingResult::Enum

virtual PxConvexMesh* PxCooking::createConvexMesh | ( | const PxConvexMeshDesc & | desc,
 |  | PxPhysicsInsertionCallback & | insertionCallback,
 |  | PxConvexMeshCookingResult::Enum * | condition = NULL |
 | ) |  |  | const [pure virtual]

Cooks and creates a convex mesh and inserts it into PxPhysics.

Note:
This method does the same as cookConvexMesh, but the produced convex mesh is not stored into a stream but is directly inserted in PxPhysics. Use this method if you are unable to cook offline.

PxPhysicsInsertionCallback can be obtained through PxPhysics::getPhysicsInsertionCallback().

Parameters:
[in] | desc | The convex mesh descriptor to read the mesh from.
[in] | insertionCallback | The insertion interface from PxPhysics.
[out] | condition | Result from convex mesh cooking.
Returns:
PxConvexMesh pointer on success
See also:
cookConvexMesh() setParams() PxPhysicsInsertionCallback

virtual PxHeightField* PxCooking::createHeightField | ( | const PxHeightFieldDesc & | desc,
 |  | PxPhysicsInsertionCallback & | insertionCallback |
 | ) |  |  | const [pure virtual]

Cooks and creates a heightfield mesh and inserts it into PxPhysics.

Parameters:
[in] | desc | The heightfield descriptor to read the HF from.
[in] | insertionCallback | The insertion interface from PxPhysics.
Returns:
PxHeightField pointer on success
See also:
cookConvexMesh() setParams() PxPhysics.createTriangleMesh() PxPhysicsInsertionCallback

virtual PxTriangleMesh* PxCooking::createTriangleMesh | ( | const PxTriangleMeshDesc & | desc,
 |  | PxPhysicsInsertionCallback & | insertionCallback,
 |  | PxTriangleMeshCookingResult::Enum * | condition = NULL |
 | ) |  |  | const [pure virtual]

Cooks and creates a triangle mesh and inserts it into PxPhysics.

Note:
PxPhysicsInsertionCallback can be obtained through PxPhysics::getPhysicsInsertionCallback().
Parameters:
[in] | desc | The triangle mesh descriptor to read the mesh from.
[in] | insertionCallback | The insertion interface from PxPhysics.
[out] | condition | Result from triangle mesh cooking.
Returns:
PxTriangleMesh pointer on success.
See also:
cookTriangleMesh() setParams() PxPhysics.createTriangleMesh() PxPhysicsInsertionCallback

virtual const PxCookingParams& PxCooking::getParams ( ) const [pure virtual]

Gets cooking parameters.

Returns:
Current cooking parameters.
See also:
PxCookingParams setParams()

virtual bool PxCooking::platformMismatch ( ) const [pure virtual]

Checks endianness is the same between cooking & target platforms.

Returns:
True if there is and endian mismatch.

virtual void PxCooking::release ( ) [pure virtual]

Closes this instance of the interface.

This function should be called to cleanly shut down the Cooking library before application exit.

Note:
This function is required to be called to release foundation usage.

virtual void PxCooking::setParams ( const PxCookingParams & params ) [pure virtual]

Sets cooking parameters.

Parameters:
[in] params Cooking parameters
See also:
getParams()

virtual bool PxCooking::validateConvexMesh ( const PxConvexMeshDesc & desc ) const [pure virtual]

Verifies if the convex mesh is valid. Prints an error message for each inconsistency found.

The convex mesh descriptor must contain an already created convex mesh - the vertices, indices and polygons must be provided.

Note:
This function should be used if PxConvexFlag::eDISABLE_MESH_VALIDATION is planned to be used in release builds.
Parameters:
[in] desc The convex mesh descriptor to read the mesh from.
Returns:
true if all the validity conditions hold, false otherwise.
See also:
cookConvexMesh()

virtual bool PxCooking::validateTriangleMesh ( const PxTriangleMeshDesc & desc ) const [pure virtual]

Verifies if the triangle mesh is valid. Prints an error message for each inconsistency found.

The following conditions are true for a valid triangle mesh: 1. There are no duplicate vertices (within specified vertexWeldTolerance. See PxCookingParams::meshWeldTolerance) 2. There are no large triangles (within specified PxTolerancesScale.)

Parameters:
[in] desc The triangle mesh descriptor to read the mesh from.
Returns:
true if all the validity conditions hold, false otherwise.
See also:
cookTriangleMesh()

The documentation for this class was generated from the following file:
  • PxCooking.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMidphaseDesc Class Reference

PxMidphaseDesc Class Reference
[Cooking]

Structure describing parameters affecting midphase mesh structure. More...

#include <PxMidphaseDesc.h>

Collaboration diagram for PxMidphaseDesc:

PxBVH34MidphaseDescPxBVH33MidphaseDesc
[legend]

List of all members.

Public Member Functions

PX_FORCE_INLINE | PxMidphaseDesc ()
PX_FORCE_INLINE
PxMeshMidPhase::Enum 		getType () const
Returns type of midphase mesh structure.
void | setToDefault (PxMeshMidPhase::Enum type)
Initialize the midphase mesh structure descriptor.
bool | isValid () const
Returns true if the descriptor is valid.
PX_FORCE_INLINE PxMidphaseDesc & | operator= (PxMeshMidPhase::Enum descType)

Public Attributes

union {
PxBVH33MidphaseDesc mBVH33Desc
PxBVH34MidphaseDesc mBVH34Desc
};
Midphase descriptors union.

Protected Attributes

PxMeshMidPhase::Enum mType

Detailed Description

Structure describing parameters affecting midphase mesh structure.

See also:
PxCookingParams, PxBVH33MidphaseDesc, PxBVH34MidphaseDesc

Constructor & Destructor Documentation

PX_FORCE_INLINE PxMidphaseDesc::PxMidphaseDesc ( ) [inline]

Member Function Documentation

PX_FORCE_INLINE PxMeshMidPhase::Enum PxMidphaseDesc::getType ( ) const [inline]

Returns type of midphase mesh structure.

Returns:
PxMeshMidPhase::Enum
See also:
PxMeshMidPhase::Enum

bool PxMidphaseDesc::isValid ( ) const [inline]

Returns true if the descriptor is valid.

Returns:
true if the current settings are valid.

References PxMeshMidPhase::eBVH33, and PxMeshMidPhase::eBVH34.

PX_FORCE_INLINE PxMidphaseDesc& PxMidphaseDesc::operator= ( PxMeshMidPhase::Enum descType ) [inline]

void PxMidphaseDesc::setToDefault ( PxMeshMidPhase::Enum type ) [inline]

Initialize the midphase mesh structure descriptor.

Parameters:
[in] type Midphase mesh structure descriptor
See also:
PxBV33MidphaseDesc, PxBV34MidphaseDesc

References PxMeshMidPhase::eBVH33, and PxMeshMidPhase::eBVH34.

Member Data Documentation

union { ... }

Midphase descriptors union.

See also:
PxBV33MidphaseDesc, PxBV34MidphaseDesc

PxBVH33MidphaseDesc PxMidphaseDesc::mBVH33Desc

PxBVH34MidphaseDesc PxMidphaseDesc::mBVH34Desc

PxMeshMidPhase::Enum PxMidphaseDesc::mType [protected]

The documentation for this class was generated from the following file:
  • PxMidphaseDesc.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTriangleMeshDesc Class Reference

PxTriangleMeshDesc Class Reference
[Cooking]

Descriptor class for PxTriangleMesh. More...

#include <PxTriangleMeshDesc.h>

Inheritance diagram for PxTriangleMeshDesc:

PxSimpleTriangleMesh
[legend]
Collaboration diagram for PxTriangleMeshDesc:

PxSimpleTriangleMeshPxFlags\< PxMeshFlag::Enum, PxU16 \>PxBoundedDataPxStridedDataPxTypedStridedData\< PxMaterialTableIndex \>
[legend]

List of all members.

Public Member Functions

PX_INLINE | PxTriangleMeshDesc ()
Constructor sets to default.
PX_INLINE void | setToDefault ()
(re)sets the structure to the default.
PX_INLINE bool | isValid () const
Returns true if the descriptor is valid.

Public Attributes

PxTypedStridedData
< PxMaterialTableIndex > 		materialIndices

Detailed Description

Descriptor class for PxTriangleMesh.

Note that this class is derived from PxSimpleTriangleMesh which contains the members that describe the basic mesh. The mesh data is *copied* when an PxTriangleMesh object is created from this descriptor. After the call the user may discard the triangle data.

See also:
PxTriangleMesh PxTriangleMeshGeometry PxShape

Member Data Documentation

PxTypedStridedData<PxMaterialTableIndex> PxTriangleMeshDesc::materialIndices

Optional pointer to first material index, or NULL. There are PxSimpleTriangleMesh::numTriangles indices in total. Caller may add materialIndexStride bytes to the pointer to access the next triangle.

When a triangle mesh collides with another object, a material is required at the collision point. If materialIndices is NULL, then the material of the PxShape instance is used. Otherwise, if the point of contact is on a triangle with index i, then the material index is determined as: PxMaterialTableIndex index = *(PxMaterialTableIndex *)(((PxU8*)materialIndices) + materialIndexStride * i);

If the contact point falls on a vertex or an edge, a triangle adjacent to the vertex or edge is selected, and its index used to look up a material. The selection is arbitrary but consistent over time.

Default: NULL

See also:
materialIndexStride

Referenced by isValid().

The documentation for this class was generated from the following file:
  • PxTriangleMeshDesc.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothMeshDesc Class Reference

PxClothMeshDesc Class Reference
[Cooking]

Descriptor class for a cloth mesh. More...

#include <PxClothMeshDesc.h>

Collaboration diagram for PxClothMeshDesc:

PxFlags\< PxMeshFlag::Enum, PxU16 \>PxBoundedDataPxStridedData
[legend]

List of all members.

Public Member Functions

PX_INLINE | PxClothMeshDesc ()
constructor sets to default.
PX_INLINE void | setToDefault ()
(re)sets the structure to the default.
PX_INLINE bool | isValid () const
Returns true if the descriptor is valid.

Public Attributes

PxBoundedData points
Pointer to first vertex point.
PxBoundedData invMasses
Determines whether particle is simulated or static. A positive value denotes that the particle is being simulated, zero denotes a static particle. This data is used to generate tether and zero stretch constraints. If invMasses.data is null, all particles are assumed to be simulated and no tether and zero stretch constraints are being generated.
PxBoundedData triangles
Pointer to the first triangle.
PxBoundedData quads
Pointer to the first quad.
PxMeshFlags flags
Flags bits, combined from values of the enum PxMeshFlag.

Detailed Description

Descriptor class for a cloth mesh.

Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1
See also:
PxCooking.cookClothMesh()

Member Data Documentation

PxMeshFlags PxClothMeshDesc::flags

Flags bits, combined from values of the enum PxMeshFlag.

Referenced by isValid().

PxBoundedData PxClothMeshDesc::invMasses

Determines whether particle is simulated or static. A positive value denotes that the particle is being simulated, zero denotes a static particle. This data is used to generate tether and zero stretch constraints. If invMasses.data is null, all particles are assumed to be simulated and no tether and zero stretch constraints are being generated.

Referenced by isValid().

PxBoundedData PxClothMeshDesc::points

Pointer to first vertex point.

Referenced by isValid().

PxBoundedData PxClothMeshDesc::quads

Pointer to the first quad.

These are quadruples of 0 based indices: vert0 vert1 vert2 vert3 vert0 vert1 vert2 vert3 vert0 vert1 vert2 vert3 ...

where vert* is either a 32 or 16 bit unsigned integer. There are a total of 4*count indices. The stride determines the byte offset to the next index quadruple.

This is declared as a void pointer because it is actually either an PxU16 or a PxU32 pointer.

Referenced by isValid().

PxBoundedData PxClothMeshDesc::triangles

Pointer to the first triangle.

These are triplets of 0 based indices: vert0 vert1 vert2 vert0 vert1 vert2 vert0 vert1 vert2 ...

where vert* is either a 32 or 16 bit unsigned integer. There are a total of 3*count indices. The stride determines the byte offset to the next index triple.

This is declared as a void pointer because it is actually either an PxU16 or a PxU32 pointer.

Referenced by isValid().

The documentation for this class was generated from the following file:
  • PxClothMeshDesc.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Serializers

Serializers

Classes

class | PxRepXSerializer
Serializer interface for RepX (Xml) serialization. More...

Defines

#define | PX_NEW_REPX_SERIALIZER(T) *PX_PLACEMENT_NEW(PxGetFoundation().getAllocatorCallback().allocate(sizeof(T), "PxRepXSerializer", __FILE__, __LINE__ ), T)(PxGetFoundation().getAllocatorCallback())
Preprocessor macro for RepX serializer creation.
#define | PX_DELETE_REPX_SERIALIZER(x) { PxRepXSerializer* s = x; if (s) { PxGetFoundation().getAllocatorCallback().deallocate(s); } }
Preprocessor Macro to simplify RepX serializer delete.

Functions

template<typename TDataType >
PX_INLINE physx::PxRepXObject | PxCreateRepXObject (const TDataType *inType, const physx::PxSerialObjectId inId)
Inline helper template function to create PxRepXObject from TDataType type supporting PxTypeInfo<TDataType>::name.
PX_INLINE physx::PxRepXObject | PxCreateRepXObject (const physx::PxBase *inType, const physx::PxSerialObjectId inId)
Inline helper function to create PxRepXObject from a PxBase instance.
template<typename TDataType >
PX_INLINE physx::PxRepXObject | PxCreateRepXObject (const TDataType *inType)
Inline helper template function to create PxRepXObject form TDataType type using inType pointer as a PxSerialObjectId id.

Define Documentation

#define PX_DELETE_REPX_SERIALIZER ( x ) { PxRepXSerializer* s = x; if (s) { PxGetFoundation().getAllocatorCallback().deallocate(s); } }

Preprocessor Macro to simplify RepX serializer delete.

#define PX_NEW_REPX_SERIALIZER ( T ) *PX_PLACEMENT_NEW(PxGetFoundation().getAllocatorCallback().allocate(sizeof(T), "PxRepXSerializer", __FILE__, __LINE__ ), T)(PxGetFoundation().getAllocatorCallback())

Preprocessor macro for RepX serializer creation.

Function Documentation

template<typename TDataType >
PX_INLINE physx::PxRepXObject PxCreateRepXObject ( const TDataType * inType ) [inline]

Inline helper template function to create PxRepXObject form TDataType type using inType pointer as a PxSerialObjectId id.

References PxCreateRepXObject().

PX_INLINE physx::PxRepXObject PxCreateRepXObject | ( | const physx::PxBase * | inType,
 |  | const physx::PxSerialObjectId | inId
 | ) |  |

Inline helper function to create PxRepXObject from a PxBase instance.

References PX_ASSERT.

template<typename TDataType >
PX_INLINE physx::PxRepXObject PxCreateRepXObject | ( | const TDataType * | inType,
 |  | const physx::PxSerialObjectId | inId |
 | ) |  |  | [inline]

Inline helper template function to create PxRepXObject from TDataType type supporting PxTypeInfo<TDataType>::name.

Referenced by PxCreateRepXObject().


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRepXSerializer Class Reference

PxRepXSerializer Class Reference
[Serializers]

Serializer interface for RepX (Xml) serialization. More...

#include <PxRepXSerializer.h>

List of all members.

Public Member Functions

virtual const char * | getTypeName ()=0
The type this Serializer is meant to operate on.
virtual void | objectToFile (const PxRepXObject &inLiveObject, PxCollection *inCollection, XmlWriter &inWriter, MemoryBuffer &inTempBuffer, PxRepXInstantiationArgs &inArgs)=0
Convert from a RepX object to a key-value pair hierarchy.
virtual PxRepXObject | fileToObject (XmlReader &inReader, XmlMemoryAllocator &inAllocator, PxRepXInstantiationArgs &inArgs, PxCollection *inCollection)=0
Convert from a descriptor to a live object. Must be an object of this Serializer type.

Protected Member Functions

virtual | ~PxRepXSerializer ()

Detailed Description

Serializer interface for RepX (Xml) serialization.

In order to serialize a class to RepX both a PxSerializer and a PxRepXSerializer implementation are needed.

A repx Serializer provides the ability to capture a live object to a descriptor or static state and the ability to write that state out to a file. Objects allocated by the Serializer using the allocator are freed when the collection itself is freed. SnRepXCoreSerializers.cpp implements a set of Serializers for the core PhysX types.

Note:
Implementing a PxRepXSerializer is currently not practical without including the internal PhysXExtension header "SnRepXSerializerImpl.h".
See also:
PxSerializer, PX_NEW_REPX_SERIALIZER, PxSerializationRegistry::registerRepXSerializer

Constructor & Destructor Documentation

virtual PxRepXSerializer::~PxRepXSerializer ( ) [inline, protected, virtual]

Member Function Documentation

virtual PxRepXObject PxRepXSerializer::fileToObject | ( | XmlReader & | inReader,
 |  | XmlMemoryAllocator & | inAllocator,
 |  | PxRepXInstantiationArgs & | inArgs,
 |  | PxCollection * | inCollection |
 | ) |  |  | [pure virtual]

Convert from a descriptor to a live object. Must be an object of this Serializer type.

Parameters:
[in] | inReader | The inverse of the writer, a key-value pair database.
[in] | inAllocator | An allocator to use for temporary allocations. These will be freed after instantiation completes.
[in] | inArgs | The arguments used in create resources and objects.
[in] | inCollection | The collection used to find references.
Returns:
The new live object. It can be an invalid object if the instantiation cannot take place.

virtual const char* PxRepXSerializer::getTypeName ( ) [pure virtual]

The type this Serializer is meant to operate on.

See also:
PxRepXObject::typeName

virtual void PxRepXSerializer::objectToFile | ( | const PxRepXObject & | inLiveObject,
 |  | PxCollection * | inCollection,
 |  | XmlWriter & | inWriter,
 |  | MemoryBuffer & | inTempBuffer,
 |  | PxRepXInstantiationArgs & | inArgs |
 | ) |  |  | [pure virtual]

Convert from a RepX object to a key-value pair hierarchy.

Parameters:
[in] | inLiveObject | The object to convert to the passed in descriptor.
[in] | inCollection | The collection to use to find ids of references of this object.
[in] | inWriter | Interface to write data to.
[in] | inTempBuffer | used to for temporary allocations.
[in] | inArgs | The arguments used in create resources and objects.

The documentation for this class was generated from the following file:
  • PxRepXSerializer.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Geomutils

Geomutils

Classes

class | PxBoxGeometry
Class representing the geometry of a box. More...
class | PxCapsuleGeometry
Class representing the geometry of a capsule. More...
struct | PxHullPolygon
Polygon data. More...
class | PxConvexMesh
A convex mesh. More...
struct | PxConvexMeshGeometryFlag
Flags controlling the simulated behavior of the convex mesh geometry. More...
class | PxConvexMeshGeometry
Convex mesh geometry class. More...
struct | PxGeometryType
A geometry type. More...
class | PxGeometry
A geometry object. More...
class | PxGeometryHolder
Geometry holder class. More...
class | PxGeometryQuery
Collection of geometry object queries (sweeps, raycasts, overlaps, ...). More...
class | PxHeightField
A height field class. More...
class | PxHeightFieldDesc
Descriptor class for PxHeightField. More...
struct | PxHeightFieldFormat
Describes the format of height field samples. More...
struct | PxHeightFieldTessFlag
Determines the tessellation of height field cells. More...
struct | PxHeightFieldFlag
Enum with flag values to be used in PxHeightFieldDesc.flags. More...
class | PxHeightFieldGeometry
Height field geometry class. More...
struct | PxHeightFieldMaterial
Special material index values for height field samples. More...
struct | PxHeightFieldSample
Heightfield sample format. More...
class | PxMeshQuery
class | PxMeshScale
A class expressing a nonuniform scaling transformation. More...
class | PxPlaneGeometry
Class describing a plane geometry. More...
struct | PxMeshFlag
Enum with flag values to be used in PxSimpleTriangleMesh::flags. More...
class | PxSimpleTriangleMesh
A structure describing a triangle mesh. More...
class | PxSphereGeometry
A class representing the geometry of a sphere. More...
class | PxTriangle
Triangle class. More...
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...
struct | PxTriangleMeshFlag
Flags for the mesh geometry properties. More...
class | PxTriangleMesh
A triangle mesh, also called a 'polygon soup'. More...
class | PxBVH33TriangleMesh
A triangle mesh containing the PxMeshMidPhase::eBVH33 structure. More...
class | PxBVH34TriangleMesh
A triangle mesh containing the PxMeshMidPhase::eBVH34 structure. More...
struct | PxMeshGeometryFlag
Flags controlling the simulated behavior of the triangle mesh geometry. More...
class | PxTriangleMeshGeometry
Triangle mesh geometry class. More...

Defines

#define | PX_MIN_HEIGHTFIELD_XZ_SCALE 1e-8f
#define | PX_MIN_HEIGHTFIELD_Y_SCALE (0.0001f / PxReal(0xFFFF))
#define | PX_MESH_SCALE_MIN 1e-6f
Minimum allowed absolute magnitude for each of mesh scale's components (x,y,z).
#define | PX_MESH_SCALE_MAX 1e6f
Maximum allowed absolute magnitude for each of mesh scale's components (x,y,z).
#define | PX_ENABLE_DYNAMIC_MESH_RTREE 1
Enables the dynamic rtree mesh feature. It is recommended to use this feature for scene queries only.

Typedefs

typedef PxFlags
< PxConvexMeshGeometryFlag::Enum,
PxU8 > 		PxConvexMeshGeometryFlags
collection of set bits defined in PxConvexMeshGeometryFlag.
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
< PxTriangleMeshFlag::Enum,
PxU8 > 		PxTriangleMeshFlags
collection of set bits defined in PxTriangleMeshFlag.
typedef PxFlags
< PxMeshGeometryFlag::Enum,
PxU8 > 		PxMeshGeometryFlags
collection of set bits defined in PxMeshGeometryFlag.

Functions

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 &transform)
creates a plane equation from a transform, such as the actor transform for a PxPlaneGeometry
PX_INLINE bool | PxBoxGeometry::isValid () const
Returns true if the geometry is valid.
PX_INLINE bool | PxCapsuleGeometry::isValid () const
Returns true if the geometry is valid.
PX_INLINE bool | PxConvexMeshGeometry::isValid () const
Returns true if the geometry is valid.
PX_INLINE | PxHeightFieldDesc::PxHeightFieldDesc ()
Constructor sets to default.
PX_INLINE void | PxHeightFieldDesc::setToDefault ()
(re)sets the structure to the default.
PX_INLINE bool | PxHeightFieldDesc::isValid () const
Returns true if the descriptor is valid.
PX_INLINE bool | PxHeightFieldGeometry::isValid () const
Returns true if the geometry is valid.
PX_INLINE bool | PxPlaneGeometry::isValid () const
Returns true if the geometry is valid.
PX_INLINE | PxSimpleTriangleMesh::PxSimpleTriangleMesh ()
constructor sets to default.
PX_INLINE void | PxSimpleTriangleMesh::setToDefault ()
(re)sets the structure to the default.
PX_INLINE bool | PxSimpleTriangleMesh::isValid () const
returns true if the current settings are valid
PX_INLINE bool | PxSphereGeometry::isValid () const
Returns true if the geometry is valid.
PX_INLINE bool | PxTriangleMeshGeometry::isValid () const
Returns true if the geometry is valid.

Variables

class PxGeometryHolder | PX_ALIGN_SUFFIX
Geometry holder class.

Define Documentation

#define PX_ENABLE_DYNAMIC_MESH_RTREE 1

Enables the dynamic rtree mesh feature. It is recommended to use this feature for scene queries only.

See also:
PxTriangleMesh::getVerticesForModification

PxTriangleMesh::refitBVH

#define PX_MESH_SCALE_MAX 1e6f

Maximum allowed absolute magnitude for each of mesh scale's components (x,y,z).

Note:
Only positive scale values are allowed for convex meshes.

Referenced by PxMeshScale::isValidForConvexMesh(), and PxMeshScale::isValidForTriangleMesh().

#define PX_MESH_SCALE_MIN 1e-6f

Minimum allowed absolute magnitude for each of mesh scale's components (x,y,z).

Note:
Only positive scale values are allowed for convex meshes.

Referenced by PxMeshScale::isValidForConvexMesh(), and PxMeshScale::isValidForTriangleMesh().

#define PX_MIN_HEIGHTFIELD_XZ_SCALE 1e-8f

Referenced by PxHeightFieldGeometry::isValid().

#define PX_MIN_HEIGHTFIELD_Y_SCALE (0.0001f / PxReal(0xFFFF))

Referenced by PxHeightFieldGeometry::isValid().

Typedef Documentation

typedef PxFlags<PxConvexMeshGeometryFlag::Enum,PxU8> PxConvexMeshGeometryFlags

collection of set bits defined in PxConvexMeshGeometryFlag.

See also:
PxConvexMeshGeometryFlag

typedef PxFlags<PxHeightFieldFlag::Enum,PxU16> PxHeightFieldFlags

collection of set bits defined in PxHeightFieldFlag.

See also:
PxHeightFieldFlag

typedef PxFlags<PxMeshFlag::Enum,PxU16> PxMeshFlags

collection of set bits defined in PxMeshFlag.

See also:
PxMeshFlag

typedef PxFlags<PxMeshGeometryFlag::Enum,PxU8> PxMeshGeometryFlags

collection of set bits defined in PxMeshGeometryFlag.

See also:
PxMeshGeometryFlag

typedef PxFlags<PxTriangleMeshFlag::Enum,PxU8> PxTriangleMeshFlags

collection of set bits defined in PxTriangleMeshFlag.

See also:
PxTriangleMeshFlag

Function Documentation

PX_INLINE bool PxTriangleMeshGeometry::isValid ( ) const [inherited]

Returns true if the geometry is valid.

Returns:
True if the current settings are valid for shape creation.
Note:
A valid triangle mesh has a positive scale value in each direction (scale.scale.x > 0, scale.scale.y > 0, scale.scale.z > 0). It is illegal to call PxRigidActor::createShape and PxPhysics::createShape with a triangle mesh that has zero extents in any direction.
See also:
PxRigidActor::createShape, PxPhysics::createShape

References PxGeometryType::eTRIANGLEMESH, PxVec3::isFinite(), PxQuat::isUnit(), PxMeshScale::isValidForTriangleMesh(), PxGeometry::mType, PxMeshScale::rotation, PxMeshScale::scale, PxTriangleMeshGeometry::scale, and PxTriangleMeshGeometry::triangleMesh.

PX_INLINE bool PxSphereGeometry::isValid ( ) const [inherited]

Returns true if the geometry is valid.

Returns:
True if the current settings are valid
Note:
A valid sphere has radius > 0. It is illegal to call PxRigidActor::createShape and PxPhysics::createShape with a sphere that has zero radius.
See also:
PxRigidActor::createShape, PxPhysics::createShape

References PxGeometryType::eSPHERE, PxGeometry::mType, PxIsFinite(), and PxSphereGeometry::radius.

PX_INLINE bool PxSimpleTriangleMesh::isValid ( ) const [inherited]

returns true if the current settings are valid

Reimplemented in PxTriangleMeshDesc.

References PxBoundedData::count, PxStridedData::data, PxMeshFlag::e16_BIT_INDICES, PxSimpleTriangleMesh::flags, PxSimpleTriangleMesh::points, PxStridedData::stride, and PxSimpleTriangleMesh::triangles.

PX_INLINE bool PxPlaneGeometry::isValid ( ) const [inherited]

Returns true if the geometry is valid.

Returns:
True if the current settings are valid

References PxGeometryType::ePLANE, and PxGeometry::mType.

PX_INLINE bool PxHeightFieldGeometry::isValid ( ) const [inherited]

Returns true if the geometry is valid.

Returns:
True if the current settings are valid
Note:
A valid height field has a positive scale value in each direction (heightScale > 0, rowScale > 0, columnScale > 0). It is illegal to call PxRigidActor::createShape and PxPhysics::createShape with a height field that has zero extents in any direction.
See also:
PxRigidActor::createShape, PxPhysics::createShape

References PxHeightFieldGeometry::columnScale, PxGeometryType::eHEIGHTFIELD, PxHeightFieldGeometry::heightField, PxHeightFieldGeometry::heightScale, PxGeometry::mType, PX_MIN_HEIGHTFIELD_XZ_SCALE, PX_MIN_HEIGHTFIELD_Y_SCALE, PxIsFinite(), and PxHeightFieldGeometry::rowScale.

PX_INLINE bool PxHeightFieldDesc::isValid ( ) const [inherited]

Returns true if the descriptor is valid.

Returns:
True if the current settings are valid.

References PxHeightFieldDesc::convexEdgeThreshold, PxHeightFieldFlag::eNO_BOUNDARY_EDGES, PxHeightFieldFormat::eS16_TM, PxHeightFieldDesc::flags, PxHeightFieldDesc::format, PxHeightFieldDesc::nbColumns, PxHeightFieldDesc::nbRows, PX_MAX_BOUNDS_EXTENTS, PxHeightFieldDesc::samples, and PxStridedData::stride.

PX_INLINE bool PxConvexMeshGeometry::isValid ( ) const [inherited]

Returns true if the geometry is valid.

Returns:
True if the current settings are valid for shape creation.
Note:
A valid convex mesh has a positive scale value in each direction (scale.x > 0, scale.y > 0, scale.z > 0). It is illegal to call PxRigidActor::createShape and PxPhysics::createShape with a convex that has zero extent in any direction.
See also:
PxRigidActor::createShape, PxPhysics::createShape

References PxConvexMeshGeometry::convexMesh, PxGeometryType::eCONVEXMESH, PxVec3::isFinite(), PxQuat::isUnit(), PxMeshScale::isValidForConvexMesh(), PxConvexMeshGeometry::maxMargin, PxGeometry::mType, PxMeshScale::rotation, PxMeshScale::scale, and PxConvexMeshGeometry::scale.

PX_INLINE bool PxCapsuleGeometry::isValid ( ) const [inherited]

Returns true if the geometry is valid.

Returns:
True if the current settings are valid.
Note:
A valid capsule has radius > 0, halfHeight > 0. It is illegal to call PxRigidActor::createShape and PxPhysics::createShape with a capsule that has zero radius or height.
See also:
PxRigidActor::createShape, PxPhysics::createShape

References PxGeometryType::eCAPSULE, PxCapsuleGeometry::halfHeight, PxGeometry::mType, PxIsFinite(), and PxCapsuleGeometry::radius.

PX_INLINE bool PxBoxGeometry::isValid ( ) const [inherited]

Returns true if the geometry is valid.

Returns:
True if the current settings are valid
Note:
A valid box has a positive extent in each direction (halfExtents.x > 0, halfExtents.y > 0, halfExtents.z > 0). It is illegal to call PxRigidActor::createShape and PxPhysics::createShape with a box that has zero extent in any direction.
See also:
PxRigidActor::createShape, PxPhysics::createShape

References PxGeometryType::eBOX, PxBoxGeometry::halfExtents, PxVec3::isFinite(), PxGeometry::mType, PxVec3::x, PxVec3::y, and PxVec3::z.

PX_INLINE PxHeightFieldDesc::PxHeightFieldDesc ( ) [inherited]

Constructor sets to default.

References PxHeightFieldDesc::convexEdgeThreshold, PxHeightFieldFormat::eS16_TM, PxHeightFieldDesc::flags, PxHeightFieldDesc::format, PxHeightFieldDesc::nbColumns, PxHeightFieldDesc::nbRows, and PxHeightFieldDesc::thickness.

Referenced by PxHeightFieldDesc::setToDefault().

PX_INLINE PxPlane PxPlaneEquationFromTransform ( const PxTransform & transform )

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

Parameters:
[in] transform the transform
Returns:
the plane

References PxTransform::transform().

PX_INLINE PxSimpleTriangleMesh::PxSimpleTriangleMesh ( ) [inherited]

constructor sets to default.

Referenced by PxSimpleTriangleMesh::setToDefault().

PX_FOUNDATION_API PxTransform PxTransformFromPlaneEquation ( const PxPlane & plane )

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

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

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

Parameters:
[in] | p0 | one end of major axis of the capsule
[in] | p1 | the other end of the axis of the capsule
[out] | halfHeight | the 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

PX_INLINE void PxSimpleTriangleMesh::setToDefault ( ) [inherited]

(re)sets the structure to the default.

Reimplemented in PxTriangleMeshDesc.

References PxSimpleTriangleMesh::PxSimpleTriangleMesh().

PX_INLINE void PxHeightFieldDesc::setToDefault ( ) [inherited]

(re)sets the structure to the default.

References PxHeightFieldDesc::PxHeightFieldDesc().

Variable Documentation

class PxGeometryHolder PX_ALIGN_SUFFIX

Geometry holder class.

This class contains enough space to hold a value of any PxGeometry subtype.

Its principal use is as a convenience class to allow geometries to be returned polymorphically from functions. See PxShape::getGeometry();


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBoxGeometry Class Reference

PxBoxGeometry Class Reference
[Geomutils]

Class representing the geometry of a box. More...

#include <PxBoxGeometry.h>

Inheritance diagram for PxBoxGeometry:

PxGeometry
[legend]
Collaboration diagram for PxBoxGeometry:

PxGeometryPxVec3
[legend]

List of all members.

Public Member Functions

PX_INLINE | PxBoxGeometry ()
Default constructor, initializes to a box with zero dimensions.
PX_INLINE | PxBoxGeometry (PxReal hx, PxReal hy, PxReal hz)
Constructor to initialize half extents from scalar parameters.
PX_INLINE | PxBoxGeometry (PxVec3 halfExtents_)
Constructor to initialize half extents from vector parameter.
PX_INLINE bool | isValid () const
Returns true if the geometry is valid.

Public Attributes

PxVec3 halfExtents
Half of the width, height, and depth of the box.

Detailed Description

Class representing the geometry of a box.

The geometry of a box can be fully specified by its half extents. This is the half of its width, height, and depth.

Note:
The scaling of the box is expected to be baked into these values, there is no additional scaling parameter.

Constructor & Destructor Documentation

PX_INLINE PxBoxGeometry::PxBoxGeometry ( ) [inline]

Default constructor, initializes to a box with zero dimensions.

PX_INLINE PxBoxGeometry::PxBoxGeometry | ( | PxReal | hx,
 |  | PxReal | hy,
 |  | PxReal | hz |
 | ) |  |  | [inline]

Constructor to initialize half extents from scalar parameters.

Parameters:
hx | Initial half extents' x component.
hy | Initial half extents' y component.
hz | Initial half extents' z component.

PX_INLINE PxBoxGeometry::PxBoxGeometry ( PxVec3 halfExtents_ ) [inline]

Constructor to initialize half extents from vector parameter.

Parameters:
halfExtents_ Initial half extents.

Member Data Documentation

PxVec3 PxBoxGeometry::halfExtents

Half of the width, height, and depth of the box.

Referenced by isValid(), and PxMassProperties::PxMassProperties().

The documentation for this class was generated from the following file:
  • PxBoxGeometry.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCapsuleGeometry Class Reference

PxCapsuleGeometry Class Reference
[Geomutils]

Class representing the geometry of a capsule. More...

#include <PxCapsuleGeometry.h>

Inheritance diagram for PxCapsuleGeometry:

PxGeometry
[legend]
Collaboration diagram for PxCapsuleGeometry:

PxGeometry
[legend]

List of all members.

Public Member Functions

PX_INLINE | PxCapsuleGeometry ()
Default constructor, initializes to a capsule with zero height and radius.
PX_INLINE | PxCapsuleGeometry (PxReal radius_, PxReal halfHeight_)
Constructor, initializes to a capsule with passed radius and half height.
PX_INLINE bool | isValid () const
Returns true if the geometry is valid.

Public Attributes

PxReal | radius
The radius of the capsule.
PxReal | halfHeight
half of the capsule's height, measured between the centers of the hemispherical ends.

Detailed Description

Class representing the geometry of a capsule.

Capsules are shaped as the union of a cylinder of length 2 * halfHeight and with the given radius centered at the origin and extending along the x axis, and two hemispherical ends.

Note:
The scaling of the capsule is expected to be baked into these values, there is no additional scaling parameter.
The function PxTransformFromSegment is a helper for generating an appropriate transform for the capsule from the capsule's interior line segment.

See also:
PxTransformFromSegment

Constructor & Destructor Documentation

PX_INLINE PxCapsuleGeometry::PxCapsuleGeometry ( ) [inline]

Default constructor, initializes to a capsule with zero height and radius.

PX_INLINE PxCapsuleGeometry::PxCapsuleGeometry | ( | PxReal | radius_,
 |  | PxReal | halfHeight_ |
 | ) |  |  | [inline]

Constructor, initializes to a capsule with passed radius and half height.

Member Data Documentation

PxReal PxCapsuleGeometry::halfHeight

half of the capsule's height, measured between the centers of the hemispherical ends.

Referenced by isValid(), and PxMassProperties::PxMassProperties().

PxReal PxCapsuleGeometry::radius

The radius of the capsule.

Referenced by isValid(), and PxMassProperties::PxMassProperties().

The documentation for this class was generated from the following file:
  • PxCapsuleGeometry.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxHullPolygon Struct Reference

PxHullPolygon Struct Reference
[Geomutils]

Polygon data. More...

#include <PxConvexMesh.h>

List of all members.

Public Attributes

PxReal | mPlane [4]
Plane equation for this polygon.
PxU16 | mNbVerts
Number of vertices/edges in the polygon.
PxU16 | mIndexBase
Offset in index buffer.

Detailed Description

Polygon data.

Plane format: (mPlane[0],mPlane[1],mPlane[2]).dot(x) + mPlane[3] = 0 With the normal outward-facing from the hull.

Member Data Documentation

PxU16 PxHullPolygon::mIndexBase

Offset in index buffer.

PxU16 PxHullPolygon::mNbVerts

Number of vertices/edges in the polygon.

PxReal PxHullPolygon::mPlane[4]

Plane equation for this polygon.

The documentation for this struct was generated from the following file:
  • PxConvexMesh.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxConvexMesh Class Reference

PxConvexMesh Class Reference
[Geomutils]

A convex mesh. More...

#include <PxConvexMesh.h>

Inheritance diagram for PxConvexMesh:

PxBase
[legend]
Collaboration diagram for PxConvexMesh:

PxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

virtual PX_PHYSX_COMMON_API PxU32 | getNbVertices () const =0
Returns the number of vertices.
virtual PX_PHYSX_COMMON_API
const PxVec3 * 		getVertices () const =0
Returns the vertices.
virtual PX_PHYSX_COMMON_API
const PxU8 * 		getIndexBuffer () const =0
Returns the index buffer.
virtual PX_PHYSX_COMMON_API PxU32 | getNbPolygons () const =0
Returns the number of polygons.
virtual PX_PHYSX_COMMON_API bool | getPolygonData (PxU32 index, PxHullPolygon &data) const =0
Returns the polygon data.
virtual PX_PHYSX_COMMON_API void | release ()=0
Decrements the reference count of a convex mesh and releases it if the new reference count is zero.
virtual PX_PHYSX_COMMON_API PxU32 | getReferenceCount () const =0
Returns the reference count of a convex mesh.
virtual PX_PHYSX_COMMON_API void | acquireReference ()=0
Acquires a counted reference to a convex mesh.
virtual PX_PHYSX_COMMON_API void | getMassInformation (PxReal &mass, PxMat33 &localInertia, PxVec3 &localCenterOfMass) const =0
Returns the mass properties of the mesh assuming unit density.
virtual PX_PHYSX_COMMON_API
PxBounds3 		getLocalBounds () const =0
Returns the local-space (vertex space) AABB from the convex mesh.
virtual PX_PHYSX_COMMON_API
const char * 		getConcreteTypeName () const
Returns string name of dynamic type.
virtual PX_PHYSX_COMMON_API bool | isGpuCompatible () const =0
This method decides whether a convex mesh is gpu compatible. If the total number of vertices are more than 64 or any number of vertices in a polygon is more than 32, or convex hull data was not cooked with GPU data enabled during cooking or was loaded from a serialized collection, the convex hull is incompatible with GPU collision detection. Otherwise it is compatible.

Protected Member Functions

PX_INLINE | PxConvexMesh (PxType concreteType, PxBaseFlags baseFlags)
PX_INLINE | PxConvexMesh (PxBaseFlags baseFlags)
virtual PX_PHYSX_COMMON_API | ~PxConvexMesh ()
virtual PX_PHYSX_COMMON_API bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Detailed Description

A convex mesh.

Internally represented as a list of convex polygons. The number of polygons is limited to 256.

To avoid duplicating data when you have several instances of a particular mesh positioned differently, you do not use this class to represent a convex object directly. Instead, you create an instance of this mesh via the PxConvexMeshGeometry and PxShape classes.

Creation

To create an instance of this class call PxPhysics::createConvexMesh(), and PxConvexMesh::release() to delete it. This is only possible once you have released all of its PxShape instances.

Visualizations:

  • PxVisualizationParameter::eCOLLISION_AABBS
  • PxVisualizationParameter::eCOLLISION_SHAPES
  • PxVisualizationParameter::eCOLLISION_AXES
  • PxVisualizationParameter::eCOLLISION_FNORMALS
  • PxVisualizationParameter::eCOLLISION_EDGES
See also:
PxConvexMeshDesc PxPhysics.createConvexMesh()

Constructor & Destructor Documentation

PX_INLINE PxConvexMesh::PxConvexMesh | ( | PxType | concreteType,
 |  | PxBaseFlags | baseFlags |
 | ) |  |  | [inline, protected]

PX_INLINE PxConvexMesh::PxConvexMesh ( PxBaseFlags baseFlags ) [inline, protected]

virtual PX_PHYSX_COMMON_API PxConvexMesh::~PxConvexMesh ( ) [inline, protected, virtual]

Member Function Documentation

virtual PX_PHYSX_COMMON_API void PxConvexMesh::acquireReference ( ) [pure virtual]

Acquires a counted reference to a convex mesh.

This method increases the reference count of the convex mesh by 1. Decrement the reference count by calling release()

virtual PX_PHYSX_COMMON_API const char* PxConvexMesh::getConcreteTypeName ( ) const [inline, virtual]

Returns string name of dynamic type.

Returns:
Class name of most derived type of this object.

Implements PxBase.

virtual PX_PHYSX_COMMON_API const PxU8* PxConvexMesh::getIndexBuffer ( ) const [pure virtual]

Returns the index buffer.

Returns:
Index buffer.
See also:
getNbPolygons() getPolygonData()

virtual PX_PHYSX_COMMON_API PxBounds3 PxConvexMesh::getLocalBounds ( ) const [pure virtual]

Returns the local-space (vertex space) AABB from the convex mesh.

Returns:
local-space bounds

virtual PX_PHYSX_COMMON_API void PxConvexMesh::getMassInformation | ( | PxReal & | mass,
 |  | PxMat33 & | localInertia,
 |  | PxVec3 & | localCenterOfMass |
 | ) |  |  | const [pure virtual]

Returns the mass properties of the mesh assuming unit density.

The following relationship holds between mass and volume:

mass = volume * density

The mass of a unit density mesh is equal to its volume, so this function returns the volume of the mesh.

Similarly, to obtain the localInertia of an identically shaped object with a uniform density of d, simply multiply the localInertia of the unit density mesh by d.

Parameters:
[out] | mass | The mass of the mesh assuming unit density.
[out] | localInertia | The inertia tensor in mesh local space assuming unit density.
[out] | localCenterOfMass | Position of center of mass (or centroid) in mesh local space.

Referenced by PxMassProperties::PxMassProperties().

virtual PX_PHYSX_COMMON_API PxU32 PxConvexMesh::getNbPolygons ( ) const [pure virtual]

Returns the number of polygons.

Returns:
Number of polygons.
See also:
getIndexBuffer() getPolygonData()

virtual PX_PHYSX_COMMON_API PxU32 PxConvexMesh::getNbVertices ( ) const [pure virtual]

Returns the number of vertices.

Returns:
Number of vertices.
See also:
getVertices()

virtual PX_PHYSX_COMMON_API bool PxConvexMesh::getPolygonData | ( | PxU32 | index,
 |  | PxHullPolygon & | data |
 | ) |  |  | const [pure virtual]

Returns the polygon data.

Parameters:
[in] | index | Polygon index in [0 ; getNbPolygons()[.
[out] | data | Polygon data.
Returns:
True if success.
See also:
getIndexBuffer() getNbPolygons()

virtual PX_PHYSX_COMMON_API PxU32 PxConvexMesh::getReferenceCount ( ) const [pure virtual]

Returns the reference count of a convex mesh.

At creation, the reference count of the convex mesh is 1. Every shape referencing this convex mesh increments the count by 1. When the reference count reaches 0, and only then, the convex mesh gets destroyed automatically.

Returns:
the current reference count.

virtual PX_PHYSX_COMMON_API const PxVec3* PxConvexMesh::getVertices ( ) const [pure virtual]

Returns the vertices.

Returns:
Array of vertices.
See also:
getNbVertices()

virtual PX_PHYSX_COMMON_API bool PxConvexMesh::isGpuCompatible ( ) const [pure virtual]

This method decides whether a convex mesh is gpu compatible. If the total number of vertices are more than 64 or any number of vertices in a polygon is more than 32, or convex hull data was not cooked with GPU data enabled during cooking or was loaded from a serialized collection, the convex hull is incompatible with GPU collision detection. Otherwise it is compatible.

Returns:
True if the convex hull is gpu compatible

virtual PX_PHYSX_COMMON_API bool PxConvexMesh::isKindOf ( const char * superClass ) const [inline, protected, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxBase.

References PxBase::isKindOf().

virtual PX_PHYSX_COMMON_API void PxConvexMesh::release ( ) [pure virtual]

Decrements the reference count of a convex mesh and releases it if the new reference count is zero.

See also:
PxPhysics.createConvexMesh() PxConvexMeshGeometry PxShape

Implements PxBase.

The documentation for this class was generated from the following file:
  • PxConvexMesh.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxConvexMeshGeometryFlag Struct Reference

PxConvexMeshGeometryFlag Struct Reference
[Geomutils]

Flags controlling the simulated behavior of the convex mesh geometry. More...

#include <PxConvexMeshGeometry.h>

List of all members.

Public Types

enum Enum { eTIGHT_BOUNDS = (1<<0) }

Detailed Description

Flags controlling the simulated behavior of the convex mesh geometry.

Used in PxConvexMeshGeometryFlags.

Member Enumeration Documentation

enum PxConvexMeshGeometryFlag::Enum

Enumerator:
eTIGHT_BOUNDS Use tighter (but more expensive to compute) bounds around the convex geometry.

The documentation for this struct was generated from the following file:
  • PxConvexMeshGeometry.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxConvexMeshGeometry Class Reference

PxConvexMeshGeometry Class Reference
[Geomutils]

Convex mesh geometry class. More...

#include <PxConvexMeshGeometry.h>

Inheritance diagram for PxConvexMeshGeometry:

PxGeometry
[legend]
Collaboration diagram for PxConvexMeshGeometry:

PxGeometryPxFlags\< PxConvexMeshGeometryFlag::Enum, PxU8 \>PxMeshScalePxVec3PxQuatPxPadding\< 3 \>PxConvexMeshPxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

PX_INLINE | PxConvexMeshGeometry ()
Default constructor.
PX_INLINE | PxConvexMeshGeometry (PxConvexMesh *mesh, const PxMeshScale &scaling=PxMeshScale(), PxConvexMeshGeometryFlags flags=PxConvexMeshGeometryFlags(), float margin=3.4e38f)
Constructor.
PX_INLINE bool | isValid () const
Returns true if the geometry is valid.

Public Attributes

PxMeshScale scale
The scaling transformation (from vertex space to shape space).
PxConvexMesh * convexMesh
A reference to the convex mesh object.
PxReal | maxMargin
Max shrunk amount permitted by PCM contact gen.
PxConvexMeshGeometryFlags meshFlags
Mesh flags.
PxPadding< 3 > | paddingFromFlags
padding for mesh flags

Detailed Description

Convex mesh geometry class.

This class unifies a convex mesh object with a scaling transform, and lets the combined object be used anywhere a PxGeometry is needed.

The scaling is a transform along arbitrary axes contained in the scale object. The vertices of the mesh in geometry (or shape) space is the PxMeshScale::toMat33() transform, multiplied by the vertex space vertices in the PxConvexMesh object.

Constructor & Destructor Documentation

PX_INLINE PxConvexMeshGeometry::PxConvexMeshGeometry ( ) [inline]

Default constructor.

Creates an empty object with a NULL mesh and identity scale.

PX_INLINE PxConvexMeshGeometry::PxConvexMeshGeometry | ( | PxConvexMesh * | mesh,
 |  | const PxMeshScale & | scaling = PxMeshScale(),
 |  | PxConvexMeshGeometryFlags | flags = PxConvexMeshGeometryFlags(),
 |  | float | margin = 3.4e38f |
 | ) |  |  | [inline]

Constructor.

Parameters:
[in] | mesh | Mesh pointer. May be NULL, though this will not make the object valid for shape construction.
[in] | scaling | Scale factor.
[in] | flags | Mesh flags.
[in] | margin | The maximum margin. Used to limit how much PCM shrinks the geometry by in collision detection. \

Member Data Documentation

PxConvexMesh* PxConvexMeshGeometry::convexMesh

A reference to the convex mesh object.

Referenced by isValid(), and PxMassProperties::PxMassProperties().

PxReal PxConvexMeshGeometry::maxMargin

Max shrunk amount permitted by PCM contact gen.

Referenced by isValid().

PxConvexMeshGeometryFlags PxConvexMeshGeometry::meshFlags

Mesh flags.

PxPadding<3> PxConvexMeshGeometry::paddingFromFlags

padding for mesh flags

PxMeshScale PxConvexMeshGeometry::scale

The scaling transformation (from vertex space to shape space).

Referenced by isValid(), and PxMassProperties::PxMassProperties().

The documentation for this class was generated from the following file:
  • PxConvexMeshGeometry.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxGeometryType Struct Reference

PxGeometryType Struct Reference
[Geomutils]

A geometry type. More...

#include <PxGeometry.h>

List of all members.

Public Types

enum Enum {
eSPHERE,
ePLANE,
eCAPSULE,
eBOX,
eCONVEXMESH,
eTRIANGLEMESH,
eHEIGHTFIELD,
eGEOMETRY_COUNT,
eINVALID = -1
}

Detailed Description

A geometry type.

Used to distinguish the type of a PxGeometry object.

Member Enumeration Documentation

enum PxGeometryType::Enum

Enumerator:
eSPHERE
ePLANE
eCAPSULE
eBOX
eCONVEXMESH
eTRIANGLEMESH
eHEIGHTFIELD
eGEOMETRY_COUNT | internal use only!
eINVALID | internal use only!

The documentation for this struct was generated from the following file:
  • PxGeometry.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxGeometry Class Reference

PxGeometry Class Reference
[Geomutils]

A geometry object. More...

#include <PxGeometry.h>

Inheritance diagram for PxGeometry:

PxBoxGeometryPxCapsuleGeometryPxConvexMeshGeometryPxHeightFieldGeometryPxPlaneGeometryPxSphereGeometryPxTriangleMeshGeometry
[legend]

List of all members.

Public Member Functions

PX_CUDA_CALLABLE
PX_FORCE_INLINE
PxGeometryType::Enum 		getType () const
Returns the type of the geometry.

Protected Member Functions

PX_CUDA_CALLABLE PX_FORCE_INLINE PxGeometry (PxGeometryType::Enum type)

Protected Attributes

PxGeometryType::Enum mType

Detailed Description

A geometry object.

A geometry object defines the characteristics of a spatial object, but without any information about its placement in the world.

Note:
This is an abstract class. You cannot create instances directly. Create an instance of one of the derived classes instead.

Constructor & Destructor Documentation

PX_CUDA_CALLABLE PX_FORCE_INLINE PxGeometry::PxGeometry ( PxGeometryType::Enum type ) [inline, protected]

Member Function Documentation

PX_CUDA_CALLABLE PX_FORCE_INLINE PxGeometryType::Enum PxGeometry::getType ( ) const [inline]

Returns the type of the geometry.

Returns:
The type of the object.

Referenced by PxMassProperties::PxMassProperties(), and PxGeometryHolder::storeAny().

Member Data Documentation

PxGeometryType::Enum PxGeometry::mType [protected]

Referenced by PxTriangleMeshGeometry::isValid(), PxSphereGeometry::isValid(), PxPlaneGeometry::isValid(), PxHeightFieldGeometry::isValid(), PxConvexMeshGeometry::isValid(), PxCapsuleGeometry::isValid(), and PxBoxGeometry::isValid().

The documentation for this class was generated from the following file:
  • PxGeometry.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxGeometryHolder Class Reference

PxGeometryHolder Class Reference
[Geomutils]

Geometry holder class. More...

#include <PxGeometryHelpers.h>

List of all members.

Public Member Functions

PX_FORCE_INLINE
PxGeometryType::Enum 		getType () const
PX_FORCE_INLINE PxGeometry & | any ()
PX_FORCE_INLINE const PxGeometry & | any () const
PX_FORCE_INLINE PxSphereGeometry & | sphere ()
PX_FORCE_INLINE const
PxSphereGeometry & 		sphere () const
PX_FORCE_INLINE PxPlaneGeometry & | plane ()
PX_FORCE_INLINE const
PxPlaneGeometry & 		plane () const
PX_FORCE_INLINE PxCapsuleGeometry & | capsule ()
PX_FORCE_INLINE const
PxCapsuleGeometry & 		capsule () const
PX_FORCE_INLINE PxBoxGeometry & | box ()
PX_FORCE_INLINE const
PxBoxGeometry & 		box () const
PX_FORCE_INLINE
PxConvexMeshGeometry & 		convexMesh ()
PX_FORCE_INLINE const
PxConvexMeshGeometry & 		convexMesh () const
PX_FORCE_INLINE
PxTriangleMeshGeometry & 		triangleMesh ()
PX_FORCE_INLINE const
PxTriangleMeshGeometry & 		triangleMesh () const
PX_FORCE_INLINE
PxHeightFieldGeometry & 		heightField ()
PX_FORCE_INLINE const
PxHeightFieldGeometry & 		heightField () const
PX_FORCE_INLINE void | storeAny (const PxGeometry &geometry)
PX_FORCE_INLINE | PxGeometryHolder ()
PX_FORCE_INLINE | PxGeometryHolder (const PxGeometry &geometry)

Private Member Functions

template<typename T >
void | put (const PxGeometry &geometry)
template<typename T , PxGeometryType::Enum type>
T & | get ()
template<typename T , PxGeometryType::Enum type>
T & | get () const

Private Attributes

union {
PxU8 geometry [sizeof(PxGeometry)]
PxU8 box [sizeof(PxBoxGeometry)]
PxU8 sphere [sizeof(PxSphereGeometry)]
PxU8 capsule [sizeof(PxCapsuleGeometry)]
PxU8 plane [sizeof(PxPlaneGeometry)]
PxU8 convex [sizeof(PxConvexMeshGeometry)]
PxU8 mesh [sizeof(PxTriangleMeshGeometry)]
PxU8 heightfield [sizeof(PxHeightFieldGeometry)]
} bytes

Detailed Description

Geometry holder class.

This class contains enough space to hold a value of any PxGeometry subtype.

Its principal use is as a convenience class to allow geometries to be returned polymorphically from functions. See PxShape::getGeometry();

Constructor & Destructor Documentation

PX_FORCE_INLINE PxGeometryHolder::PxGeometryHolder ( ) [inline]

PX_FORCE_INLINE PxGeometryHolder::PxGeometryHolder ( const PxGeometry & geometry ) [inline]

Member Function Documentation

PX_FORCE_INLINE const PxGeometry& PxGeometryHolder::any ( ) const [inline]

PX_FORCE_INLINE PxGeometry& PxGeometryHolder::any ( ) [inline]

Referenced by PxShapeExt::getWorldBounds(), PxShapeExt::overlap(), PxShapeExt::raycast(), and PxShapeExt::sweep().

PX_FORCE_INLINE const PxBoxGeometry& PxGeometryHolder::box ( ) const [inline]

PX_FORCE_INLINE PxBoxGeometry& PxGeometryHolder::box ( ) [inline]

PX_FORCE_INLINE const PxCapsuleGeometry& PxGeometryHolder::capsule ( ) const [inline]

PX_FORCE_INLINE PxCapsuleGeometry& PxGeometryHolder::capsule ( ) [inline]

PX_FORCE_INLINE const PxConvexMeshGeometry& PxGeometryHolder::convexMesh ( ) const [inline]

PX_FORCE_INLINE PxConvexMeshGeometry& PxGeometryHolder::convexMesh ( ) [inline]

template<typename T , PxGeometryType::Enum type>
T& PxGeometryHolder::get ( ) const [inline, private]

References PX_ASSERT.

template<typename T , PxGeometryType::Enum type>
T& PxGeometryHolder::get ( ) [inline, private]

References PX_ASSERT.

PX_FORCE_INLINE PxGeometryType::Enum PxGeometryHolder::getType ( ) const [inline]

PX_FORCE_INLINE const PxHeightFieldGeometry& PxGeometryHolder::heightField ( ) const [inline]

PX_FORCE_INLINE PxHeightFieldGeometry& PxGeometryHolder::heightField ( ) [inline]

PX_FORCE_INLINE const PxPlaneGeometry& PxGeometryHolder::plane ( ) const [inline]

PX_FORCE_INLINE PxPlaneGeometry& PxGeometryHolder::plane ( ) [inline]

template<typename T >
void PxGeometryHolder::put ( const PxGeometry & geometry ) [inline, private]

PX_FORCE_INLINE const PxSphereGeometry& PxGeometryHolder::sphere ( ) const [inline]

PX_FORCE_INLINE PxSphereGeometry& PxGeometryHolder::sphere ( ) [inline]

PX_FORCE_INLINE void PxGeometryHolder::storeAny ( const PxGeometry & geometry ) [inline]

References PxGeometryType::eBOX, PxGeometryType::eCAPSULE, PxGeometryType::eCONVEXMESH, PxGeometryType::eGEOMETRY_COUNT, PxGeometryType::eHEIGHTFIELD, PxGeometryType::eINVALID, PxGeometryType::ePLANE, PxGeometryType::eSPHERE, PxGeometryType::eTRIANGLEMESH, PxGeometry::getType(), and PX_ASSERT_WITH_MESSAGE.

PX_FORCE_INLINE const PxTriangleMeshGeometry& PxGeometryHolder::triangleMesh ( ) const [inline]

PX_FORCE_INLINE PxTriangleMeshGeometry& PxGeometryHolder::triangleMesh ( ) [inline]

Member Data Documentation

PxU8 PxGeometryHolder::box[sizeof(PxBoxGeometry)]

union { ... } PxGeometryHolder::bytes [private]

PxU8 PxGeometryHolder::capsule[sizeof(PxCapsuleGeometry)]

PxU8 PxGeometryHolder::convex[sizeof(PxConvexMeshGeometry)]

PxU8 PxGeometryHolder::geometry[sizeof(PxGeometry)]

PxU8 PxGeometryHolder::heightfield[sizeof(PxHeightFieldGeometry)]

PxU8 PxGeometryHolder::mesh[sizeof(PxTriangleMeshGeometry)]

PxU8 PxGeometryHolder::plane[sizeof(PxPlaneGeometry)]

PxU8 PxGeometryHolder::sphere[sizeof(PxSphereGeometry)]

The documentation for this class was generated from the following file:
  • PxGeometryHelpers.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxGeometryQuery Class Reference

PxGeometryQuery Class Reference
[Geomutils]

Collection of geometry object queries (sweeps, raycasts, overlaps, ...). More...

#include <PxGeometryQuery.h>

List of all members.

Static Public Member Functions

static PX_PHYSX_COMMON_API bool | sweep (const PxVec3 &unitDir, const PxReal maxDist, const PxGeometry &geom0, const PxTransform &pose0, const PxGeometry &geom1, const PxTransform &pose1, PxSweepHit &sweepHit, PxHitFlags hitFlags=PxHitFlag::eDEFAULT, const PxReal inflation=0.f)
Sweep a specified geometry object in space and test for collision with a given object.
static PX_PHYSX_COMMON_API bool | overlap (const PxGeometry &geom0, const PxTransform &pose0, const PxGeometry &geom1, const PxTransform &pose1)
Overlap test for two geometry objects.
static PX_PHYSX_COMMON_API PxU32 | raycast (const PxVec3 &origin, const PxVec3 &unitDir, const PxGeometry &geom, const PxTransform &pose, PxReal maxDist, PxHitFlags hitFlags, PxU32 maxHits, PxRaycastHit *PX_RESTRICT rayHits)
Raycast test against a geometry object.
static PX_PHYSX_COMMON_API bool | computePenetration (PxVec3 &direction, PxF32 &depth, const PxGeometry &geom0, const PxTransform &pose0, const PxGeometry &geom1, const PxTransform &pose1)
Compute minimum translational distance (MTD) between two geometry objects.
static PX_PHYSX_COMMON_API PxReal | pointDistance (const PxVec3 &point, const PxGeometry &geom, const PxTransform &pose, PxVec3 *closestPoint=NULL)
Computes distance between a point and a geometry object.
static PX_PHYSX_COMMON_API
PxBounds3 		getWorldBounds (const PxGeometry &geom, const PxTransform &pose, float inflation=1.01f)
get the bounds for a geometry object
static PX_PHYSX_COMMON_API bool | isValid (const PxGeometry &geom)
Checks if provided geometry is valid.

Detailed Description

Collection of geometry object queries (sweeps, raycasts, overlaps, ...).

Member Function Documentation

static PX_PHYSX_COMMON_API bool PxGeometryQuery::computePenetration | ( | PxVec3 & | direction,
 |  | PxF32 & | depth,
 |  | const PxGeometry & | geom0,
 |  | const PxTransform & | pose0,
 |  | const PxGeometry & | geom1,
 |  | const PxTransform & | pose1 |
 | ) |  |  | [static]

Compute minimum translational distance (MTD) between two geometry objects.

All combinations of geom objects are supported except:

  • plane/plane
  • plane/mesh
  • plane/heightfield
  • mesh/mesh
  • mesh/heightfield
  • heightfield/heightfield

The function returns a unit vector ('direction') and a penetration depth ('depth').

The depenetration vector D = direction * depth should be applied to the first object, to get out of the second object.

Returned depth should always be positive or null.

If objects do not overlap, the function can not compute the MTD and returns false.

Parameters:
[out] | direction | Computed MTD unit direction
[out] | depth | Penetration depth. Always positive or null.
[in] | geom0 | The first geometry object
[in] | pose0 | Pose of the first geometry object
[in] | geom1 | The second geometry object
[in] | pose1 | Pose of the second geometry object
Returns:
True if the MTD has successfully been computed, i.e. if objects do overlap.
See also:
PxGeometry PxTransform

static PX_PHYSX_COMMON_API PxBounds3 PxGeometryQuery::getWorldBounds | ( | const PxGeometry & | geom,
 |  | const PxTransform & | pose,
 |  | float | inflation = 1.01f |
 | ) |  |  | [static]

get the bounds for a geometry object

Parameters:
[in] | geom | The geometry object
[in] | pose | Pose of the geometry object
[in] | inflation | Scale factor for computed world bounds. Box extents are multiplied by this value.
Returns:
The bounds of the object
See also:
PxGeometry PxTransform

Referenced by PxShapeExt::getWorldBounds().

static PX_PHYSX_COMMON_API bool PxGeometryQuery::isValid ( const PxGeometry & geom ) [static]

Checks if provided geometry is valid.

Parameters:
[in] geom The geometry object.
Returns:
True if geometry is valid.
See also:
PxGeometry PxSphereGeometry, PxCapsuleGeometry, PxBoxGeometry, PxConvexGeometry

static PX_PHYSX_COMMON_API bool PxGeometryQuery::overlap | ( | const PxGeometry & | geom0,
 |  | const PxTransform & | pose0,
 |  | const PxGeometry & | geom1,
 |  | const PxTransform & | pose1 |
 | ) |  |  | [static]

Overlap test for two geometry objects.

All combinations are supported except:

  • PxPlaneGeometry vs. {PxPlaneGeometry, PxTriangleMeshGeometry, PxHeightFieldGeometry}
  • PxTriangleMeshGeometry vs. {PxTriangleMeshGeometry, PxHeightFieldGeometry}
  • PxHeightFieldGeometry vs. {PxHeightFieldGeometry}
Parameters:
[in] | geom0 | The first geometry object
[in] | pose0 | Pose of the first geometry object
[in] | geom1 | The second geometry object
[in] | pose1 | Pose of the second geometry object
Returns:
True if the two geometry objects overlap
See also:
PxGeometry PxTransform

Referenced by PxShapeExt::overlap().

static PX_PHYSX_COMMON_API PxReal PxGeometryQuery::pointDistance | ( | const PxVec3 & | point,
 |  | const PxGeometry & | geom,
 |  | const PxTransform & | pose,
 |  | PxVec3 * | closestPoint = NULL |
 | ) |  |  | [static]

Computes distance between a point and a geometry object.

Currently supported geometry objects: box, sphere, capsule, convex.

Parameters:
[in] | point | The point P
[in] | geom | The geometry object
[in] | pose | Pose of the geometry object
[out] | closestPoint | Optionally returned closest point to P on the geom object. Only valid when returned distance is strictly positive.
Returns:
Square distance between the point and the geom object, or 0.0 if the point is inside the object, or -1.0 if the geometry type is not supported.
See also:
PxGeometry PxTransform

static PX_PHYSX_COMMON_API PxU32 PxGeometryQuery::raycast | ( | const PxVec3 & | origin,
 |  | const PxVec3 & | unitDir,
 |  | const PxGeometry & | geom,
 |  | const PxTransform & | pose,
 |  | PxReal | maxDist,
 |  | PxHitFlags | hitFlags,
 |  | PxU32 | maxHits,
 |  | PxRaycastHit *PX_RESTRICT | rayHits |
 | ) |  |  | [static]

Raycast test against a geometry object.

Parameters:
[in] | origin | The origin of the ray to test the geometry object against
[in] | unitDir | Normalized direction of the ray to test the geometry object against
[in] | geom | The geometry object to test the ray against
[in] | pose | Pose of the geometry object
[in] | maxDist | Maximum ray length, has to be in the [0, inf) range
[in] | hitFlags | Specification of the kind of information to retrieve on hit. Combination of PxHitFlag flags
[in] | maxHits | max number of returned hits = size of 'rayHits' buffer
[out] | rayHits | Raycast hits information
Returns:
Number of hits between the ray and the geometry object
See also:
PxRaycastHit PxGeometry PxTransform

Referenced by PxShapeExt::raycast().

static PX_PHYSX_COMMON_API bool PxGeometryQuery::sweep | ( | const PxVec3 & | unitDir,
 |  | const PxReal | maxDist,
 |  | const PxGeometry & | geom0,
 |  | const PxTransform & | pose0,
 |  | const PxGeometry & | geom1,
 |  | const PxTransform & | pose1,
 |  | PxSweepHit & | sweepHit,
 |  | PxHitFlags | hitFlags = PxHitFlag::eDEFAULT,
 |  | const PxReal | inflation = 0.f |
 | ) |  |  | [static]

Sweep a specified geometry object in space and test for collision with a given object.

The following combinations are supported.

  • PxSphereGeometry vs. {PxSphereGeometry, PxPlaneGeometry, PxCapsuleGeometry, PxBoxGeometry, PxConvexMeshGeometry, PxTriangleMeshGeometry, PxHeightFieldGeometry}
  • PxCapsuleGeometry vs. {PxSphereGeometry, PxPlaneGeometry, PxCapsuleGeometry, PxBoxGeometry, PxConvexMeshGeometry, PxTriangleMeshGeometry, PxHeightFieldGeometry}
  • PxBoxGeometry vs. {PxSphereGeometry, PxPlaneGeometry, PxCapsuleGeometry, PxBoxGeometry, PxConvexMeshGeometry, PxTriangleMeshGeometry, PxHeightFieldGeometry}
  • PxConvexMeshGeometry vs. {PxSphereGeometry, PxPlaneGeometry, PxCapsuleGeometry, PxBoxGeometry, PxConvexMeshGeometry, PxTriangleMeshGeometry, PxHeightFieldGeometry}
Parameters:
[in] | unitDir | Normalized direction along which object geom0 should be swept
[in] | maxDist | Maximum sweep distance, has to be in the [0, inf) range
[in] | geom0 | The geometry object to sweep. Supported geometries are PxSphereGeometry, PxCapsuleGeometry, PxBoxGeometry and PxConvexMeshGeometry
[in] | pose0 | Pose of the geometry object to sweep
[in] | geom1 | The geometry object to test the sweep against
[in] | pose1 | Pose of the geometry object to sweep against
[out] | sweepHit | The sweep hit information. Only valid if this method returns true.
[in] | hitFlags | Specify which properties per hit should be computed and written to result hit array. Combination of PxHitFlag flags
[in] | inflation | Surface of the swept shape is additively extruded in the normal direction, rounding corners and edges.
Returns:
True if the swept geometry object geom0 hits the object geom1
See also:
PxSweepHit PxGeometry PxTransform

Referenced by PxShapeExt::sweep().

The documentation for this class was generated from the following file:
  • PxGeometryQuery.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxHeightField Class Reference

PxHeightField Class Reference
[Geomutils]

A height field class. More...

#include <PxHeightField.h>

Inheritance diagram for PxHeightField:

PxBase
[legend]
Collaboration diagram for PxHeightField:

PxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

virtual PX_PHYSX_COMMON_API void | release ()=0
Decrements the reference count of a height field and releases it if the new reference count is zero.
virtual PX_PHYSX_COMMON_API PxU32 | saveCells (void *destBuffer, PxU32 destBufferSize) const =0
Writes out the sample data array.
virtual PX_PHYSX_COMMON_API bool | modifySamples (PxI32 startCol, PxI32 startRow, const PxHeightFieldDesc &subfieldDesc, bool shrinkBounds=false)=0
Replaces a rectangular subfield in the sample data array.
virtual PX_PHYSX_COMMON_API PxU32 | getNbRows () const =0
Retrieves the number of sample rows in the samples array.
virtual PX_PHYSX_COMMON_API PxU32 | getNbColumns () const =0
Retrieves the number of sample columns in the samples array.
virtual PX_PHYSX_COMMON_API
PxHeightFieldFormat::Enum 		getFormat () const =0
Retrieves the format of the sample data.
virtual PX_PHYSX_COMMON_API PxU32 | getSampleStride () const =0
Retrieves the offset in bytes between consecutive samples in the array.
virtual PX_PHYSX_COMMON_API PxReal | getThickness () const =0
Retrieves the thickness of the height volume in the vertical direction.
virtual PX_PHYSX_COMMON_API PxReal | getConvexEdgeThreshold () const =0
Retrieves the convex edge threshold.
virtual PX_PHYSX_COMMON_API
PxHeightFieldFlags 		getFlags () const =0
Retrieves the flags bits, combined from values of the enum PxHeightFieldFlag.
virtual PX_PHYSX_COMMON_API PxReal | getHeight (PxReal x, PxReal z) const =0
Retrieves the height at the given coordinates in grid space.
virtual PX_PHYSX_COMMON_API PxU32 | getReferenceCount () const =0
Returns the reference count for shared heightfields.
virtual PX_PHYSX_COMMON_API void | acquireReference ()=0
Acquires a counted reference to a heightfield.
virtual PX_PHYSX_COMMON_API
PxMaterialTableIndex 		getTriangleMaterialIndex (PxTriangleID triangleIndex) const =0
Returns material table index of given triangle.
virtual PX_PHYSX_COMMON_API PxVec3 | getTriangleNormal (PxTriangleID triangleIndex) const =0
Returns a triangle face normal for a given triangle index.
virtual PX_PHYSX_COMMON_API
const PxHeightFieldSample & 		getSample (PxU32 row, PxU32 column) const =0
Returns heightfield sample of given row and column.
virtual PX_PHYSX_COMMON_API PxU32 | getTimestamp () const =0
Returns the number of times the heightfield data has been modified.
virtual PX_PHYSX_COMMON_API
const char * 		getConcreteTypeName () const
Returns string name of dynamic type.

Protected Member Functions

PX_INLINE | PxHeightField (PxType concreteType, PxBaseFlags baseFlags)
PX_INLINE | PxHeightField (PxBaseFlags baseFlags)
virtual PX_PHYSX_COMMON_API | ~PxHeightField ()
virtual PX_PHYSX_COMMON_API bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Detailed Description

A height field class.

Height fields work in a similar way as triangle meshes specified to act as height fields, with some important differences:

Triangle meshes can be made of nonuniform geometry, while height fields are regular, rectangular grids. This means that with PxHeightField, you sacrifice flexibility in return for improved performance and decreased memory consumption.

In local space rows extend in X direction, columns in Z direction and height in Y direction.

Like Convexes and TriangleMeshes, HeightFields are referenced by shape instances (see PxHeightFieldGeometry, PxShape).

To avoid duplicating data when you have several instances of a particular height field differently, you do not use this class to represent a height field object directly. Instead, you create an instance of this height field via the PxHeightFieldGeometry and PxShape classes.

Creation

To create an instance of this class call PxPhysics::createHeightField() or PxCooking::createHeightField(const PxHeightFieldDesc&, PxPhysicsInsertionCallback&). To delete it call release(). This is only possible once you have released all of its PxHeightFiedShape instances.

Visualizations:

  • PxVisualizationParameter::eCOLLISION_AABBS
  • PxVisualizationParameter::eCOLLISION_SHAPES
  • PxVisualizationParameter::eCOLLISION_AXES
  • PxVisualizationParameter::eCOLLISION_FNORMALS
  • PxVisualizationParameter::eCOLLISION_EDGES
See also:
PxHeightFieldDesc PxHeightFieldGeometry PxShape PxPhysics.createHeightField() PxCooking.createHeightField()

Constructor & Destructor Documentation

PX_INLINE PxHeightField::PxHeightField | ( | PxType | concreteType,
 |  | PxBaseFlags | baseFlags |
 | ) |  |  | [inline, protected]

PX_INLINE PxHeightField::PxHeightField ( PxBaseFlags baseFlags ) [inline, protected]

virtual PX_PHYSX_COMMON_API PxHeightField::~PxHeightField ( ) [inline, protected, virtual]

Member Function Documentation

virtual PX_PHYSX_COMMON_API void PxHeightField::acquireReference ( ) [pure virtual]

Acquires a counted reference to a heightfield.

This method increases the reference count of the heightfield by 1. Decrement the reference count by calling release()

virtual PX_PHYSX_COMMON_API const char* PxHeightField::getConcreteTypeName ( ) const [inline, virtual]

Returns string name of dynamic type.

Returns:
Class name of most derived type of this object.

Implements PxBase.

virtual PX_PHYSX_COMMON_API PxReal PxHeightField::getConvexEdgeThreshold ( ) const [pure virtual]

Retrieves the convex edge threshold.

Returns:
The convex edge threshold.
See also:
PxHeightFieldDesc.convexEdgeThreshold

virtual PX_PHYSX_COMMON_API PxHeightFieldFlags PxHeightField::getFlags ( ) const [pure virtual]

Retrieves the flags bits, combined from values of the enum PxHeightFieldFlag.

Returns:
The flags bits, combined from values of the enum PxHeightFieldFlag.
See also:
PxHeightFieldDesc.flags PxHeightFieldFlag

virtual PX_PHYSX_COMMON_API PxHeightFieldFormat::Enum PxHeightField::getFormat ( ) const [pure virtual]

Retrieves the format of the sample data.

Returns:
The format of the sample data.
See also:
PxHeightFieldDesc.format PxHeightFieldFormat

virtual PX_PHYSX_COMMON_API PxReal PxHeightField::getHeight | ( | PxReal | x,
 |  | PxReal | z |
 | ) |  |  | const [pure virtual]

Retrieves the height at the given coordinates in grid space.

Returns:
The height at the given coordinates or 0 if the coordinates are out of range.

virtual PX_PHYSX_COMMON_API PxU32 PxHeightField::getNbColumns ( ) const [pure virtual]

Retrieves the number of sample columns in the samples array.

Returns:
The number of sample columns in the samples array.
See also:
PxHeightFieldDesc.nbColumns

virtual PX_PHYSX_COMMON_API PxU32 PxHeightField::getNbRows ( ) const [pure virtual]

Retrieves the number of sample rows in the samples array.

Returns:
The number of sample rows in the samples array.
See also:
PxHeightFieldDesc.nbRows

virtual PX_PHYSX_COMMON_API PxU32 PxHeightField::getReferenceCount ( ) const [pure virtual]

Returns the reference count for shared heightfields.

At creation, the reference count of the heightfield is 1. Every shape referencing this heightfield increments the count by 1. When the reference count reaches 0, and only then, the heightfield gets destroyed automatically.

Returns:
the current reference count.

virtual PX_PHYSX_COMMON_API const PxHeightFieldSample& PxHeightField::getSample | ( | PxU32 | row,
 |  | PxU32 | column |
 | ) |  |  | const [pure virtual]

Returns heightfield sample of given row and column.

Parameters:
[in] | row | Given heightfield row
[in] | column | Given heightfield column
Returns:
Heightfield sample

virtual PX_PHYSX_COMMON_API PxU32 PxHeightField::getSampleStride ( ) const [pure virtual]

Retrieves the offset in bytes between consecutive samples in the array.

Returns:
The offset in bytes between consecutive samples in the array.
See also:
PxHeightFieldDesc.sampleStride

virtual PX_PHYSX_COMMON_API PxReal PxHeightField::getThickness ( ) const [pure virtual]

Retrieves the thickness of the height volume in the vertical direction.

Returns:
The thickness of the height volume in the vertical direction.
See also:
PxHeightFieldDesc.thickness

virtual PX_PHYSX_COMMON_API PxU32 PxHeightField::getTimestamp ( ) const [pure virtual]

Returns the number of times the heightfield data has been modified.

This method returns the number of times modifySamples has been called on this heightfield, so that code that has retained state that depends on the heightfield can efficiently determine whether it has been modified.

Returns:
the number of times the heightfield sample data has been modified.

virtual PX_PHYSX_COMMON_API PxMaterialTableIndex PxHeightField::getTriangleMaterialIndex ( PxTriangleID triangleIndex ) const [pure virtual]

Returns material table index of given triangle.

Note:
This function takes a post cooking triangle index.
Parameters:
[in] triangleIndex (internal) index of desired triangle
Returns:
Material table index, or 0xffff if no per-triangle materials are used

virtual PX_PHYSX_COMMON_API PxVec3 PxHeightField::getTriangleNormal ( PxTriangleID triangleIndex ) const [pure virtual]

Returns a triangle face normal for a given triangle index.

Note:
This function takes a post cooking triangle index.
Parameters:
[in] triangleIndex (internal) index of desired triangle
Returns:
Triangle normal for a given triangle index

virtual PX_PHYSX_COMMON_API bool PxHeightField::isKindOf ( const char * superClass ) const [inline, protected, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxBase.

References PxBase::isKindOf().

virtual PX_PHYSX_COMMON_API bool PxHeightField::modifySamples | ( | PxI32 | startCol,
 |  | PxI32 | startRow,
 |  | const PxHeightFieldDesc & | subfieldDesc,
 |  | bool | shrinkBounds = false |
 | ) |  |  | [pure virtual]

Replaces a rectangular subfield in the sample data array.

The user provides the description of a rectangular subfield in subfieldDesc. The data is formatted and arranged as PxHeightFieldDesc.samples.

Parameters:
[in] | startCol | First cell in the destination heightfield to be modified. Can be negative.
[in] | startRow | First row in the destination heightfield to be modified. Can be negative.
[in] | subfieldDesc | Description of the source subfield to read the samples from.
[in] | shrinkBounds | If left as false, the bounds will never shrink but only grow. If set to true the bounds will be recomputed from all HF samples at O(nbColums*nbRows) perf cost.
Returns:
True on success, false on failure. Failure can occur due to format mismatch.
Note:
Modified samples are constrained to the same height quantization range as the original heightfield. Source samples that are out of range of target heightfield will be clipped with no error. PhysX does not keep a mapping from the heightfield to heightfield shapes that reference it. Call PxShape::setGeometry on each shape which references the height field, to ensure that internal data structures are updated to reflect the new geometry. Please note that PxShape::setGeometry does not guarantee correct/continuous behavior when objects are resting on top of old or new geometry.
See also:
PxHeightFieldDesc.samples PxShape.setGeometry

virtual PX_PHYSX_COMMON_API void PxHeightField::release ( ) [pure virtual]

Decrements the reference count of a height field and releases it if the new reference count is zero.

See also:
PxPhysics.createHeightField() PxHeightFieldDesc PxHeightFieldGeometry PxShape

Implements PxBase.

virtual PX_PHYSX_COMMON_API PxU32 PxHeightField::saveCells | ( | void * | destBuffer,
 |  | PxU32 | destBufferSize |
 | ) |  |  | const [pure virtual]

Writes out the sample data array.

The user provides destBufferSize bytes storage at destBuffer. The data is formatted and arranged as PxHeightFieldDesc.samples.

Parameters:
[out] | destBuffer | The destination buffer for the sample data.
[in] | destBufferSize | The size of the destination buffer.
Returns:
The number of bytes written.
See also:
PxHeightFieldDesc.samples

The documentation for this class was generated from the following file:
  • PxHeightField.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxHeightFieldDesc Class Reference

PxHeightFieldDesc Class Reference
[Geomutils]

Descriptor class for PxHeightField. More...

#include <PxHeightFieldDesc.h>

Collaboration diagram for PxHeightFieldDesc:

PxFlags\< PxHeightFieldFlag::Enum, PxU16 \>PxStridedData
[legend]

List of all members.

Public Member Functions

PX_INLINE | PxHeightFieldDesc ()
Constructor sets to default.
PX_INLINE void | setToDefault ()
(re)sets the structure to the default.
PX_INLINE bool | isValid () const
Returns true if the descriptor is valid.

Public Attributes

PxU32 nbRows
Number of sample rows in the height field samples array.
PxU32 nbColumns
Number of sample columns in the height field samples array.
PxHeightFieldFormat::Enum format
Format of the sample data.
PxStridedData samples
The samples array.
PX_DEPRECATED PxReal | thickness
Sets how thick the heightfield surface is.
PxReal | convexEdgeThreshold
PxHeightFieldFlags flags
Flags bits, combined from values of the enum PxHeightFieldFlag.

Detailed Description

Descriptor class for PxHeightField.

Note:
The heightfield data is *copied* when a PxHeightField object is created from this descriptor. After the call the user may discard the height data.
See also:
PxHeightField PxHeightFieldGeometry PxShape PxPhysics.createHeightField() PxCooking.createHeightField()

Member Data Documentation

PxReal PxHeightFieldDesc::convexEdgeThreshold

This threshold is used by the collision detection to determine if a height field edge is convex and can generate contact points. Usually the convexity of an edge is determined from the angle (or cosine of the angle) between the normals of the faces sharing that edge. The height field allows a more efficient approach by comparing height values of neighboring vertices. This parameter offsets the comparison. Smaller changes than 0.5 will not alter the set of convex edges. The rule of thumb is that larger values will result in fewer edge contacts.

This parameter is ignored in contact generation with sphere and capsule primitives.

Range: [0, PX_MAX_F32)
Default: 0

Referenced by isValid(), and PxHeightFieldDesc().

PxHeightFieldFlags PxHeightFieldDesc::flags

Flags bits, combined from values of the enum PxHeightFieldFlag.

Default: 0

See also:
PxHeightFieldFlag PxHeightFieldFlags

Referenced by isValid(), and PxHeightFieldDesc().

PxHeightFieldFormat::Enum PxHeightFieldDesc::format

Format of the sample data.

Currently the only supported format is PxHeightFieldFormat::eS16_TM:

Default: PxHeightFieldFormat::eS16_TM

See also:
PxHeightFormat PxHeightFieldDesc.samples

Referenced by isValid(), and PxHeightFieldDesc().

PxU32 PxHeightFieldDesc::nbColumns

Number of sample columns in the height field samples array.

Note:
Local space Z-axis corresponds to columns.
Range: >1
Default: 0

Referenced by isValid(), and PxHeightFieldDesc().

PxU32 PxHeightFieldDesc::nbRows

Number of sample rows in the height field samples array.

Note:
Local space X-axis corresponds to rows.
Range: >1
Default: 0

Referenced by isValid(), and PxHeightFieldDesc().

PxStridedData PxHeightFieldDesc::samples

The samples array.

It is copied to the SDK's storage at creation time.

There are nbRows * nbColumn samples in the array, which define nbRows * nbColumn vertices and cells, of which (nbRows - 1) * (nbColumns - 1) cells are actually used.

The array index of sample(row, column) = row * nbColumns + column. The byte offset of sample(row, column) = sampleStride * (row * nbColumns + column). The sample data follows at the offset and spans the number of bytes defined by the format. Then there are zero or more unused bytes depending on sampleStride before the next sample.

Default: NULL

See also:
PxHeightFormat

Referenced by isValid().

PX_DEPRECATED PxReal PxHeightFieldDesc::thickness

Sets how thick the heightfield surface is.

In this way even objects which are under the surface of the height field but above this cutoff are treated as colliding with the height field.

The thickness is measured relative to the surface at the given point.

You may set this to a positive value, in which case the extent will be cast along the opposite side of the height field.

You may use a smaller finite value for the extent if you want to put some space under the height field, such as a cave.

Note:
Please refer to the Raycasts Against Heightfields section of the user guide for details of how this value affects raycasts.
Range: (-PX_MAX_BOUNDS_EXTENTS, PX_MAX_BOUNDS_EXTENTS)
Default: -1

Referenced by PxHeightFieldDesc().

The documentation for this class was generated from the following file:
  • PxHeightFieldDesc.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxHeightFieldFormat Struct Reference

PxHeightFieldFormat Struct Reference
[Geomutils]

Describes the format of height field samples. More...

#include <PxHeightFieldFlag.h>

List of all members.

Public Types

enum Enum { eS16_TM = (1 << 0) }

Detailed Description

Describes the format of height field samples.

See also:
PxHeightFieldDesc.format PxHeightFieldDesc.samples

Member Enumeration Documentation

enum PxHeightFieldFormat::Enum

Enumerator:
eS16_TM Height field height data is 16 bit signed integers, followed by triangle materials.

Each sample is 32 bits wide arranged as follows:

1) First there is a 16 bit height value. 2) Next, two one byte material indices, with the high bit of each byte reserved for special use. (so the material index is only 7 bits). The high bit of material0 is the tess-flag. The high bit of material1 is reserved for future use.

There are zero or more unused bytes before the next sample depending on PxHeightFieldDesc.sampleStride, where the application may eventually keep its own data.

This is the only format supported at the moment.

See also:
PxHeightFieldDesc.format PxHeightFieldDesc.samples

The documentation for this struct was generated from the following file:
  • PxHeightFieldFlag.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxHeightFieldTessFlag Struct Reference

PxHeightFieldTessFlag Struct Reference
[Geomutils]

Determines the tessellation of height field cells. More...

#include <PxHeightFieldFlag.h>

List of all members.

Public Types

enum Enum { e0TH_VERTEX_SHARED = (1 << 0) }

Detailed Description

Determines the tessellation of height field cells.

See also:
PxHeightFieldDesc.format PxHeightFieldDesc.samples

Member Enumeration Documentation

enum PxHeightFieldTessFlag::Enum

Enumerator:
e0TH_VERTEX_SHARED This flag determines which way each quad cell is subdivided.

The flag lowered indicates subdivision like this: (the 0th vertex is referenced by only one triangle)

        +--+--+--+---> column
        | /| /| /|
        |/ |/ |/ |
        +--+--+--+
        | /| /| /|
        |/ |/ |/ |
        +--+--+--+
        |
        |
        V row

The flag raised indicates subdivision like this: (the 0th vertex is shared by two triangles)

        +--+--+--+---> column
        |\ |\ |\ |
        | \| \| \|
        +--+--+--+
        |\ |\ |\ |
        | \| \| \|
        +--+--+--+
        |
        |
        V row

See also:
PxHeightFieldDesc.format PxHeightFieldDesc.samples

The documentation for this struct was generated from the following file:
  • PxHeightFieldFlag.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxHeightFieldFlag Struct Reference

PxHeightFieldFlag Struct Reference
[Geomutils]

Enum with flag values to be used in PxHeightFieldDesc.flags. More...

#include <PxHeightFieldFlag.h>

List of all members.

Public Types

enum Enum { eNO_BOUNDARY_EDGES = (1 << 0) }

Detailed Description

Enum with flag values to be used in PxHeightFieldDesc.flags.

Member Enumeration Documentation

enum PxHeightFieldFlag::Enum

Enumerator:
eNO_BOUNDARY_EDGES Disable collisions with height field with boundary edges.

Raise this flag if several terrain patches are going to be placed adjacent to each other, to avoid a bump when sliding across.

This flag is ignored in contact generation with sphere and capsule shapes.

See also:
PxHeightFieldDesc.flags

The documentation for this struct was generated from the following file:
  • PxHeightFieldFlag.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxHeightFieldGeometry Class Reference

PxHeightFieldGeometry Class Reference
[Geomutils]

Height field geometry class. More...

#include <PxHeightFieldGeometry.h>

Inheritance diagram for PxHeightFieldGeometry:

PxGeometry
[legend]
Collaboration diagram for PxHeightFieldGeometry:

PxGeometryPxHeightFieldPxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>PxPadding\< 3 \>PxFlags\< PxMeshGeometryFlag::Enum, PxU8 \>
[legend]

List of all members.

Public Member Functions

PX_INLINE | PxHeightFieldGeometry ()
PX_INLINE | PxHeightFieldGeometry (PxHeightField *hf, PxMeshGeometryFlags flags, PxReal heightScale_, PxReal rowScale_, PxReal columnScale_)
PX_INLINE bool | isValid () const
Returns true if the geometry is valid.

Public Attributes

PxHeightField * heightField
The height field data.
PxReal | heightScale
The scaling factor for the height field in vertical direction (y direction in local space).
PxReal | rowScale
The scaling factor for the height field in the row direction (x direction in local space).
PxReal | columnScale
The scaling factor for the height field in the column direction (z direction in local space).
PxMeshGeometryFlags heightFieldFlags
Flags to specify some collision properties for the height field.
PxPadding< 3 > | paddingFromFlags
padding for mesh flags.

Detailed Description

Height field geometry class.

This class allows to create a scaled height field geometry instance.

There is a minimum allowed value for Y and XZ scaling - PX_MIN_HEIGHTFIELD_XZ_SCALE, heightfield creation will fail if XZ value is below this value.

Constructor & Destructor Documentation

PX_INLINE PxHeightFieldGeometry::PxHeightFieldGeometry ( ) [inline]

PX_INLINE PxHeightFieldGeometry::PxHeightFieldGeometry | ( | PxHeightField * | hf,
 |  | PxMeshGeometryFlags | flags,
 |  | PxReal | heightScale_,
 |  | PxReal | rowScale_,
 |  | PxReal | columnScale_ |
 | ) |  |  | [inline]

Member Data Documentation

PxReal PxHeightFieldGeometry::columnScale

The scaling factor for the height field in the column direction (z direction in local space).

Referenced by isValid().

PxHeightField* PxHeightFieldGeometry::heightField

The height field data.

Referenced by isValid().

PxMeshGeometryFlags PxHeightFieldGeometry::heightFieldFlags

Flags to specify some collision properties for the height field.

PxReal PxHeightFieldGeometry::heightScale

The scaling factor for the height field in vertical direction (y direction in local space).

Referenced by isValid().

PxPadding<3> PxHeightFieldGeometry::paddingFromFlags

padding for mesh flags.

PxReal PxHeightFieldGeometry::rowScale

The scaling factor for the height field in the row direction (x direction in local space).

Referenced by isValid().

The documentation for this class was generated from the following file:
  • PxHeightFieldGeometry.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxHeightFieldMaterial Struct Reference

PxHeightFieldMaterial Struct Reference
[Geomutils]

Special material index values for height field samples. More...

#include <PxHeightFieldSample.h>

List of all members.

Public Types

enum Enum { eHOLE = 127 }

Detailed Description

Special material index values for height field samples.

See also:
PxHeightFieldSample.materialIndex0 PxHeightFieldSample.materialIndex1

Member Enumeration Documentation

enum PxHeightFieldMaterial::Enum

Enumerator:
eHOLE A material indicating that the triangle should be treated as a hole in the mesh.

The documentation for this struct was generated from the following file:
  • PxHeightFieldSample.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxHeightFieldSample Struct Reference

PxHeightFieldSample Struct Reference
[Geomutils]

Heightfield sample format. More...

#include <PxHeightFieldSample.h>

Collaboration diagram for PxHeightFieldSample:

PxBitAndDataT\< unsigned char, 0x80 \>
[legend]

List of all members.

Public Member Functions

PX_CUDA_CALLABLE
PX_FORCE_INLINE PxU8 		tessFlag () const
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 		setTessFlag ()
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 		clearTessFlag ()

Public Attributes

PxI16 height
The height of the heightfield sample.
PxBitAndByte materialIndex0
The triangle material index of the quad's lower triangle + tesselation flag.
PxBitAndByte materialIndex1
The triangle material index of the quad's upper triangle + reserved flag.

Detailed Description

Heightfield sample format.

This format corresponds to the PxHeightFieldFormat member PxHeightFieldFormat::eS16_TM.

An array of heightfield samples are used when creating a PxHeightField to specify the elevation of the heightfield points. In addition the material and tessellation of the adjacent triangles are specified.

See also:
PxHeightField PxHeightFieldDesc PxHeightFieldDesc.samples

Member Function Documentation

PX_CUDA_CALLABLE PX_FORCE_INLINE void PxHeightFieldSample::clearTessFlag ( ) [inline]

PX_CUDA_CALLABLE PX_FORCE_INLINE void PxHeightFieldSample::setTessFlag ( ) [inline]

PX_CUDA_CALLABLE PX_FORCE_INLINE PxU8 PxHeightFieldSample::tessFlag ( ) const [inline]

Member Data Documentation

PxI16 PxHeightFieldSample::height

The height of the heightfield sample.

This value is scaled by PxHeightFieldGeometry::heightScale.

See also:
PxHeightFieldGeometry

PxBitAndByte PxHeightFieldSample::materialIndex0

The triangle material index of the quad's lower triangle + tesselation flag.

An index pointing into the material table of the shape which instantiates the heightfield. This index determines the material of the lower of the quad's two triangles (i.e. the quad whose upper-left corner is this sample, see the Guide for illustrations).

Special values of the 7 data bits are defined by PxHeightFieldMaterial

The tesselation flag specifies which way the quad is split whose upper left corner is this sample. If the flag is set, the diagonal of the quad will run from this sample to the opposite vertex; if not, it will run between the other two vertices (see the Guide for illustrations).

See also:
PxHeightFieldGeometry materialIndex1 PxShape.setmaterials() PxShape.getMaterials()

PxBitAndByte PxHeightFieldSample::materialIndex1

The triangle material index of the quad's upper triangle + reserved flag.

An index pointing into the material table of the shape which instantiates the heightfield. This index determines the material of the upper of the quad's two triangles (i.e. the quad whose upper-left corner is this sample, see the Guide for illustrations).

See also:
PxHeightFieldGeometry materialIndex0 PxShape.setmaterials() PxShape.getMaterials()

The documentation for this struct was generated from the following file:
  • PxHeightFieldSample.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMeshQuery Class Reference

PxMeshQuery Class Reference
[Geomutils]

#include <PxMeshQuery.h>

List of all members.

Static Public Member Functions

static PX_PHYSX_COMMON_API void | getTriangle (const PxTriangleMeshGeometry &triGeom, const PxTransform &transform, PxTriangleID triangleIndex, PxTriangle &triangle, PxU32 *vertexIndices=NULL, PxU32 *adjacencyIndices=NULL)
Retrieves triangle data from a triangle ID.
static PX_PHYSX_COMMON_API void | getTriangle (const PxHeightFieldGeometry &hfGeom, const PxTransform &transform, PxTriangleID triangleIndex, PxTriangle &triangle, PxU32 *vertexIndices=NULL, PxU32 *adjacencyIndices=NULL)
Retrieves triangle data from a triangle ID.
static PX_PHYSX_COMMON_API PxU32 | findOverlapTriangleMesh (const PxGeometry &geom, const PxTransform &geomPose, const PxTriangleMeshGeometry &meshGeom, const PxTransform &meshPose, PxU32 *results, PxU32 maxResults, PxU32 startIndex, bool &overflow)
Find the mesh triangles which touch the specified geometry object.
static PX_PHYSX_COMMON_API PxU32 | findOverlapHeightField (const PxGeometry &geom, const PxTransform &geomPose, const PxHeightFieldGeometry &hfGeom, const PxTransform &hfPose, PxU32 *results, PxU32 maxResults, PxU32 startIndex, bool &overflow)
Find the height field triangles which touch the specified geometry object.
static PX_PHYSX_COMMON_API bool | sweep (const PxVec3 &unitDir, const PxReal distance, const PxGeometry &geom, const PxTransform &pose, PxU32 triangleCount, const PxTriangle *triangles, PxSweepHit &sweepHit, PxHitFlags hitFlags=PxHitFlag::eDEFAULT, const PxU32 *cachedIndex=NULL, const PxReal inflation=0.0f, bool doubleSided=false)
Sweep a specified geometry object in space and test for collision with a set of given triangles.

Member Function Documentation

static PX_PHYSX_COMMON_API PxU32 PxMeshQuery::findOverlapHeightField | ( | const PxGeometry & | geom,
 |  | const PxTransform & | geomPose,
 |  | const PxHeightFieldGeometry & | hfGeom,
 |  | const PxTransform & | hfPose,
 |  | PxU32 * | results,
 |  | PxU32 | maxResults,
 |  | PxU32 | startIndex,
 |  | bool & | overflow |
 | ) |  |  | [static]

Find the height field triangles which touch the specified geometry object.

Returned triangle indices can be used with getTriangle() to retrieve the triangle properties.

Parameters:
[in] | geom | The geometry object to test for height field overlaps. Supported geometries are PxSphereGeometry, PxCapsuleGeometry and PxBoxGeometry. The sphere and capsule queries are currently conservative estimates.
[in] | geomPose | Pose of the geometry object
[in] | hfGeom | The height field geometry to check overlap against
[in] | hfPose | Pose of the height field
[out] | results | Indices of overlapping triangles
[in] | maxResults | Size of 'results' buffer
[in] | startIndex | Index of first result to be retrieved. Previous indices are skipped.
[out] | overflow | True if a buffer overflow occurred
Returns:
Number of overlaps found, i.e. number of elements written to the results buffer
See also:
PxHeightFieldGeometry getTriangle()

static PX_PHYSX_COMMON_API PxU32 PxMeshQuery::findOverlapTriangleMesh | ( | const PxGeometry & | geom,
 |  | const PxTransform & | geomPose,
 |  | const PxTriangleMeshGeometry & | meshGeom,
 |  | const PxTransform & | meshPose,
 |  | PxU32 * | results,
 |  | PxU32 | maxResults,
 |  | PxU32 | startIndex,
 |  | bool & | overflow |
 | ) |  |  | [static]

Find the mesh triangles which touch the specified geometry object.

Returned triangle indices can be used with getTriangle() to retrieve the triangle properties.

Parameters:
[in] | geom | The geometry object to test for mesh triangle overlaps. Supported geometries are PxSphereGeometry, PxCapsuleGeometry and PxBoxGeometry
[in] | geomPose | Pose of the geometry object
[in] | meshGeom | The triangle mesh geometry to check overlap against
[in] | meshPose | Pose of the triangle mesh
[out] | results | Indices of overlapping triangles
[in] | maxResults | Size of 'results' buffer
[in] | startIndex | Index of first result to be retrieved. Previous indices are skipped.
[out] | overflow | True if a buffer overflow occurred
Returns:
Number of overlaps found, i.e. number of elements written to the results buffer
See also:
PxTriangleMeshGeometry getTriangle()

static PX_PHYSX_COMMON_API void PxMeshQuery::getTriangle | ( | const PxHeightFieldGeometry & | hfGeom,
 |  | const PxTransform & | transform,
 |  | PxTriangleID | triangleIndex,
 |  | PxTriangle & | triangle,
 |  | PxU32 * | vertexIndices = NULL,
 |  | PxU32 * | adjacencyIndices = NULL |
 | ) |  |  | [static]

Retrieves triangle data from a triangle ID.

This function can be used together with findOverlapHeightField() to retrieve triangle properties.

Parameters:
[in] | hfGeom | Geometry of the height field to extract the triangle from.
[in] | transform | Transform for the height field.
[in] | triangleIndex | The index of the triangle to retrieve.
[out] | triangle | Triangle points in world space.
[out] | vertexIndices | Returned vertex indices for given triangle
[out] | adjacencyIndices | Returned 3 triangle adjacency triangle indices (0xFFFFFFFF if no adjacency).
Note:
This function will flip the triangle normal whenever triGeom.scale.hasNegativeDeterminant() is true.
See also:
PxTriangle PxTriangleFlags PxTriangleID findOverlapHeightField()

static PX_PHYSX_COMMON_API void PxMeshQuery::getTriangle | ( | const PxTriangleMeshGeometry & | triGeom,
 |  | const PxTransform & | transform,
 |  | PxTriangleID | triangleIndex,
 |  | PxTriangle & | triangle,
 |  | PxU32 * | vertexIndices = NULL,
 |  | PxU32 * | adjacencyIndices = NULL |
 | ) |  |  | [static]

Retrieves triangle data from a triangle ID.

This function can be used together with findOverlapTriangleMesh() to retrieve triangle properties.

Parameters:
[in] | triGeom | Geometry of the triangle mesh to extract the triangle from.
[in] | transform | Transform for the triangle mesh
[in] | triangleIndex | The index of the triangle to retrieve.
[out] | triangle | Triangle points in world space.
[out] | vertexIndices | Returned vertex indices for given triangle
[out] | adjacencyIndices | Returned 3 triangle adjacency internal face indices (0xFFFFFFFF if no adjacency). The mesh must be cooked with cooking param buildTriangleAdjacencies enabled.
Note:
This function will flip the triangle normal whenever triGeom.scale.hasNegativeDeterminant() is true.
See also:
PxTriangle PxTriangleFlags PxTriangleID findOverlapTriangleMesh()

static PX_PHYSX_COMMON_API bool PxMeshQuery::sweep | ( | const PxVec3 & | unitDir,
 |  | const PxReal | distance,
 |  | const PxGeometry & | geom,
 |  | const PxTransform & | pose,
 |  | PxU32 | triangleCount,
 |  | const PxTriangle * | triangles,
 |  | PxSweepHit & | sweepHit,
 |  | PxHitFlags | hitFlags = PxHitFlag::eDEFAULT,
 |  | const PxU32 * | cachedIndex = NULL,
 |  | const PxReal | inflation = 0.0f,
 |  | bool | doubleSided = false |
 | ) |  |  | [static]

Sweep a specified geometry object in space and test for collision with a set of given triangles.

This function simply sweeps input geometry against each input triangle, in the order they are given. This is an O(N) operation with N = number of input triangles. It does not use any particular acceleration structure.

Parameters:
[in] | unitDir | Normalized direction of the sweep.
[in] | distance | Sweep distance. Needs to be larger than 0. Clamped to PX_MAX_SWEEP_DISTANCE.
[in] | geom | The geometry object to sweep. Supported geometries are PxSphereGeometry, PxCapsuleGeometry and PxBoxGeometry
[in] | pose | Pose of the geometry object to sweep.
[in] | triangleCount | Number of specified triangles
[in] | triangles | Array of triangles to sweep against
[out] | sweepHit | The sweep hit information. See the notes below for limitations about returned results.
[in] | hitFlags | Specification of the kind of information to retrieve on hit. Combination of PxHitFlag flags. See the notes below for limitations about supported flags.
[in] | cachedIndex | Cached triangle index for subsequent calls. Cached triangle is tested first. Optional parameter.
[in] | inflation | This parameter creates a skin around the swept geometry which increases its extents for sweeping. The sweep will register a hit as soon as the skin touches a shape, and will return the corresponding distance and normal.
[in] | doubleSided | Counterpart of PxMeshGeometryFlag::eDOUBLE_SIDED for input triangles.
Returns:
True if the swept geometry object hits the specified triangles
Note:
Only the following geometry types are currently supported: PxSphereGeometry, PxCapsuleGeometry, PxBoxGeometry

If a shape from the scene is already overlapping with the query shape in its starting position, the hit is returned unless eASSUME_NO_INITIAL_OVERLAP was specified.

This function returns a single closest hit across all the input triangles. Multiple hits are not supported.

Supported hitFlags are PxHitFlag::eDEFAULT, PxHitFlag::eASSUME_NO_INITIAL_OVERLAP, PxHitFlag::ePRECISE_SWEEP, PxHitFlag::eMESH_BOTH_SIDES, PxHitFlag::eMESH_ANY.

ePOSITION is only defined when there is no initial overlap (sweepHit.hadInitialOverlap() == false)

The returned normal for initially overlapping sweeps is set to -unitDir.

Otherwise the returned normal is the front normal of the triangle even if PxHitFlag::eMESH_BOTH_SIDES is set.

The returned PxSweepHit::faceIndex parameter will hold the index of the hit triangle in input array, i.e. the range is [0; triangleCount). For initially overlapping sweeps, this is the index of overlapping triangle.

The returned PxSweepHit::actor and PxSweepHit::shape pointers are not filled.

The inflation parameter is not compatible with PxHitFlag::ePRECISE_SWEEP.

See also:
PxTriangle PxSweepHit PxGeometry PxTransform

The documentation for this class was generated from the following file:
  • PxMeshQuery.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMeshScale Class Reference

PxMeshScale Class Reference
[Geomutils]

A class expressing a nonuniform scaling transformation. More...

#include <PxMeshScale.h>

Collaboration diagram for PxMeshScale:

PxVec3PxQuat
[legend]

List of all members.

Public Member Functions

PX_CUDA_CALLABLE PX_FORCE_INLINE | PxMeshScale ()
Constructor initializes to identity scale.
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxMeshScale (PxReal r)
Constructor from scalar.
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxMeshScale (const PxVec3 &s)
Constructor to initialize to arbitrary scale and identity scale rotation.
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxMeshScale (const PxVec3 &s, const PxQuat &r)
Constructor to initialize to arbitrary scaling.
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 		isIdentity () const
Returns true if the scaling is an identity transformation.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxMeshScale 		getInverse () const
Returns the inverse of this scaling transformation.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxMat33 		toMat33 () const
Converts this transformation to a 3x3 matrix representation.
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 		hasNegativeDeterminant () const
Returns true if combination of negative scale components will cause the triangle normal to flip. The SDK will flip the normals internally.
PxVec3 | transform (const PxVec3 &v) const
bool | isValidForTriangleMesh () const
bool | isValidForConvexMesh () const

Public Attributes

PxVec3 scale
A nonuniform scaling.
PxQuat rotation
The orientation of the scaling axes.

Detailed Description

A class expressing a nonuniform scaling transformation.

The scaling is along arbitrary axes that are specified by PxMeshScale::rotation.

Note:
Negative scale values are supported for PxTriangleMeshGeometry with absolute values for each component within [PX_MIN_ABS_MESH_SCALE, PX_MAX_ABS_MESH_SCALE] range. Negative scale causes a reflection around the specified axis, in addition PhysX will flip the normals for mesh triangles when scale.x*scale.y*scale.z < 0.

Only positive scale values are supported for PxConvexMeshGeometry with values for each component within [PX_MIN_ABS_MESH_SCALE, PX_MAX_ABS_MESH_SCALE] range).

See also:
PxConvexMeshGeometry PxTriangleMeshGeometry

Constructor & Destructor Documentation

PX_CUDA_CALLABLE PX_FORCE_INLINE PxMeshScale::PxMeshScale ( ) [inline]

Constructor initializes to identity scale.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxMeshScale::PxMeshScale ( PxReal r ) [inline, explicit]

Constructor from scalar.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxMeshScale::PxMeshScale ( const PxVec3 & s ) [inline]

Constructor to initialize to arbitrary scale and identity scale rotation.

References PxIdentity.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxMeshScale::PxMeshScale | ( | const PxVec3 & | s,
 |  | const PxQuat & | r |
 | ) |  |  | [inline]

Constructor to initialize to arbitrary scaling.

References PxQuat::isUnit(), and PX_ASSERT.

Member Function Documentation

PX_CUDA_CALLABLE PX_FORCE_INLINE PxMeshScale PxMeshScale::getInverse ( ) const [inline]

Returns the inverse of this scaling transformation.

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxMeshScale::hasNegativeDeterminant ( ) const [inline]

Returns true if combination of negative scale components will cause the triangle normal to flip. The SDK will flip the normals internally.

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxMeshScale::isIdentity ( ) const [inline]

Returns true if the scaling is an identity transformation.

bool PxMeshScale::isValidForConvexMesh ( ) const [inline]

References PX_MESH_SCALE_MAX, and PX_MESH_SCALE_MIN.

Referenced by PxConvexMeshGeometry::isValid().

bool PxMeshScale::isValidForTriangleMesh ( ) const [inline]

References PxVec3::maxElement(), PxVec3::minElement(), PX_MESH_SCALE_MAX, and PX_MESH_SCALE_MIN.

Referenced by PxTriangleMeshGeometry::isValid().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxMat33 PxMeshScale::toMat33 ( ) const [inline]

Converts this transformation to a 3x3 matrix representation.

References PxMat33::column0, PxMat33::column1, PxMat33::column2, and PxMat33::getTranspose().

PxVec3 PxMeshScale::transform ( const PxVec3 & v ) const [inline]

Member Data Documentation

PxQuat PxMeshScale::rotation

The orientation of the scaling axes.

Referenced by PxTriangleMeshGeometry::isValid(), PxConvexMeshGeometry::isValid(), and PxMassProperties::PxMassProperties().

PxVec3 PxMeshScale::scale

A nonuniform scaling.

Referenced by PxTriangleMeshGeometry::isValid(), PxConvexMeshGeometry::isValid(), and PxMassProperties::PxMassProperties().

The documentation for this class was generated from the following file:
  • PxMeshScale.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPlaneGeometry Class Reference

PxPlaneGeometry Class Reference
[Geomutils]

Class describing a plane geometry. More...

#include <PxPlaneGeometry.h>

Inheritance diagram for PxPlaneGeometry:

PxGeometry
[legend]
Collaboration diagram for PxPlaneGeometry:

PxGeometry
[legend]

List of all members.

Public Member Functions

PX_INLINE | PxPlaneGeometry ()
PX_INLINE bool | isValid () const
Returns true if the geometry is valid.

Detailed Description

Class describing a plane geometry.

The plane geometry specifies the half-space volume x<=0. As with other geometry types, when used in a PxShape the collision volume is obtained by transforming the halfspace by the shape local pose and the actor global pose.

To generate a PxPlane from a PxTransform, transform PxPlane(1,0,0,0).

To generate a PxTransform from a PxPlane, use PxTransformFromPlaneEquation.

See also:
PxShape.setGeometry() PxShape.getPlaneGeometry() PxTransformFromPlaneEquation

Constructor & Destructor Documentation

PX_INLINE PxPlaneGeometry::PxPlaneGeometry ( ) [inline]

The documentation for this class was generated from the following file:
  • PxPlaneGeometry.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMeshFlag Struct Reference

PxMeshFlag Struct Reference
[Geomutils]

Enum with flag values to be used in PxSimpleTriangleMesh::flags. More...

#include <PxSimpleTriangleMesh.h>

List of all members.

Public Types

enum Enum {
eFLIPNORMALS = (1<<0),
e16_BIT_INDICES = (1<<1)
}

Detailed Description

Enum with flag values to be used in PxSimpleTriangleMesh::flags.

Member Enumeration Documentation

enum PxMeshFlag::Enum

Enumerator:
eFLIPNORMALS Specifies if the SDK should flip normals.

The PhysX libraries assume that the face normal of a triangle with vertices [a,b,c] can be computed as: edge1 = b-a edge2 = c-a face_normal = edge1 x edge2.

Note: This is the same as a counterclockwise winding in a right handed coordinate system or alternatively a clockwise winding order in a left handed coordinate system.

If this does not match the winding order for your triangles, raise the below flag.

e16_BIT_INDICES Denotes the use of 16-bit vertex indices.

The documentation for this struct was generated from the following file:
  • PxSimpleTriangleMesh.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSimpleTriangleMesh Class Reference

PxSimpleTriangleMesh Class Reference
[Geomutils]

A structure describing a triangle mesh. More...

#include <PxSimpleTriangleMesh.h>

Inheritance diagram for PxSimpleTriangleMesh:

PxTriangleMeshDesc
[legend]
Collaboration diagram for PxSimpleTriangleMesh:

PxFlags\< PxMeshFlag::Enum, PxU16 \>PxBoundedDataPxStridedData
[legend]

List of all members.

Public Member Functions

PX_INLINE | PxSimpleTriangleMesh ()
constructor sets to default.
PX_INLINE void | setToDefault ()
(re)sets the structure to the default.
PX_INLINE bool | isValid () const
returns true if the current settings are valid

Public Attributes

PxBoundedData points
Pointer to first vertex point.
PxBoundedData triangles
Pointer to first triangle.
PxMeshFlags flags
Flags bits, combined from values of the enum PxMeshFlag.

Detailed Description

A structure describing a triangle mesh.

Member Data Documentation

PxMeshFlags PxSimpleTriangleMesh::flags

Flags bits, combined from values of the enum PxMeshFlag.

Referenced by isValid().

PxBoundedData PxSimpleTriangleMesh::points

Pointer to first vertex point.

Referenced by PxTriangleMeshDesc::isValid(), and isValid().

PxBoundedData PxSimpleTriangleMesh::triangles

Pointer to first triangle.

Caller may add triangleStrideBytes bytes to the pointer to access the next triangle.

These are triplets of 0 based indices: vert0 vert1 vert2 vert0 vert1 vert2 vert0 vert1 vert2 ...

where vertex is either a 32 or 16 bit unsigned integer. There are numTriangles*3 indices.

This is declared as a void pointer because it is actually either an PxU16 or a PxU32 pointer.

Referenced by PxTriangleMeshDesc::isValid(), and isValid().

The documentation for this class was generated from the following file:
  • PxSimpleTriangleMesh.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSphereGeometry Class Reference

PxSphereGeometry Class Reference
[Geomutils]

A class representing the geometry of a sphere. More...

#include <PxSphereGeometry.h>

Inheritance diagram for PxSphereGeometry:

PxGeometry
[legend]
Collaboration diagram for PxSphereGeometry:

PxGeometry
[legend]

List of all members.

Public Member Functions

PX_INLINE | PxSphereGeometry ()
PX_INLINE | PxSphereGeometry (PxReal ir)
PX_INLINE bool | isValid () const
Returns true if the geometry is valid.

Public Attributes

PxReal | radius
The radius of the sphere.

Detailed Description

A class representing the geometry of a sphere.

Spheres are defined by their radius.

Note:
The scaling of the sphere is expected to be baked into this value, there is no additional scaling parameter.

Constructor & Destructor Documentation

PX_INLINE PxSphereGeometry::PxSphereGeometry ( ) [inline]

PX_INLINE PxSphereGeometry::PxSphereGeometry ( PxReal ir ) [inline]

Member Data Documentation

PxReal PxSphereGeometry::radius

The radius of the sphere.

Referenced by isValid(), and PxMassProperties::PxMassProperties().

The documentation for this class was generated from the following file:
  • PxSphereGeometry.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTriangle Class Reference

PxTriangle Class Reference
[Geomutils]

Triangle class. More...

#include <PxTriangle.h>

Collaboration diagram for PxTriangle:

PxVec3
[legend]

List of all members.

Public Member Functions

PX_FORCE_INLINE | PxTriangle ()
Constructor.
PX_FORCE_INLINE | PxTriangle (const PxVec3 &p0, const PxVec3 &p1, const PxVec3 &p2)
Constructor.
PX_FORCE_INLINE | PxTriangle (const PxTriangle &triangle)
Copy constructor.
PX_FORCE_INLINE | ~PxTriangle ()
Destructor.
PX_FORCE_INLINE void | operator= (const PxTriangle &triangle)
Assignment operator.
PX_FORCE_INLINE void | normal (PxVec3 &_normal) const
Compute the normal of the Triangle.
PX_FORCE_INLINE void | denormalizedNormal (PxVec3 &_normal) const
Compute the unnormalized normal of the triangle.
PX_FORCE_INLINE PxReal | area () const
Compute the area of the triangle.
PxVec3 | pointFromUV (PxReal u, PxReal v) const

Public Attributes

PxVec3 | verts [3]
Array of Vertices.

Detailed Description

Triangle class.

Constructor & Destructor Documentation

PX_FORCE_INLINE PxTriangle::PxTriangle ( ) [inline]

Constructor.

PX_FORCE_INLINE PxTriangle::PxTriangle | ( | const PxVec3 & | p0,
 |  | const PxVec3 & | p1,
 |  | const PxVec3 & | p2 |
 | ) |  |  | [inline]

Constructor.

Parameters:
[in] | p0 | Point 0
[in] | p1 | Point 1
[in] | p2 | Point 2

PX_FORCE_INLINE PxTriangle::PxTriangle ( const PxTriangle & triangle ) [inline]

Copy constructor.

Parameters:
[in] triangle Tri to copy

References verts.

PX_FORCE_INLINE PxTriangle::~PxTriangle ( ) [inline]

Destructor.

Member Function Documentation

PX_FORCE_INLINE PxReal PxTriangle::area ( ) const [inline]

Compute the area of the triangle.

Returns:
Area of the triangle.

PX_FORCE_INLINE void PxTriangle::denormalizedNormal ( PxVec3 & _normal ) const [inline]

Compute the unnormalized normal of the triangle.

Parameters:
[out] _normal Triangle normal (not normalized).

PX_FORCE_INLINE void PxTriangle::normal ( PxVec3 & _normal ) const [inline]

Compute the normal of the Triangle.

Parameters:
[out] _normal Triangle normal.

References PxVec3::normalize().

PX_FORCE_INLINE void PxTriangle::operator= ( const PxTriangle & triangle ) [inline]

Assignment operator.

References verts.

PxVec3 PxTriangle::pointFromUV | ( | PxReal | u,
 |  | PxReal | v |
 | ) |  |  | const [inline]

Returns:
Computes a point on the triangle from u and v barycentric coordinates.

Member Data Documentation

PxVec3 PxTriangle::verts[3]

Array of Vertices.

Referenced by operator=(), and PxTriangle().

The documentation for this class was generated from the following file:
  • PxTriangle.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMeshMidPhase Struct Reference

PxMeshMidPhase Struct Reference
[Geomutils]

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

#include <PxTriangleMesh.h>

List of all members.

Public Types

enum Enum {
eBVH33 = 0,
eBVH34 = 1,
eINVALID = 2,
eLAST = eINVALID
}

Detailed Description

Mesh midphase structure. This enum is used to select the desired acceleration structure for midphase queries (i.e. raycasts, overlaps, sweeps vs triangle meshes).

The PxMeshMidPhase::eBVH33 structure is the one used in recent PhysX versions (up to PhysX 3.3). It has great performance and is supported on all platforms.

The PxMeshMidPhase::eBVH34 structure is a revisited implementation introduced in PhysX 3.4. It can be significantly faster both in terms of cooking performance and runtime performance, but it is currently only available on platforms supporting the SSE2 instuction set.

Member Enumeration Documentation

enum PxMeshMidPhase::Enum

Enumerator:
eBVH33 | Default midphase mesh structure, as used up to PhysX 3.3.
eBVH34 | New midphase mesh structure, introduced in PhysX 3.4.
eINVALID | Invalid mesh midphase.
eLAST

The documentation for this struct was generated from the following file:
  • PxTriangleMesh.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTriangleMeshFlag Struct Reference

PxTriangleMeshFlag Struct Reference
[Geomutils]

Flags for the mesh geometry properties. More...

#include <PxTriangleMesh.h>

List of all members.

Public Types

enum Enum {
e16_BIT_INDICES = (1<<1),
eADJACENCY_INFO = (1<<2)
}

Detailed Description

Flags for the mesh geometry properties.

Used in PxTriangleMeshFlags.

Member Enumeration Documentation

enum PxTriangleMeshFlag::Enum

Enumerator:
e16_BIT_INDICES | The triangle mesh has 16bits vertex indices.
eADJACENCY_INFO | The triangle mesh has adjacency information build.

The documentation for this struct was generated from the following file:
  • PxTriangleMesh.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTriangleMesh Class Reference

PxTriangleMesh Class Reference
[Geomutils]

A triangle mesh, also called a 'polygon soup'. More...

#include <PxTriangleMesh.h>

Inheritance diagram for PxTriangleMesh:

PxBVH33TriangleMeshPxBVH34TriangleMeshPxBase
[legend]
Collaboration diagram for PxTriangleMesh:

PxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Public Member Functions

virtual PxU32 | getNbVertices () const =0
Returns the number of vertices.
virtual const PxVec3 * | getVertices () const =0
Returns the vertices.
virtual PxVec3 * | getVerticesForModification ()=0
Returns all mesh vertices for modification.
virtual PxBounds3 | refitBVH ()=0
Refits BVH for mesh vertices.
virtual PxU32 | getNbTriangles () const =0
Returns the number of triangles.
virtual const void * | getTriangles () const =0
Returns the triangle indices.
virtual PxTriangleMeshFlags | getTriangleMeshFlags () const =0
Reads the PxTriangleMesh flags.
virtual const PxU32 * | getTrianglesRemap () const =0
Returns the triangle remapping table.
virtual void | release ()=0
Decrements the reference count of a triangle mesh and releases it if the new reference count is zero.
virtual PxMaterialTableIndex | getTriangleMaterialIndex (PxTriangleID triangleIndex) const =0
Returns material table index of given triangle.
virtual PxBounds3 | getLocalBounds () const =0
Returns the local-space (vertex space) AABB from the triangle mesh.
virtual PxU32 | getReferenceCount () const =0
Returns the reference count for shared meshes.
virtual void | acquireReference ()=0
Acquires a counted reference to a triangle mesh.

Protected Member Functions

PX_INLINE | PxTriangleMesh (PxType concreteType, PxBaseFlags baseFlags)
PX_INLINE | PxTriangleMesh (PxBaseFlags baseFlags)
virtual | ~PxTriangleMesh ()
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Detailed Description

A triangle mesh, also called a 'polygon soup'.

It is represented as an indexed triangle list. There are no restrictions on the triangle data.

To avoid duplicating data when you have several instances of a particular mesh positioned differently, you do not use this class to represent a mesh object directly. Instead, you create an instance of this mesh via the PxTriangleMeshGeometry and PxShape classes.

Creation

To create an instance of this class call PxPhysics::createTriangleMesh(), and release() to delete it. This is only possible once you have released all of its PxShape instances.

Visualizations:

  • PxVisualizationParameter::eCOLLISION_AABBS
  • PxVisualizationParameter::eCOLLISION_SHAPES
  • PxVisualizationParameter::eCOLLISION_AXES
  • PxVisualizationParameter::eCOLLISION_FNORMALS
  • PxVisualizationParameter::eCOLLISION_EDGES
See also:
PxTriangleMeshDesc PxTriangleMeshGeometry PxShape PxPhysics.createTriangleMesh()

Constructor & Destructor Documentation

PX_INLINE PxTriangleMesh::PxTriangleMesh | ( | PxType | concreteType,
 |  | PxBaseFlags | baseFlags |
 | ) |  |  | [inline, protected]

PX_INLINE PxTriangleMesh::PxTriangleMesh ( PxBaseFlags baseFlags ) [inline, protected]

virtual PxTriangleMesh::~PxTriangleMesh ( ) [inline, protected, virtual]

Member Function Documentation

virtual void PxTriangleMesh::acquireReference ( ) [pure virtual]

Acquires a counted reference to a triangle mesh.

This method increases the reference count of the triangle mesh by 1. Decrement the reference count by calling release()

virtual PxBounds3 PxTriangleMesh::getLocalBounds ( ) const [pure virtual]

Returns the local-space (vertex space) AABB from the triangle mesh.

Returns:
local-space bounds

virtual PxU32 PxTriangleMesh::getNbTriangles ( ) const [pure virtual]

Returns the number of triangles.

Returns:
number of triangles
See also:
getTriangles() getTrianglesRemap()

virtual PxU32 PxTriangleMesh::getNbVertices ( ) const [pure virtual]

Returns the number of vertices.

Returns:
number of vertices
See also:
getVertices()

virtual PxU32 PxTriangleMesh::getReferenceCount ( ) const [pure virtual]

Returns the reference count for shared meshes.

At creation, the reference count of the mesh is 1. Every shape referencing this mesh increments the count by 1. When the reference count reaches 0, and only then, the mesh gets destroyed automatically.

Returns:
the current reference count.

virtual PxMaterialTableIndex PxTriangleMesh::getTriangleMaterialIndex ( PxTriangleID triangleIndex ) const [pure virtual]

Returns material table index of given triangle.

This function takes a post cooking triangle index.

Parameters:
[in] triangleIndex (internal) index of desired triangle
Returns:
Material table index, or 0xffff if no per-triangle materials are used

virtual PxTriangleMeshFlags PxTriangleMesh::getTriangleMeshFlags ( ) const [pure virtual]

Reads the PxTriangleMesh flags.

See the list of flags PxTriangleMeshFlag

Returns:
The values of the PxTriangleMesh flags.
See also:
PxTriangleMesh

virtual const void* PxTriangleMesh::getTriangles ( ) const [pure virtual]

Returns the triangle indices.

The indices can be 16 or 32bit depending on the number of triangles in the mesh. Call getTriangleMeshFlags() to know if the indices are 16 or 32 bits.

The number of indices is the number of triangles * 3.

Returns:
array of triangles
See also:
getNbTriangles() getTriangleMeshFlags() getTrianglesRemap()

virtual const PxU32* PxTriangleMesh::getTrianglesRemap ( ) const [pure virtual]

Returns the triangle remapping table.

The triangles are internally sorted according to various criteria. Hence the internal triangle order does not always match the original (user-defined) order. The remapping table helps finding the old indices knowing the new ones:

remapTable[ internalTriangleIndex ] = originalTriangleIndex

Returns:
the remapping table (or NULL if 'PxCookingParamssuppressTriangleMeshRemapTable' has been used)
See also:
getNbTriangles() getTriangles() PxCookingParams::suppressTriangleMeshRemapTable

virtual const PxVec3* PxTriangleMesh::getVertices ( ) const [pure virtual]

Returns the vertices.

Returns:
array of vertices
See also:
getNbVertices()

virtual PxVec3* PxTriangleMesh::getVerticesForModification ( ) [pure virtual]

Returns all mesh vertices for modification.

This function will return the vertices of the mesh so that their positions can be changed in place. After modifying the vertices you must call refitBVH for the refitting to actually take place. This function maintains the old mesh topology (triangle indices).

Returns:
inplace vertex coordinates for each existing mesh vertex.
Note:
works only for PxMeshMidPhase::eBVH33

Size of array returned is equal to the number returned by getNbVertices().

This function operates on cooked vertex indices.

This means the index mapping and vertex count can be different from what was provided as an input to the cooking routine.

To achieve unchanged 1-to-1 index mapping with orignal mesh data (before cooking) please use the following cooking flags:

eWELD_VERTICES = 0, eDISABLE_CLEAN_MESH = 1.

It is also recommended to make sure that a call to validateTriangleMesh returns true if mesh cleaning is disabled.

See also:
getNbVertices()

refitBVH()

virtual bool PxTriangleMesh::isKindOf ( const char * superClass ) const [inline, protected, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxBase.

Reimplemented in PxBVH33TriangleMesh, and PxBVH34TriangleMesh.

References PxBase::isKindOf().

Referenced by PxBVH34TriangleMesh::isKindOf(), and PxBVH33TriangleMesh::isKindOf().

virtual PxBounds3 PxTriangleMesh::refitBVH ( ) [pure virtual]

Refits BVH for mesh vertices.

This function will refit the mesh BVH to correctly enclose the new positions updated by getVerticesForModification. Mesh BVH will not be reoptimized by this function so significantly different new positions will cause significantly reduced performance.

Returns:
New bounds for the entire mesh.
Note:
works only for PxMeshMidPhase::eBVH33

PhysX does not keep a mapping from the mesh to mesh shapes that reference it.

Call PxShape::setGeometry on each shape which references the mesh, to ensure that internal data structures are updated to reflect the new geometry.

PxShape::setGeometry does not guarantee correct/continuous behavior when objects are resting on top of old or new geometry.

It is also recommended to make sure that a call to validateTriangleMesh returns true if mesh cleaning is disabled.

Active edges information will be lost during refit, the rigid body mesh contact generation might not perform as expected.

See also:
getNbVertices()

getVerticesForModification()

virtual void PxTriangleMesh::release ( ) [pure virtual]

Decrements the reference count of a triangle mesh and releases it if the new reference count is zero.

See also:
PxPhysics.createTriangleMesh()

Implements PxBase.

The documentation for this class was generated from the following file:
  • PxTriangleMesh.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBVH33TriangleMesh Class Reference

PxBVH33TriangleMesh Class Reference
[Geomutils]

A triangle mesh containing the PxMeshMidPhase::eBVH33 structure. More...

#include <PxTriangleMesh.h>

Inheritance diagram for PxBVH33TriangleMesh:

PxTriangleMeshPxBase
[legend]
Collaboration diagram for PxBVH33TriangleMesh:

PxTriangleMeshPxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Protected Member Functions

PX_INLINE | PxBVH33TriangleMesh (PxType concreteType, PxBaseFlags baseFlags)
PX_INLINE | PxBVH33TriangleMesh (PxBaseFlags baseFlags)
virtual | ~PxBVH33TriangleMesh ()
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Detailed Description

A triangle mesh containing the PxMeshMidPhase::eBVH33 structure.

See also:
PxMeshMidPhase

Constructor & Destructor Documentation

PX_INLINE PxBVH33TriangleMesh::PxBVH33TriangleMesh | ( | PxType | concreteType,
 |  | PxBaseFlags | baseFlags |
 | ) |  |  | [inline, protected]

PX_INLINE PxBVH33TriangleMesh::PxBVH33TriangleMesh ( PxBaseFlags baseFlags ) [inline, protected]

virtual PxBVH33TriangleMesh::~PxBVH33TriangleMesh ( ) [inline, protected, virtual]

Member Function Documentation

virtual bool PxBVH33TriangleMesh::isKindOf ( const char * superClass ) const [inline, protected, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxTriangleMesh.

References PxTriangleMesh::isKindOf().

The documentation for this class was generated from the following file:
  • PxTriangleMesh.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBVH34TriangleMesh Class Reference

PxBVH34TriangleMesh Class Reference
[Geomutils]

A triangle mesh containing the PxMeshMidPhase::eBVH34 structure. More...

#include <PxTriangleMesh.h>

Inheritance diagram for PxBVH34TriangleMesh:

PxTriangleMeshPxBase
[legend]
Collaboration diagram for PxBVH34TriangleMesh:

PxTriangleMeshPxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>
[legend]

List of all members.

Protected Member Functions

PX_INLINE | PxBVH34TriangleMesh (PxType concreteType, PxBaseFlags baseFlags)
PX_INLINE | PxBVH34TriangleMesh (PxBaseFlags baseFlags)
virtual | ~PxBVH34TriangleMesh ()
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Detailed Description

A triangle mesh containing the PxMeshMidPhase::eBVH34 structure.

See also:
PxMeshMidPhase

Constructor & Destructor Documentation

PX_INLINE PxBVH34TriangleMesh::PxBVH34TriangleMesh | ( | PxType | concreteType,
 |  | PxBaseFlags | baseFlags |
 | ) |  |  | [inline, protected]

PX_INLINE PxBVH34TriangleMesh::PxBVH34TriangleMesh ( PxBaseFlags baseFlags ) [inline, protected]

virtual PxBVH34TriangleMesh::~PxBVH34TriangleMesh ( ) [inline, protected, virtual]

Member Function Documentation

virtual bool PxBVH34TriangleMesh::isKindOf ( const char * superClass ) const [inline, protected, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxTriangleMesh.

References PxTriangleMesh::isKindOf().

The documentation for this class was generated from the following file:
  • PxTriangleMesh.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMeshGeometryFlag Struct Reference

PxMeshGeometryFlag Struct Reference
[Geomutils]

Flags controlling the simulated behavior of the triangle mesh geometry. More...

#include <PxTriangleMeshGeometry.h>

List of all members.

Public Types

enum Enum { eDOUBLE_SIDED = (1<<1) }

Detailed Description

Flags controlling the simulated behavior of the triangle mesh geometry.

Used in PxMeshGeometryFlags.

Member Enumeration Documentation

enum PxMeshGeometryFlag::Enum

Enumerator:
eDOUBLE_SIDED Meshes with this flag set are treated as double-sided. This flag is currently only used for raycasts and sweeps (it is ignored for overlap queries). For detailed specifications of this flag for meshes and heightfields please refer to the Geometry Query section of the user guide.

The documentation for this struct was generated from the following file:
  • PxTriangleMeshGeometry.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTriangleMeshGeometry Class Reference

PxTriangleMeshGeometry Class Reference
[Geomutils]

Triangle mesh geometry class. More...

#include <PxTriangleMeshGeometry.h>

Inheritance diagram for PxTriangleMeshGeometry:

PxGeometry
[legend]
Collaboration diagram for PxTriangleMeshGeometry:

PxGeometryPxMeshScalePxVec3PxQuatPxPadding\< 3 \>PxTriangleMeshPxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>PxFlags\< PxMeshGeometryFlag::Enum, PxU8 \>
[legend]

List of all members.

Public Member Functions

PX_INLINE | PxTriangleMeshGeometry ()
Default constructor.
PX_INLINE | PxTriangleMeshGeometry (PxTriangleMesh *mesh, const PxMeshScale &scaling=PxMeshScale(), PxMeshGeometryFlags flags=PxMeshGeometryFlags())
Constructor.
PX_INLINE bool | isValid () const
Returns true if the geometry is valid.

Public Attributes

PxMeshScale scale
The scaling transformation.
PxMeshGeometryFlags meshFlags
Mesh flags.
PxPadding< 3 > | paddingFromFlags
padding for mesh flags
PxTriangleMesh * triangleMesh
A reference to the mesh object.

Detailed Description

Triangle mesh geometry class.

This class unifies a mesh object with a scaling transform, and lets the combined object be used anywhere a PxGeometry is needed.

The scaling is a transform along arbitrary axes contained in the scale object. The vertices of the mesh in geometry (or shape) space is the PxMeshScale::toMat33() transform, multiplied by the vertex space vertices in the PxConvexMesh object.

Constructor & Destructor Documentation

PX_INLINE PxTriangleMeshGeometry::PxTriangleMeshGeometry ( ) [inline]

Default constructor.

Creates an empty object with a NULL mesh and identity scale.

PX_INLINE PxTriangleMeshGeometry::PxTriangleMeshGeometry | ( | PxTriangleMesh * | mesh,
 |  | const PxMeshScale & | scaling = PxMeshScale(),
 |  | PxMeshGeometryFlags | flags = PxMeshGeometryFlags() |
 | ) |  |  | [inline]

Constructor.

Parameters:
[in] | mesh | Mesh pointer. May be NULL, though this will not make the object valid for shape construction.
[in] | scaling | Scale factor.
[in] | flags | Mesh flags. \

Member Data Documentation

PxMeshGeometryFlags PxTriangleMeshGeometry::meshFlags

Mesh flags.

PxPadding<3> PxTriangleMeshGeometry::paddingFromFlags

padding for mesh flags

PxMeshScale PxTriangleMeshGeometry::scale

The scaling transformation.

Referenced by isValid().

PxTriangleMesh* PxTriangleMeshGeometry::triangleMesh

A reference to the mesh object.

Referenced by isValid().

The documentation for this class was generated from the following file:
  • PxTriangleMeshGeometry.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Pvd

Pvd

Collaboration diagram for Pvd:
Foundation

Classes

struct | PxPvdSceneFlag
PVD scene Flags. They are disabled by default, and only works if PxPvdInstrumentationFlag::eDEBUG is set. 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 | PxPvdInstrumentationFlag
types of instrumentation that PVD can do. 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...
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...

Namespaces

namespace | physx

Typedefs

typedef PxFlags
< PxPvdSceneFlag::Enum, PxU8 > 		PxPvdSceneFlags
Bitfield that contains a set of raised flags defined in PxPvdSceneFlag.
typedef PxFlags
< PxPvdInstrumentationFlag::Enum,
uint8_t > 		PxPvdInstrumentationFlags
Bitfield that contains a set of raised flags defined in PxPvdInstrumentationFlag.

Functions

PX_PVDSDK_API PxPvd *PX_CALL_CONV | PxCreatePvd (PxFoundation &foundation)
Create a pvd instance.
PX_PVDSDK_API PxPvdTransport
*PX_CALL_CONV 		PxDefaultPvdSocketTransportCreate (const char *host, int port, unsigned int timeoutInMilliseconds)
Create a default socket transport.
PX_PVDSDK_API PxPvdTransport
*PX_CALL_CONV 		PxDefaultPvdFileTransportCreate (const char *name)
Create a default file transport.

Typedef Documentation

typedef PxFlags<PxPvdInstrumentationFlag::Enum, uint8_t> PxPvdInstrumentationFlags

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

See also:
PxPvdInstrumentationFlag

typedef PxFlags<PxPvdSceneFlag::Enum, PxU8> PxPvdSceneFlags

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

See also:
PxPvdSceneFlag

Function Documentation

PX_PVDSDK_API PxPvd* PX_CALL_CONV PxCreatePvd ( PxFoundation & foundation )

Create a pvd instance.

Parameters:
foundation is the foundation instance that stores the allocator and error callbacks.

PX_PVDSDK_API PxPvdTransport* PX_CALL_CONV PxDefaultPvdFileTransportCreate ( const char * name )

Create a default file transport.

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

PX_PVDSDK_API PxPvdTransport* PX_CALL_CONV PxDefaultPvdSocketTransportCreate | ( | const char * | host,
 |  | int | port,
 |  | unsigned int | timeoutInMilliseconds
 | ) |  |

Create a default socket transport.

Parameters:
host | host address of the pvd application.
port | ip port used for pvd, should same as the port setting in pvd application.
timeoutInMilliseconds | timeout when connect to pvd host.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPvdSceneFlag Struct Reference

PxPvdSceneFlag Struct Reference
[Pvd]

PVD scene Flags. They are disabled by default, and only works if PxPvdInstrumentationFlag::eDEBUG is set. More...

#include <PxPvdSceneClient.h>

List of all members.

Public Types

enum Enum {
eTRANSMIT_CONTACTS = (1 << 0),
eTRANSMIT_SCENEQUERIES = (1 << 1),
eTRANSMIT_CONSTRAINTS = (1 << 2)
}

Detailed Description

PVD scene Flags. They are disabled by default, and only works if PxPvdInstrumentationFlag::eDEBUG is set.

Member Enumeration Documentation

enum PxPvdSceneFlag::Enum

Enumerator:
eTRANSMIT_CONTACTS
eTRANSMIT_SCENEQUERIES | Transmits contact stream to PVD.
eTRANSMIT_CONSTRAINTS | Transmits scene query stream to PVD.

The documentation for this struct was generated from the following file:
  • PxPvdSceneClient.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPvdSceneClient Class Reference

PxPvdSceneClient Class Reference
[Pvd]

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

#include <PxPvdSceneClient.h>

List of all members.

Public Member Functions

virtual void | setScenePvdFlag (PxPvdSceneFlag::Enum flag, bool value)=0
virtual void | setScenePvdFlags (PxPvdSceneFlags flags)=0
virtual PxPvdSceneFlags | getScenePvdFlags () const =0
virtual void | updateCamera (const char *name, const PxVec3 &origin, const PxVec3 &up, const PxVec3 &target)=0
virtual void | drawPoints (const physx::pvdsdk::PvdDebugPoint *points, PxU32 count)=0
virtual void | drawLines (const physx::pvdsdk::PvdDebugLine *lines, PxU32 count)=0
virtual void | drawTriangles (const physx::pvdsdk::PvdDebugTriangle *triangles, PxU32 count)=0
virtual void | drawText (const physx::pvdsdk::PvdDebugText &text)=0
virtual physx::pvdsdk::PvdClient * | getClientInternal ()=0

Protected Member Functions

virtual | ~PxPvdSceneClient ()

Detailed Description

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.

Constructor & Destructor Documentation

virtual PxPvdSceneClient::~PxPvdSceneClient ( ) [inline, protected, virtual]

Member Function Documentation

virtual void PxPvdSceneClient::drawLines | ( | const physx::pvdsdk::PvdDebugLine * | lines,
 |  | PxU32 | count |
 | ) |  |  | [pure virtual]

draw lines on PVD application's render window

virtual void PxPvdSceneClient::drawPoints | ( | const physx::pvdsdk::PvdDebugPoint * | points,
 |  | PxU32 | count |
 | ) |  |  | [pure virtual]

draw points on PVD application's render window

virtual void PxPvdSceneClient::drawText ( const physx::pvdsdk::PvdDebugText & text ) [pure virtual]

draw text on PVD application's render window

virtual void PxPvdSceneClient::drawTriangles | ( | const physx::pvdsdk::PvdDebugTriangle * | triangles,
 |  | PxU32 | count |
 | ) |  |  | [pure virtual]

draw triangles on PVD application's render window

virtual physx::pvdsdk::PvdClient* PxPvdSceneClient::getClientInternal ( ) [pure virtual]

get the underlying client, for advanced users

virtual PxPvdSceneFlags PxPvdSceneClient::getScenePvdFlags ( ) const [pure virtual]

Retrieves the PVD flags. See PxPvdSceneFlags.

virtual void PxPvdSceneClient::setScenePvdFlag | ( | PxPvdSceneFlag::Enum | flag,
 |  | bool | value |
 | ) |  |  | [pure virtual]

Sets the PVD flag. See PxPvdSceneFlag.

Parameters:
flag | Flag to set.
value | value the flag gets set to.

virtual void PxPvdSceneClient::setScenePvdFlags ( PxPvdSceneFlags flags ) [pure virtual]

Sets the PVD flags. See PxPvdSceneFlags.

Parameters:
flags Flags to set.

virtual void PxPvdSceneClient::updateCamera | ( | const char * | name,
 |  | const PxVec3 & | origin,
 |  | const PxVec3 & | up,
 |  | const PxVec3 & | target |
 | ) |  |  | [pure virtual]

update camera on PVD application's render window

The documentation for this class was generated from the following file:
  • PxPvdSceneClient.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPvdInstrumentationFlag Struct Reference

PxPvdInstrumentationFlag Struct Reference
[Pvd]

types of instrumentation that PVD can do. More...

#include <PxPvd.h>

List of all members.

Public Types

enum Enum {
eDEBUG = 1 << 0,
ePROFILE = 1 << 1,
eMEMORY = 1 << 2,
eALL = (eDEBUG | ePROFILE | eMEMORY)
}

Detailed Description

types of instrumentation that PVD can do.

Member Enumeration Documentation

enum PxPvdInstrumentationFlag::Enum

Enumerator:
eDEBUG Send debugging information to PVD.

This information is the actual object data of the rigid statics, shapes, articulations, etc. Sending this information has a noticeable impact on performance and thus this flag should not be set if you want an accurate performance profile.

ePROFILE Send profile information to PVD.

This information populates PVD's profile view. It has (at this time) negligible cost compared to Debug information and makes PVD *much* more useful so it is quite highly recommended.

This flag works together with a PxCreatePhysics parameter. Using it allows the SDK to send profile events to PVD.

eMEMORY Send memory information to PVD.

The PVD sdk side hooks into the Foundation memory controller and listens to allocation/deallocation events. This has a noticable hit on the first frame, however, this data is somewhat compressed and the PhysX SDK doesn't allocate much once it hits a steady state. This information also has a fairly negligible impact and thus is also highly recommended.

This flag works together with a PxCreatePhysics parameter, trackOutstandingAllocations. Using both of them together allows users to have an accurate view of the overall memory usage of the simulation at the cost of a hashtable lookup per allocation/deallocation. Again, PhysX makes a best effort attempt not to allocate or deallocate during simulation so this hashtable lookup tends to have no effect past the first frame.

Sending memory information without tracking outstanding allocations means that PVD will accurate information about the state of the memory system before the actual connection happened.

eALL

The documentation for this struct was generated from the following file:
  • PxPvd.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPvd Class Reference

PxPvd Class Reference
[Pvd]

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

#include <PxPvd.h>

Inheritance diagram for PxPvd:

physx::PxProfilerCallback
[legend]
Collaboration diagram for PxPvd:

physx::PxProfilerCallback
[legend]

List of all members.

Public Member Functions

virtual bool | connect (PxPvdTransport &transport, PxPvdInstrumentationFlags flags)=0
virtual void | disconnect ()=0
virtual bool | isConnected (bool useCachedStatus=true)=0
virtual PxPvdTransport * | getTransport ()=0
virtual PxPvdInstrumentationFlags | getInstrumentationFlags ()=0
virtual void | release ()=0
Releases the pvd instance.

Protected Member Functions

virtual | ~PxPvd ()

Detailed Description

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.

Constructor & Destructor Documentation

virtual PxPvd::~PxPvd ( ) [inline, protected, virtual]

Member Function Documentation

virtual bool PxPvd::connect | ( | PxPvdTransport & | transport,
 |  | PxPvdInstrumentationFlags | flags |
 | ) |  |  | [pure virtual]

Connects the SDK to the PhysX Visual Debugger application.

Parameters:
transport | transport for pvd captured data.
flags | Flags to set. return True if success

virtual void PxPvd::disconnect ( ) [pure virtual]

Disconnects the SDK from the PhysX Visual Debugger application. If we are still connected, this will kill the entire debugger connection.

virtual PxPvdInstrumentationFlags PxPvd::getInstrumentationFlags ( ) [pure virtual]

Retrieves the PVD flags. See PxPvdInstrumentationFlags.

virtual PxPvdTransport* PxPvd::getTransport ( ) [pure virtual]

returns the PVD data transport returns NULL if no transport is present.

virtual bool PxPvd::isConnected ( bool useCachedStatus = true ) [pure virtual]

Return if connection to PVD is created.

Parameters:
useCachedStatus 1> When useCachedStaus is false, isConnected() checks the lowlevel network status. This can be slow because it needs to lock the lowlevel network stream. If isConnected() is called frequently, the expense of locking can be significant. 2> When useCachedStatus is true, isConnected() checks the highlevel cached status with atomic access. It is faster than locking, but the status may be different from the lowlevel network with latency of up to one frame. The reason for this is that the cached status is changed inside socket listener, which is not called immediately when the lowlevel connection status changes.

virtual void PxPvd::release ( ) [pure virtual]

Releases the pvd instance.

The documentation for this class was generated from the following file:
  • PxPvd.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPvdTransport Class Reference

PxPvdTransport Class Reference
[Pvd]

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

#include <PxPvdTransport.h>

List of all members.

Public Member Functions

virtual bool | connect ()=0
virtual void | disconnect ()=0
virtual bool | isConnected ()=0
virtual bool | write (const uint8_t *inBytes, uint32_t inLength)=0
virtual PxPvdTransport & | lock ()=0
virtual void | unlock ()=0
virtual void | flush ()=0
virtual uint64_t | getWrittenDataSize ()=0
virtual void | release ()=0

Protected Member Functions

virtual | ~PxPvdTransport ()

Detailed Description

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.

Constructor & Destructor Documentation

virtual PxPvdTransport::~PxPvdTransport ( ) [inline, protected, virtual]

Member Function Documentation

virtual bool PxPvdTransport::connect ( ) [pure virtual]

Connects to the Visual Debugger application. return True if success

virtual void PxPvdTransport::disconnect ( ) [pure virtual]

Disconnects from the Visual Debugger application. If we are still connected, this will kill the entire debugger connection.

virtual void PxPvdTransport::flush ( ) [pure virtual]

send any data and block until we know it is at least on the wire.

virtual uint64_t PxPvdTransport::getWrittenDataSize ( ) [pure virtual]

Return size of written data.

virtual bool PxPvdTransport::isConnected ( ) [pure virtual]

Return if connection to PVD is created.

virtual PxPvdTransport& PxPvdTransport::lock ( ) [pure virtual]

virtual void PxPvdTransport::release ( ) [pure virtual]

virtual void PxPvdTransport::unlock ( ) [pure virtual]

virtual bool PxPvdTransport::write | ( | const uint8_t * | inBytes,
 |  | uint32_t | inLength |
 | ) |  |  | [pure virtual]

write bytes to the other endpoint of the connection. should lock before witre. If an error occurs this connection will assume to be dead.

The documentation for this class was generated from the following file:
  • PxPvdTransport.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Vehicle

Vehicle

Classes

class | PxVehicleChassisData
class | PxVehicleEngineData
class | PxVehicleGearsData
class | PxVehicleAutoBoxData
class | PxVehicleDifferential4WData
class | PxVehicleDifferentialNWData
class | PxVehicleAckermannGeometryData
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
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...
class | PxVehicleWheelData
class | PxVehicleSuspensionData
class | PxVehicleAntiRollBarData
class | PxVehicleTireData
class | PxVehicleDriveSimData
Data structure describing non-wheel configuration data of a vehicle that has engine, gears, clutch, and auto-box. More...
class | PxVehicleDriveDynData
Data structure with instanced dynamics data for vehicle with engine, clutch, gears, autobox. More...
class | PxVehicleDrive
A complete vehicle with instance dynamics data and configuration data for wheels and engine,clutch,gears,autobox. 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...
struct | PxVehicleDrive4WWheelOrder
The ordering of the driven and steered wheels of a PxVehicleDrive4W. More...
struct | PxVehicleDrive4WControl
The control inputs for a PxVehicleDrive4W. 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...
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...
struct | PxVehicleDriveNWControl
The control inputs for a PxVehicleDriveNW. 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 | PxVehicleDriveTankWheelOrder
The ordering of the wheels of a PxVehicleDriveTank. More...
struct | PxVehicleDriveTankControl
The control inputs for a PxVehicleDriveTank. More...
struct | PxVehicleDriveTankControlModel
Two driving models are supported. More...
class | PxVehicleDriveTank
Data structure with instanced dynamics data and configuration data of a tank. More...
class | PxVehicleNoDrive
Data structure with instanced dynamics data and configuration data of a vehicle with no drive model. More...
struct | PxVehicleTypes
struct | PxVehicleConcreteType
An enumeration of concrete vehicle classes inheriting from PxBase. More...
struct | PxVehicleUpdateMode
struct | PxVehicleDrivableSurfaceType
Driving surface type. Each PxMaterial is associated with a corresponding PxVehicleDrivableSurfaceType. More...
class | PxVehicleDrivableSurfaceToTireFrictionPairs
Friction for each combination of driving surface type and tire type. More...
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 | PxVehicleWheelQueryResult
struct | PxVehicleWheelConcurrentUpdateData
Structure containing data that is computed for a wheel during concurrent calls to PxVehicleUpdates but which cannot be safely concurrently applied. More...
struct | PxVehicleConcurrentUpdateData
Structure containing data that is computed for a vehicle and its wheels during concurrent calls to PxVehicleUpdates but which cannot be safely concurrently applied. More...
struct | PxVehicleKeySmoothingData
Used to produce smooth vehicle driving control values from key inputs. More...
struct | PxVehiclePadSmoothingData
Used to produce smooth analog vehicle control values from analog inputs. More...
class | PxVehicleDrive4WRawInputData
Used to produce smooth vehicle driving control values from analog and digital inputs. More...
class | PxVehicleDriveNWRawInputData
Used to produce smooth vehicle driving control values from analog and digital inputs. More...
class | PxVehicleDriveTankRawInputData
Used to produce smooth analog tank control values from analog and digital inputs. More...
class | PxVehicleCopyDynamicsMap
Used by PxVehicleCopyDynamicsData. More...
class | PxVehicleWheelsSimData
Data structure describing configuration data of a vehicle with up to 20 wheels. More...
class | PxVehicleWheelsDynData
Data structure with instanced dynamics data for wheels. More...
class | PxVehicleWheels
Data structure with instanced dynamics data and configuration data of a vehicle with just wheels. More...

Defines

#define | PX_MAX_NB_WHEELS (20)
This number is the maximum number of wheels allowed for a vehicle.
#define | PX_DEBUG_VEHICLE_ON (1)
Compiler setting to enable recording of telemetry data.

Typedefs

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.

Functions

PX_COMPILE_TIME_ASSERT (0==(sizeof(PxVehicleChassisData)&0x0f))
PX_C_EXPORT bool PX_CALL_CONV | PxInitVehicleSDK (PxPhysics &physics, PxSerializationRegistry *serializationRegistry=NULL)
Initialize the PhysXVehicle library.
PX_C_EXPORT void PX_CALL_CONV | PxCloseVehicleSDK (PxSerializationRegistry *serializationRegistry=NULL)
Shut down the PhysXVehicle library.
void | PxVehicleSetBasisVectors (const PxVec3 &up, const PxVec3 &forward)
Set the basis vectors of the vehicle simulation.
void | PxVehicleSetUpdateMode (PxVehicleUpdateMode::Enum vehicleUpdateMode)
Set the effect of PxVehicleUpdates to be either to modify each vehicle's rigid body actor.
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.
void | PxVehicleSetMaxHitActorAcceleration (const PxF32 maxHitActorAcceleration)
Determine the maximum acceleration experienced by PxRigidDynamic instances that are found to be in contact with a wheel.
void | PxVehicleSuspensionRaycasts (PxBatchQuery *batchQuery, const PxU32 nbVehicles, PxVehicleWheels **vehicles, const PxU32 nbSceneQueryResults, PxRaycastQueryResult *sceneQueryResults, const bool *vehiclesToRaycast=NULL)
Perform raycasts for all suspension lines for all vehicles.
void | PxVehicleSuspensionSweeps (PxBatchQuery *batchQuery, const PxU32 nbVehicles, PxVehicleWheels **vehicles, const PxU32 nbSceneQueryResults, PxSweepQueryResult *sceneQueryResults, const PxU16 nbHitsPerQuery, const bool *vehiclesToSweep=NULL, const PxF32 sweepWidthScale=1.0f, const PxF32 sweepRadiusScale=1.0f)
Perform sweeps for all suspension lines for all vehicles.
PxU32 | PxVehicleModifyWheelContacts (const PxVehicleWheels &vehicle, const PxU32 wheelId, const PxF32 wheelTangentVelocityMultiplier, const PxReal maxImpulse, PxContactModifyPair &contactModifyPair)
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.
void | PxVehicleUpdates (const PxReal timestep, const PxVec3 &gravity, const PxVehicleDrivableSurfaceToTireFrictionPairs &vehicleDrivableSurfaceToTireFrictionPairs, const PxU32 nbVehicles, PxVehicleWheels **vehicles, PxVehicleWheelQueryResult *vehicleWheelQueryResults, PxVehicleConcurrentUpdateData *vehicleConcurrentUpdates=NULL)
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.
void | PxVehiclePostUpdates (const PxVehicleConcurrentUpdateData *vehicleConcurrentUpdates, const PxU32 nbVehicles, PxVehicleWheels **vehicles)
Apply actor changes that were computed in concurrent calls to PxVehicleUpdates but which could not be safely applied due to the concurrency.
void | PxVehicleShiftOrigin (const PxVec3 &shift, const PxU32 nbVehicles, PxVehicleWheels **vehicles)
Shift the origin of vehicles by the specified vector.
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.
void | PxVehicleDrive4WSmoothDigitalRawInputsAndSetAnalogInputs (const PxVehicleKeySmoothingData &keySmoothing, const PxFixedSizeLookupTable< 8 > &steerVsForwardSpeedTable, const PxVehicleDrive4WRawInputData &rawInputData, const PxReal timestep, const bool isVehicleInAir, PxVehicleDrive4W &focusVehicle)
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.
void | PxVehicleDrive4WSmoothAnalogRawInputsAndSetAnalogInputs (const PxVehiclePadSmoothingData &padSmoothing, const PxFixedSizeLookupTable< 8 > &steerVsForwardSpeedTable, const PxVehicleDrive4WRawInputData &rawInputData, const PxReal timestep, const bool isVehicleInAir, PxVehicleDrive4W &focusVehicle)
Used to smooth and set analog vehicle control values from analog inputs (gamepad). Also used to set boolean gearup, geardown values.
void | PxVehicleDriveNWSmoothDigitalRawInputsAndSetAnalogInputs (const PxVehicleKeySmoothingData &keySmoothing, const PxFixedSizeLookupTable< 8 > &steerVsForwardSpeedTable, const PxVehicleDriveNWRawInputData &rawInputData, const PxReal timestep, const bool isVehicleInAir, PxVehicleDriveNW &focusVehicle)
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.
void | PxVehicleDriveNWSmoothAnalogRawInputsAndSetAnalogInputs (const PxVehiclePadSmoothingData &padSmoothing, const PxFixedSizeLookupTable< 8 > &steerVsForwardSpeedTable, const PxVehicleDriveNWRawInputData &rawInputData, const PxReal timestep, const bool isVehicleInAir, PxVehicleDriveNW &focusVehicle)
Used to smooth and set analog vehicle control values from analog inputs (gamepad). Also used to set boolean gearup, geardown values.
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.
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.
void | PxVehicle4WEnable3WTadpoleMode (PxVehicleWheelsSimData &wheelsSimData, PxVehicleWheelsDynData &wheelsDynData, PxVehicleDriveSimData4W &driveSimData)
Reconfigure a PxVehicle4W instance as a three-wheeled car with tadpole config (2 front wheels, 1 rear wheel).
void | PxVehicle4WEnable3WDeltaMode (PxVehicleWheelsSimData &wheelsSimData, PxVehicleWheelsDynData &wheelsDynData, PxVehicleDriveSimData4W &driveSimData)
Reconfigure a PxVehicle4W instance as a three-wheeled car with delta config (1 front wheel, 2 rear wheels).
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).
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).
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.

Define Documentation

#define PX_DEBUG_VEHICLE_ON (1)

Compiler setting to enable recording of telemetry data.

See also:
PxVehicleUpdateSingleVehicleAndStoreTelemetryData, PxVehicleTelemetryData

#define PX_MAX_NB_WHEELS (20)

This number is the maximum number of wheels allowed for a vehicle.

Referenced by PxVehicleCopyDynamicsMap::PxVehicleCopyDynamicsMap(), and PxVehicleDifferentialNWData::PxVehicleDifferentialNWData().

Typedef Documentation

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.

Parameters:
[in] | shaderData | is 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] | tireFriction | is the value of friction for the contact between the tire and the ground.
[in] | longSlip | is the value of longitudinal slip experienced by the tire.
[in] | latSlip | is the value of lateral slip experienced by the tire.
[in] | camber | is the camber angle of the tire in radians.
[in] | wheelOmega | is the rotational speed of the wheel.
[in] | wheelRadius | is the distance from the tire surface to the center of the wheel.
[in] | recipWheelRadius | is the reciprocal of wheelRadius.
[in] | restTireLoad | is the load force experienced by the tire when the vehicle is at rest.
[in] | normalisedTireLoad | is a pre-computed value equal to the load force on the tire divided by restTireLoad.
[in] | tireLoad | is the load force currently experienced by the tire (= restTireLoad*normalisedTireLoad)
[in] | gravity | is the magnitude of gravitational acceleration.
[in] | recipGravity | is the reciprocal of the magnitude of gravitational acceleration.
[out] | wheelTorque | is the torque that is to be applied to the wheel around the wheel's axle.
[out] | tireLongForceMag | is the magnitude of the longitudinal tire force to be applied to the vehicle's rigid body.
[out] | tireLatForceMag | is the magnitude of the lateral tire force to be applied to the vehicle's rigid body.
[out] | tireAlignMoment | is 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

Function Documentation

PX_COMPILE_TIME_ASSERT ( 0 = =(sizeof(PxVehicleChassisData)&0x0f) )

PX_C_EXPORT void PX_CALL_CONV PxCloseVehicleSDK ( PxSerializationRegistry * serializationRegistry = NULL )

Shut down the PhysXVehicle library.

Call this function as part of the physx shutdown process.

Parameters:
serializationRegistry PxSerializationRegistry 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

PX_C_EXPORT bool PX_CALL_CONV PxInitVehicleSDK | ( | PxPhysics & | physics,
 |  | PxSerializationRegistry * | serializationRegistry = NULL
 | ) |  |

Initialize the PhysXVehicle library.

Call this before using any of the vehicle functions.

Parameters:
physics | The PxPhysics instance.
serializationRegistry | PxSerializationRegistry 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

void PxVehicle4WEnable3WDeltaMode | ( | PxVehicleWheelsSimData & | wheelsSimData,
 |  | PxVehicleWheelsDynData & | wheelsDynData,
 |  | PxVehicleDriveSimData4W & | driveSimData
 | ) |  |

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] | wheelsSimData | is the data describing the wheels/suspensions/tires of the vehicle.
[in,out] | wheelsDynData | is the data describing the dynamic state of the wheels of the vehicle.
[in,out] | driveSimData | is the data describing the drive model of the vehicle.

void PxVehicle4WEnable3WTadpoleMode | ( | PxVehicleWheelsSimData & | wheelsSimData,
 |  | PxVehicleWheelsDynData & | wheelsDynData,
 |  | PxVehicleDriveSimData4W & | driveSimData
 | ) |  |

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] | wheelsSimData | is the data describing the wheels/suspensions/tires of the vehicle.
[in,out] | wheelsDynData | is the data describing the dynamic state of the wheels of the vehicle.
[in,out] | driveSimData | is the data describing the drive model of the vehicle.

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

Parameters:
[in] | nbSprungMasses | is the number of sprung masses of the vehicle. This value corresponds to the number of wheels on the vehicle.
[in] | sprungMassCoordinates | are the coordinates of the sprung masses relative to the actor. The array sprungMassCoordinates must be of length nbSprungMasses or greater.
[in] | centreOfMass | is 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] | totalMass | is the total mass of all the sprung masses. This value corresponds to the value set by PxRigidBody::setMass.
[in] | gravityDirection | is 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] | sprungMasses | are 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.

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.

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.

void PxVehicleDrive4WSmoothAnalogRawInputsAndSetAnalogInputs | ( | const PxVehiclePadSmoothingData & | padSmoothing,
 |  | const PxFixedSizeLookupTable< 8 > & | steerVsForwardSpeedTable,
 |  | const PxVehicleDrive4WRawInputData & | rawInputData,
 |  | const PxReal | timestep,
 |  | const bool | isVehicleInAir,
 |  | PxVehicleDrive4W & | focusVehicle
 | ) |  |

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

Parameters:
[in] | padSmoothing | describes how quickly the control values applied to the vehicle blend from the current vehicle values towards the raw analog values from the gamepad.
[in] | steerVsForwardSpeedTable | is a table of maximum allowed steer versus forward vehicle speed.
[in] | rawInputData | is the state of all gamepad analog inputs that will be used control the vehicle.
[in] | timestep | is the time that has passed since the last call to PxVehicleDrive4WSmoothDigitalRawInputsAndSetAnalogInputs
[in] | isVehicleInAir | describes if the vehicle is in the air or on the ground and is used to decide whether or not to apply steerVsForwardSpeedTable.
[in] | focusVehicle | is the vehicle that will be given analog control values arising from the gamepad inputs.

void PxVehicleDrive4WSmoothDigitalRawInputsAndSetAnalogInputs | ( | const PxVehicleKeySmoothingData & | keySmoothing,
 |  | const PxFixedSizeLookupTable< 8 > & | steerVsForwardSpeedTable,
 |  | const PxVehicleDrive4WRawInputData & | rawInputData,
 |  | const PxReal | timestep,
 |  | const bool | isVehicleInAir,
 |  | PxVehicleDrive4W & | focusVehicle
 | ) |  |

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] | keySmoothing | describes the rise and fall rates of the corresponding analog values when keys are pressed on and off.
[in] | steerVsForwardSpeedTable | is a table of maximum allowed steer versus forward vehicle speed.
[in] | rawInputData | is the state of all digital inputs that control the vehicle.
[in] | timestep | is the time that has passed since the last call to PxVehicleDrive4WSmoothDigitalRawInputsAndSetAnalogInputs
[in] | isVehicleInAir | describes if the vehicle is in the air or on the ground and is used to decide whether or not to apply steerVsForwardSpeedTable.
[in] | focusVehicle | is the vehicle that will be given analog and gearup/geardown control values arising from the digital inputs.

void PxVehicleDriveNWSmoothAnalogRawInputsAndSetAnalogInputs | ( | const PxVehiclePadSmoothingData & | padSmoothing,
 |  | const PxFixedSizeLookupTable< 8 > & | steerVsForwardSpeedTable,
 |  | const PxVehicleDriveNWRawInputData & | rawInputData,
 |  | const PxReal | timestep,
 |  | const bool | isVehicleInAir,
 |  | PxVehicleDriveNW & | focusVehicle
 | ) |  |

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

Parameters:
[in] | padSmoothing | describes how quickly the control values applied to the vehicle blend from the current vehicle values towards the raw analog values from the gamepad.
[in] | steerVsForwardSpeedTable | is a table of maximum allowed steer versus forward vehicle speed.
[in] | rawInputData | is the state of all gamepad analog inputs that will be used control the vehicle.
[in] | timestep | is the time that has passed since the last call to PxVehicleDrive4WSmoothDigitalRawInputsAndSetAnalogInputs
[in] | isVehicleInAir | describes if the vehicle is in the air or on the ground and is used to decide whether or not to apply steerVsForwardSpeedTable.
[in] | focusVehicle | is the vehicle that will be given analog control values arising from the gamepad inputs.

void PxVehicleDriveNWSmoothDigitalRawInputsAndSetAnalogInputs | ( | const PxVehicleKeySmoothingData & | keySmoothing,
 |  | const PxFixedSizeLookupTable< 8 > & | steerVsForwardSpeedTable,
 |  | const PxVehicleDriveNWRawInputData & | rawInputData,
 |  | const PxReal | timestep,
 |  | const bool | isVehicleInAir,
 |  | PxVehicleDriveNW & | focusVehicle
 | ) |  |

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] | keySmoothing | describes the rise and fall rates of the corresponding analog values when keys are pressed on and off.
[in] | steerVsForwardSpeedTable | is a table of maximum allowed steer versus forward vehicle speed.
[in] | rawInputData | is the state of all digital inputs that control the vehicle.
[in] | timestep | is the time that has passed since the last call to PxVehicleDrive4WSmoothDigitalRawInputsAndSetAnalogInputs
[in] | isVehicleInAir | describes if the vehicle is in the air or on the ground and is used to decide whether or not to apply steerVsForwardSpeedTable.
[in] | focusVehicle | is the vehicle that will be given analog and gearup/geardown control values arising from the digital inputs.

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.

Parameters:
[in] | padSmoothing | describes how quickly the control values applied to the vehicle blend from the current vehicle values towards the raw analog values from the gamepad.
[in] | rawInputData | is the state of all gamepad analog inputs that will be used control the vehicle.
[in] | timestep | is the time that has passed since the last call to PxVehicleDrive4WSmoothDigitalRawInputsAndSetAnalogInputs
[in] | focusVehicle | is the vehicle that will be given analog control values arising from the gamepad inputs.

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.

Parameters:
[in] | keySmoothing | describes the rise and fall rates of the corresponding analog values when keys are pressed on and off.
[in] | rawInputData | is the state of all digital inputs that control the vehicle.
[in] | timestep | is the time that has passed since the last call to PxVehicleDrive4WSmoothDigitalRawInputsAndSetAnalogInputs
[in] | focusVehicle | is the vehicle that will be given analog and gearup/geardown control values arising from the digital inputs.

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.

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.

PxU32 PxVehicleModifyWheelContacts | ( | const PxVehicleWheels & | vehicle,
 |  | const PxU32 | wheelId,
 |  | const PxF32 | wheelTangentVelocityMultiplier,
 |  | const PxReal | maxImpulse,
 |  | PxContactModifyPair & | contactModifyPair
 | ) |  |

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] | vehicle | is a reference to the PxVehicleWheels instance that owns the wheel
[in] | wheelId | is the id of the wheel
[in] | wheelTangentVelocityMultiplier | determines 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] | maxImpulse | determines 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] | contactModifyPair | describes 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.
Note:
[in] 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

void PxVehiclePostUpdates | ( | const PxVehicleConcurrentUpdateData * | vehicleConcurrentUpdates,
 |  | const PxU32 | nbVehicles,
 |  | PxVehicleWheels ** | vehicles
 | ) |  |

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

Parameters:
[in] | vehicleConcurrentUpdates | is an array of length nbVehicles where vehicleConcurrentUpdates[i] contains data describing actor changes that were computed for vehicles[i] during concurrent calls to PxVehicleUpdates.
[in] | nbVehicles | is the number of vehicles pointers in the vehicles array
[in,out] | vehicles | is an array of length nbVehicles containing all vehicles that were partially updated in concurrent calls to PxVehicleUpdates.
See also:
PxVehicleUpdates

void PxVehicleSetBasisVectors | ( | const PxVec3 & | up,
 |  | const PxVec3 & | forward
 | ) |  |

Set the basis vectors of the vehicle simulation.

Default values PxVec3(0,1,0), PxVec3(0,0,1)

Call this function before using PxVehicleUpdates unless the default values are correct.

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

Default value of maxHitActorAcceleration is PX_MAX_REAL

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.

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:
pointRejectAngle | is the threshold angle used when comparing the angle between D and S.
normalRejectAngle | is 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

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

Default behavior is immediate velocity modification.

Call this function before using PxVehicleUpdates for the first time if the default is not the desired behavior.

See also:
PxVehicleUpdates

void 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] | shift | is the translation vector to shift the origin by.
[in] | nbVehicles | is the number of vehicles in the vehicles array.
[in,out] | vehicles | is an array of all vehicles that should be updated to map to the new scene origin.

void PxVehicleSuspensionRaycasts | ( | PxBatchQuery * | batchQuery,
 |  | const PxU32 | nbVehicles,
 |  | PxVehicleWheels ** | vehicles,
 |  | const PxU32 | nbSceneQueryResults,
 |  | PxRaycastQueryResult * | sceneQueryResults,
 |  | const bool * | vehiclesToRaycast = NULL
 | ) |  |

Perform raycasts for all suspension lines for all vehicles.

Parameters:
[in] | batchQuery | is a PxBatchQuery instance used to specify shader data and functions for the raycast scene queries.
[in] | nbVehicles | is the number of vehicles in the vehicles array.
[in] | vehicles | is an array of all vehicles that are to have a raycast issued from each wheel.
[in] | nbSceneQueryResults | must be greater than or equal to the total number of wheels of all the vehicles in the vehicles array; that is, sceneQueryResults must have dimensions large enough for one raycast hit result per wheel for all the vehicles in the vehicles array.
[in] | sceneQueryResults | must persist without being overwritten until the end of the next PxVehicleUpdates call.
[in] | vehiclesToRaycast | is 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].
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

void PxVehicleSuspensionSweeps | ( | PxBatchQuery * | batchQuery,
 |  | const PxU32 | nbVehicles,
 |  | PxVehicleWheels ** | vehicles,
 |  | const PxU32 | nbSceneQueryResults,
 |  | PxSweepQueryResult * | sceneQueryResults,
 |  | const PxU16 | nbHitsPerQuery,
 |  | const bool * | vehiclesToSweep = NULL,
 |  | const PxF32 | sweepWidthScale = 1.0f,
 |  | const PxF32 | sweepRadiusScale = 1.0f
 | ) |  |

Perform sweeps for all suspension lines for all vehicles.

Parameters:
[in] | batchQuery | is a PxBatchQuery instance used to specify shader data and functions for the sweep scene queries.
[in] | nbVehicles | is the number of vehicles in the vehicles array.
[in] | vehicles | is an array of all vehicles that are to have a sweep issued from each wheel.
[in] | nbSceneQueryResults | must be greater than or equal to the total number of wheels of all the vehicles in the vehicles array; that is, sceneQueryResults must have dimensions large enough for one sweep hit result per wheel for all the vehicles in the vehicles array.
[in] | sceneQueryResults | must persist without being overwritten until the end of the next PxVehicleUpdates call.
[in] | nbHitsPerQuery | is the maximum numbers of hits that will be returned for each query.
[in] | vehiclesToSweep | is 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] | sweepWidthScale | scales 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] | sweepRadiusScale | scales the geometry of the wheel used in the sweep. Values < 1 result in a larger swept wheel, while values > 1 result in a smaller swept wheel.
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

PxBatchQuery::sweep

PxVehicleSetSweepHitRejectionAngles

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

Parameters:
[in] | oldCMassLocalPose | is the center of mass local pose that was last used to configure the vehicle.
[in] | newCMassLocalPose | is the center of mass local pose that will be used to configure the vehicle so that it matches the vehicle's actor.
[in] | gravityDirection | is 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] | vehicle | is 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.

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

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] | timestep | is the timestep of the update
[in] | gravity | is the value of gravitational acceleration
[in] | vehicleDrivableSurfaceToTireFrictionPairs | describes 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] | nbVehicles | is the number of vehicles pointers in the vehicles array
[in,out] | vehicles | is an array of length nbVehicles containing all vehicles to be updated by the specified timestep
[out] | vehicleWheelQueryResults | is 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] | vehicleConcurrentUpdates | is an array of length nbVehicles. It is only necessary to specify vehicleConcurrentUpdates if PxVehicleUpdates is called concurrently. The element vehicleWheelQueryResults[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.
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 is 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)

PxVehicleUpdates may be called concurrently provided all concurrent calls to PxVehicleUpdates involve only vehicles in the scene specified by PxVehicleUpdateSetScene. PxVehicleUpdates must never run concurrently with PxVehicleUpdateSingleVehicleAndStoreTelemetryData.

See also:
PxVehicleSetUpdateMode, PxVehicleWheelsSimData::disableWheel, PxVehicleWheelsSimData::setWheelShapeMapping, PxVehicleWheelsDynData::setWheelRotationSpeed, PxVehiclePostUpdates


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleChassisData Class Reference

PxVehicleChassisData Class Reference
[Vehicle]

#include <PxVehicleComponents.h>

Collaboration diagram for PxVehicleChassisData:

PxVec3
[legend]

List of all members.

Public Member Functions

PxVehicleChassisData ()

Public Attributes

PxVec3 mMOI
Moment of inertia of vehicle rigid body actor.
PxReal | mMass
Mass of vehicle rigid body actor.
PxVec3 mCMOffset
Center of mass offset of vehicle rigid body actor.

Private Member Functions

bool | isValid () const

Private Attributes

PxReal | pad

Friends

class | PxVehicleDriveSimData4W

Constructor & Destructor Documentation

PxVehicleChassisData::PxVehicleChassisData ( ) [inline]

Member Function Documentation

bool PxVehicleChassisData::isValid ( ) const [private]

Friends And Related Function Documentation

friend class PxVehicleDriveSimData4W [friend]

Member Data Documentation

PxVec3 PxVehicleChassisData::mCMOffset

Center of mass offset of vehicle rigid body actor.

Note:
Specified in metres (m).

PxReal PxVehicleChassisData::mMass

Mass of vehicle rigid body actor.

Note:
Specified in kilograms (kg).

PxVec3 PxVehicleChassisData::mMOI

Moment of inertia of vehicle rigid body actor.

Note:
Specified in kilograms metres-squared (kg m^2).

PxReal PxVehicleChassisData::pad [private]

The documentation for this class was generated from the following file:
  • PxVehicleComponents.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleEngineData Class Reference

PxVehicleEngineData Class Reference
[Vehicle]

#include <PxVehicleComponents.h>

Collaboration diagram for PxVehicleEngineData:

PxFixedSizeLookupTable\< eMAX_NB_ENGINE_TORQUE_CURVE_ENTRIES \>
[legend]

List of all members.

Public Types

enum | { eMAX_NB_ENGINE_TORQUE_CURVE_ENTRIES = 8 }

Public Member Functions

PxVehicleEngineData ()
PX_FORCE_INLINE PxReal | getRecipMOI () const
Return value of mRecipMOI(=1.0f/mMOI) that is automatically set by PxVehicleDriveSimData::setEngineData.
PX_FORCE_INLINE PxReal | getRecipMaxOmega () const
Return value of mRecipMaxOmega( = 1.0f / mMaxOmega ) that is automatically set by PxVehicleDriveSimData::setEngineData.
PxVehicleEngineData (const PxEMPTY)

Public Attributes

PxFixedSizeLookupTable
< eMAX_NB_ENGINE_TORQUE_CURVE_ENTRIES > 		mTorqueCurve
Graph of normalized torque (torque/mPeakTorque) against normalized engine speed ( engineRotationSpeed / mMaxOmega ).
PxReal | mMOI
Moment of inertia of the engine around the axis of rotation.
PxReal | mPeakTorque
Maximum torque available to apply to the engine when the accelerator pedal is at maximum.
PxReal | mMaxOmega
Maximum rotation speed of the engine.
PxReal | mDampingRateFullThrottle
Damping rate of engine when full throttle is applied.
PxReal | mDampingRateZeroThrottleClutchEngaged
Damping rate of engine when full throttle is applied.
PxReal | mDampingRateZeroThrottleClutchDisengaged
Damping rate of engine when full throttle is applied.

Private Member Functions

bool | isValid () const

Private Attributes

PxReal | mRecipMOI
Reciprocal of the engine moment of inertia.
PxReal | mRecipMaxOmega
Reciprocal of the maximum rotation speed of the engine.

Friends

class | PxVehicleDriveSimData

Member Enumeration Documentation

anonymous enum

Enumerator:
eMAX_NB_ENGINE_TORQUE_CURVE_ENTRIES

Constructor & Destructor Documentation

PxVehicleEngineData::PxVehicleEngineData ( ) [inline]

PxVehicleEngineData::PxVehicleEngineData ( const PxEMPTY ) [inline]

Member Function Documentation

PX_FORCE_INLINE PxReal PxVehicleEngineData::getRecipMaxOmega ( ) const [inline]

Return value of mRecipMaxOmega( = 1.0f / mMaxOmega ) that is automatically set by PxVehicleDriveSimData::setEngineData.

PX_FORCE_INLINE PxReal PxVehicleEngineData::getRecipMOI ( ) const [inline]

Return value of mRecipMOI(=1.0f/mMOI) that is automatically set by PxVehicleDriveSimData::setEngineData.

bool PxVehicleEngineData::isValid ( ) const [private]

Friends And Related Function Documentation

friend class PxVehicleDriveSimData [friend]

Member Data Documentation

PxReal PxVehicleEngineData::mDampingRateFullThrottle

Damping rate of engine when full throttle is applied.

Note:
If the clutch is engaged (any gear except neutral) then the damping rate applied at run-time is an interpolation between mDampingRateZeroThrottleClutchEngaged and mDampingRateFullThrottle: mDampingRateZeroThrottleClutchEngaged + (mDampingRateFullThrottle-mDampingRateZeroThrottleClutchEngaged)*acceleratorPedal;

If the clutch is disengaged (in neutral gear) the damping rate applied at run-time is an interpolation between mDampingRateZeroThrottleClutchDisengaged and mDampingRateFullThrottle: mDampingRateZeroThrottleClutchDisengaged + (mDampingRateFullThrottle-mDampingRateZeroThrottleClutchDisengaged)*acceleratorPedal;

Specified in kilograms metres-squared per second (kg m^2 s^-1).

Range: [0, PX_MAX_F32)

PxReal PxVehicleEngineData::mDampingRateZeroThrottleClutchDisengaged

Damping rate of engine when full throttle is applied.

Note:
If the clutch is engaged (any gear except neutral) then the damping rate applied at run-time is an interpolation between mDampingRateZeroThrottleClutchEngaged and mDampingRateFullThrottle: mDampingRateZeroThrottleClutchEngaged + (mDampingRateFullThrottle-mDampingRateZeroThrottleClutchEngaged)*acceleratorPedal;

If the clutch is disengaged (in neutral gear) the damping rate applied at run-time is an interpolation between mDampingRateZeroThrottleClutchDisengaged and mDampingRateFullThrottle: mDampingRateZeroThrottleClutchDisengaged + (mDampingRateFullThrottle-mDampingRateZeroThrottleClutchDisengaged)*acceleratorPedal;

Specified in kilograms metres-squared per second (kg m^2 s^-1).

Range: [0, PX_MAX_F32)

PxReal PxVehicleEngineData::mDampingRateZeroThrottleClutchEngaged

Damping rate of engine when full throttle is applied.

Note:
If the clutch is engaged (any gear except neutral) then the damping rate applied at run-time is an interpolation between mDampingRateZeroThrottleClutchEngaged and mDampingRateFullThrottle: mDampingRateZeroThrottleClutchEngaged + (mDampingRateFullThrottle-mDampingRateZeroThrottleClutchEngaged)*acceleratorPedal;

If the clutch is disengaged (in neutral gear) the damping rate applied at run-time is an interpolation between mDampingRateZeroThrottleClutchDisengaged and mDampingRateFullThrottle: mDampingRateZeroThrottleClutchDisengaged + (mDampingRateFullThrottle-mDampingRateZeroThrottleClutchDisengaged)*acceleratorPedal;

Specified in kilograms metres-squared per second (kg m^2 s^-1).

Range: [0, PX_MAX_F32)

PxReal PxVehicleEngineData::mMaxOmega

Maximum rotation speed of the engine.

Note:
Specified in radians per second (s^-1).
Range: [0, PX_MAX_F32)

PxReal PxVehicleEngineData::mMOI

Moment of inertia of the engine around the axis of rotation.

Note:
Specified in kilograms metres-squared (kg m^2)

PxReal PxVehicleEngineData::mPeakTorque

Maximum torque available to apply to the engine when the accelerator pedal is at maximum.

Note:
The torque available is the value of the accelerator pedal (in range [0, 1]) multiplied by the normalized torque as computed from mTorqueCurve multiplied by mPeakTorque.

Specified in kilograms metres-squared per second-squared (kg m^2 s^-2).

Range: [0, PX_MAX_F32)

PxReal PxVehicleEngineData::mRecipMaxOmega [private]

Reciprocal of the maximum rotation speed of the engine.

Note:
Not necessary to set this value because it is set by PxVehicleDriveSimData::setEngineData
Range: [0, PX_MAX_F32)

PxReal PxVehicleEngineData::mRecipMOI [private]

Reciprocal of the engine moment of inertia.

Note:
Not necessary to set this value because it is set by PxVehicleDriveSimData::setEngineData
Range: [0, PX_MAX_F32)

PxFixedSizeLookupTable<eMAX_NB_ENGINE_TORQUE_CURVE_ENTRIES> PxVehicleEngineData::mTorqueCurve

Graph of normalized torque (torque/mPeakTorque) against normalized engine speed ( engineRotationSpeed / mMaxOmega ).

Note:
The normalized engine speed is the x-axis of the graph, while the normalized torque is the y-axis of the graph.

The documentation for this class was generated from the following file:
  • PxVehicleComponents.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleGearsData Class Reference

PxVehicleGearsData Class Reference
[Vehicle]

#include <PxVehicleComponents.h>

List of all members.

Public Types

enum Enum {
eREVERSE = 0,
eNEUTRAL,
eFIRST,
eSECOND,
eTHIRD,
eFOURTH,
eFIFTH,
eSIXTH,
eSEVENTH,
eEIGHTH,
eNINTH,
eTENTH,
eELEVENTH,
eTWELFTH,
eTHIRTEENTH,
eFOURTEENTH,
eFIFTEENTH,
eSIXTEENTH,
eSEVENTEENTH,
eEIGHTEENTH,
eNINETEENTH,
eTWENTIETH,
eTWENTYFIRST,
eTWENTYSECOND,
eTWENTYTHIRD,
eTWENTYFOURTH,
eTWENTYFIFTH,
eTWENTYSIXTH,
eTWENTYSEVENTH,
eTWENTYEIGHTH,
eTWENTYNINTH,
eTHIRTIETH,
eGEARSRATIO_COUNT
}

Public Member Functions

PxVehicleGearsData ()
PxVehicleGearsData (const PxEMPTY)
PxReal | getGearRatio (PxVehicleGearsData::Enum a) const
void | setGearRatio (PxVehicleGearsData::Enum a, PxReal ratio)

Public Attributes

PxReal | mRatios [PxVehicleGearsData::eGEARSRATIO_COUNT]
Gear ratios.
PxReal | mFinalRatio
Gear ratio applied is mRatios[currentGear]*finalRatio.
PxU32 mNbRatios
Number of gears (including reverse and neutral).
PxReal | mSwitchTime
Time it takes to switch gear.

Private Member Functions

bool | isValid () const

Private Attributes

PxReal | mPad

Friends

class | PxVehicleDriveSimData

Member Enumeration Documentation

enum PxVehicleGearsData::Enum

Enumerator:
eREVERSE
eNEUTRAL
eFIRST
eSECOND
eTHIRD
eFOURTH
eFIFTH
eSIXTH
eSEVENTH
eEIGHTH
eNINTH
eTENTH
eELEVENTH
eTWELFTH
eTHIRTEENTH
eFOURTEENTH
eFIFTEENTH
eSIXTEENTH
eSEVENTEENTH
eEIGHTEENTH
eNINETEENTH
eTWENTIETH
eTWENTYFIRST
eTWENTYSECOND
eTWENTYTHIRD
eTWENTYFOURTH
eTWENTYFIFTH
eTWENTYSIXTH
eTWENTYSEVENTH
eTWENTYEIGHTH
eTWENTYNINTH
eTHIRTIETH
eGEARSRATIO_COUNT

Constructor & Destructor Documentation

PxVehicleGearsData::PxVehicleGearsData ( ) [inline]

References eFIFTH, eFIRST, eFOURTH, eGEARSRATIO_COUNT, eNEUTRAL, eREVERSE, eSECOND, eSIXTH, and eTHIRD.

PxVehicleGearsData::PxVehicleGearsData ( const PxEMPTY ) [inline]

Member Function Documentation

PxReal PxVehicleGearsData::getGearRatio ( PxVehicleGearsData::Enum a ) const [inline]

bool PxVehicleGearsData::isValid ( ) const [private]

void PxVehicleGearsData::setGearRatio | ( | PxVehicleGearsData::Enum | a,
 |  | PxReal | ratio |
 | ) |  |  | [inline]

Friends And Related Function Documentation

friend class PxVehicleDriveSimData [friend]

Member Data Documentation

PxReal PxVehicleGearsData::mFinalRatio

Gear ratio applied is mRatios[currentGear]*finalRatio.

Range: [0, PX_MAX_F32)

PxU32 PxVehicleGearsData::mNbRatios

Number of gears (including reverse and neutral).

Range: (0, MAX_NB_GEAR_RATIOS)

PxReal PxVehicleGearsData::mPad [private]

PxReal PxVehicleGearsData::mRatios[PxVehicleGearsData::eGEARSRATIO_COUNT]

Gear ratios.

Range: [0, PX_MAX_F32)

PxReal PxVehicleGearsData::mSwitchTime

Time it takes to switch gear.

Note:
Specified in seconds (s).
Range: [0, PX_MAX_F32)

The documentation for this class was generated from the following file:
  • PxVehicleComponents.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleAutoBoxData Class Reference

PxVehicleAutoBoxData Class Reference
[Vehicle]

#include <PxVehicleComponents.h>

List of all members.

Public Member Functions

PxVehicleAutoBoxData ()
void | setLatency (const PxReal latency)
Set the latency time of the autobox.
PxReal | getLatency () const
Get the latency time of the autobox.
PxVehicleAutoBoxData (const PxEMPTY)
PxReal | getUpRatios (PxVehicleGearsData::Enum a) const
void | setUpRatios (PxVehicleGearsData::Enum a, PxReal ratio)
PxReal | getDownRatios (PxVehicleGearsData::Enum a) const
void | setDownRatios (PxVehicleGearsData::Enum a, PxReal ratio)

Public Attributes

PxReal | mUpRatios [PxVehicleGearsData::eGEARSRATIO_COUNT]
Value of ( engineRotationSpeed / PxVehicleEngineData::mMaxOmega ) that is high enough to increment gear.
PxReal | mDownRatios [PxVehicleGearsData::eGEARSRATIO_COUNT]
Value of engineRevs/maxEngineRevs that is low enough to decrement gear.

Private Member Functions

bool | isValid () const

Friends

class | PxVehicleDriveSimData

Constructor & Destructor Documentation

PxVehicleAutoBoxData::PxVehicleAutoBoxData ( ) [inline]

References PxVehicleGearsData::eGEARSRATIO_COUNT, PxVehicleGearsData::eNEUTRAL, and PxVehicleGearsData::eREVERSE.

PxVehicleAutoBoxData::PxVehicleAutoBoxData ( const PxEMPTY ) [inline]

Member Function Documentation

PxReal PxVehicleAutoBoxData::getDownRatios ( PxVehicleGearsData::Enum a ) const [inline]

PxReal PxVehicleAutoBoxData::getLatency ( ) const [inline]

Get the latency time of the autobox.

Note:
Specified in seconds (s).
See also:
setLatency

References PxVehicleGearsData::eREVERSE.

PxReal PxVehicleAutoBoxData::getUpRatios ( PxVehicleGearsData::Enum a ) const [inline]

bool PxVehicleAutoBoxData::isValid ( ) const [private]

void PxVehicleAutoBoxData::setDownRatios | ( | PxVehicleGearsData::Enum | a,
 |  | PxReal | ratio |
 | ) |  |  | [inline]

void PxVehicleAutoBoxData::setLatency ( const PxReal latency ) [inline]

Set the latency time of the autobox.

Note:
Latency time is the minimum time that must pass between each gear change that is initiated by the autobox. The auto-box will only attempt to initiate another gear change up or down if the simulation time that has passed since the most recent automated gear change is greater than the specified latency.

Specified in seconds (s).

See also:
getLatency

References PxVehicleGearsData::eREVERSE.

void PxVehicleAutoBoxData::setUpRatios | ( | PxVehicleGearsData::Enum | a,
 |  | PxReal | ratio |
 | ) |  |  | [inline]

Friends And Related Function Documentation

friend class PxVehicleDriveSimData [friend]

Member Data Documentation

PxReal PxVehicleAutoBoxData::mDownRatios[PxVehicleGearsData::eGEARSRATIO_COUNT]

Value of engineRevs/maxEngineRevs that is low enough to decrement gear.

Note:
When ( engineRotationSpeed / PxVehicleEngineData::mMaxOmega ) < mDownRatios[currentGear] the autobox will begin a transition to currentGear-1 unless currentGear is first gear or neutral or reverse.
Range: [0, 1]

PxReal PxVehicleAutoBoxData::mUpRatios[PxVehicleGearsData::eGEARSRATIO_COUNT]

Value of ( engineRotationSpeed / PxVehicleEngineData::mMaxOmega ) that is high enough to increment gear.

Note:
When ( engineRotationSpeed / PxVehicleEngineData::mMaxOmega ) > mUpRatios[currentGear] the autobox will begin a transition to currentGear+1 unless currentGear is the highest possible gear or neutral or reverse.
Range: [0, 1]

The documentation for this class was generated from the following file:
  • PxVehicleComponents.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleDifferential4WData Class Reference

PxVehicleDifferential4WData Class Reference
[Vehicle]

#include <PxVehicleComponents.h>

List of all members.

Public Types

enum Enum {
eDIFF_TYPE_LS_4WD,
eDIFF_TYPE_LS_FRONTWD,
eDIFF_TYPE_LS_REARWD,
eDIFF_TYPE_OPEN_4WD,
eDIFF_TYPE_OPEN_FRONTWD,
eDIFF_TYPE_OPEN_REARWD,
eMAX_NB_DIFF_TYPES
}

Public Member Functions

PxVehicleDifferential4WData ()
PxVehicleDifferential4WData (const PxEMPTY)

Public Attributes

PxReal | mFrontRearSplit
Ratio of torque split between front and rear (>0.5 means more to front, <0.5 means more to rear).
PxReal | mFrontLeftRightSplit
Ratio of torque split between front-left and front-right (>0.5 means more to front-left, <0.5 means more to front-right).
PxReal | mRearLeftRightSplit
Ratio of torque split between rear-left and rear-right (>0.5 means more to rear-left, <0.5 means more to rear-right).
PxReal | mCentreBias
Maximum allowed ratio of average front wheel rotation speed and rear wheel rotation speeds The differential will divert more torque to the slower wheels when the bias is exceeded.
PxReal | mFrontBias
Maximum allowed ratio of front-left and front-right wheel rotation speeds. The differential will divert more torque to the slower wheel when the bias is exceeded.
PxReal | mRearBias
Maximum allowed ratio of rear-left and rear-right wheel rotation speeds. The differential will divert more torque to the slower wheel when the bias is exceeded.
PxVehicleDifferential4WData::Enum mType
Type of differential.

Private Member Functions

bool | isValid () const

Private Attributes

PxReal | mPad [1]

Friends

class | PxVehicleDriveSimData4W

Member Enumeration Documentation

enum PxVehicleDifferential4WData::Enum

Enumerator:
eDIFF_TYPE_LS_4WD
eDIFF_TYPE_LS_FRONTWD
eDIFF_TYPE_LS_REARWD
eDIFF_TYPE_OPEN_4WD
eDIFF_TYPE_OPEN_FRONTWD
eDIFF_TYPE_OPEN_REARWD
eMAX_NB_DIFF_TYPES

Constructor & Destructor Documentation

PxVehicleDifferential4WData::PxVehicleDifferential4WData ( ) [inline]

PxVehicleDifferential4WData::PxVehicleDifferential4WData ( const PxEMPTY ) [inline]

Member Function Documentation

bool PxVehicleDifferential4WData::isValid ( ) const [private]

Friends And Related Function Documentation

friend class PxVehicleDriveSimData4W [friend]

Member Data Documentation

PxReal PxVehicleDifferential4WData::mCentreBias

Maximum allowed ratio of average front wheel rotation speed and rear wheel rotation speeds The differential will divert more torque to the slower wheels when the bias is exceeded.

Note:
Only applied to DIFF_TYPE_LS_4WD
Range: [1, PX_MAX_F32)

PxReal PxVehicleDifferential4WData::mFrontBias

Maximum allowed ratio of front-left and front-right wheel rotation speeds. The differential will divert more torque to the slower wheel when the bias is exceeded.

Note:
Only applied to DIFF_TYPE_LS_4WD and DIFF_TYPE_LS_FRONTWD
Range: [1, PX_MAX_F32)

PxReal PxVehicleDifferential4WData::mFrontLeftRightSplit

Ratio of torque split between front-left and front-right (>0.5 means more to front-left, <0.5 means more to front-right).

Note:
Only applied to DIFF_TYPE_LS_4WD and eDIFF_TYPE_OPEN_4WD and eDIFF_TYPE_LS_FRONTWD
Range: [0, 1]

PxReal PxVehicleDifferential4WData::mFrontRearSplit

Ratio of torque split between front and rear (>0.5 means more to front, <0.5 means more to rear).

Note:
Only applied to DIFF_TYPE_LS_4WD and eDIFF_TYPE_OPEN_4WD
Range: [0, 1]

PxReal PxVehicleDifferential4WData::mPad[1] [private]

PxReal PxVehicleDifferential4WData::mRearBias

Maximum allowed ratio of rear-left and rear-right wheel rotation speeds. The differential will divert more torque to the slower wheel when the bias is exceeded.

Note:
Only applied to DIFF_TYPE_LS_4WD and DIFF_TYPE_LS_REARWD
Range: [1, PX_MAX_F32)

PxReal PxVehicleDifferential4WData::mRearLeftRightSplit

Ratio of torque split between rear-left and rear-right (>0.5 means more to rear-left, <0.5 means more to rear-right).

Note:
Only applied to DIFF_TYPE_LS_4WD and eDIFF_TYPE_OPEN_4WD and eDIFF_TYPE_LS_REARWD
Range: [0, 1]

PxVehicleDifferential4WData::Enum PxVehicleDifferential4WData::mType

Type of differential.

Range: [DIFF_TYPE_LS_4WD, DIFF_TYPE_OPEN_FRONTWD]

The documentation for this class was generated from the following file:
  • PxVehicleComponents.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleDifferentialNWData Class Reference

PxVehicleDifferentialNWData Class Reference
[Vehicle]

#include <PxVehicleComponents.h>

List of all members.

Public Member Functions

PxVehicleDifferentialNWData ()
void | setDrivenWheel (const PxU32 wheelId, const bool drivenState)
Set a specific wheel to be driven or non-driven by the differential.
bool | getIsDrivenWheel (const PxU32 wheelId) const
Test if a specific wheel has been configured as a driven or non-driven wheel.
PxVehicleDifferentialNWData (const PxEMPTY)
PxU32 | getDrivenWheelStatus () const
void | setDrivenWheelStatus (PxU32 status)

Private Member Functions

bool | isValid () const

Private Attributes

PxU32 | mBitmapBuffer [((PX_MAX_NB_WHEELS+31)&~31) >> 5]
PxU32 mNbDrivenWheels
PxReal | mInvNbDrivenWheels
PxU32 mPad

Friends

class | PxVehicleDriveSimDataNW
class | PxVehicleUpdate

Constructor & Destructor Documentation

PxVehicleDifferentialNWData::PxVehicleDifferentialNWData ( ) [inline]

References PX_MAX_NB_WHEELS, and PxMemSet().

PxVehicleDifferentialNWData::PxVehicleDifferentialNWData ( const PxEMPTY ) [inline]

Member Function Documentation

PxU32 PxVehicleDifferentialNWData::getDrivenWheelStatus ( ) const

bool PxVehicleDifferentialNWData::getIsDrivenWheel ( const PxU32 wheelId ) const

Test if a specific wheel has been configured as a driven or non-driven wheel.

bool PxVehicleDifferentialNWData::isValid ( ) const [private]

void PxVehicleDifferentialNWData::setDrivenWheel | ( | const PxU32 | wheelId,
 |  | const bool | drivenState
 | ) |  |

Set a specific wheel to be driven or non-driven by the differential.

Note:
The available drive torque will be split equally between all driven wheels. Zero torque will be applied to non-driven wheels. The default state of each wheel is to be uncoupled to the differential.

void PxVehicleDifferentialNWData::setDrivenWheelStatus ( PxU32 status )

Friends And Related Function Documentation

friend class PxVehicleDriveSimDataNW [friend]

friend class PxVehicleUpdate [friend]

Member Data Documentation

PxU32 PxVehicleDifferentialNWData::mBitmapBuffer[((PX_MAX_NB_WHEELS+31)&~31) >> 5] [private]

PxReal PxVehicleDifferentialNWData::mInvNbDrivenWheels [private]

PxU32 PxVehicleDifferentialNWData::mNbDrivenWheels [private]

PxU32 PxVehicleDifferentialNWData::mPad [private]

The documentation for this class was generated from the following file:
  • PxVehicleComponents.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleAckermannGeometryData Class Reference

PxVehicleAckermannGeometryData Class Reference
[Vehicle]

#include <PxVehicleComponents.h>

List of all members.

Public Member Functions

PxVehicleAckermannGeometryData ()
PxVehicleAckermannGeometryData (const PxEMPTY)

Public Attributes

PxReal | mAccuracy
Accuracy of Ackermann steer calculation.
PxReal | mFrontWidth
Distance between center-point of the two front wheels.
PxReal | mRearWidth
Distance between center-point of the two rear wheels.
PxReal | mAxleSeparation
Distance between center of front axle and center of rear axle.

Private Member Functions

bool | isValid () const

Friends

class | PxVehicleDriveSimData4W

Constructor & Destructor Documentation

PxVehicleAckermannGeometryData::PxVehicleAckermannGeometryData ( ) [inline]

PxVehicleAckermannGeometryData::PxVehicleAckermannGeometryData ( const PxEMPTY ) [inline]

Member Function Documentation

bool PxVehicleAckermannGeometryData::isValid ( ) const [private]

Friends And Related Function Documentation

friend class PxVehicleDriveSimData4W [friend]

Member Data Documentation

PxReal PxVehicleAckermannGeometryData::mAccuracy

Accuracy of Ackermann steer calculation.

Note:
Accuracy with value 0.0 results in no Ackermann steer-correction, while accuracy with value 1.0 results in perfect Ackermann steer-correction.

Perfect Ackermann steer correction modifies the steer angles applied to the front-left and front-right wheels so that the perpendiculars to the wheels' longitudinal directions cross the extended vector of the rear axle at the same point. It is also applied to any steer angle applied to the rear wheels but instead using the extended vector of the front axle.

In general, more steer correction produces better cornering behavior.

Range: [0, 1]

PxReal PxVehicleAckermannGeometryData::mAxleSeparation

Distance between center of front axle and center of rear axle.

Note:
Specified in metres (m).
Range: [0, PX_MAX_F32)

PxReal PxVehicleAckermannGeometryData::mFrontWidth

Distance between center-point of the two front wheels.

Note:
Specified in metres (m).
Range: [0, PX_MAX_F32)

PxReal PxVehicleAckermannGeometryData::mRearWidth

Distance between center-point of the two rear wheels.

Note:
Specified in metres (m).
Range: [0, PX_MAX_F32)

The documentation for this class was generated from the following file:
  • PxVehicleComponents.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleClutchAccuracyMode Struct Reference

PxVehicleClutchAccuracyMode Struct Reference
[Vehicle]

Choose between a potentially more expensive but more accurate solution to the clutch model or a potentially cheaper but less accurate solution. More...

#include <PxVehicleComponents.h>

List of all members.

Public Types

enum Enum {
eESTIMATE = 0,
eBEST_POSSIBLE
}

Detailed Description

Choose between a potentially more expensive but more accurate solution to the clutch model or a potentially cheaper but less accurate solution.

See also:
PxVehicleClutchData

Member Enumeration Documentation

enum PxVehicleClutchAccuracyMode::Enum

Enumerator:
eESTIMATE
eBEST_POSSIBLE

The documentation for this struct was generated from the following file:
  • PxVehicleComponents.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleClutchData Class Reference

PxVehicleClutchData Class Reference
[Vehicle]

#include <PxVehicleComponents.h>

List of all members.

Public Member Functions

PxVehicleClutchData ()
PxVehicleClutchData (const PxEMPTY)

Public Attributes

PxReal | mStrength
Strength of clutch.
PxVehicleClutchAccuracyMode::Enum mAccuracyMode
The engine and wheel rotation speeds that are coupled through the clutch can be updated by choosing one of two modes: eESTIMATE and eBEST_POSSIBLE.
PxU32 mEstimateIterations
Tune the mathematical accuracy and computational cost of the computed estimate to the wheel and engine rotation speeds if eESTIMATE is chosen.

Private Member Functions

bool | isValid () const

Private Attributes

PxU8 | mPad [4]

Friends

class | PxVehicleDriveSimData

Constructor & Destructor Documentation

PxVehicleClutchData::PxVehicleClutchData ( ) [inline]

PxVehicleClutchData::PxVehicleClutchData ( const PxEMPTY ) [inline]

Member Function Documentation

bool PxVehicleClutchData::isValid ( ) const [private]

Friends And Related Function Documentation

friend class PxVehicleDriveSimData [friend]

Member Data Documentation

PxVehicleClutchAccuracyMode::Enum PxVehicleClutchData::mAccuracyMode

The engine and wheel rotation speeds that are coupled through the clutch can be updated by choosing one of two modes: eESTIMATE and eBEST_POSSIBLE.

Note:
If eESTIMATE is chosen the vehicle sdk will update the wheel and engine rotation speeds with estimated values to the implemented clutch model.

If eBEST_POSSIBLE is chosen the vehicle sdk will compute the best possible solution (within floating point tolerance) to the implemented clutch model. This is the recommended mode.

The clutch model remains the same if either eESTIMATE or eBEST_POSSIBLE is chosen but the accuracy and computational cost of the solution to the model can be tuned as required.

PxU32 PxVehicleClutchData::mEstimateIterations

Tune the mathematical accuracy and computational cost of the computed estimate to the wheel and engine rotation speeds if eESTIMATE is chosen.

Note:
As mEstimateIterations increases the computational cost of the clutch also increases and the solution approaches the solution that would be computed if eBEST_POSSIBLE was chosen instead.

This has no effect if eBEST_POSSIBLE is chosen as the accuracy mode.

A value of zero is not allowed if eESTIMATE is chosen as the accuracy mode.

PxU8 PxVehicleClutchData::mPad[4] [private]

PxReal PxVehicleClutchData::mStrength

Strength of clutch.

Note:
The clutch is the mechanism that couples the engine to the wheels. A stronger clutch more strongly couples the engine to the wheels, while a clutch of strength zero completely decouples the engine from the wheels. Stronger clutches more quickly bring the wheels and engine into equilibrium, while weaker clutches take longer, resulting in periods of clutch slip and delays in power transmission from the engine to the wheels. The torque generated by the clutch is proportional to the clutch strength and the velocity difference between the engine's rotational speed and the rotational speed of the driven wheels after accounting for the gear ratio. The torque at the clutch is applied negatively to the engine and positively to the driven wheels.

Specified in kilograms metres-squared per second (kg m^2 s^-1)

Range: [0,PX_MAX_F32)

The documentation for this class was generated from the following file:
  • PxVehicleComponents.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleTireLoadFilterData Class Reference

PxVehicleTireLoadFilterData Class Reference
[Vehicle]

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

#include <PxVehicleComponents.h>

List of all members.

Public Member Functions

PxVehicleTireLoadFilterData ()
PX_FORCE_INLINE PxReal | getDenominator () const
PxVehicleTireLoadFilterData (const PxEMPTY)

Public Attributes

PxReal | mMinNormalisedLoad
Graph point (mMinNormalisedLoad,mMinFilteredNormalisedLoad).
PxReal | mMinFilteredNormalisedLoad
Graph point (mMinNormalisedLoad,mMinFilteredNormalisedLoad).
PxReal | mMaxNormalisedLoad
Graph point (mMaxNormalisedLoad,mMaxFilteredNormalisedLoad).
PxReal | mMaxFilteredNormalisedLoad
Graph point (mMaxNormalisedLoad,mMaxFilteredNormalisedLoad).

Private Member Functions

bool | isValid () const

Private Attributes

PxReal | mDenominator
Not necessary to set this value.
PxU32 | mPad [3]

Friends

class | PxVehicleWheelsSimData

Detailed Description

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.

Note:
The x-axis of the graph is normalized tire load, while the y-axis is the filtered normalized tire load.

The normalized load is the force acting downwards on the tire divided by the force experienced by the tire when the car is at rest on the ground.

The rest load is approximately the product of the value of gravitational acceleration and PxVehicleSuspensionData::mSprungMass.

The minimum possible normalized load is zero.

There are two points on the graph: (mMinNormalisedLoad, mMinNormalisedFilteredLoad) and (mMaxNormalisedLoad, mMaxFilteredNormalisedLoad).

Normalized loads less than mMinNormalisedLoad have filtered normalized load = mMinNormalisedFilteredLoad.

Normalized loads greater than mMaxNormalisedLoad have filtered normalized load = mMaxFilteredNormalisedLoad.

Normalized loads in-between are linearly interpolated between mMinNormalisedFilteredLoad and mMaxFilteredNormalisedLoad.

The tire load applied as input to the tire force computation is the filtered normalized load multiplied by the rest load.

Constructor & Destructor Documentation

PxVehicleTireLoadFilterData::PxVehicleTireLoadFilterData ( ) [inline]

PxVehicleTireLoadFilterData::PxVehicleTireLoadFilterData ( const PxEMPTY ) [inline]

Member Function Documentation

PX_FORCE_INLINE PxReal PxVehicleTireLoadFilterData::getDenominator ( ) const [inline]

bool PxVehicleTireLoadFilterData::isValid ( ) const [private]

Friends And Related Function Documentation

friend class PxVehicleWheelsSimData [friend]

Member Data Documentation

PxReal PxVehicleTireLoadFilterData::mDenominator [private]

Not necessary to set this value.

PxReal PxVehicleTireLoadFilterData::mMaxFilteredNormalisedLoad

Graph point (mMaxNormalisedLoad,mMaxFilteredNormalisedLoad).

PxReal PxVehicleTireLoadFilterData::mMaxNormalisedLoad

Graph point (mMaxNormalisedLoad,mMaxFilteredNormalisedLoad).

PxReal PxVehicleTireLoadFilterData::mMinFilteredNormalisedLoad

Graph point (mMinNormalisedLoad,mMinFilteredNormalisedLoad).

PxReal PxVehicleTireLoadFilterData::mMinNormalisedLoad

Graph point (mMinNormalisedLoad,mMinFilteredNormalisedLoad).

PxU32 PxVehicleTireLoadFilterData::mPad[3] [private]

The documentation for this class was generated from the following file:
  • PxVehicleComponents.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleWheelData Class Reference

PxVehicleWheelData Class Reference
[Vehicle]

#include <PxVehicleComponents.h>

List of all members.

Public Member Functions

PxVehicleWheelData ()
PX_FORCE_INLINE PxReal | getRecipRadius () const
Return value equal to 1.0f/mRadius.
PX_FORCE_INLINE PxReal | getRecipMOI () const
Return value equal to 1.0f/mRecipMOI.

Public Attributes

PxReal | mRadius
Radius of unit that includes metal wheel plus rubber tire.
PxReal | mWidth
Maximum width of unit that includes wheel plus tire.
PxReal | mMass
Mass of unit that includes wheel plus tire.
PxReal | mMOI
Moment of inertia of unit that includes wheel plus tire about the rolling axis.
PxReal | mDampingRate
Damping rate applied to wheel.
PxReal | mMaxBrakeTorque
Max brake torque that can be applied to wheel.
PxReal | mMaxHandBrakeTorque
Max handbrake torque that can be applied to wheel.
PxReal | mMaxSteer
Max steer angle that can be achieved by the wheel.
PxReal | mToeAngle
Wheel toe angle. This value is ignored by PxVehicleDriveTank and PxVehicleNoDrive.

Private Member Functions

bool | isValid () const

Private Attributes

PxReal | mRecipRadius
Reciprocal of radius of unit that includes metal wheel plus rubber tire.
PxReal | mRecipMOI
Reciprocal of moment of inertia of unit that includes wheel plus tire about single allowed axis of rotation.
PxReal | mPad [1]

Friends

class | PxVehicleWheels4SimData

Constructor & Destructor Documentation

PxVehicleWheelData::PxVehicleWheelData ( ) [inline]

Member Function Documentation

PX_FORCE_INLINE PxReal PxVehicleWheelData::getRecipMOI ( ) const [inline]

Return value equal to 1.0f/mRecipMOI.

See also:
PxVehicleWheelsSimData::setWheelData

PX_FORCE_INLINE PxReal PxVehicleWheelData::getRecipRadius ( ) const [inline]

Return value equal to 1.0f/mRadius.

See also:
PxVehicleWheelsSimData::setWheelData

bool PxVehicleWheelData::isValid ( ) const [private]

Friends And Related Function Documentation

friend class PxVehicleWheels4SimData [friend]

Member Data Documentation

PxReal PxVehicleWheelData::mDampingRate

Damping rate applied to wheel.

Note:
Specified in kilograms metres-squared per second (kg m^2 s^-1).
Range: [0, PX_MAX_F32)

PxReal PxVehicleWheelData::mMass

Mass of unit that includes wheel plus tire.

Note:
Specified in kilograms (kg).
Range: [0, PX_MAX_F32)

PxReal PxVehicleWheelData::mMaxBrakeTorque

Max brake torque that can be applied to wheel.

Note:
Specified in kilograms metres-squared per second-squared (kg m^2 s^-2)
Range: [0, PX_MAX_F32)

PxReal PxVehicleWheelData::mMaxHandBrakeTorque

Max handbrake torque that can be applied to wheel.

Note:
Specified in kilograms metres-squared per second-squared (kg m^2 s^-2)
Range: [0, PX_MAX_F32)

PxReal PxVehicleWheelData::mMaxSteer

Max steer angle that can be achieved by the wheel.

Note:
Specified in radians.
Range: [0, PX_MAX_F32)

PxReal PxVehicleWheelData::mMOI

Moment of inertia of unit that includes wheel plus tire about the rolling axis.

Note:
Specified in kilograms metres-squared (kg m^2).
Range: [0, PX_MAX_F32)

PxReal PxVehicleWheelData::mPad[1] [private]

PxReal PxVehicleWheelData::mRadius

Radius of unit that includes metal wheel plus rubber tire.

Note:
Specified in metres (m).
Range: [0, PX_MAX_F32)

PxReal PxVehicleWheelData::mRecipMOI [private]

Reciprocal of moment of inertia of unit that includes wheel plus tire about single allowed axis of rotation.

Note:
Not necessary to set this value because it is set by PxVehicleWheelsSimData::setWheelData
Range: [0, PX_MAX_F32)

PxReal PxVehicleWheelData::mRecipRadius [private]

Reciprocal of radius of unit that includes metal wheel plus rubber tire.

Note:
Not necessary to set this value because it is set by PxVehicleWheelsSimData::setWheelData
Range: [0, PX_MAX_F32)

PxReal PxVehicleWheelData::mToeAngle

Wheel toe angle. This value is ignored by PxVehicleDriveTank and PxVehicleNoDrive.

Note:
Specified in radians.
Range: [0, Pi/2]

PxReal PxVehicleWheelData::mWidth

Maximum width of unit that includes wheel plus tire.

Note:
Specified in metres (m).
Range: [0, PX_MAX_F32)

The documentation for this class was generated from the following file:
  • PxVehicleComponents.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleSuspensionData Class Reference

PxVehicleSuspensionData Class Reference
[Vehicle]

#include <PxVehicleComponents.h>

List of all members.

Public Member Functions

PxVehicleSuspensionData ()
PX_FORCE_INLINE PxReal | getRecipMaxCompression () const
Reciprocal of maximum compression.
PX_FORCE_INLINE PxReal | getRecipMaxDroop () const
Reciprocal of maximum droop.
void | setMassAndPreserveNaturalFrequency (const PxReal newSprungMass)
Set a new sprung mass for the suspension and modify the spring strength so that the natural frequency of the spring is preserved.

Public Attributes

PxReal | mSpringStrength
Spring strength of suspension unit.
PxReal | mSpringDamperRate
Spring damper rate of suspension unit.
PxReal | mMaxCompression
Maximum compression allowed by suspension spring.
PxReal | mMaxDroop
Maximum elongation allowed by suspension spring.
PxReal | mSprungMass
Mass of vehicle that is supported by suspension spring.
PxReal | mCamberAtRest
Camber angle (in radians) of wheel when the suspension is at its rest position.
PxReal | mCamberAtMaxCompression
Camber angle (in radians) of wheel when the suspension is at maximum compression.
PxReal | mCamberAtMaxDroop
Camber angle (in radians) of wheel when the suspension is at maximum droop.

Private Member Functions

bool | isValid () const

Private Attributes

PxReal | mRecipMaxCompression
Cached value of 1.0f/mMaxCompression.
PxReal | mRecipMaxDroop
Cached value of 1.0f/mMaxDroop.
PxReal | mPad [2]

Friends

class | PxVehicleWheels4SimData

Constructor & Destructor Documentation

PxVehicleSuspensionData::PxVehicleSuspensionData ( ) [inline]

Member Function Documentation

PX_FORCE_INLINE PxReal PxVehicleSuspensionData::getRecipMaxCompression ( ) const [inline]

Reciprocal of maximum compression.

Note:
Not necessary to set this value because it is set by PxVehicleWheelsSimData::setSuspensionData
Range: [0, PX_MAX_F32)

PX_FORCE_INLINE PxReal PxVehicleSuspensionData::getRecipMaxDroop ( ) const [inline]

Reciprocal of maximum droop.

Note:
Not necessary to set this value because it is set by PxVehicleWheelsSimData::setSuspensionData
Range: [0, PX_MAX_F32)

bool PxVehicleSuspensionData::isValid ( ) const [private]

void PxVehicleSuspensionData::setMassAndPreserveNaturalFrequency ( const PxReal newSprungMass ) [inline]

Set a new sprung mass for the suspension and modify the spring strength so that the natural frequency of the spring is preserved.

Parameters:
[in] newSprungMass is the new mass that the suspension spring will support.

Friends And Related Function Documentation

friend class PxVehicleWheels4SimData [friend]

Member Data Documentation

PxReal PxVehicleSuspensionData::mCamberAtMaxCompression

Camber angle (in radians) of wheel when the suspension is at maximum compression.

Note:
For compressed suspensions the camber angle is a linear interpolation of mCamberAngleAtRest and mCamberAtMaxCompression

Specified in radians.

Range: [-pi/2, pi/2]

PxReal PxVehicleSuspensionData::mCamberAtMaxDroop

Camber angle (in radians) of wheel when the suspension is at maximum droop.

Note:
For extended suspensions the camber angle is linearly interpolation of mCamberAngleAtRest and mCamberAtMaxDroop

Specified in radians.

Range: [-pi/2, pi/2]

PxReal PxVehicleSuspensionData::mCamberAtRest

Camber angle (in radians) of wheel when the suspension is at its rest position.

Note:
Specified in radians.
Range: [-pi/2, pi/2]

PxReal PxVehicleSuspensionData::mMaxCompression

Maximum compression allowed by suspension spring.

Note:
Specified in metres (m).
Range: [0, PX_MAX_F32)

PxReal PxVehicleSuspensionData::mMaxDroop

Maximum elongation allowed by suspension spring.

Note:
Specified in metres (m).
Range: [0, PX_MAX_F32)

PxReal PxVehicleSuspensionData::mPad[2] [private]

PxReal PxVehicleSuspensionData::mRecipMaxCompression [private]

Cached value of 1.0f/mMaxCompression.

Note:
Not necessary to set this value because it is set by PxVehicleWheelsSimData::setSuspensionData

PxReal PxVehicleSuspensionData::mRecipMaxDroop [private]

Cached value of 1.0f/mMaxDroop.

Note:
Not necessary to set this value because it is set by PxVehicleWheelsSimData::setSuspensionData

PxReal PxVehicleSuspensionData::mSpringDamperRate

Spring damper rate of suspension unit.

Note:
Specified in kilograms per second (kg s^-1).
Range: [0, PX_MAX_F32)

PxReal PxVehicleSuspensionData::mSpringStrength

Spring strength of suspension unit.

Note:
Specified in kilograms per second-squared (kg s^-2).
Range: [0, PX_MAX_F32)

PxReal PxVehicleSuspensionData::mSprungMass

Mass of vehicle that is supported by suspension spring.

Note:
Specified in kilograms (kg).

Each suspension is guaranteed to generate an upwards force of |gravity|*mSprungMass along the suspension direction when the wheel is perfectly at rest and sitting at the rest pose defined by the wheel centre offset.

The sum of the sprung masses of all suspensions of a vehicle should match the mass of the PxRigidDynamic associated with the vehicle. When this condition is satisfied for a vehicle on a horizontal plane the wheels of the vehicle are guaranteed to sit at the rest pose defined by the wheel centre offset. The mass matching condition is not enforced.

As the wheel compresses or elongates along the suspension direction the force generated by the spring is F = |gravity|*mSprungMass + deltaX*mSpringStrength + deltaXDot*mSpringDamperRate where deltaX is the deviation from the defined rest pose and deltaXDot is the velocity of the sprung mass along the suspension direction. In practice, deltaXDot is computed by comparing the current and previous deviation from the rest pose and dividing the difference by the simulation timestep.

If a single suspension spring is hanging in the air and generates zero force the remaining springs of the vehicle will necessarily sit in a compressed configuration. In summary, the sum of the remaining suspension forces cannot balance the downwards gravitational force acting on the vehicle without extra force arising from the deltaX*mSpringStrength force term.

Theoretically, a suspension spring should generate zero force at maximum elongation and increase linearly as the suspension approaches the rest pose. PxVehicleSuspensionData will only enforce this physical law if the spring is configured so that |gravity|*mSprungMass == mMaxDroop*mSpringStrength. To help decouple vehicle handling from visual wheel positioning this condition is not enforced. In practice, the value of |gravity|*mSprungMass + deltaX*mSpringStrength is clamped at zero to ensure it never falls negative.

See also:
PxVehicleComputeSprungMasses, PxVehicleWheelsSimData::setWheelCentreOffset, PxVehicleSuspensionData::mSpringStrength, PxVehicleSuspensionData::mSpringDamperRate, PxVehicleSuspensionData::mMaxDroop
Range: [0, PX_MAX_F32)

The documentation for this class was generated from the following file:
  • PxVehicleComponents.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleAntiRollBarData Class Reference

PxVehicleAntiRollBarData Class Reference
[Vehicle]

#include <PxVehicleComponents.h>

List of all members.

Public Member Functions

PxVehicleAntiRollBarData ()

Public Attributes

PxU32 mWheel0
PxU32 mWheel1
PxF32 | mStiffness

Private Member Functions

bool | isValid () const

Private Attributes

PxF32 | mPad [1]

Friends

class | PxVehicleWheelsSimData

Constructor & Destructor Documentation

PxVehicleAntiRollBarData::PxVehicleAntiRollBarData ( ) [inline]

Member Function Documentation

bool PxVehicleAntiRollBarData::isValid ( ) const [private]

Friends And Related Function Documentation

friend class PxVehicleWheelsSimData [friend]

Member Data Documentation

PxF32 PxVehicleAntiRollBarData::mPad[1] [private]

PxF32 PxVehicleAntiRollBarData::mStiffness

PxU32 PxVehicleAntiRollBarData::mWheel0

PxU32 PxVehicleAntiRollBarData::mWheel1

The documentation for this class was generated from the following file:
  • PxVehicleComponents.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleTireData Class Reference

PxVehicleTireData Class Reference
[Vehicle]

#include <PxVehicleComponents.h>

List of all members.

Public Member Functions

PxVehicleTireData ()
PX_FORCE_INLINE PxReal | getRecipLongitudinalStiffnessPerUnitGravity () const
Return Cached value of 1.0/mLongitudinalStiffnessPerUnitGravity.
PX_FORCE_INLINE PxReal | getFrictionVsSlipGraphRecipx1Minusx0 () const
Return Cached value of 1.0f/(mFrictionVsSlipGraph[1][0]-mFrictionVsSlipGraph[0][0]).
PX_FORCE_INLINE PxReal | getFrictionVsSlipGraphRecipx2Minusx1 () const
Return Cached value of 1.0f/(mFrictionVsSlipGraph[2][0]-mFrictionVsSlipGraph[1][0]).

Public Attributes

PxReal | mLatStiffX
Tire lateral stiffness is a graph of tire load that has linear behavior near zero load and flattens at large loads. mLatStiffX describes the minimum normalized load (load/restLoad) that gives a flat lateral stiffness response to load.
PxReal | mLatStiffY
Tire lateral stiffness is a graph of tire load that has linear behavior near zero load and flattens at large loads. mLatStiffY describes the maximum possible value of lateralStiffness/restLoad that occurs when (load/restLoad)>= mLatStiffX.
PxReal | mLongitudinalStiffnessPerUnitGravity
Tire Longitudinal stiffness per unit gravitational acceleration.
PxReal | mCamberStiffnessPerUnitGravity
tire Tire camber stiffness per unity gravitational acceleration.
PxReal | mFrictionVsSlipGraph [3][2]
Graph of friction vs longitudinal slip with 3 points.
PxU32 mType
Tire type denoting slicks, wets, snow, winter, summer, all-terrain, mud etc.

Private Member Functions

bool | isValid () const

Private Attributes

PxReal | mRecipLongitudinalStiffnessPerUnitGravity
Cached value of 1.0/mLongitudinalStiffnessPerUnitGravity.
PxReal | mFrictionVsSlipGraphRecipx1Minusx0
Cached value of 1.0f/(mFrictionVsSlipGraph[1][0]-mFrictionVsSlipGraph[0][0]).
PxReal | mFrictionVsSlipGraphRecipx2Minusx1
Cached value of 1.0f/(mFrictionVsSlipGraph[2][0]-mFrictionVsSlipGraph[1][0]).
PxReal | mPad [2]

Friends

class | PxVehicleWheels4SimData

Constructor & Destructor Documentation

PxVehicleTireData::PxVehicleTireData ( ) [inline]

Member Function Documentation

PX_FORCE_INLINE PxReal PxVehicleTireData::getFrictionVsSlipGraphRecipx1Minusx0 ( ) const [inline]

Return Cached value of 1.0f/(mFrictionVsSlipGraph[1][0]-mFrictionVsSlipGraph[0][0]).

See also:
PxVehicleWheelsSimData::setTireData

PX_FORCE_INLINE PxReal PxVehicleTireData::getFrictionVsSlipGraphRecipx2Minusx1 ( ) const [inline]

Return Cached value of 1.0f/(mFrictionVsSlipGraph[2][0]-mFrictionVsSlipGraph[1][0]).

See also:
PxVehicleWheelsSimData::setTireData

PX_FORCE_INLINE PxReal PxVehicleTireData::getRecipLongitudinalStiffnessPerUnitGravity ( ) const [inline]

Return Cached value of 1.0/mLongitudinalStiffnessPerUnitGravity.

See also:
PxVehicleWheelsSimData::setTireData

bool PxVehicleTireData::isValid ( ) const [private]

Friends And Related Function Documentation

friend class PxVehicleWheels4SimData [friend]

Member Data Documentation

PxReal PxVehicleTireData::mCamberStiffnessPerUnitGravity

tire Tire camber stiffness per unity gravitational acceleration.

Note:
Camber stiffness of the tire is calculated as gravitationalAcceleration*mCamberStiffnessPerUnitGravity

Camber force can be approximated as gravitationalAcceleration*mCamberStiffnessPerUnitGravity*camberAngle.

Specified in kilograms per radian.

Range: [0, PX_MAX_F32)

PxReal PxVehicleTireData::mFrictionVsSlipGraph[3][2]

Graph of friction vs longitudinal slip with 3 points.

Note:
mFrictionVsSlipGraph[0][0] is always zero.

mFrictionVsSlipGraph[0][1] is the friction available at zero longitudinal slip.

mFrictionVsSlipGraph[1][0] is the value of longitudinal slip with maximum friction.

mFrictionVsSlipGraph[1][1] is the maximum friction.

mFrictionVsSlipGraph[2][0] is the end point of the graph.

mFrictionVsSlipGraph[2][1] is the value of friction for slips greater than mFrictionVsSlipGraph[2][0].

The friction value computed from the friction vs longitudinal slip graph is used to scale the friction value for the combination of material and tire type (PxVehicleDrivableSurfaceToTireFrictionPairs).

mFrictionVsSlipGraph[2][0] > mFrictionVsSlipGraph[1][0] > mFrictionVsSlipGraph[0][0]

mFrictionVsSlipGraph[1][1] is typically greater than mFrictionVsSlipGraph[0][1]

mFrictionVsSlipGraph[2][1] is typically smaller than mFrictionVsSlipGraph[1][1]

longitudinal slips > mFrictionVsSlipGraph[2][0] use friction multiplier mFrictionVsSlipGraph[2][1]

The final friction value used by the tire model is the value returned by PxVehicleDrivableSurfaceToTireFrictionPairs multiplied by the value computed from mFrictionVsSlipGraph.

See also:
PxVehicleDrivableSurfaceToTireFrictionPairs, PxVehicleComputeTireForce
Range: [0, PX_MAX_F32)

PxReal PxVehicleTireData::mFrictionVsSlipGraphRecipx1Minusx0 [private]

Cached value of 1.0f/(mFrictionVsSlipGraph[1][0]-mFrictionVsSlipGraph[0][0]).

Note:
Not necessary to set this value because it is set by PxVehicleWheelsSimData::setTireData
See also:
PxVehicleWheelsSimData::setTireData

PxReal PxVehicleTireData::mFrictionVsSlipGraphRecipx2Minusx1 [private]

Cached value of 1.0f/(mFrictionVsSlipGraph[2][0]-mFrictionVsSlipGraph[1][0]).

Note:
Not necessary to set this value because it is set by PxVehicleWheelsSimData::setTireData
See also:
PxVehicleWheelsSimData::setTireData

PxReal PxVehicleTireData::mLatStiffX

Tire lateral stiffness is a graph of tire load that has linear behavior near zero load and flattens at large loads. mLatStiffX describes the minimum normalized load (load/restLoad) that gives a flat lateral stiffness response to load.

Range: [0, PX_MAX_F32)

PxReal PxVehicleTireData::mLatStiffY

Tire lateral stiffness is a graph of tire load that has linear behavior near zero load and flattens at large loads. mLatStiffY describes the maximum possible value of lateralStiffness/restLoad that occurs when (load/restLoad)>= mLatStiffX.

Note:
If load/restLoad is greater than mLatStiffX then the lateral stiffness is mLatStiffY*restLoad.

If load/restLoad is less than mLatStiffX then the lateral stiffness is mLastStiffY*(load/mLatStiffX)

Lateral force can be approximated as lateralStiffness * lateralSlip.

Specified in per radian.

Range: [0, PX_MAX_F32)

PxReal PxVehicleTireData::mLongitudinalStiffnessPerUnitGravity

Tire Longitudinal stiffness per unit gravitational acceleration.

Note:
Longitudinal stiffness of the tire is calculated as gravitationalAcceleration*mLongitudinalStiffnessPerUnitGravity.

Longitudinal force can be approximated as gravitationalAcceleration*mLongitudinalStiffnessPerUnitGravity*longitudinalSlip.

Specified in kilograms per radian.

Range: [0, PX_MAX_F32)

PxReal PxVehicleTireData::mPad[2] [private]

PxReal PxVehicleTireData::mRecipLongitudinalStiffnessPerUnitGravity [private]

Cached value of 1.0/mLongitudinalStiffnessPerUnitGravity.

Note:
Not necessary to set this value because it is set by PxVehicleWheelsSimData::setTireData
See also:
PxVehicleWheelsSimData::setTireData

PxU32 PxVehicleTireData::mType

Tire type denoting slicks, wets, snow, winter, summer, all-terrain, mud etc.

See also:
PxVehicleDrivableSurfaceToTireFrictionPairs
Range: [0, PX_MAX_F32)

The documentation for this class was generated from the following file:
  • PxVehicleComponents.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleDriveSimData Class Reference

PxVehicleDriveSimData Class Reference
[Vehicle]

Data structure describing non-wheel configuration data of a vehicle that has engine, gears, clutch, and auto-box. More...

#include <PxVehicleDrive.h>

Inheritance diagram for PxVehicleDriveSimData:

PxVehicleDriveSimData4WPxVehicleDriveSimDataNW
[legend]
Collaboration diagram for PxVehicleDriveSimData:

PxVehicleGearsDataPxVehicleClutchDataPxVehicleEngineDataPxFixedSizeLookupTable\< eMAX_NB_ENGINE_TORQUE_CURVE_ENTRIES \>PxVehicleAutoBoxData
[legend]

List of all members.

Public Member Functions

PX_FORCE_INLINE const
PxVehicleEngineData & 		getEngineData () const
Return the engine data.
void | setEngineData (const PxVehicleEngineData &engine)
Set the engine data.
PX_FORCE_INLINE const
PxVehicleGearsData & 		getGearsData () const
Return the gears data.
void | setGearsData (const PxVehicleGearsData &gears)
Set the gears data.
PX_FORCE_INLINE const
PxVehicleClutchData & 		getClutchData () const
Return the clutch data.
void | setClutchData (const PxVehicleClutchData &clutch)
Set the clutch data.
PX_FORCE_INLINE const
PxVehicleAutoBoxData & 		getAutoBoxData () const
Return the autobox data.
void | setAutoBoxData (const PxVehicleAutoBoxData &autobox)
Set the autobox data.
PxVehicleDriveSimData ()
PxVehicleDriveSimData (const PxEMPTY)

Static Public Member Functions

static void | getBinaryMetaData (PxOutputStream &stream)

Protected Member Functions

bool | isValid () const
Test that a PxVehicleDriveSimData instance has been configured with legal data. Call only after setting all components with setEngineData,setGearsData,setClutchData,setAutoBoxData.

Protected Attributes

PxVehicleEngineData mEngine
PxVehicleGearsData mGears
PxVehicleClutchData mClutch
PxVehicleAutoBoxData mAutoBox

Friends

class | PxVehicleDriveTank

Detailed Description

Data structure describing non-wheel configuration data of a vehicle that has engine, gears, clutch, and auto-box.

See also:
PxVehicleWheelsSimData for wheels configuration data.

Constructor & Destructor Documentation

PxVehicleDriveSimData::PxVehicleDriveSimData ( ) [inline]

PxVehicleDriveSimData::PxVehicleDriveSimData ( const PxEMPTY ) [inline]

Member Function Documentation

PX_FORCE_INLINE const PxVehicleAutoBoxData& PxVehicleDriveSimData::getAutoBoxData ( ) const [inline]

Return the autobox data.

static void PxVehicleDriveSimData::getBinaryMetaData ( PxOutputStream & stream ) [static]

Reimplemented in PxVehicleDriveSimData4W, and PxVehicleDriveSimDataNW.

PX_FORCE_INLINE const PxVehicleClutchData& PxVehicleDriveSimData::getClutchData ( ) const [inline]

Return the clutch data.

PX_FORCE_INLINE const PxVehicleEngineData& PxVehicleDriveSimData::getEngineData ( ) const [inline]

Return the engine data.

PX_FORCE_INLINE const PxVehicleGearsData& PxVehicleDriveSimData::getGearsData ( ) const [inline]

Return the gears data.

bool PxVehicleDriveSimData::isValid ( ) const [protected]

Test that a PxVehicleDriveSimData instance has been configured with legal data. Call only after setting all components with setEngineData,setGearsData,setClutchData,setAutoBoxData.

See also:
PxVehicleDrive4W::setup, PxVehicleDriveTank::setup

Reimplemented in PxVehicleDriveSimData4W, and PxVehicleDriveSimDataNW.

void PxVehicleDriveSimData::setAutoBoxData ( const PxVehicleAutoBoxData & autobox )

Set the autobox data.

Parameters:
[in] autobox - the data stored in autobox is copied to the vehicle's autobox.

void PxVehicleDriveSimData::setClutchData ( const PxVehicleClutchData & clutch )

Set the clutch data.

Parameters:
[in] clutch - the data stored in clutch is copied to the vehicle's clutch.

void PxVehicleDriveSimData::setEngineData ( const PxVehicleEngineData & engine )

Set the engine data.

Parameters:
[in] engine - the data stored in engine is copied to the vehicle's engine.

void PxVehicleDriveSimData::setGearsData ( const PxVehicleGearsData & gears )

Set the gears data.

Parameters:
[in] gears - the data stored in gears is copied to the vehicle's gears.

Friends And Related Function Documentation

friend class PxVehicleDriveTank [friend]

Member Data Documentation

PxVehicleAutoBoxData PxVehicleDriveSimData::mAutoBox [protected]

PxVehicleClutchData PxVehicleDriveSimData::mClutch [protected]

PxVehicleEngineData PxVehicleDriveSimData::mEngine [protected]

PxVehicleGearsData PxVehicleDriveSimData::mGears [protected]

The documentation for this class was generated from the following file:
  • PxVehicleDrive.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleDriveDynData Class Reference

PxVehicleDriveDynData Class Reference
[Vehicle]

Data structure with instanced dynamics data for vehicle with engine, clutch, gears, autobox. More...

#include <PxVehicleDrive.h>

List of all members.

Public Types

enum | { eMAX_NB_ANALOG_INPUTS = 16 }

Public Member Functions

void | setToRestState ()
Set all dynamics data to zero to bring the vehicle to rest.
void | setAnalogInput (const PxU32 type, const PxReal analogVal)
Set an analog control value to drive the vehicle.
PxReal | getAnalogInput (const PxU32 type) const
Get the analog control value that has been applied to the vehicle.
void | setGearUp (const bool digitalVal)
Inform the vehicle that the gear-up button has been pressed.
void | setGearDown (const bool digitalVal)
Set that the gear-down button has been pressed.
bool | getGearUp () const
Check if the gear-up button has been pressed.
bool | getGearDown () const
Check if the gear-down button has been pressed.
PX_FORCE_INLINE void | setUseAutoGears (const bool useAutoGears)
Set the flag that will be used to select auto-gears If useAutoGears is true the auto-box will be active.
PX_FORCE_INLINE bool | getUseAutoGears () const
Get the flag status that is used to select auto-gears.
PX_FORCE_INLINE void | toggleAutoGears ()
Toggle the auto-gears flag If useAutoGears is true the auto-box will be active.
PX_FORCE_INLINE void | setCurrentGear (PxU32 currentGear)
Set the current gear.
PX_FORCE_INLINE PxU32 | getCurrentGear () const
Get the current gear.
PX_FORCE_INLINE void | setTargetGear (PxU32 targetGear)
Set the target gear.
PX_FORCE_INLINE PxU32 | getTargetGear () const
Get the target gear.
PX_FORCE_INLINE void | startGearChange (const PxU32 targetGear)
Start a gear change to a target gear.
PX_FORCE_INLINE void | forceGearChange (const PxU32 targetGear)
Force an immediate gear change to a target gear.
PX_FORCE_INLINE void | setEngineRotationSpeed (const PxF32 speed)
Set the rotation speed of the engine (radians per second).
PX_FORCE_INLINE PxReal | getEngineRotationSpeed () const
Return the rotation speed of the engine (radians per second).
PX_FORCE_INLINE PxReal | getGearSwitchTime () const
Return the time that has passed since the current gear change was initiated.
PX_FORCE_INLINE PxReal | getAutoBoxSwitchTime () const
Return the time that has passed since the autobox last initiated a gear change.
PxVehicleDriveDynData ()
PxVehicleDriveDynData (const PxEMPTY)
PxU32 | getNbAnalogInput () const
PX_FORCE_INLINE void | setGearChange (const PxU32 gearChange)
PX_FORCE_INLINE PxU32 | getGearChange () const
PX_FORCE_INLINE void | setGearSwitchTime (const PxReal switchTime)
PX_FORCE_INLINE void | setAutoBoxSwitchTime (const PxReal autoBoxSwitchTime)

Public Attributes

PxReal | mControlAnalogVals [eMAX_NB_ANALOG_INPUTS]
All dynamic data values are public for fast access.
bool | mUseAutoGears
Auto-gear flag used by vehicle simulation. Set true to enable the autobox, false to disable the autobox.
bool | mGearUpPressed
Gear-up digital control value used by vehicle simulation.
bool | mGearDownPressed
Gear-down digital control value used by vehicle simulation.
PxU32 mCurrentGear
Current gear.
PxU32 mTargetGear
Target gear (different from current gear if a gear change is underway).
PxReal | mEnginespeed
Rotation speed of engine.
PxReal | mGearSwitchTime
Reported time that has passed since gear change started.
PxReal | mAutoBoxSwitchTime
Reported time that has passed since last autobox gearup/geardown decision.

Private Member Functions

bool | isValid () const
Test that a PxVehicleDriveDynData instance has legal values.

Private Attributes

PxU32 | mPad [2]

Friends

class | PxVehicleDrive

Detailed Description

Data structure with instanced dynamics data for vehicle with engine, clutch, gears, autobox.

See also:
PxVehicleWheelsDynData for wheels dynamics data.

Member Enumeration Documentation

anonymous enum

Enumerator:
eMAX_NB_ANALOG_INPUTS

Constructor & Destructor Documentation

PxVehicleDriveDynData::PxVehicleDriveDynData ( )

PxVehicleDriveDynData::PxVehicleDriveDynData ( const PxEMPTY ) [inline]

Member Function Documentation

PX_FORCE_INLINE void PxVehicleDriveDynData::forceGearChange ( const PxU32 targetGear ) [inline]

Force an immediate gear change to a target gear.

Parameters:
[in] targetGear is the gear the vehicle will be given immediately.
See also:
PxVehicleGearsData

PxReal PxVehicleDriveDynData::getAnalogInput ( const PxU32 type ) const

Get the analog control value that has been applied to the vehicle.

Returns:
The value of the specified analog control value.
See also:
PxVehicleDrive4WControl, PxVehicleDriveNWControl, PxVehicleDriveTankControl

PX_FORCE_INLINE PxReal PxVehicleDriveDynData::getAutoBoxSwitchTime ( ) const [inline]

Return the time that has passed since the autobox last initiated a gear change.

Returns:
The time that has passed since the autobox last initiated a gear change.
See also:
PxVehicleAutoBoxData::setLatency, PxVehicleAutoBoxData::getLatency

PX_FORCE_INLINE PxU32 PxVehicleDriveDynData::getCurrentGear ( ) const [inline]

Get the current gear.

Returns:
The vehicle's current gear.
See also:
getTargetGear, PxVehicleGearsData

PX_FORCE_INLINE PxReal PxVehicleDriveDynData::getEngineRotationSpeed ( ) const [inline]

Return the rotation speed of the engine (radians per second).

Returns:
The rotational speed (radians per second) of the engine.

PX_FORCE_INLINE PxU32 PxVehicleDriveDynData::getGearChange ( ) const [inline]

bool PxVehicleDriveDynData::getGearDown ( ) const [inline]

Check if the gear-down button has been pressed.

Returns:
The state of the gear-down button.

PX_FORCE_INLINE PxReal PxVehicleDriveDynData::getGearSwitchTime ( ) const [inline]

Return the time that has passed since the current gear change was initiated.

Returns:
The time that has passed since the current gear change was initiated.
Note:
If no gear change is in process the gear switch time will be zero.
See also:
PxVehicleGearsData.mSwitchTime

bool PxVehicleDriveDynData::getGearUp ( ) const [inline]

Check if the gear-up button has been pressed.

Returns:
The state of the gear-up button.

PxU32 PxVehicleDriveDynData::getNbAnalogInput ( ) const [inline]

PX_FORCE_INLINE PxU32 PxVehicleDriveDynData::getTargetGear ( ) const [inline]

Get the target gear.

Returns:
The vehicle's target gear.
See also:
setTargetGear, PxVehicleGearsData

PX_FORCE_INLINE bool PxVehicleDriveDynData::getUseAutoGears ( ) const [inline]

Get the flag status that is used to select auto-gears.

Returns:
The active status of the auto-box.

bool PxVehicleDriveDynData::isValid ( ) const [private]

Test that a PxVehicleDriveDynData instance has legal values.

See also:
setToRestState

void PxVehicleDriveDynData::setAnalogInput | ( | const PxU32 | type,
 |  | const PxReal | analogVal
 | ) |  |

Set an analog control value to drive the vehicle.

Parameters:
[in] | type | describes the type of analog control being modified
[in] | analogVal | is the new value of the specific analog control.
See also:
PxVehicleDrive4WControl, PxVehicleDriveNWControl, PxVehicleDriveTankControl

PX_FORCE_INLINE void PxVehicleDriveDynData::setAutoBoxSwitchTime ( const PxReal autoBoxSwitchTime ) [inline]

PX_FORCE_INLINE void PxVehicleDriveDynData::setCurrentGear ( PxU32 currentGear ) [inline]

Set the current gear.

Parameters:
[in] currentGear is the vehicle's gear.
Note:
If the target gear is different from the current gear the vehicle will attempt to start a gear change from the current gear that has just been set towards the target gear at the next call to PxVehicleUpdates.
See also:
setTargetGear, PxVehicleGearsData

PX_FORCE_INLINE void PxVehicleDriveDynData::setEngineRotationSpeed ( const PxF32 speed ) [inline]

Set the rotation speed of the engine (radians per second).

Parameters:
[in] speed is the rotational speed (radians per second) to apply to the engine.

PX_FORCE_INLINE void PxVehicleDriveDynData::setGearChange ( const PxU32 gearChange ) [inline]

void PxVehicleDriveDynData::setGearDown ( const bool digitalVal ) [inline]

Set that the gear-down button has been pressed.

Parameters:
[in] digitalVal is the state of the gear-down button.
Note:
If digitalVal is true the vehicle will attempt to initiate a gear change at the next call to PxVehicleUpdates.

The value of mGearDownPressed is not reset by PxVehicleUpdates

PX_FORCE_INLINE void PxVehicleDriveDynData::setGearSwitchTime ( const PxReal switchTime ) [inline]

void PxVehicleDriveDynData::setGearUp ( const bool digitalVal ) [inline]

Inform the vehicle that the gear-up button has been pressed.

Parameters:
[in] digitalVal is the state of the gear-up button.
Note:
If digitalVal is true the vehicle will attempt to initiate a gear change at the next call to PxVehicleUpdates.

The value of mGearUpPressed is not reset by PxVehicleUpdates

PX_FORCE_INLINE void PxVehicleDriveDynData::setTargetGear ( PxU32 targetGear ) [inline]

Set the target gear.

Parameters:
[in] targetGear is the vehicle's target gear.
Note:
If the target gear is different from the current gear the vehicle will attempt to start a gear change towards the target gear at the next call to PxVehicleUpdates.
See also:
PxVehicleGearsData

void PxVehicleDriveDynData::setToRestState ( )

Set all dynamics data to zero to bring the vehicle to rest.

PX_FORCE_INLINE void PxVehicleDriveDynData::setUseAutoGears ( const bool useAutoGears ) [inline]

Set the flag that will be used to select auto-gears If useAutoGears is true the auto-box will be active.

Parameters:
[in] useAutoGears is the active state of the auto-box.

PX_FORCE_INLINE void PxVehicleDriveDynData::startGearChange ( const PxU32 targetGear ) [inline]

Start a gear change to a target gear.

Parameters:
[in] targetGear is the gear the vehicle will begin a transition towards.
Note:
The gear change will begin at the next call to PxVehicleUpadates.
See also:
PxVehicleGearsData

PX_FORCE_INLINE void PxVehicleDriveDynData::toggleAutoGears ( ) [inline]

Toggle the auto-gears flag If useAutoGears is true the auto-box will be active.

Friends And Related Function Documentation

friend class PxVehicleDrive [friend]

Member Data Documentation

PxReal PxVehicleDriveDynData::mAutoBoxSwitchTime

Reported time that has passed since last autobox gearup/geardown decision.

See also:
setToRestState, PxVehicleAutoBoxData::setLatency

PxReal PxVehicleDriveDynData::mControlAnalogVals[eMAX_NB_ANALOG_INPUTS]

All dynamic data values are public for fast access.

Analog control values used by vehicle simulation.

See also:
setAnalogInput, getAnalogInput, PxVehicleDrive4WControl, PxVehicleDriveNWControl, PxVehicleDriveTankControl

PxU32 PxVehicleDriveDynData::mCurrentGear

Current gear.

See also:
startGearChange, forceGearChange, getCurrentGear, PxVehicleGearsData

PxReal PxVehicleDriveDynData::mEnginespeed

Rotation speed of engine.

See also:
setToRestState, getEngineRotationSpeed

bool PxVehicleDriveDynData::mGearDownPressed

Gear-down digital control value used by vehicle simulation.

Note:
If true a gear change will be initiated towards currentGear-1 (or to reverse if in first).
See also:
setDigitalInput, getDigitalInput

PxReal PxVehicleDriveDynData::mGearSwitchTime

Reported time that has passed since gear change started.

See also:
setToRestState, startGearChange, PxVehicleGearsData::mSwitchTime

bool PxVehicleDriveDynData::mGearUpPressed

Gear-up digital control value used by vehicle simulation.

Note:
If true a gear change will be initiated towards currentGear+1 (or to first gear if in reverse).
See also:
setDigitalInput, getDigitalInput

PxU32 PxVehicleDriveDynData::mPad[2] [private]

PxU32 PxVehicleDriveDynData::mTargetGear

Target gear (different from current gear if a gear change is underway).

See also:
startGearChange, forceGearChange, getTargetGear, PxVehicleGearsData

bool PxVehicleDriveDynData::mUseAutoGears

Auto-gear flag used by vehicle simulation. Set true to enable the autobox, false to disable the autobox.

See also:
setUseAutoGears, setUseAutoGears, toggleAutoGears, PxVehicleAutoBoxData

The documentation for this class was generated from the following file:
  • PxVehicleDrive.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleDrive Class Reference

PxVehicleDrive Class Reference
[Vehicle]

A complete vehicle with instance dynamics data and configuration data for wheels and engine,clutch,gears,autobox. More...

#include <PxVehicleDrive.h>

Inheritance diagram for PxVehicleDrive:

PxVehicleDrive4WPxVehicleDriveNWPxVehicleDriveTankPxVehicleWheelsPxBase
[legend]
Collaboration diagram for PxVehicleDrive:

PxVehicleWheelsPxBasePxActorPxFlags\< PxBaseFlag::Enum, PxU16 \>PxVehicleWheelsSimDataPxVehicleTireLoadFilterDataPxVehicleAntiRollBarDataPxRigidDynamicPxRigidBodyPxRigidActorPxVehicleWheelsDynDataPxVehicleDriveDynData
[legend]

List of all members.

Public Member Functions

PxVehicleDrive (PxBaseFlags baseFlags)
virtual const char * | getConcreteTypeName () const
Returns string name of dynamic type.

Static Public Member Functions

static void | getBinaryMetaData (PxOutputStream &stream)

Public Attributes

PxVehicleDriveDynData mDriveDynData
Dynamics data of vehicle instance.

Protected Member Functions

bool | isValid () const
Test that all instanced dynamics data and configuration data have legal values.
void | setToRestState ()
Set vehicle to rest.
virtual void | init (const PxU32 numWheels)
void | free ()
Deallocate a PxVehicle4WDrive instance.
void | setup (PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxU32 nbDrivenWheels, const PxU32 nbNonDrivenWheels)
PxVehicleDrive (PxType concreteType, PxBaseFlags baseFlags)
~PxVehicleDrive ()
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Static Protected Member Functions

static PxU32 | computeByteSize (const PxU32 numWheels)
static PxU8 * | patchupPointers (const PxU32 nbWheels, PxVehicleDrive *vehDrive, PxU8 *ptr)

Friends

class | PxVehicleUpdate

Detailed Description

A complete vehicle with instance dynamics data and configuration data for wheels and engine,clutch,gears,autobox.

See also:
PxVehicleDrive4W, PxVehicleDriveTank

Constructor & Destructor Documentation

PxVehicleDrive::PxVehicleDrive ( PxBaseFlags baseFlags ) [inline]

PxVehicleDrive::PxVehicleDrive | ( | PxType | concreteType,
 |  | PxBaseFlags | baseFlags |
 | ) |  |  | [inline, protected]

PxVehicleDrive::~PxVehicleDrive ( ) [inline, protected]

Member Function Documentation

static PxU32 PxVehicleDrive::computeByteSize ( const PxU32 numWheels ) [static, protected]

See also:
PxVehicleDrive4W::allocate, PxVehicleDriveTank::allocate

Reimplemented from PxVehicleWheels.

void PxVehicleDrive::free ( ) [protected]

Deallocate a PxVehicle4WDrive instance.

See also:
PxVehicleDrive4W::free, PxVehicleDriveTank::free

Reimplemented from PxVehicleWheels.

Reimplemented in PxVehicleDrive4W, PxVehicleDriveNW, and PxVehicleDriveTank.

static void PxVehicleDrive::getBinaryMetaData ( PxOutputStream & stream ) [static]

Reimplemented from PxVehicleWheels.

Reimplemented in PxVehicleDrive4W, PxVehicleDriveNW, and PxVehicleDriveTank.

virtual const char* PxVehicleDrive::getConcreteTypeName ( ) const [inline, virtual]

Returns string name of dynamic type.

Returns:
Class name of most derived type of this object.

Reimplemented from PxVehicleWheels.

Reimplemented in PxVehicleDrive4W, PxVehicleDriveNW, and PxVehicleDriveTank.

virtual void PxVehicleDrive::init ( const PxU32 numWheels ) [protected, virtual]

Reimplemented from PxVehicleWheels.

virtual bool PxVehicleDrive::isKindOf ( const char * superClass ) const [inline, protected, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxVehicleWheels.

Reimplemented in PxVehicleDrive4W, PxVehicleDriveNW, and PxVehicleDriveTank.

References PxBase::isKindOf().

bool PxVehicleDrive::isValid ( ) const [protected]

Test that all instanced dynamics data and configuration data have legal values.

Reimplemented from PxVehicleWheels.

Reimplemented in PxVehicleDrive4W, PxVehicleDriveNW, and PxVehicleDriveTank.

static PxU8* PxVehicleDrive::patchupPointers | ( | const PxU32 | nbWheels,
 |  | PxVehicleDrive * | vehDrive,
 |  | PxU8 * | ptr |
 | ) |  |  | [static, protected]

void PxVehicleDrive::setToRestState ( ) [protected]

Set vehicle to rest.

Reimplemented from PxVehicleWheels.

Reimplemented in PxVehicleDrive4W, PxVehicleDriveNW, and PxVehicleDriveTank.

void PxVehicleDrive::setup | ( | PxPhysics * | physics,
 |  | PxRigidDynamic * | vehActor,
 |  | const PxVehicleWheelsSimData & | wheelsData,
 |  | const PxU32 | nbDrivenWheels,
 |  | const PxU32 | nbNonDrivenWheels |
 | ) |  |  | [protected]

See also:
PxVehicleDrive4W::setup, PxVehicleDriveTank::setup

Reimplemented from PxVehicleWheels.

Friends And Related Function Documentation

friend class PxVehicleUpdate [friend]

Reimplemented from PxVehicleWheels.

Reimplemented in PxVehicleDrive4W, PxVehicleDriveNW, and PxVehicleDriveTank.

Member Data Documentation

PxVehicleDriveDynData PxVehicleDrive::mDriveDynData

Dynamics data of vehicle instance.

See also:
setup

The documentation for this class was generated from the following file:
  • PxVehicleDrive.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleDriveSimData4W Class Reference

PxVehicleDriveSimData4W Class Reference
[Vehicle]

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

#include <PxVehicleDrive4W.h>

Inheritance diagram for PxVehicleDriveSimData4W:

PxVehicleDriveSimData
[legend]
Collaboration diagram for PxVehicleDriveSimData4W:

PxVehicleDriveSimDataPxVehicleGearsDataPxVehicleClutchDataPxVehicleEngineDataPxFixedSizeLookupTable\< eMAX_NB_ENGINE_TORQUE_CURVE_ENTRIES \>PxVehicleAutoBoxDataPxVehicleDifferential4WDataPxVehicleAckermannGeometryData
[legend]

List of all members.

Public Member Functions

PxVehicleDriveSimData4W ()
PX_FORCE_INLINE const
PxVehicleDifferential4WData & 		getDiffData () const
Return the data describing the differential.
PX_FORCE_INLINE const
PxVehicleAckermannGeometryData & 		getAckermannGeometryData () const
Return the data describing the Ackermann steer-correction.
void | setDiffData (const PxVehicleDifferential4WData &diff)
Set the data describing the differential.
void | setAckermannGeometryData (const PxVehicleAckermannGeometryData &ackermannData)
Set the data describing the Ackermann steer-correction.
PxVehicleDriveSimData4W (const PxEMPTY)

Static Public Member Functions

static void | getBinaryMetaData (PxOutputStream &stream)

Private Member Functions

bool | isValid () const
Test if the 4W-drive simulation data has been setup with legal data.

Private Attributes

PxVehicleDifferential4WData mDiff
Differential simulation data.
PxVehicleAckermannGeometryData mAckermannGeometry
Data for ackermann steer angle computation.

Friends

class | PxVehicleDrive4W

Detailed Description

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.

See also:
PxVehicleDriveSimData

Constructor & Destructor Documentation

PxVehicleDriveSimData4W::PxVehicleDriveSimData4W ( ) [inline]

PxVehicleDriveSimData4W::PxVehicleDriveSimData4W ( const PxEMPTY ) [inline]

Member Function Documentation

PX_FORCE_INLINE const PxVehicleAckermannGeometryData& PxVehicleDriveSimData4W::getAckermannGeometryData ( ) const [inline]

Return the data describing the Ackermann steer-correction.

See also:
PxVehicleAckermannGeometryData

static void PxVehicleDriveSimData4W::getBinaryMetaData ( PxOutputStream & stream ) [static]

Reimplemented from PxVehicleDriveSimData.

PX_FORCE_INLINE const PxVehicleDifferential4WData& PxVehicleDriveSimData4W::getDiffData ( ) const [inline]

Return the data describing the differential.

See also:
PxVehicleDifferential4WData

bool PxVehicleDriveSimData4W::isValid ( ) const [private]

Test if the 4W-drive simulation data has been setup with legal data.

Note:
Call only after setting all components.
See also:
setEnginedata, setClutchData, setGearsData, setAutoboxData, setDiffData, setAckermannGeometryData

Reimplemented from PxVehicleDriveSimData.

void PxVehicleDriveSimData4W::setAckermannGeometryData ( const PxVehicleAckermannGeometryData & ackermannData )

Set the data describing the Ackermann steer-correction.

See also:
PxVehicleAckermannGeometryData

void PxVehicleDriveSimData4W::setDiffData ( const PxVehicleDifferential4WData & diff )

Set the data describing the differential.

See also:
PxVehicleDifferential4WData

Friends And Related Function Documentation

friend class PxVehicleDrive4W [friend]

Member Data Documentation

PxVehicleAckermannGeometryData PxVehicleDriveSimData4W::mAckermannGeometry [private]

Data for ackermann steer angle computation.

See also:
setAckermannGeometryData, getAckermannGeometryData

PxVehicleDifferential4WData PxVehicleDriveSimData4W::mDiff [private]

Differential simulation data.

See also:
setDiffData, getDiffData

The documentation for this class was generated from the following file:
  • PxVehicleDrive4W.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleDrive4WWheelOrder Struct Reference

PxVehicleDrive4WWheelOrder Struct Reference
[Vehicle]

The ordering of the driven and steered wheels of a PxVehicleDrive4W. More...

#include <PxVehicleDrive4W.h>

List of all members.

Public Types

enum Enum {
eFRONT_LEFT = 0,
eFRONT_RIGHT,
eREAR_LEFT,
eREAR_RIGHT
}

Detailed Description

The ordering of the driven and steered wheels of a PxVehicleDrive4W.

See also:
PxVehicleWheelsSimData, PxVehicleWheelsDynData

Member Enumeration Documentation

enum PxVehicleDrive4WWheelOrder::Enum

Enumerator:
eFRONT_LEFT
eFRONT_RIGHT
eREAR_LEFT
eREAR_RIGHT

The documentation for this struct was generated from the following file:
  • PxVehicleDrive4W.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleDrive4WControl Struct Reference

PxVehicleDrive4WControl Struct Reference
[Vehicle]

The control inputs for a PxVehicleDrive4W. More...

#include <PxVehicleDrive4W.h>

List of all members.

Public Types

enum Enum {
eANALOG_INPUT_ACCEL = 0,
eANALOG_INPUT_BRAKE,
eANALOG_INPUT_HANDBRAKE,
eANALOG_INPUT_STEER_LEFT,
eANALOG_INPUT_STEER_RIGHT,
eMAX_NB_DRIVE4W_ANALOG_INPUTS
}

Detailed Description

The control inputs for a PxVehicleDrive4W.

See also:
PxVehicleDriveDynData::setAnalogInput, PxVehicleDriveDynData::getAnalogInput

Member Enumeration Documentation

enum PxVehicleDrive4WControl::Enum

Enumerator:
eANALOG_INPUT_ACCEL
eANALOG_INPUT_BRAKE
eANALOG_INPUT_HANDBRAKE
eANALOG_INPUT_STEER_LEFT
eANALOG_INPUT_STEER_RIGHT
eMAX_NB_DRIVE4W_ANALOG_INPUTS

The documentation for this struct was generated from the following file:
  • PxVehicleDrive4W.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleDrive4W Class Reference

PxVehicleDrive4W Class Reference
[Vehicle]

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

#include <PxVehicleDrive4W.h>

Inheritance diagram for PxVehicleDrive4W:

PxVehicleDrivePxVehicleWheelsPxBase
[legend]
Collaboration diagram for PxVehicleDrive4W:

PxVehicleDrivePxVehicleWheelsPxBasePxActorPxFlags\< PxBaseFlag::Enum, PxU16 \>PxVehicleWheelsSimDataPxVehicleTireLoadFilterDataPxVehicleAntiRollBarDataPxRigidDynamicPxRigidBodyPxRigidActorPxVehicleWheelsDynDataPxVehicleDriveDynDataPxVehicleDriveSimData4WPxVehicleDriveSimDataPxVehicleGearsDataPxVehicleClutchDataPxVehicleEngineDataPxFixedSizeLookupTable\< eMAX_NB_ENGINE_TORQUE_CURVE_ENTRIES \>PxVehicleAutoBoxDataPxVehicleDifferential4WDataPxVehicleAckermannGeometryData
[legend]

List of all members.

Public Member Functions

void | free ()
Deallocate a PxVehicleDrive4W instance.
void | setup (PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxVehicleDriveSimData4W &driveData, const PxU32 nbNonDrivenWheels)
Set up a vehicle using simulation data for the wheels and drive model.
void | setToRestState ()
Set a vehicle to its rest state. Aside from the rigid body transform, this will set the vehicle and rigid body to the state they were in immediately after setup or create.
PxVehicleDrive4W (PxBaseFlags baseFlags)
virtual const char * | getConcreteTypeName () const
Returns string name of dynamic type.

Static Public Member Functions

static PxVehicleDrive4W * | allocate (const PxU32 nbWheels)
Allocate a PxVehicleDrive4W instance for a 4WDrive vehicle with nbWheels (= 4 + number of un-driven wheels).
static PxVehicleDrive4W * | create (PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxVehicleDriveSimData4W &driveData, const PxU32 nbNonDrivenWheels)
Allocate and set up a vehicle using simulation data for the wheels and drive model.
static PxVehicleDrive4W * | createObject (PxU8 *&address, PxDeserializationContext &context)
static void | getBinaryMetaData (PxOutputStream &stream)

Public Attributes

PxVehicleDriveSimData4W mDriveSimData
Simulation data that describes the configuration of the vehicle's drive model.

Protected Member Functions

PxVehicleDrive4W ()
~PxVehicleDrive4W ()
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Private Member Functions

bool | isValid () const
Test if the instanced dynamics and configuration data has legal values.

Friends

class | PxVehicleUpdate

Detailed Description

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.

Constructor & Destructor Documentation

PxVehicleDrive4W::PxVehicleDrive4W ( ) [protected]

PxVehicleDrive4W::~PxVehicleDrive4W ( ) [inline, protected]

PxVehicleDrive4W::PxVehicleDrive4W ( PxBaseFlags baseFlags ) [inline]

Member Function Documentation

static PxVehicleDrive4W* PxVehicleDrive4W::allocate ( const PxU32 nbWheels ) [static]

Allocate a PxVehicleDrive4W instance for a 4WDrive vehicle with nbWheels (= 4 + number of un-driven wheels).

Parameters:
[in] nbWheels is the number of vehicle wheels (= 4 + number of un-driven wheels)
Returns:
The instantiated vehicle.
See also:
free, setup

static PxVehicleDrive4W* PxVehicleDrive4W::create | ( | PxPhysics * | physics,
 |  | PxRigidDynamic * | vehActor,
 |  | const PxVehicleWheelsSimData & | wheelsData,
 |  | const PxVehicleDriveSimData4W & | driveData,
 |  | const PxU32 | nbNonDrivenWheels |
 | ) |  |  | [static]

Allocate and set up a vehicle using simulation data for the wheels and drive model.

Parameters:
[in] | physics | is a PxPhysics instance that is needed to create special vehicle constraints that are maintained by the vehicle.
[in] | vehActor | is a PxRigidDynamic instance that is used to represent the vehicle in the PhysX SDK.
[in] | wheelsData | describes the configuration of all suspension/tires/wheels of the vehicle. The vehicle instance takes a copy of this data.
[in] | driveData | describes the properties of the vehicle's drive model (gears/engine/clutch/differential/autobox). The vehicle instance takes a copy of this data.
[in] | nbNonDrivenWheels | is the number of wheels on the vehicle that cannot be connected to the differential (= numWheels - 4).
Note:
It is assumed that the first shapes of the actor are the wheel shapes, followed by the chassis shapes. To break this assumption use PxVehicleWheelsSimData::setWheelShapeMapping.

wheelsData must contain data for at least 4 wheels. Unwanted wheels can be disabled with PxVehicleWheelsSimData::disableWheel after calling setup.

Returns:
The instantiated vehicle.
See also:
allocate, free, setToRestState, PxVehicleWheelsSimData::setWheelShapeMapping

static PxVehicleDrive4W* PxVehicleDrive4W::createObject | ( | PxU8 *& | address,
 |  | PxDeserializationContext & | context |
 | ) |  |  | [static]

void PxVehicleDrive4W::free ( )

Deallocate a PxVehicleDrive4W instance.

See also:
allocate

Reimplemented from PxVehicleDrive.

static void PxVehicleDrive4W::getBinaryMetaData ( PxOutputStream & stream ) [static]

Reimplemented from PxVehicleDrive.

virtual const char* PxVehicleDrive4W::getConcreteTypeName ( ) const [inline, virtual]

Returns string name of dynamic type.

Returns:
Class name of most derived type of this object.

Reimplemented from PxVehicleDrive.

virtual bool PxVehicleDrive4W::isKindOf ( const char * superClass ) const [inline, protected, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxVehicleDrive.

References PxBase::isKindOf().

bool PxVehicleDrive4W::isValid ( ) const [private]

Test if the instanced dynamics and configuration data has legal values.

Reimplemented from PxVehicleDrive.

void PxVehicleDrive4W::setToRestState ( )

Set a vehicle to its rest state. Aside from the rigid body transform, this will set the vehicle and rigid body to the state they were in immediately after setup or create.

Note:
Calling setToRestState invalidates the cached raycast hit planes under each wheel meaning that suspension line raycasts need to be performed at least once with PxVehicleSuspensionRaycasts before calling PxVehicleUpdates.
See also:
setup, create, PxVehicleSuspensionRaycasts, PxVehicleUpdates

Reimplemented from PxVehicleDrive.

void PxVehicleDrive4W::setup | ( | PxPhysics * | physics,
 |  | PxRigidDynamic * | vehActor,
 |  | const PxVehicleWheelsSimData & | wheelsData,
 |  | const PxVehicleDriveSimData4W & | driveData,
 |  | const PxU32 | nbNonDrivenWheels
 | ) |  |

Set up a vehicle using simulation data for the wheels and drive model.

Parameters:
[in] | physics | is a PxPhysics instance that is needed to create special vehicle constraints that are maintained by the vehicle.
[in] | vehActor | is a PxRigidDynamic instance that is used to represent the vehicle in the PhysX SDK.
[in] | wheelsData | describes the configuration of all suspension/tires/wheels of the vehicle. The vehicle instance takes a copy of this data.
[in] | driveData | describes the properties of the vehicle's drive model (gears/engine/clutch/differential/autobox). The vehicle instance takes a copy of this data.
[in] | nbNonDrivenWheels | is the number of wheels on the vehicle that cannot be connected to the differential (= numWheels - 4).
Note:
It is assumed that the first shapes of the actor are the wheel shapes, followed by the chassis shapes. To break this assumption use PxVehicleWheelsSimData::setWheelShapeMapping.

wheelsData must contain data for at least 4 wheels. Unwanted wheels can be disabled with PxVehicleWheelsSimData::disableWheel after calling setup.

See also:
allocate, free, setToRestState, PxVehicleWheelsSimData::setWheelShapeMapping

Friends And Related Function Documentation

friend class PxVehicleUpdate [friend]

Reimplemented from PxVehicleDrive.

Member Data Documentation

PxVehicleDriveSimData4W PxVehicleDrive4W::mDriveSimData

Simulation data that describes the configuration of the vehicle's drive model.

See also:
setup, create

The documentation for this class was generated from the following file:
  • PxVehicleDrive4W.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleDriveSimDataNW Class Reference

PxVehicleDriveSimDataNW Class Reference
[Vehicle]

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

#include <PxVehicleDriveNW.h>

Inheritance diagram for PxVehicleDriveSimDataNW:

PxVehicleDriveSimData
[legend]
Collaboration diagram for PxVehicleDriveSimDataNW:

PxVehicleDriveSimDataPxVehicleGearsDataPxVehicleClutchDataPxVehicleEngineDataPxFixedSizeLookupTable\< eMAX_NB_ENGINE_TORQUE_CURVE_ENTRIES \>PxVehicleAutoBoxDataPxVehicleDifferentialNWData
[legend]

List of all members.

Public Member Functions

PxVehicleDriveSimDataNW ()
const PxVehicleDifferentialNWData & | getDiffData () const
Return the data describing the differential of a vehicle with up to PX_MAX_NB_WHEELS driven wheels.
void | setDiffData (const PxVehicleDifferentialNWData &diff)
Set the data describing the differential of a vehicle with up to PX_MAX_NB_WHEELS driven wheels. The differential data describes the set of wheels that are driven by the differential.
PxVehicleDriveSimDataNW (const PxEMPTY)

Static Public Member Functions

static void | getBinaryMetaData (PxOutputStream &stream)

Private Member Functions

bool | isValid () const
Test if the NW-drive simulation data has been setup with legal data. Call only after setting all components.

Private Attributes

PxVehicleDifferentialNWData mDiff
Differential simulation data.

Friends

class | PxVehicleDriveNW

Detailed Description

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.

See also:
PxVehicleDriveSimData

Constructor & Destructor Documentation

PxVehicleDriveSimDataNW::PxVehicleDriveSimDataNW ( ) [inline]

PxVehicleDriveSimDataNW::PxVehicleDriveSimDataNW ( const PxEMPTY ) [inline]

Member Function Documentation

static void PxVehicleDriveSimDataNW::getBinaryMetaData ( PxOutputStream & stream ) [static]

Reimplemented from PxVehicleDriveSimData.

const PxVehicleDifferentialNWData& PxVehicleDriveSimDataNW::getDiffData ( ) const [inline]

Return the data describing the differential of a vehicle with up to PX_MAX_NB_WHEELS driven wheels.

bool PxVehicleDriveSimDataNW::isValid ( ) const [private]

Test if the NW-drive simulation data has been setup with legal data. Call only after setting all components.

See also:
setEngineData, setClutchData, setGearsData, setAutoboxData, setDiffData, setAckermannGeometryData

Reimplemented from PxVehicleDriveSimData.

void PxVehicleDriveSimDataNW::setDiffData ( const PxVehicleDifferentialNWData & diff )

Set the data describing the differential of a vehicle with up to PX_MAX_NB_WHEELS driven wheels. The differential data describes the set of wheels that are driven by the differential.

Friends And Related Function Documentation

friend class PxVehicleDriveNW [friend]

Member Data Documentation

PxVehicleDifferentialNWData PxVehicleDriveSimDataNW::mDiff [private]

Differential simulation data.

See also:
setDiffData, getDiffData

The documentation for this class was generated from the following file:
  • PxVehicleDriveNW.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleDriveNWControl Struct Reference

PxVehicleDriveNWControl Struct Reference
[Vehicle]

The control inputs for a PxVehicleDriveNW. More...

#include <PxVehicleDriveNW.h>

List of all members.

Public Types

enum Enum {
eANALOG_INPUT_ACCEL = 0,
eANALOG_INPUT_BRAKE,
eANALOG_INPUT_HANDBRAKE,
eANALOG_INPUT_STEER_LEFT,
eANALOG_INPUT_STEER_RIGHT,
eMAX_NB_DRIVENW_ANALOG_INPUTS
}

Detailed Description

The control inputs for a PxVehicleDriveNW.

See also:
PxVehicleDriveDynData::setAnalogInput, PxVehicleDriveDynData::getAnalogInput

Member Enumeration Documentation

enum PxVehicleDriveNWControl::Enum

Enumerator:
eANALOG_INPUT_ACCEL
eANALOG_INPUT_BRAKE
eANALOG_INPUT_HANDBRAKE
eANALOG_INPUT_STEER_LEFT
eANALOG_INPUT_STEER_RIGHT
eMAX_NB_DRIVENW_ANALOG_INPUTS

The documentation for this struct was generated from the following file:
  • PxVehicleDriveNW.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleDriveNW Class Reference

PxVehicleDriveNW Class Reference
[Vehicle]

Data structure with instanced dynamics data and configuration data of a vehicle with up to PX_MAX_NB_WHEELS driven wheels. More...

#include <PxVehicleDriveNW.h>

Inheritance diagram for PxVehicleDriveNW:

PxVehicleDrivePxVehicleWheelsPxBase
[legend]
Collaboration diagram for PxVehicleDriveNW:

PxVehicleDrivePxVehicleWheelsPxBasePxActorPxFlags\< PxBaseFlag::Enum, PxU16 \>PxVehicleWheelsSimDataPxVehicleTireLoadFilterDataPxVehicleAntiRollBarDataPxRigidDynamicPxRigidBodyPxRigidActorPxVehicleWheelsDynDataPxVehicleDriveDynDataPxVehicleDriveSimDataNWPxVehicleDriveSimDataPxVehicleGearsDataPxVehicleClutchDataPxVehicleEngineDataPxFixedSizeLookupTable\< eMAX_NB_ENGINE_TORQUE_CURVE_ENTRIES \>PxVehicleAutoBoxDataPxVehicleDifferentialNWData
[legend]

List of all members.

Public Member Functions

void | free ()
Deallocate a PxVehicleDriveNW instance.
void | setup (PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxVehicleDriveSimDataNW &driveData, const PxU32 nbWheels)
Set up a vehicle using simulation data for the wheels and drive model.
void | setToRestState ()
Set a vehicle to its rest state. Aside from the rigid body transform, this will set the vehicle and rigid body to the state they were in immediately after setup or create.
PxVehicleDriveNW (PxBaseFlags baseFlags)
PxVehicleDriveNW ()
~PxVehicleDriveNW ()
virtual const char * | getConcreteTypeName () const
Returns string name of dynamic type.
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Static Public Member Functions

static PxVehicleDriveNW * | allocate (const PxU32 nbWheels)
Allocate a PxVehicleDriveNW instance for a NWDrive vehicle with nbWheels.
static PxVehicleDriveNW * | create (PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxVehicleDriveSimDataNW &driveData, const PxU32 nbWheels)
Allocate and set up a vehicle using simulation data for the wheels and drive model.
static PxVehicleDriveNW * | createObject (PxU8 *&address, PxDeserializationContext &context)
static void | getBinaryMetaData (PxOutputStream &stream)

Public Attributes

PxVehicleDriveSimDataNW mDriveSimData
Simulation data that describes the configuration of the vehicle's drive model.

Private Member Functions

bool | isValid () const
Test if the instanced dynamics and configuration data has legal values.

Friends

class | PxVehicleUpdate

Detailed Description

Data structure with instanced dynamics data and configuration data of a vehicle with up to PX_MAX_NB_WHEELS driven wheels.

Constructor & Destructor Documentation

PxVehicleDriveNW::PxVehicleDriveNW ( PxBaseFlags baseFlags ) [inline]

PxVehicleDriveNW::PxVehicleDriveNW ( )

PxVehicleDriveNW::~PxVehicleDriveNW ( ) [inline]

Member Function Documentation

static PxVehicleDriveNW* PxVehicleDriveNW::allocate ( const PxU32 nbWheels ) [static]

Allocate a PxVehicleDriveNW instance for a NWDrive vehicle with nbWheels.

Parameters:
[in] nbWheels is the number of wheels on the vehicle.
Returns:
The instantiated vehicle.
See also:
free, setup

static PxVehicleDriveNW* PxVehicleDriveNW::create | ( | PxPhysics * | physics,
 |  | PxRigidDynamic * | vehActor,
 |  | const PxVehicleWheelsSimData & | wheelsData,
 |  | const PxVehicleDriveSimDataNW & | driveData,
 |  | const PxU32 | nbWheels |
 | ) |  |  | [static]

Allocate and set up a vehicle using simulation data for the wheels and drive model.

Parameters:
[in] | physics | is a PxPhysics instance that is needed to create special vehicle constraints that are maintained by the vehicle.
[in] | vehActor | is a PxRigidDynamic instance that is used to represent the vehicle in the PhysX SDK.
[in] | wheelsData | describes the configuration of all suspension/tires/wheels of the vehicle. The vehicle instance takes a copy of this data.
[in] | driveData | describes the properties of the vehicle's drive model (gears/engine/clutch/differential/autobox). The vehicle instance takes a copy of this data.
[in] | nbWheels | is the number of wheels on the vehicle.
Note:
It is assumed that the first shapes of the actor are the wheel shapes, followed by the chassis shapes. To break this assumption use PxVehicleWheelsSimData::setWheelShapeMapping.
Returns:
The instantiated vehicle.
See also:
allocate, free, setToRestState, PxVehicleWheelsSimData::setWheelShapeMapping

static PxVehicleDriveNW* PxVehicleDriveNW::createObject | ( | PxU8 *& | address,
 |  | PxDeserializationContext & | context |
 | ) |  |  | [static]

void PxVehicleDriveNW::free ( )

Deallocate a PxVehicleDriveNW instance.

See also:
allocate

Reimplemented from PxVehicleDrive.

static void PxVehicleDriveNW::getBinaryMetaData ( PxOutputStream & stream ) [static]

Reimplemented from PxVehicleDrive.

virtual const char* PxVehicleDriveNW::getConcreteTypeName ( ) const [inline, virtual]

Returns string name of dynamic type.

Returns:
Class name of most derived type of this object.

Reimplemented from PxVehicleDrive.

virtual bool PxVehicleDriveNW::isKindOf ( const char * superClass ) const [inline, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxVehicleDrive.

References PxBase::isKindOf().

bool PxVehicleDriveNW::isValid ( ) const [private]

Test if the instanced dynamics and configuration data has legal values.

Reimplemented from PxVehicleDrive.

void PxVehicleDriveNW::setToRestState ( )

Set a vehicle to its rest state. Aside from the rigid body transform, this will set the vehicle and rigid body to the state they were in immediately after setup or create.

Note:
Calling setToRestState invalidates the cached raycast hit planes under each wheel meaning that suspension line raycasts need to be performed at least once with PxVehicleSuspensionRaycasts before calling PxVehicleUpdates.
See also:
setup, create, PxVehicleSuspensionRaycasts, PxVehicleUpdates

Reimplemented from PxVehicleDrive.

void PxVehicleDriveNW::setup | ( | PxPhysics * | physics,
 |  | PxRigidDynamic * | vehActor,
 |  | const PxVehicleWheelsSimData & | wheelsData,
 |  | const PxVehicleDriveSimDataNW & | driveData,
 |  | const PxU32 | nbWheels
 | ) |  |

Set up a vehicle using simulation data for the wheels and drive model.

Parameters:
[in] | physics | is a PxPhysics instance that is needed to create special vehicle constraints that are maintained by the vehicle.
[in] | vehActor | is a PxRigidDynamic instance that is used to represent the vehicle in the PhysX SDK.
[in] | wheelsData | describes the configuration of all suspension/tires/wheels of the vehicle. The vehicle instance takes a copy of this data.
[in] | driveData | describes the properties of the vehicle's drive model (gears/engine/clutch/differential/autobox). The vehicle instance takes a copy of this data.
[in] | nbWheels | is the number of wheels on the vehicle.
Note:
It is assumed that the first shapes of the actor are the wheel shapes, followed by the chassis shapes. To break this assumption use PxVehicleWheelsSimData::setWheelShapeMapping.
See also:
allocate, free, setToRestState, PxVehicleWheelsSimData::setWheelShapeMapping

Friends And Related Function Documentation

friend class PxVehicleUpdate [friend]

Reimplemented from PxVehicleDrive.

Member Data Documentation

PxVehicleDriveSimDataNW PxVehicleDriveNW::mDriveSimData

Simulation data that describes the configuration of the vehicle's drive model.

See also:
setup, create

The documentation for this class was generated from the following file:
  • PxVehicleDriveNW.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleDriveTankWheelOrder Struct Reference

PxVehicleDriveTankWheelOrder Struct Reference
[Vehicle]

The ordering of the wheels of a PxVehicleDriveTank. More...

#include <PxVehicleDriveTank.h>

List of all members.

Public Types

enum Enum {
eFRONT_LEFT = 0,
eFRONT_RIGHT,
e1ST_FROM_FRONT_LEFT,
e1ST_FROM_FRONT_RIGHT,
e2ND_FROM_FRONT_LEFT,
e2ND_FROM_FRONT_RIGHT,
e3RD_FROM_FRONT_LEFT,
e3RD_FROM_FRONT_RIGHT,
e4TH_FROM_FRONT_LEFT,
e4TH_FROM_FRONT_RIGHT,
e5TH_FROM_FRONT_LEFT,
e5TH_FROM_FRONT_RIGHT,
e6TH_FROM_FRONT_LEFT,
e6TH_FROM_FRONT_RIGHT,
e7TH_FROM_FRONT_LEFT,
e7TH_FROM_FRONT_RIGHT,
e8TH_FROM_FRONT_LEFT,
e8TH_FROM_FRONT_RIGHT,
e9TH_FROM_FRONT_LEFT,
e9TH_FROM_FRONT_RIGHT
}

Detailed Description

The ordering of the wheels of a PxVehicleDriveTank.

See also:
PxVehicleWheelsSimData, PxVehicleWheelsDynData

Member Enumeration Documentation

enum PxVehicleDriveTankWheelOrder::Enum

Enumerator:
eFRONT_LEFT
eFRONT_RIGHT
e1ST_FROM_FRONT_LEFT
e1ST_FROM_FRONT_RIGHT
e2ND_FROM_FRONT_LEFT
e2ND_FROM_FRONT_RIGHT
e3RD_FROM_FRONT_LEFT
e3RD_FROM_FRONT_RIGHT
e4TH_FROM_FRONT_LEFT
e4TH_FROM_FRONT_RIGHT
e5TH_FROM_FRONT_LEFT
e5TH_FROM_FRONT_RIGHT
e6TH_FROM_FRONT_LEFT
e6TH_FROM_FRONT_RIGHT
e7TH_FROM_FRONT_LEFT
e7TH_FROM_FRONT_RIGHT
e8TH_FROM_FRONT_LEFT
e8TH_FROM_FRONT_RIGHT
e9TH_FROM_FRONT_LEFT
e9TH_FROM_FRONT_RIGHT

The documentation for this struct was generated from the following file:
  • PxVehicleDriveTank.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleDriveTankControl Struct Reference

PxVehicleDriveTankControl Struct Reference
[Vehicle]

The control inputs for a PxVehicleDriveTank. More...

#include <PxVehicleDriveTank.h>

List of all members.

Public Types

enum Enum {
eANALOG_INPUT_ACCEL = 0,
eANALOG_INPUT_BRAKE_LEFT,
eANALOG_INPUT_BRAKE_RIGHT,
eANALOG_INPUT_THRUST_LEFT,
eANALOG_INPUT_THRUST_RIGHT,
eMAX_NB_DRIVETANK_ANALOG_INPUTS
}

Detailed Description

The control inputs for a PxVehicleDriveTank.

Note:
The values of eANALOG_INPUT_THRUST_LEFT and eANALOG_INPUT_THRUST_RIGHT determine how much of the total available drive torque is diverted to the left and right wheels. These entries in the enumerated list represent the state of the left and right control sticks of a tank. The total available drive torque available is controlled by eANALOG_INPUT_ACCEL, which represents the state of the acceleration pedal and controls how much torque will be applied to the engine.

To accelerate forwards eANALOG_INPUT_ACCEL must be greater than zero so that torque is applied to drive the engine, while eANALOG_INPUT_THRUST_LEFT and eANALOG_INPUT_THRUST_RIGHT must also be greater than zero to divert the available drive torque to the left and wheels. If eANALOG_INPUT_THRUST_LEFT > eANALOG_INPUT_THRUST_RIGHT the tank will turn to the right. If eANALOG_INPUT_THRUST_RIGHT > eANALOG_INPUT_THRUST_LEFT the tank will turn to the left.

See also:
PxVehicleDriveDynData::setAnalogInput, PxVehicleDriveDynData::getAnalogInput

Member Enumeration Documentation

enum PxVehicleDriveTankControl::Enum

Enumerator:
eANALOG_INPUT_ACCEL
eANALOG_INPUT_BRAKE_LEFT
eANALOG_INPUT_BRAKE_RIGHT
eANALOG_INPUT_THRUST_LEFT
eANALOG_INPUT_THRUST_RIGHT
eMAX_NB_DRIVETANK_ANALOG_INPUTS

The documentation for this struct was generated from the following file:
  • PxVehicleDriveTank.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleDriveTankControlModel Struct Reference

PxVehicleDriveTankControlModel Struct Reference
[Vehicle]

Two driving models are supported. More...

#include <PxVehicleDriveTank.h>

List of all members.

Public Types

enum Enum {
eSTANDARD = 0,
eSPECIAL
}

Detailed Description

Two driving models are supported.

Note:
If eSTANDARD is chosen the left and right wheels are always driven in the same direction. If the tank is in a forward gear the left and right wheels will all be driven forwards, while in reverse gear the left and right wheels will all be driven backwards. With eSTANDARD the legal range of left and right thrust is (0,1).

If eSPECIAL is chosen it is possible to drive the left and right wheels in different directions. With eSPECIAL the legal range of left and right thrust is (-1,1). In forward(reverse) gear negative thrust values drive the wheels backwards(forwards), while positive thrust values drives the wheels forwards(backwards).

A sharp left turn can be achieved in eSTANDARD mode by braking with the left wheels and thrusting forward with the right wheels. A smaller turning circle can theoretically be achieved in eSPECIAL mode by applying negative thrust to the left wheels and positive thrust to the right wheels.

In both modes the legal ranges of acceleration and left/right brake are all (0,1).

See also:
PxVehicleDriveTank::setDriveModel

Member Enumeration Documentation

enum PxVehicleDriveTankControlModel::Enum

Enumerator:
eSTANDARD
eSPECIAL

The documentation for this struct was generated from the following file:
  • PxVehicleDriveTank.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleDriveTank Class Reference

PxVehicleDriveTank Class Reference
[Vehicle]

Data structure with instanced dynamics data and configuration data of a tank. More...

#include <PxVehicleDriveTank.h>

Inheritance diagram for PxVehicleDriveTank:

PxVehicleDrivePxVehicleWheelsPxBase
[legend]
Collaboration diagram for PxVehicleDriveTank:

PxVehicleDrivePxVehicleWheelsPxBasePxActorPxFlags\< PxBaseFlag::Enum, PxU16 \>PxVehicleWheelsSimDataPxVehicleTireLoadFilterDataPxVehicleAntiRollBarDataPxRigidDynamicPxRigidBodyPxRigidActorPxVehicleWheelsDynDataPxVehicleDriveDynDataPxVehicleDriveSimDataPxVehicleGearsDataPxVehicleClutchDataPxVehicleEngineDataPxFixedSizeLookupTable\< eMAX_NB_ENGINE_TORQUE_CURVE_ENTRIES \>PxVehicleAutoBoxData
[legend]

List of all members.

Public Member Functions

void | free ()
Deallocate a PxVehicleDriveTank instance.
void | setup (PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxVehicleDriveSimData &driveData, const PxU32 nbDrivenWheels)
Set up a tank using simulation data for the wheels and drive model.
void | setDriveModel (const PxVehicleDriveTankControlModel::Enum driveModel)
Set the control model used by the tank.
PxVehicleDriveTankControlModel::Enum | getDriveModel () const
Return the control model used by the tank.
void | setToRestState ()
Set a vehicle to its rest state. Aside from the rigid body transform, this will set the vehicle and rigid body to the state they were in immediately after setup or create.
PxVehicleDriveTank (PxBaseFlags baseFlags)
virtual const char * | getConcreteTypeName () const
Returns string name of dynamic type.
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.

Static Public Member Functions

static PxVehicleDriveTank * | allocate (const PxU32 nbWheels)
Allocate a PxVehicleTankDrive instance for a tank with nbWheels.
static PxVehicleDriveTank * | create (PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxVehicleDriveSimData &driveData, const PxU32 nbDrivenWheels)
Allocate and set up a tank using simulation data for the wheels and drive model.
static PxVehicleDriveTank * | createObject (PxU8 *&address, PxDeserializationContext &context)
static void | getBinaryMetaData (PxOutputStream &stream)

Public Attributes

PxVehicleDriveSimData mDriveSimData
Simulation data that models vehicle components.

Protected Member Functions

PxVehicleDriveTank ()
~PxVehicleDriveTank ()

Private Member Functions

bool | isValid () const
Test if the instanced dynamics and configuration data has legal values.

Private Attributes

PxVehicleDriveTankControlModel::Enum mDriveModel
Drive model.
PxU32 | mPad [3]

Friends

class | PxVehicleUpdate

Detailed Description

Data structure with instanced dynamics data and configuration data of a tank.

Constructor & Destructor Documentation

PxVehicleDriveTank::PxVehicleDriveTank ( PxBaseFlags baseFlags ) [inline]

PxVehicleDriveTank::PxVehicleDriveTank ( ) [protected]

PxVehicleDriveTank::~PxVehicleDriveTank ( ) [inline, protected]

Member Function Documentation

static PxVehicleDriveTank* PxVehicleDriveTank::allocate ( const PxU32 nbWheels ) [static]

Allocate a PxVehicleTankDrive instance for a tank with nbWheels.

Parameters:
[in] nbWheels is the number of wheels on the vehicle.
Note:
It is assumed that all wheels are driven wheels.
Returns:
The instantiated vehicle.
See also:
free, setup

static PxVehicleDriveTank* PxVehicleDriveTank::create | ( | PxPhysics * | physics,
 |  | PxRigidDynamic * | vehActor,
 |  | const PxVehicleWheelsSimData & | wheelsData,
 |  | const PxVehicleDriveSimData & | driveData,
 |  | const PxU32 | nbDrivenWheels |
 | ) |  |  | [static]

Allocate and set up a tank using simulation data for the wheels and drive model.

Parameters:
[in] | physics | is a PxPhysics instance that is needed to create special vehicle constraints that are maintained by the tank.
[in] | vehActor | is a PxRigidDynamic instance that is used to represent the tank in the PhysX SDK.
[in] | wheelsData | describes the configuration of all suspension/tires/wheels of the tank. The tank instance takes a copy of this data.
[in] | driveData | describes the properties of the tank's drive model (gears/engine/clutch/differential/autobox). The tank instance takes a copy of this data.
[in] | nbDrivenWheels | is the number of wheels on the tank.
Note:
It is assumed that the first shapes of the actor are the wheel shapes, followed by the chassis shapes. To break this assumption use PxVehicleWheelsSimData::setWheelShapeMapping.
Returns:
The instantiated vehicle.
See also:
allocate, free, setToRestState, PxVehicleWheelsSimData::setWheelShapeMapping

static PxVehicleDriveTank* PxVehicleDriveTank::createObject | ( | PxU8 *& | address,
 |  | PxDeserializationContext & | context |
 | ) |  |  | [static]

void PxVehicleDriveTank::free ( )

Deallocate a PxVehicleDriveTank instance.

See also:
allocate

Reimplemented from PxVehicleDrive.

static void PxVehicleDriveTank::getBinaryMetaData ( PxOutputStream & stream ) [static]

Reimplemented from PxVehicleDrive.

virtual const char* PxVehicleDriveTank::getConcreteTypeName ( ) const [inline, virtual]

Returns string name of dynamic type.

Returns:
Class name of most derived type of this object.

Reimplemented from PxVehicleDrive.

PxVehicleDriveTankControlModel::Enum PxVehicleDriveTank::getDriveModel ( ) const [inline]

Return the control model used by the tank.

virtual bool PxVehicleDriveTank::isKindOf ( const char * superClass ) const [inline, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxVehicleDrive.

References PxBase::isKindOf().

bool PxVehicleDriveTank::isValid ( ) const [private]

Test if the instanced dynamics and configuration data has legal values.

Reimplemented from PxVehicleDrive.

void PxVehicleDriveTank::setDriveModel ( const PxVehicleDriveTankControlModel::Enum driveModel ) [inline]

Set the control model used by the tank.

Note:
eDRIVE_MODEL_STANDARD: turning achieved by braking on one side, accelerating on the other side.

eDRIVE_MODEL_SPECIAL: turning achieved by accelerating forwards on one side, accelerating backwards on the other side.

The default value is eDRIVE_MODEL_STANDARD

void PxVehicleDriveTank::setToRestState ( )

Set a vehicle to its rest state. Aside from the rigid body transform, this will set the vehicle and rigid body to the state they were in immediately after setup or create.

Note:
Calling setToRestState invalidates the cached raycast hit planes under each wheel meaning that suspension line raycasts need to be performed at least once with PxVehicleSuspensionRaycasts before calling PxVehicleUpdates.
See also:
setup, create, PxVehicleSuspensionRaycasts, PxVehicleUpdates

Reimplemented from PxVehicleDrive.

void PxVehicleDriveTank::setup | ( | PxPhysics * | physics,
 |  | PxRigidDynamic * | vehActor,
 |  | const PxVehicleWheelsSimData & | wheelsData,
 |  | const PxVehicleDriveSimData & | driveData,
 |  | const PxU32 | nbDrivenWheels
 | ) |  |

Set up a tank using simulation data for the wheels and drive model.

Parameters:
[in] | physics | is a PxPhysics instance that is needed to create special vehicle constraints that are maintained by the vehicle.
[in] | vehActor | is a PxRigidDynamic instance that is used to represent the tank in the PhysX SDK.
[in] | wheelsData | describes the configuration of all suspension/tires/wheels of the tank. The tank instance takes a copy of this data.
[in] | driveData | describes the properties of the tank's drive model (gears/engine/clutch/autobox). The tank instance takes a copy of this data.
[in] | nbDrivenWheels | is the number of wheels on the tank.
Note:
It is assumed that the first shapes of the actor are the wheel shapes, followed by the chassis shapes. To break this assumption use PxVehicleWheelsSimData::setWheelShapeMapping.
See also:
allocate, free, setToRestState, PxVehicleWheelsSimData::setWheelShapeMapping
Note:
nbDrivenWheels must be an even number

The wheels must be arranged according to PxVehicleDriveTankWheelOrder; that is, the even wheels are on the left side of the tank and the odd wheels are on the right side of the tank.

Friends And Related Function Documentation

friend class PxVehicleUpdate [friend]

Reimplemented from PxVehicleDrive.

Member Data Documentation

PxVehicleDriveTankControlModel::Enum PxVehicleDriveTank::mDriveModel [private]

Drive model.

See also:
setDriveModel, getDriveModel, PxVehicleDriveTankControlModel

PxVehicleDriveSimData PxVehicleDriveTank::mDriveSimData

Simulation data that models vehicle components.

See also:
setup, create

PxU32 PxVehicleDriveTank::mPad[3] [private]

The documentation for this class was generated from the following file:
  • PxVehicleDriveTank.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleNoDrive Class Reference

PxVehicleNoDrive Class Reference
[Vehicle]

Data structure with instanced dynamics data and configuration data of a vehicle with no drive model. More...

#include <PxVehicleNoDrive.h>

Inheritance diagram for PxVehicleNoDrive:

PxVehicleWheelsPxBase
[legend]
Collaboration diagram for PxVehicleNoDrive:

PxVehicleWheelsPxBasePxActorPxFlags\< PxBaseFlag::Enum, PxU16 \>PxVehicleWheelsSimDataPxVehicleTireLoadFilterDataPxVehicleAntiRollBarDataPxRigidDynamicPxRigidBodyPxRigidActorPxVehicleWheelsDynData
[legend]

List of all members.

Public Member Functions

void | free ()
Deallocate a PxVehicleNoDrive instance.
void | setup (PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData)
Set up a vehicle using simulation data for the wheels.
void | setToRestState ()
Set a vehicle to its rest state. Aside from the rigid body transform, this will set the vehicle and rigid body to the state they were in immediately after setup or create.
void | setBrakeTorque (const PxU32 id, const PxReal brakeTorque)
Set the brake torque to be applied to a specific wheel.
void | setDriveTorque (const PxU32 id, const PxReal driveTorque)
Set the drive torque to be applied to a specific wheel.
void | setSteerAngle (const PxU32 id, const PxReal steerAngle)
Set the steer angle to be applied to a specific wheel.
PxReal | getBrakeTorque (const PxU32 id) const
Get the brake torque that has been applied to a specific wheel.
PxReal | getDriveTorque (const PxU32 id) const
Get the drive torque that has been applied to a specific wheel.
PxReal | getSteerAngle (const PxU32 id) const
Get the steer angle that has been applied to a specific wheel.
PxVehicleNoDrive (PxBaseFlags baseFlags)
virtual void | exportExtraData (PxSerializationContext &)
void | importExtraData (PxDeserializationContext &)
virtual const char * | getConcreteTypeName () const
Returns string name of dynamic type.
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.
PxU32 | getNbSteerAngle () const
PxU32 | getNbDriveTorque () const
PxU32 | getNbBrakeTorque () const

Static Public Member Functions

static PxVehicleNoDrive * | allocate (const PxU32 nbWheels)
Allocate a PxVehicleNoDrive instance for a vehicle without drive model and with nbWheels.
static PxVehicleNoDrive * | create (PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData)
Allocate and set up a vehicle using simulation data for the wheels.
static PxVehicleNoDrive * | createObject (PxU8 *&address, PxDeserializationContext &context)
static void | getBinaryMetaData (PxOutputStream &stream)

Protected Member Functions

PxVehicleNoDrive ()
~PxVehicleNoDrive ()

Private Member Functions

bool | isValid () const
Test if the instanced dynamics and configuration data has legal values.

Private Attributes

PxReal * | mSteerAngles
PxReal * | mDriveTorques
PxReal * | mBrakeTorques
PxU32 | mPad [1]

Friends

class | PxVehicleUpdate

Detailed Description

Data structure with instanced dynamics data and configuration data of a vehicle with no drive model.

Constructor & Destructor Documentation

PxVehicleNoDrive::PxVehicleNoDrive ( PxBaseFlags baseFlags ) [inline]

PxVehicleNoDrive::PxVehicleNoDrive ( ) [protected]

PxVehicleNoDrive::~PxVehicleNoDrive ( ) [inline, protected]

Member Function Documentation

static PxVehicleNoDrive* PxVehicleNoDrive::allocate ( const PxU32 nbWheels ) [static]

Allocate a PxVehicleNoDrive instance for a vehicle without drive model and with nbWheels.

Parameters:
[in] nbWheels is the number of wheels on the vehicle.
Returns:
The instantiated vehicle.
See also:
free, setup

static PxVehicleNoDrive* PxVehicleNoDrive::create | ( | PxPhysics * | physics,
 |  | PxRigidDynamic * | vehActor,
 |  | const PxVehicleWheelsSimData & | wheelsData |
 | ) |  |  | [static]

Allocate and set up a vehicle using simulation data for the wheels.

Parameters:
[in] | physics | is a PxPhysics instance that is needed to create special vehicle constraints that are maintained by the vehicle.
[in] | vehActor | is a PxRigidDynamic instance that is used to represent the vehicle in the PhysX SDK.
[in] | wheelsData | describes the configuration of all suspension/tires/wheels of the vehicle. The vehicle instance takes a copy of this data.
Note:
It is assumed that the first shapes of the actor are the wheel shapes, followed by the chassis shapes. To break this assumption use PxVehicleWheels::setWheelShapeMapping.
Returns:
The instantiated vehicle.
See also:
allocate, free, setToRestState, PxVehicleWheels::setWheelShapeMapping

static PxVehicleNoDrive* PxVehicleNoDrive::createObject | ( | PxU8 *& | address,
 |  | PxDeserializationContext & | context |
 | ) |  |  | [static]

virtual void PxVehicleNoDrive::exportExtraData ( PxSerializationContext & ) [virtual]

Reimplemented from PxVehicleWheels.

void PxVehicleNoDrive::free ( )

Deallocate a PxVehicleNoDrive instance.

See also:
allocate

Reimplemented from PxVehicleWheels.

static void PxVehicleNoDrive::getBinaryMetaData ( PxOutputStream & stream ) [static]

Reimplemented from PxVehicleWheels.

PxReal PxVehicleNoDrive::getBrakeTorque ( const PxU32 id ) const

Get the brake torque that has been applied to a specific wheel.

Parameters:
[in] id is the wheel being queried for its brake torque
Returns:
The brake torque applied to the queried wheel.

virtual const char* PxVehicleNoDrive::getConcreteTypeName ( ) const [inline, virtual]

Returns string name of dynamic type.

Returns:
Class name of most derived type of this object.

Reimplemented from PxVehicleWheels.

PxReal PxVehicleNoDrive::getDriveTorque ( const PxU32 id ) const

Get the drive torque that has been applied to a specific wheel.

Parameters:
[in] id is the wheel being queried for its drive torque
Returns:
The drive torque applied to the queried wheel.

PxU32 PxVehicleNoDrive::getNbBrakeTorque ( ) const [inline]

PxU32 PxVehicleNoDrive::getNbDriveTorque ( ) const [inline]

PxU32 PxVehicleNoDrive::getNbSteerAngle ( ) const [inline]

PxReal PxVehicleNoDrive::getSteerAngle ( const PxU32 id ) const

Get the steer angle that has been applied to a specific wheel.

Parameters:
[in] id is the wheel being queried for its steer angle
Returns:
The steer angle (in radians) applied to the queried wheel.

void PxVehicleNoDrive::importExtraData ( PxDeserializationContext & )

Reimplemented from PxVehicleWheels.

virtual bool PxVehicleNoDrive::isKindOf ( const char * superClass ) const [inline, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxVehicleWheels.

References PxBase::isKindOf().

bool PxVehicleNoDrive::isValid ( ) const [private]

Test if the instanced dynamics and configuration data has legal values.

Reimplemented from PxVehicleWheels.

void PxVehicleNoDrive::setBrakeTorque | ( | const PxU32 | id,
 |  | const PxReal | brakeTorque
 | ) |  |

Set the brake torque to be applied to a specific wheel.

Note:
The applied brakeTorque persists until the next call to setBrakeTorque

The brake torque is specified in Newton metres.

Parameters:
[in] | id | is the wheel being given the brake torque
[in] | brakeTorque | is the value of the brake torque

void PxVehicleNoDrive::setDriveTorque | ( | const PxU32 | id,
 |  | const PxReal | driveTorque
 | ) |  |

Set the drive torque to be applied to a specific wheel.

Note:
The applied driveTorque persists until the next call to setDriveTorque

The brake torque is specified in Newton metres.

Parameters:
[in] | id | is the wheel being given the brake torque
[in] | driveTorque | is the value of the brake torque

void PxVehicleNoDrive::setSteerAngle | ( | const PxU32 | id,
 |  | const PxReal | steerAngle
 | ) |  |

Set the steer angle to be applied to a specific wheel.

Note:
The applied steerAngle persists until the next call to setSteerAngle

The steer angle is specified in radians.

Parameters:
[in] | id | is the wheel being given the steer angle
[in] | steerAngle | is the value of the steer angle in radians.

void PxVehicleNoDrive::setToRestState ( )

Set a vehicle to its rest state. Aside from the rigid body transform, this will set the vehicle and rigid body to the state they were in immediately after setup or create.

Note:
Calling setToRestState invalidates the cached raycast hit planes under each wheel meaning that suspension line raycasts need to be performed at least once with PxVehicleSuspensionRaycasts before calling PxVehicleUpdates.
See also:
setup, create, PxVehicleSuspensionRaycasts, PxVehicleUpdates

Reimplemented from PxVehicleWheels.

void PxVehicleNoDrive::setup | ( | PxPhysics * | physics,
 |  | PxRigidDynamic * | vehActor,
 |  | const PxVehicleWheelsSimData & | wheelsData
 | ) |  |

Set up a vehicle using simulation data for the wheels.

Parameters:
[in] | physics | is a PxPhysics instance that is needed to create special vehicle constraints that are maintained by the vehicle.
[in] | vehActor | is a PxRigidDynamic instance that is used to represent the vehicle in the PhysX SDK.
[in] | wheelsData | describes the configuration of all suspension/tires/wheels of the vehicle. The vehicle instance takes a copy of this data.
Note:
It is assumed that the first shapes of the actor are the wheel shapes, followed by the chassis shapes. To break this assumption use PxVehicleWheels::setWheelShapeMapping.
See also:
allocate, free, setToRestState, PxVehicleWheels::setWheelShapeMapping

Friends And Related Function Documentation

friend class PxVehicleUpdate [friend]

Reimplemented from PxVehicleWheels.

Member Data Documentation

PxReal* PxVehicleNoDrive::mBrakeTorques [private]

PxReal* PxVehicleNoDrive::mDriveTorques [private]

PxU32 PxVehicleNoDrive::mPad[1] [private]

PxReal* PxVehicleNoDrive::mSteerAngles [private]

The documentation for this class was generated from the following file:
  • PxVehicleNoDrive.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleTypes Struct Reference

PxVehicleTypes Struct Reference
[Vehicle]

#include <PxVehicleSDK.h>

List of all members.

Public Types

enum Enum {
eDRIVE4W = 0,
eDRIVENW,
eDRIVETANK,
eNODRIVE,
eUSER1,
eUSER2,
eUSER3,
eMAX_NB_VEHICLE_TYPES
}

Detailed Description

See also:
PxVehicleDrive4W, PxVehicleDriveTank, PxVehicleDriveNW, PxVehicleNoDrive, PxVehicleWheels::getVehicleType

Member Enumeration Documentation

enum PxVehicleTypes::Enum

Enumerator:
eDRIVE4W
eDRIVENW
eDRIVETANK
eNODRIVE
eUSER1
eUSER2
eUSER3
eMAX_NB_VEHICLE_TYPES

The documentation for this struct was generated from the following file:
  • PxVehicleSDK.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleConcreteType Struct Reference

PxVehicleConcreteType Struct Reference
[Vehicle]

An enumeration of concrete vehicle classes inheriting from PxBase. More...

#include <PxVehicleSDK.h>

List of all members.

Public Types

enum Enum {
eVehicleNoDrive = PxConcreteType::eFIRST_VEHICLE_EXTENSION,
eVehicleDrive4W,
eVehicleDriveNW,
eVehicleDriveTank
}

Detailed Description

An enumeration of concrete vehicle classes inheriting from PxBase.

Note:
This enum can be used to identify a vehicle object stored in a PxCollection.
See also:
PxBase, PxTypeInfo, PxBase::getConcreteType

Member Enumeration Documentation

enum PxVehicleConcreteType::Enum

Enumerator:
eVehicleNoDrive
eVehicleDrive4W
eVehicleDriveNW
eVehicleDriveTank

The documentation for this struct was generated from the following file:
  • PxVehicleSDK.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleUpdateMode Struct Reference

PxVehicleUpdateMode Struct Reference
[Vehicle]

#include <PxVehicleSDK.h>

List of all members.

Public Types

enum Enum {
eVELOCITY_CHANGE,
eACCELERATION
}

Detailed Description

See also:
PxVehicleSetUpdateMode

Member Enumeration Documentation

enum PxVehicleUpdateMode::Enum

Enumerator:
eVELOCITY_CHANGE
eACCELERATION

The documentation for this struct was generated from the following file:
  • PxVehicleSDK.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleDrivableSurfaceType Struct Reference

PxVehicleDrivableSurfaceType Struct Reference
[Vehicle]

Driving surface type. Each PxMaterial is associated with a corresponding PxVehicleDrivableSurfaceType. More...

#include <PxVehicleTireFriction.h>

List of all members.

Public Types

enum { eSURFACE_TYPE_UNKNOWN = 0xffffffff }

Public Attributes

PxU32 mType

Detailed Description

Driving surface type. Each PxMaterial is associated with a corresponding PxVehicleDrivableSurfaceType.

See also:
PxMaterial, PxVehicleDrivableSurfaceToTireFrictionPairs

Member Enumeration Documentation

anonymous enum

Enumerator:
eSURFACE_TYPE_UNKNOWN

Member Data Documentation

PxU32 PxVehicleDrivableSurfaceType::mType

The documentation for this struct was generated from the following file:
  • PxVehicleTireFriction.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleDrivableSurfaceToTireFrictionPairs Class Reference

PxVehicleDrivableSurfaceToTireFrictionPairs Class Reference
[Vehicle]

Friction for each combination of driving surface type and tire type. More...

#include <PxVehicleTireFriction.h>

Collaboration diagram for PxVehicleDrivableSurfaceToTireFrictionPairs:

PxMaterialPxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>PxVehicleDrivableSurfaceType
[legend]

List of all members.

Public Types

enum | { eMAX_NB_SURFACE_TYPES = 256 }

Public Member Functions

void | setup (const PxU32 nbTireTypes, const PxU32 nbSurfaceTypes, const PxMaterial **drivableSurfaceMaterials, const PxVehicleDrivableSurfaceType *drivableSurfaceTypes)
Set up a PxVehicleDrivableSurfaceToTireFrictionPairs instance for combinations of nbTireTypes tire types and nbSurfaceTypes surface types.
void | release ()
Deallocate a PxVehicleDrivableSurfaceToTireFrictionPairs instance.
void | setTypePairFriction (const PxU32 surfaceType, const PxU32 tireType, const PxReal value)
Set the friction for a specified pair of tire type and drivable surface type.
PxReal | getTypePairFriction (const PxU32 surfaceType, const PxU32 tireType) const
Return the friction for a specified combination of surface type and tire type.
PxU32 | getMaxNbSurfaceTypes () const
Return the maximum number of surface types.
PxU32 | getMaxNbTireTypes () const
Return the maximum number of tire types.

Static Public Member Functions

static
PxVehicleDrivableSurfaceToTireFrictionPairs * 		allocate (const PxU32 maxNbTireTypes, const PxU32 maxNbSurfaceTypes)
Allocate the memory for a PxVehicleDrivableSurfaceToTireFrictionPairs instance that can hold data for combinations of tire type and surface type with up to maxNbTireTypes types of tire and maxNbSurfaceTypes types of surface.

Private Member Functions

PxVehicleDrivableSurfaceToTireFrictionPairs ()
~PxVehicleDrivableSurfaceToTireFrictionPairs ()

Private Attributes

PxReal * | mPairs
Ptr to base address of a 2d PxReal array with dimensions [mNbSurfaceTypes][mNbTireTypes].
const PxMaterial ** | mDrivableSurfaceMaterials
Ptr to 1d array of material ptrs that is of length mNbSurfaceTypes.
PxVehicleDrivableSurfaceType * mDrivableSurfaceTypes
Ptr to 1d array of PxVehicleDrivableSurfaceType that is of length mNbSurfaceTypes.
PxU32 mNbSurfaceTypes
Number of different driving surface types.
PxU32 mMaxNbSurfaceTypes
Maximum number of different driving surface types.
PxU32 mNbTireTypes
Number of different tire types.
PxU32 mMaxNbTireTypes
Maximum number of different tire types.
PxU32 | mPad [1]

Friends

class | VehicleSurfaceTypeHashTable

Detailed Description

Friction for each combination of driving surface type and tire type.

See also:
PxVehicleDrivableSurfaceType, PxVehicleTireData::mType

Member Enumeration Documentation

anonymous enum

Enumerator:
eMAX_NB_SURFACE_TYPES

Constructor & Destructor Documentation

PxVehicleDrivableSurfaceToTireFrictionPairs::PxVehicleDrivableSurfaceToTireFrictionPairs ( ) [inline, private]

PxVehicleDrivableSurfaceToTireFrictionPairs::~PxVehicleDrivableSurfaceToTireFrictionPairs ( ) [inline, private]

Member Function Documentation

static PxVehicleDrivableSurfaceToTireFrictionPairs* PxVehicleDrivableSurfaceToTireFrictionPairs::allocate | ( | const PxU32 | maxNbTireTypes,
 |  | const PxU32 | maxNbSurfaceTypes |
 | ) |  |  | [static]

Allocate the memory for a PxVehicleDrivableSurfaceToTireFrictionPairs instance that can hold data for combinations of tire type and surface type with up to maxNbTireTypes types of tire and maxNbSurfaceTypes types of surface.

Parameters:
[in] | maxNbTireTypes | is the maximum number of allowed tire types.
[in] | maxNbSurfaceTypes | is the maximum number of allowed surface types. Must be less than or equal to eMAX_NB_SURFACE_TYPES
Returns:
a PxVehicleDrivableSurfaceToTireFrictionPairs instance that can be reused later with new type and friction data.
See also:
setup

PxU32 PxVehicleDrivableSurfaceToTireFrictionPairs::getMaxNbSurfaceTypes ( ) const [inline]

Return the maximum number of surface types.

Returns:
The maximum number of surface types
See also:
allocate

PxU32 PxVehicleDrivableSurfaceToTireFrictionPairs::getMaxNbTireTypes ( ) const [inline]

Return the maximum number of tire types.

Returns:
The maximum number of tire types
See also:
allocate

PxReal PxVehicleDrivableSurfaceToTireFrictionPairs::getTypePairFriction | ( | const PxU32 | surfaceType,
 |  | const PxU32 | tireType |
 | ) |  |  | const

Return the friction for a specified combination of surface type and tire type.

Returns:
The friction for a specified combination of surface type and tire type.
Note:
The final friction value used by the tire model is the value returned by getTypePairFriction multiplied by the value computed from PxVehicleTireData::mFrictionVsSlipGraph
See also:
PxVehicleTireData::mFrictionVsSlipGraph

void PxVehicleDrivableSurfaceToTireFrictionPairs::release ( )

Deallocate a PxVehicleDrivableSurfaceToTireFrictionPairs instance.

void PxVehicleDrivableSurfaceToTireFrictionPairs::setTypePairFriction | ( | const PxU32 | surfaceType,
 |  | const PxU32 | tireType,
 |  | const PxReal | value
 | ) |  |

Set the friction for a specified pair of tire type and drivable surface type.

Parameters:
[in] | surfaceType | describes the surface type
[in] | tireType | describes the tire type.
[in] | value | describes the friction coefficient for the combination of surface type and tire type.

void PxVehicleDrivableSurfaceToTireFrictionPairs::setup | ( | const PxU32 | nbTireTypes,
 |  | const PxU32 | nbSurfaceTypes,
 |  | const PxMaterial ** | drivableSurfaceMaterials,
 |  | const PxVehicleDrivableSurfaceType * | drivableSurfaceTypes
 | ) |  |

Set up a PxVehicleDrivableSurfaceToTireFrictionPairs instance for combinations of nbTireTypes tire types and nbSurfaceTypes surface types.

Parameters:
[in] | nbTireTypes | is the number of different types of tire. This value must be less than or equal to maxNbTireTypes specified in allocate().
[in] | nbSurfaceTypes | is the number of different types of surface. This value must be less than or equal to maxNbSurfaceTypes specified in allocate().
[in] | drivableSurfaceMaterials | is an array of PxMaterial pointers of length nbSurfaceTypes.
[in] | drivableSurfaceTypes | is an array of PxVehicleDrivableSurfaceType instances of length nbSurfaceTypes.
Note:
If the pointer to the PxMaterial that touches the tire is found in drivableSurfaceMaterials[x] then the surface type is drivableSurfaceTypes[x].mType and the friction is the value that is set with setTypePairFriction(drivableSurfaceTypes[x].mType, PxVehicleTireData::mType, frictionValue).

A friction value of 1.0 will be assigned as default to each combination of tire and surface type. To override this use setTypePairFriction.

See also:
release, setTypePairFriction, getTypePairFriction, PxVehicleTireData.mType

Friends And Related Function Documentation

friend class VehicleSurfaceTypeHashTable [friend]

Member Data Documentation

const PxMaterial** PxVehicleDrivableSurfaceToTireFrictionPairs::mDrivableSurfaceMaterials [private]

Ptr to 1d array of material ptrs that is of length mNbSurfaceTypes.

Note:
If the PxMaterial that touches the tire corresponds to mDrivableSurfaceMaterials[x] then the drivable surface type is mDrivableSurfaceTypes[x].mType and the friction for that contact is mPairs[mDrivableSurfaceTypes[x].mType][y], assuming a tire type y.

If the PxMaterial that touches the tire is not found in mDrivableSurfaceMaterials then the friction is mPairs[0][y], assuming a tire type y.

PxVehicleDrivableSurfaceType* PxVehicleDrivableSurfaceToTireFrictionPairs::mDrivableSurfaceTypes [private]

Ptr to 1d array of PxVehicleDrivableSurfaceType that is of length mNbSurfaceTypes.

Note:
If the PxMaterial that touches the tire is found in mDrivableSurfaceMaterials[x] then the drivable surface type is mDrivableSurfaceTypes[x].mType and the friction for that contact is mPairs[mDrivableSurfaceTypes[x].mType][y], assuming a tire type y.

If the PxMaterial that touches the tire is not found in mDrivableSurfaceMaterials then the friction is mPairs[0][y], assuming a tire type y.

PxU32 PxVehicleDrivableSurfaceToTireFrictionPairs::mMaxNbSurfaceTypes [private]

Maximum number of different driving surface types.

Note:
mMaxNbSurfaceTypes must be less than or equal to eMAX_NB_SURFACE_TYPES.

PxU32 PxVehicleDrivableSurfaceToTireFrictionPairs::mMaxNbTireTypes [private]

Maximum number of different tire types.

Note:
Tire types stored in PxVehicleTireData.mType

PxU32 PxVehicleDrivableSurfaceToTireFrictionPairs::mNbSurfaceTypes [private]

Number of different driving surface types.

Note:
mDrivableSurfaceMaterials and mDrivableSurfaceTypes are both 1d arrays of length mMaxNbSurfaceTypes.

mNbSurfaceTypes must be less than or equal to mMaxNbSurfaceTypes.

PxU32 PxVehicleDrivableSurfaceToTireFrictionPairs::mNbTireTypes [private]

Number of different tire types.

Note:
Tire types stored in PxVehicleTireData.mType

PxU32 PxVehicleDrivableSurfaceToTireFrictionPairs::mPad[1] [private]

PxReal* PxVehicleDrivableSurfaceToTireFrictionPairs::mPairs [private]

Ptr to base address of a 2d PxReal array with dimensions [mNbSurfaceTypes][mNbTireTypes].

Note:
Each element of the array describes the maximum friction provided by a surface type-tire type combination. eg the friction corresponding to a combination of surface type x and tire type y is mPairs[x][y]

The documentation for this class was generated from the following file:
  • PxVehicleTireFriction.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxWheelQueryResult Struct Reference

PxWheelQueryResult Struct Reference
[Vehicle]

Structure containing data describing the non-persistent state of each suspension/wheel/tire unit. This structure is filled out in PxVehicleUpdates and PxVehicleUpdateSingleVehicleAndStoreTelemetryData. More...

#include <PxVehicleUpdate.h>

Collaboration diagram for PxWheelQueryResult:

PxMaterialPxBasePxActorPxShapePxFlags\< PxBaseFlag::Enum, PxU16 \>PxVec3PxTransformPxQuat
[legend]

List of all members.

Public Member Functions

PxWheelQueryResult ()

Public Attributes

PxVec3 suspLineStart
Start point of suspension line raycast/sweep used in the raycast/sweep completed immediately before PxVehicleUpdates.
PxVec3 suspLineDir
Directions of suspension line raycast/sweep used in the raycast/sweep completed immediately before PxVehicleUpdates.
PxReal | suspLineLength
Lengths of suspension line raycast/sweep used in raycast/sweep completed immediately before PxVehicleUpdates.
bool | isInAir
If suspension travel limits forbid the wheel from touching the drivable surface then isInAir is true.
PxActor * tireContactActor
PxActor instance of the driving surface under the corresponding vehicle wheel.
PxShape * tireContactShape
PxShape instance of the driving surface under the corresponding vehicle wheel.
const PxMaterial * | tireSurfaceMaterial
PxMaterial instance of the driving surface under the corresponding vehicle wheel.
PxU32 tireSurfaceType
Surface type integer that corresponds to the mapping between tireSurfaceMaterial and integer as described in PxVehicleDrivableSurfaceToTireFrictionPairs.
PxVec3 tireContactPoint
Point on the drivable surface hit by the most recent suspension raycast or sweep.
PxVec3 tireContactNormal
Normal on the drivable surface at the hit point of the most recent suspension raycast or sweep.
PxReal | tireFriction
Friction experienced by the tire for the combination of tire type and surface type after accounting for the friction vs slip graph.
PxReal | suspJounce
Compression of the suspension spring.
PxReal | suspSpringForce
Magnitude of force applied by the suspension spring along the direction of suspension travel.
PxVec3 tireLongitudinalDir
Forward direction of the wheel/tire accounting for steer/toe/camber angle projected on to the contact plane of the drivable surface.
PxVec3 tireLateralDir
Lateral direction of the wheel/tire accounting for steer/toe/camber angle projected on to the contact plan of the drivable surface.
PxReal | longitudinalSlip
Longitudinal slip of the tire.
PxReal | lateralSlip
Lateral slip of the tire.
PxReal | steerAngle
Steer angle of the wheel about the "up" vector accounting for input steer and toe and, if applicable, Ackermann steer correction.
PxTransform localPose
Local pose of the wheel.

Detailed Description

Structure containing data describing the non-persistent state of each suspension/wheel/tire unit. This structure is filled out in PxVehicleUpdates and PxVehicleUpdateSingleVehicleAndStoreTelemetryData.

See also:
PxVehicleUpdates, PxVehicleUpdateSingleVehicleAndStoreTelemetryData

Constructor & Destructor Documentation

PxWheelQueryResult::PxWheelQueryResult ( ) [inline]

References PxVehicleDrivableSurfaceType::eSURFACE_TYPE_UNKNOWN, PxIdentity, and PxMemZero().

Member Data Documentation

bool PxWheelQueryResult::isInAir

If suspension travel limits forbid the wheel from touching the drivable surface then isInAir is true.

Note:
If the wheel can be placed on the contact plane of the most recent suspension line raycast/sweep then isInAir is false.

If no raycast/sweep for the corresponding suspension was performed immediately prior to PxVehicleUpdates then isInAir is computed using the contact plane that was hit by the most recent suspension line raycast/sweep.

PxReal PxWheelQueryResult::lateralSlip

Lateral slip of the tire.

Note:
If suspension travel limits forbid the wheel from touching the drivable surface then lateralSlip is 0.0

The lateral slip angle is approximately PxAtan(vx / PxAbs(vz)) where vx and vz are the components of rigid body velocity at the wheel base along the wheel's lateral and longitudinal directions, respectively.

If no raycast or sweep for the corresponding suspension was performed immediately prior to PxVehicleUpdates then the tire lateral slip is computed using the contact plane that was hit by the most recent suspension line raycast or sweep.

PxTransform PxWheelQueryResult::localPose

Local pose of the wheel.

PxReal PxWheelQueryResult::longitudinalSlip

Longitudinal slip of the tire.

Note:
If suspension travel limits forbid the wheel from touching the drivable surface then longitudinalSlip is 0.0

The longitudinal slip is approximately (w*r - vz) / PxAbs(vz) where w is the angular speed of the wheel, r is the radius of the wheel, and vz component of rigid body velocity computed at the wheel base along the longitudinal direction of the tire.

If no raycast or sweep for the corresponding suspension was performed immediately prior to PxVehicleUpdates then the tire longitudinal slip is computed using the contact plane that was hit by the most recent suspension line raycast or sweep.

PxReal PxWheelQueryResult::steerAngle

Steer angle of the wheel about the "up" vector accounting for input steer and toe and, if applicable, Ackermann steer correction.

See also:
PxVehicleWheelData::mToeAngle

PxReal PxWheelQueryResult::suspJounce

Compression of the suspension spring.

Note:
If suspension travel limits forbid the wheel from touching the drivable surface then the jounce is -PxVehicleSuspensionData.mMaxDroop The jounce can never exceed PxVehicleSuspensionData.mMaxCompression. Positive values result when the suspension is compressed from the rest position, while negative values mean the suspension is elongated from the rest position.

If no raycast or sweep for the corresponding suspension was performed immediately prior to PxVehicleUpdates then the suspension compression is computed using the contact plane that was hit by the most recent suspension line raycast or sweep.

PxVec3 PxWheelQueryResult::suspLineDir

Directions of suspension line raycast/sweep used in the raycast/sweep completed immediately before PxVehicleUpdates.

Note:
If no raycast/sweep for the corresponding suspension was performed immediately prior to PxVehicleUpdates then (0,0,0) is stored.
See also:
PxVehicleSuspensionRaycasts, PxVehicleSuspensionRaycasts

PxReal PxWheelQueryResult::suspLineLength

Lengths of suspension line raycast/sweep used in raycast/sweep completed immediately before PxVehicleUpdates.

Note:
If no raycast/sweep for the corresponding suspension was performed immediately prior to PxVehicleUpdates then 0 is stored.
See also:
PxVehicleSuspensionRaycasts, PxVehicleSuspensionRaycasts

PxVec3 PxWheelQueryResult::suspLineStart

Start point of suspension line raycast/sweep used in the raycast/sweep completed immediately before PxVehicleUpdates.

Note:
If no raycast/sweep for the corresponding suspension was performed immediately prior to PxVehicleUpdates then (0,0,0) is stored.
See also:
PxVehicleSuspensionRaycasts, PxVehicleSuspensionRaycasts

PxReal PxWheelQueryResult::suspSpringForce

Magnitude of force applied by the suspension spring along the direction of suspension travel.

Note:
If suspension travel limits forbid the wheel from touching the drivable surface then the force is 0

If no raycast or sweep for the corresponding suspension was performed immediately prior to PxVehicleUpdates then the suspension spring force is computed using the contact plane that was hit by the most recent suspension line raycast or sweep.

See also:
PxVehicleWheelsSimData::getSuspTravelDirection

PxActor* PxWheelQueryResult::tireContactActor

PxActor instance of the driving surface under the corresponding vehicle wheel.

Note:
If suspension travel limits forbid the wheel from touching the drivable surface then tireContactActor is NULL.

If no raycast/sweep for the corresponding suspension was performed immediately prior to PxVehicleUpdates then NULL is stored.

PxVec3 PxWheelQueryResult::tireContactNormal

Normal on the drivable surface at the hit point of the most recent suspension raycast or sweep.

Note:
If suspension travel limits forbid the wheel from touching the drivable surface then the contact normal is (0,0,0).

If no raycast or sweep for the corresponding suspension was performed immediately prior to PxVehicleUpdates then (0,0,0) is stored.

PxVec3 PxWheelQueryResult::tireContactPoint

Point on the drivable surface hit by the most recent suspension raycast or sweep.

Note:
If suspension travel limits forbid the wheel from touching the drivable surface then the contact point is (0,0,0).

If no raycast or sweep for the corresponding suspension was performed immediately prior to PxVehicleUpdates then (0,0,0) is stored.

PxShape* PxWheelQueryResult::tireContactShape

PxShape instance of the driving surface under the corresponding vehicle wheel.

Note:
If suspension travel limits forbid the wheel from touching the drivable surface then tireContactShape is NULL.

If no raycast/sweep for the corresponding suspension was performed immediately prior to PxVehicleUpdates then NULL is stored.

PxReal PxWheelQueryResult::tireFriction

Friction experienced by the tire for the combination of tire type and surface type after accounting for the friction vs slip graph.

Note:
If suspension travel limits forbid the wheel from touching the drivable surface then the tire friction is 0.

If no raycast or sweep for the corresponding suspension was performed immediately prior to PxVehicleUpdates then the stored tire friction is the value computed in PxVehicleUpdates that immediately followed the last raycast or sweep.

See also:
PxVehicleDrivableSurfaceToTireFrictionPairs, PxVehicleTireData

PxVec3 PxWheelQueryResult::tireLateralDir

Lateral direction of the wheel/tire accounting for steer/toe/camber angle projected on to the contact plan of the drivable surface.

Note:
If suspension travel limits forbid the wheel from touching the drivable surface then tireLateralDir is (0,0,0)

If no raycast or sweep for the corresponding suspension was performed immediately prior to PxVehicleUpdates then the tire lateral direction is computed using the contact plane that was hit by the most recent suspension line raycast or sweep.

PxVec3 PxWheelQueryResult::tireLongitudinalDir

Forward direction of the wheel/tire accounting for steer/toe/camber angle projected on to the contact plane of the drivable surface.

Note:
If suspension travel limits forbid the wheel from touching the drivable surface then tireLongitudinalDir is (0,0,0)

If no raycast or sweep for the corresponding suspension was performed immediately prior to PxVehicleUpdates then the tire longitudinal direction is computed using the contact plane that was hit by the most recent suspension line raycast or sweep.

const PxMaterial* PxWheelQueryResult::tireSurfaceMaterial

PxMaterial instance of the driving surface under the corresponding vehicle wheel.

Note:
If suspension travel limits forbid the wheel from touching the drivable surface then tireSurfaceMaterial is NULL.

If no raycast/sweep for the corresponding suspension was performed immediately prior to PxVehicleUpdates then NULL is stored.

PxU32 PxWheelQueryResult::tireSurfaceType

Surface type integer that corresponds to the mapping between tireSurfaceMaterial and integer as described in PxVehicleDrivableSurfaceToTireFrictionPairs.

Note:
If suspension travel limits forbid the wheel from touching the drivable surface then tireSurfaceType is PxVehicleDrivableSurfaceType::eSURFACE_TYPE_UNKNOWN.

If no raycast/sweep for the corresponding suspension was performed immediately prior to PxVehicleUpdates then PxVehicleDrivableSurfaceType::eSURFACE_TYPE_UNKNOWN is stored.

See also:
PxVehicleDrivableSurfaceToTireFrictionPairs

The documentation for this struct was generated from the following file:
  • PxVehicleUpdate.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleWheelQueryResult Struct Reference

PxVehicleWheelQueryResult Struct Reference
[Vehicle]

#include <PxVehicleUpdate.h>

Collaboration diagram for PxVehicleWheelQueryResult:

PxWheelQueryResultPxMaterialPxBasePxActorPxShapePxFlags\< PxBaseFlag::Enum, PxU16 \>PxVec3PxTransformPxQuat
[legend]

List of all members.

Public Attributes

PxWheelQueryResult * wheelQueryResults
Pointer to an PxWheelQueryResult buffer of length nbWheelQueryResults The wheelQueryResults buffer must persist until the end of PxVehicleUpdates A NULL pointer is permitted. The wheelQueryResults buffer is left unmodified in PxVehicleUpdates for vehicles with sleeping rigid bodies whose control inputs indicate they should remain inert.
PxU32 nbWheelQueryResults
The length of the wheelQueryResults buffer. This value corresponds to the number of wheels in the associated vehicle in PxVehicleUpdates.

Member Data Documentation

PxU32 PxVehicleWheelQueryResult::nbWheelQueryResults

The length of the wheelQueryResults buffer. This value corresponds to the number of wheels in the associated vehicle in PxVehicleUpdates.

PxWheelQueryResult* PxVehicleWheelQueryResult::wheelQueryResults

Pointer to an PxWheelQueryResult buffer of length nbWheelQueryResults The wheelQueryResults buffer must persist until the end of PxVehicleUpdates A NULL pointer is permitted. The wheelQueryResults buffer is left unmodified in PxVehicleUpdates for vehicles with sleeping rigid bodies whose control inputs indicate they should remain inert.

See also:
PxVehicleUpdates

The documentation for this struct was generated from the following file:
  • PxVehicleUpdate.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleWheelConcurrentUpdateData Struct Reference

PxVehicleWheelConcurrentUpdateData Struct Reference
[Vehicle]

Structure containing data that is computed for a wheel during concurrent calls to PxVehicleUpdates but which cannot be safely concurrently applied. More...

#include <PxVehicleUpdate.h>

Collaboration diagram for PxVehicleWheelConcurrentUpdateData:

PxVec3PxTransformPxRigidDynamicPxRigidBodyPxRigidActorPxActorPxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>PxQuat
[legend]

List of all members.

Public Member Functions

PxVehicleWheelConcurrentUpdateData ()

Private Attributes

PxTransform localPose
PxRigidDynamic * hitActor
PxVec3 hitActorForce
PxVec3 hitActorForcePosition

Friends

class PxVehicleUpdate

Detailed Description

Structure containing data that is computed for a wheel during concurrent calls to PxVehicleUpdates but which cannot be safely concurrently applied.

See also:
PxVehicleUpdates, PxVehiclePostUpdates, PxVehicleConcurrentUpdate

Constructor & Destructor Documentation

PxVehicleWheelConcurrentUpdateData::PxVehicleWheelConcurrentUpdateData ( ) [inline]

Friends And Related Function Documentation

friend class PxVehicleUpdate [friend]

Member Data Documentation

PxRigidDynamic* PxVehicleWheelConcurrentUpdateData::hitActor [private]

PxVec3 PxVehicleWheelConcurrentUpdateData::hitActorForce [private]

PxVec3 PxVehicleWheelConcurrentUpdateData::hitActorForcePosition [private]

PxTransform PxVehicleWheelConcurrentUpdateData::localPose [private]

The documentation for this struct was generated from the following file:
  • PxVehicleUpdate.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleConcurrentUpdateData Struct Reference

PxVehicleConcurrentUpdateData Struct Reference
[Vehicle]

Structure containing data that is computed for a vehicle and its wheels during concurrent calls to PxVehicleUpdates but which cannot be safely concurrently applied. More...

#include <PxVehicleUpdate.h>

Collaboration diagram for PxVehicleConcurrentUpdateData:

PxVec3PxVehicleWheelConcurrentUpdateDataPxTransformPxRigidDynamicPxRigidBodyPxRigidActorPxActorPxBasePxFlags\< PxBaseFlag::Enum, PxU16 \>PxQuat
[legend]

List of all members.

Public Member Functions

PxVehicleConcurrentUpdateData ()

Public Attributes

PxVehicleWheelConcurrentUpdateData * concurrentWheelUpdates
Pointer to an PxVehicleWheelConcurrentUpdate buffer of length nbConcurrentWheelUpdates The concurrentWheelUpdates buffer must persist until the end of PxVehiclePostUpdates A NULL pointer is not permitted.
PxU32 nbConcurrentWheelUpdates
The length of the concurrentWheelUpdates buffer. This value corresponds to the number of wheels in the associated vehicle passed to PxVehicleUpdates.

Private Attributes

PxVec3 linearMomentumChange
PxVec3 angularMomentumChange
bool | staySleeping
bool | wakeup

Friends

class | PxVehicleUpdate

Detailed Description

Structure containing data that is computed for a vehicle and its wheels during concurrent calls to PxVehicleUpdates but which cannot be safely concurrently applied.

See also:
PxVehicleUpdates, PxVehiclePostUpdates, PxVehicleWheelConcurrentUpdateData

Constructor & Destructor Documentation

PxVehicleConcurrentUpdateData::PxVehicleConcurrentUpdateData ( ) [inline]

Friends And Related Function Documentation

friend class PxVehicleUpdate [friend]

Member Data Documentation

PxVec3 PxVehicleConcurrentUpdateData::angularMomentumChange [private]

PxVehicleWheelConcurrentUpdateData* PxVehicleConcurrentUpdateData::concurrentWheelUpdates

Pointer to an PxVehicleWheelConcurrentUpdate buffer of length nbConcurrentWheelUpdates The concurrentWheelUpdates buffer must persist until the end of PxVehiclePostUpdates A NULL pointer is not permitted.

See also:
PxVehicleUpdates, PxVehiclePostUpdates

PxVec3 PxVehicleConcurrentUpdateData::linearMomentumChange [private]

PxU32 PxVehicleConcurrentUpdateData::nbConcurrentWheelUpdates

The length of the concurrentWheelUpdates buffer. This value corresponds to the number of wheels in the associated vehicle passed to PxVehicleUpdates.

bool PxVehicleConcurrentUpdateData::staySleeping [private]

bool PxVehicleConcurrentUpdateData::wakeup [private]

The documentation for this struct was generated from the following file:
  • PxVehicleUpdate.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleKeySmoothingData Struct Reference

PxVehicleKeySmoothingData Struct Reference
[Vehicle]

Used to produce smooth vehicle driving control values from key inputs. More...

#include <PxVehicleUtilControl.h>

List of all members.

Public Attributes

PxReal | mRiseRates [PxVehicleDriveDynData::eMAX_NB_ANALOG_INPUTS]
Rise rate of each analog value if digital value is 1.
PxReal | mFallRates [PxVehicleDriveDynData::eMAX_NB_ANALOG_INPUTS]
Fall rate of each analog value if digital value is 0.

Detailed Description

Used to produce smooth vehicle driving control values from key inputs.

See also:
PxVehicle4WSmoothDigitalRawInputsAndSetAnalogInputs, PxVehicle4WSmoothAnalogRawInputsAndSetAnalogInputs

Member Data Documentation

PxReal PxVehicleKeySmoothingData::mFallRates[PxVehicleDriveDynData::eMAX_NB_ANALOG_INPUTS]

Fall rate of each analog value if digital value is 0.

PxReal PxVehicleKeySmoothingData::mRiseRates[PxVehicleDriveDynData::eMAX_NB_ANALOG_INPUTS]

Rise rate of each analog value if digital value is 1.

The documentation for this struct was generated from the following file:
  • PxVehicleUtilControl.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehiclePadSmoothingData Struct Reference

PxVehiclePadSmoothingData Struct Reference
[Vehicle]

Used to produce smooth analog vehicle control values from analog inputs. More...

#include <PxVehicleUtilControl.h>

List of all members.

Public Attributes

PxReal | mRiseRates [PxVehicleDriveDynData::eMAX_NB_ANALOG_INPUTS]
Rise rate of each analog value from previous value towards target if target>previous.
PxReal | mFallRates [PxVehicleDriveDynData::eMAX_NB_ANALOG_INPUTS]
Rise rate of each analog value from previous value towards target if target<previous.

Detailed Description

Used to produce smooth analog vehicle control values from analog inputs.

See also:
PxVehicleDrive4WSmoothDigitalRawInputsAndSetAnalogInputs, PxVehicleDrive4WSmoothAnalogRawInputsAndSetAnalogInputs

Member Data Documentation

PxReal PxVehiclePadSmoothingData::mFallRates[PxVehicleDriveDynData::eMAX_NB_ANALOG_INPUTS]

Rise rate of each analog value from previous value towards target if target<previous.

PxReal PxVehiclePadSmoothingData::mRiseRates[PxVehicleDriveDynData::eMAX_NB_ANALOG_INPUTS]

Rise rate of each analog value from previous value towards target if target>previous.

The documentation for this struct was generated from the following file:
  • PxVehicleUtilControl.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleDrive4WRawInputData Class Reference

PxVehicleDrive4WRawInputData Class Reference
[Vehicle]

Used to produce smooth vehicle driving control values from analog and digital inputs. More...

#include <PxVehicleUtilControl.h>

Inheritance diagram for PxVehicleDrive4WRawInputData:

PxVehicleDriveNWRawInputData
[legend]

List of all members.

Public Member Functions

PxVehicleDrive4WRawInputData ()
virtual | ~PxVehicleDrive4WRawInputData ()
void | setDigitalAccel (const bool accelKeyPressed)
Record if the accel button has been pressed on keyboard.
void | setDigitalBrake (const bool brakeKeyPressed)
Record if the brake button has been pressed on keyboard.
void | setDigitalHandbrake (const bool handbrakeKeyPressed)
Record if the handbrake button has been pressed on keyboard.
void | setDigitalSteerLeft (const bool steerLeftKeyPressed)
Record if the left steer button has been pressed on keyboard.
void | setDigitalSteerRight (const bool steerRightKeyPressed)
Record if the right steer button has been pressed on keyboard.
bool | getDigitalAccel () const
Return if the accel button has been pressed on keyboard.
bool | getDigitalBrake () const
Return if the brake button has been pressed on keyboard.
bool | getDigitalHandbrake () const
Return if the handbrake button has been pressed on keyboard.
bool | getDigitalSteerLeft () const
Return if the left steer button has been pressed on keyboard.
bool | getDigitalSteerRight () const
Return if the right steer button has been pressed on keyboard.
void | setAnalogAccel (const PxReal accel)
Set the analog accel value from the gamepad.
void | setAnalogBrake (const PxReal brake)
Set the analog brake value from the gamepad.
void | setAnalogHandbrake (const PxReal handbrake)
Set the analog handbrake value from the gamepad.
void | setAnalogSteer (const PxReal steer)
Set the analog steer value from the gamepad.
PxReal | getAnalogAccel () const
Return the analog accel value from the gamepad.
PxReal | getAnalogBrake () const
Return the analog brake value from the gamepad.
PxReal | getAnalogHandbrake () const
Return the analog handbrake value from the gamepad.
PxReal | getAnalogSteer () const
Return the analog steer value from the gamepad.
void | setGearUp (const bool gearUpKeyPressed)
Record if the gearup button has been pressed on keyboard or gamepad.
void | setGearDown (const bool gearDownKeyPressed)
Record if the geardown button has been pressed on keyboard or gamepad.
bool | getGearUp () const
Return if the gearup button has been pressed on keyboard or gamepad.
bool | getGearDown () const
Record if the geardown button has been pressed on keyboard or gamepad.

Private Attributes

bool | mRawDigitalInputs [PxVehicleDrive4WControl::eMAX_NB_DRIVE4W_ANALOG_INPUTS]
PxReal | mRawAnalogInputs [PxVehicleDrive4WControl::eMAX_NB_DRIVE4W_ANALOG_INPUTS]
bool | mGearUp
bool | mGearDown

Detailed Description

Used to produce smooth vehicle driving control values from analog and digital inputs.

See also:
PxVehicleDrive4WSmoothDigitalRawInputsAndSetAnalogInputs, PxVehicleDrive4WSmoothAnalogRawInputsAndSetAnalogInputs

Constructor & Destructor Documentation

PxVehicleDrive4WRawInputData::PxVehicleDrive4WRawInputData ( ) [inline]

References PxVehicleDrive4WControl::eMAX_NB_DRIVE4W_ANALOG_INPUTS.

virtual PxVehicleDrive4WRawInputData::~PxVehicleDrive4WRawInputData ( ) [inline, virtual]

Member Function Documentation

PxReal PxVehicleDrive4WRawInputData::getAnalogAccel ( ) const [inline]

Return the analog accel value from the gamepad.

Returns:
The analog accel value.

References PxVehicleDrive4WControl::eANALOG_INPUT_ACCEL.

PxReal PxVehicleDrive4WRawInputData::getAnalogBrake ( ) const [inline]

Return the analog brake value from the gamepad.

Returns:
The analog brake value.

References PxVehicleDrive4WControl::eANALOG_INPUT_BRAKE.

PxReal PxVehicleDrive4WRawInputData::getAnalogHandbrake ( ) const [inline]

Return the analog handbrake value from the gamepad.

Returns:
The analog handbrake value.

References PxVehicleDrive4WControl::eANALOG_INPUT_HANDBRAKE.

PxReal PxVehicleDrive4WRawInputData::getAnalogSteer ( ) const [inline]

Return the analog steer value from the gamepad.

References PxVehicleDrive4WControl::eANALOG_INPUT_STEER_RIGHT.

bool PxVehicleDrive4WRawInputData::getDigitalAccel ( ) const [inline]

Return if the accel button has been pressed on keyboard.

Returns:
True if the accel button has been pressed, false otherwise.

References PxVehicleDrive4WControl::eANALOG_INPUT_ACCEL.

bool PxVehicleDrive4WRawInputData::getDigitalBrake ( ) const [inline]

Return if the brake button has been pressed on keyboard.

Returns:
True if the brake button has been pressed, false otherwise.

References PxVehicleDrive4WControl::eANALOG_INPUT_BRAKE.

bool PxVehicleDrive4WRawInputData::getDigitalHandbrake ( ) const [inline]

Return if the handbrake button has been pressed on keyboard.

Returns:
True if the handbrake button has been pressed, false otherwise.

References PxVehicleDrive4WControl::eANALOG_INPUT_HANDBRAKE.

bool PxVehicleDrive4WRawInputData::getDigitalSteerLeft ( ) const [inline]

Return if the left steer button has been pressed on keyboard.

Returns:
True if the steer-left button has been pressed, false otherwise.

References PxVehicleDrive4WControl::eANALOG_INPUT_STEER_LEFT.

bool PxVehicleDrive4WRawInputData::getDigitalSteerRight ( ) const [inline]

Return if the right steer button has been pressed on keyboard.

Returns:
True if the steer-right button has been pressed, false otherwise.

References PxVehicleDrive4WControl::eANALOG_INPUT_STEER_RIGHT.

bool PxVehicleDrive4WRawInputData::getGearDown ( ) const [inline]

Record if the geardown button has been pressed on keyboard or gamepad.

Returns:
The value of the gear-down button.

bool PxVehicleDrive4WRawInputData::getGearUp ( ) const [inline]

Return if the gearup button has been pressed on keyboard or gamepad.

Returns:
The value of the gear-up button.

void PxVehicleDrive4WRawInputData::setAnalogAccel ( const PxReal accel ) [inline]

Set the analog accel value from the gamepad.

Parameters:
[in] accel is the analog accelerator pedal value in range(0,1) where 1 represents the pedal fully pressed and 0 represents the pedal in its rest state.

References PxVehicleDrive4WControl::eANALOG_INPUT_ACCEL.

void PxVehicleDrive4WRawInputData::setAnalogBrake ( const PxReal brake ) [inline]

Set the analog brake value from the gamepad.

Parameters:
[in] brake is the analog brake pedal value in range(0,1) where 1 represents the pedal fully pressed and 0 represents the pedal in its rest state.

References PxVehicleDrive4WControl::eANALOG_INPUT_BRAKE.

void PxVehicleDrive4WRawInputData::setAnalogHandbrake ( const PxReal handbrake ) [inline]

Set the analog handbrake value from the gamepad.

Parameters:
[in] handbrake is the analog handbrake value in range(0,1) where 1 represents the handbrake fully engaged and 0 represents the handbrake in its rest state.

References PxVehicleDrive4WControl::eANALOG_INPUT_HANDBRAKE.

void PxVehicleDrive4WRawInputData::setAnalogSteer ( const PxReal steer ) [inline]

Set the analog steer value from the gamepad.

Parameters:
[in] steer is the analog steer value in range(-1,1) where -1 represents the steering wheel at left lock and +1 represents the steering wheel at right lock.

References PxVehicleDrive4WControl::eANALOG_INPUT_STEER_RIGHT.

void PxVehicleDrive4WRawInputData::setDigitalAccel ( const bool accelKeyPressed ) [inline]

Record if the accel button has been pressed on keyboard.

Parameters:
[in] accelKeyPressed is true if the accelerator key has been pressed and false otherwise.

References PxVehicleDrive4WControl::eANALOG_INPUT_ACCEL.

void PxVehicleDrive4WRawInputData::setDigitalBrake ( const bool brakeKeyPressed ) [inline]

Record if the brake button has been pressed on keyboard.

Parameters:
[in] brakeKeyPressed is true if the brake key has been pressed and false otherwise.

References PxVehicleDrive4WControl::eANALOG_INPUT_BRAKE.

void PxVehicleDrive4WRawInputData::setDigitalHandbrake ( const bool handbrakeKeyPressed ) [inline]

Record if the handbrake button has been pressed on keyboard.

Parameters:
[in] handbrakeKeyPressed is true if the handbrake key has been pressed and false otherwise.

References PxVehicleDrive4WControl::eANALOG_INPUT_HANDBRAKE.

void PxVehicleDrive4WRawInputData::setDigitalSteerLeft ( const bool steerLeftKeyPressed ) [inline]

Record if the left steer button has been pressed on keyboard.

Parameters:
[in] steerLeftKeyPressed is true if the steer-left key has been pressed and false otherwise.

References PxVehicleDrive4WControl::eANALOG_INPUT_STEER_LEFT.

void PxVehicleDrive4WRawInputData::setDigitalSteerRight ( const bool steerRightKeyPressed ) [inline]

Record if the right steer button has been pressed on keyboard.

Parameters:
[in] steerRightKeyPressed is true if the steer-right key has been pressed and false otherwise.

References PxVehicleDrive4WControl::eANALOG_INPUT_STEER_RIGHT.

void PxVehicleDrive4WRawInputData::setGearDown ( const bool gearDownKeyPressed ) [inline]

Record if the geardown button has been pressed on keyboard or gamepad.

Parameters:
[in] gearDownKeyPressed is true if the gear-down button has been pressed, false otherwise.

void PxVehicleDrive4WRawInputData::setGearUp ( const bool gearUpKeyPressed ) [inline]

Record if the gearup button has been pressed on keyboard or gamepad.

Parameters:
[in] gearUpKeyPressed is true if the gear-up button has been pressed, false otherwise.

Member Data Documentation

bool PxVehicleDrive4WRawInputData::mGearDown [private]

bool PxVehicleDrive4WRawInputData::mGearUp [private]

PxReal PxVehicleDrive4WRawInputData::mRawAnalogInputs[PxVehicleDrive4WControl::eMAX_NB_DRIVE4W_ANALOG_INPUTS] [private]

bool PxVehicleDrive4WRawInputData::mRawDigitalInputs[PxVehicleDrive4WControl::eMAX_NB_DRIVE4W_ANALOG_INPUTS] [private]

The documentation for this class was generated from the following file:
  • PxVehicleUtilControl.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleDriveNWRawInputData Class Reference

PxVehicleDriveNWRawInputData Class Reference
[Vehicle]

Used to produce smooth vehicle driving control values from analog and digital inputs. More...

#include <PxVehicleUtilControl.h>

Inheritance diagram for PxVehicleDriveNWRawInputData:

PxVehicleDrive4WRawInputData
[legend]
Collaboration diagram for PxVehicleDriveNWRawInputData:

PxVehicleDrive4WRawInputData
[legend]

List of all members.

Public Member Functions

PxVehicleDriveNWRawInputData ()
~PxVehicleDriveNWRawInputData ()

Detailed Description

Used to produce smooth vehicle driving control values from analog and digital inputs.

See also:
PxVehicleDriveNWSmoothDigitalRawInputsAndSetAnalogInputs, PxVehicleDriveNWSmoothAnalogRawInputsAndSetAnalogInputs

Constructor & Destructor Documentation

PxVehicleDriveNWRawInputData::PxVehicleDriveNWRawInputData ( ) [inline]

PxVehicleDriveNWRawInputData::~PxVehicleDriveNWRawInputData ( ) [inline]

The documentation for this class was generated from the following file:
  • PxVehicleUtilControl.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleDriveTankRawInputData Class Reference

PxVehicleDriveTankRawInputData Class Reference
[Vehicle]

Used to produce smooth analog tank control values from analog and digital inputs. More...

#include <PxVehicleUtilControl.h>

List of all members.

Public Member Functions

PxVehicleDriveTankRawInputData (const PxVehicleDriveTankControlModel::Enum mode)
~PxVehicleDriveTankRawInputData ()
PxVehicleDriveTankControlModel::Enum | getDriveModel () const
Return the drive model (eDRIVE_MODEL_SPECIAL or eDRIVE_MODEL_STANDARD).
void | setDigitalAccel (const bool b)
Set if the accel button has been pressed on the keyboard.
void | setDigitalLeftThrust (const bool b)
Set if the left thrust button has been pressed on the keyboard.
void | setDigitalRightThrust (const bool b)
Set if the right thrust button has been pressed on the keyboard.
void | setDigitalLeftBrake (const bool b)
Set if the left brake button has been pressed on the keyboard.
void | setDigitalRightBrake (const bool b)
Set if the right brake button has been pressed on the keyboard.
bool | getDigitalAccel () const
Return if the accel button has been pressed on the keyboard.
bool | getDigitalLeftThrust () const
Return if the left thrust button has been pressed on the keyboard.
bool | getDigitalRightThrust () const
Return if the right thrust button has been pressed on the keyboard.
bool | getDigitalLeftBrake () const
Return if the left brake button has been pressed on the keyboard.
bool | getDigitalRightBrake () const
Return if the right brake button has been pressed on the keyboard.
void | setAnalogAccel (const PxF32 accel)
Set the analog accel value from the gamepad.
void | setAnalogLeftThrust (const PxF32 leftThrust)
Set the analog left thrust value from the gamepad.
void | setAnalogRightThrust (const PxF32 rightThrust)
Set the analog right thrust value from the gamepad.
void | setAnalogLeftBrake (const PxF32 leftBrake)
Set the analog left brake value from the gamepad.
void | setAnalogRightBrake (const PxF32 rightBrake)
Set the analog right brake value from the gamepad.
PxF32 | getAnalogAccel () const
Return the analog accel value from the gamepad.
PxF32 | getAnalogLeftThrust () const
Return the analog left thrust value from the gamepad.
PxF32 | getAnalogRightThrust () const
Return the analog right thrust value from the gamepad.
PxF32 | getAnalogLeftBrake () const
Return the analog left brake value from the gamepad.
PxF32 | getAnalogRightBrake () const
Return the analog right brake value from the gamepad.
void | setGearUp (const bool gearUp)
Record if the gear-up button has been pressed on keyboard or gamepad.
void | setGearDown (const bool gearDown)
Record if the gear-down button has been pressed on keyboard or gamepad.
bool | getGearUp () const
Return if the gear-up button has been pressed on keyboard or gamepad.
bool | getGearDown () const
Return if the gear-down button has been pressed on keyboard or gamepad.

Private Attributes

PxVehicleDriveTankControlModel::Enum mMode
PxReal | mRawAnalogInputs [PxVehicleDriveTankControl::eMAX_NB_DRIVETANK_ANALOG_INPUTS]
bool | mRawDigitalInputs [PxVehicleDriveTankControl::eMAX_NB_DRIVETANK_ANALOG_INPUTS]
bool | mGearUp
bool | mGearDown

Detailed Description

Used to produce smooth analog tank control values from analog and digital inputs.

See also:
PxVehicleDriveTankSmoothDigitalRawInputsAndSetAnalogInputs, PxVehicleDriveTankSmoothAnalogRawInputsAndSetAnalogInputs

Constructor & Destructor Documentation

PxVehicleDriveTankRawInputData::PxVehicleDriveTankRawInputData ( const PxVehicleDriveTankControlModel::Enum mode ) [inline]

References PxVehicleDriveTankControl::eMAX_NB_DRIVETANK_ANALOG_INPUTS.

PxVehicleDriveTankRawInputData::~PxVehicleDriveTankRawInputData ( ) [inline]

Member Function Documentation

PxF32 PxVehicleDriveTankRawInputData::getAnalogAccel ( ) const [inline]

Return the analog accel value from the gamepad.

Returns:
The analog accel value.

References PxVehicleDriveTankControl::eANALOG_INPUT_ACCEL.

PxF32 PxVehicleDriveTankRawInputData::getAnalogLeftBrake ( ) const [inline]

Return the analog left brake value from the gamepad.

Returns:
The analog left brake value.

References PxVehicleDriveTankControl::eANALOG_INPUT_BRAKE_LEFT.

PxF32 PxVehicleDriveTankRawInputData::getAnalogLeftThrust ( ) const [inline]

Return the analog left thrust value from the gamepad.

Returns:
The analog left thrust value.

References PxVehicleDriveTankControl::eANALOG_INPUT_THRUST_LEFT.

PxF32 PxVehicleDriveTankRawInputData::getAnalogRightBrake ( ) const [inline]

Return the analog right brake value from the gamepad.

Returns:
The analog right brake value.

References PxVehicleDriveTankControl::eANALOG_INPUT_BRAKE_RIGHT.

PxF32 PxVehicleDriveTankRawInputData::getAnalogRightThrust ( ) const [inline]

Return the analog right thrust value from the gamepad.

Returns:
The analog right thrust value.

References PxVehicleDriveTankControl::eANALOG_INPUT_THRUST_RIGHT.

bool PxVehicleDriveTankRawInputData::getDigitalAccel ( ) const [inline]

Return if the accel button has been pressed on the keyboard.

Returns:
True if the accel button has been pressed, false otherwise.

References PxVehicleDriveTankControl::eANALOG_INPUT_ACCEL.

bool PxVehicleDriveTankRawInputData::getDigitalLeftBrake ( ) const [inline]

Return if the left brake button has been pressed on the keyboard.

Returns:
True if the left brake button has been pressed, false otherwise.

References PxVehicleDriveTankControl::eANALOG_INPUT_BRAKE_LEFT.

bool PxVehicleDriveTankRawInputData::getDigitalLeftThrust ( ) const [inline]

Return if the left thrust button has been pressed on the keyboard.

Returns:
True if the left thrust button has been pressed, false otherwise.

References PxVehicleDriveTankControl::eANALOG_INPUT_THRUST_LEFT.

bool PxVehicleDriveTankRawInputData::getDigitalRightBrake ( ) const [inline]

Return if the right brake button has been pressed on the keyboard.

Returns:
True if the right brake button has been pressed, false otherwise.

References PxVehicleDriveTankControl::eANALOG_INPUT_BRAKE_RIGHT.

bool PxVehicleDriveTankRawInputData::getDigitalRightThrust ( ) const [inline]

Return if the right thrust button has been pressed on the keyboard.

Returns:
True if the right thrust button has been pressed, false otherwise.

References PxVehicleDriveTankControl::eANALOG_INPUT_THRUST_RIGHT.

PxVehicleDriveTankControlModel::Enum PxVehicleDriveTankRawInputData::getDriveModel ( ) const [inline]

Return the drive model (eDRIVE_MODEL_SPECIAL or eDRIVE_MODEL_STANDARD).

Returns:
The chosen tank drive model.

bool PxVehicleDriveTankRawInputData::getGearDown ( ) const [inline]

Return if the gear-down button has been pressed on keyboard or gamepad.

Returns:
True if the gear-down button has been pressed, false otherwise.

bool PxVehicleDriveTankRawInputData::getGearUp ( ) const [inline]

Return if the gear-up button has been pressed on keyboard or gamepad.

Returns:
True if the gear-up button has been pressed, false otherwise.

void PxVehicleDriveTankRawInputData::setAnalogAccel ( const PxF32 accel ) [inline]

Set the analog accel value from the gamepad.

Parameters:
[in] accel is a value in range (0,1) where 1 represents the accelerator pedal fully pressed and 0 represents the pedal in its rest state. In range (0,1).

References PxVehicleDriveTankControl::eANALOG_INPUT_ACCEL.

void PxVehicleDriveTankRawInputData::setAnalogLeftBrake ( const PxF32 leftBrake ) [inline]

Set the analog left brake value from the gamepad.

Parameters:
[in] leftBrake is a value in range (0,1) where 1 represents the left brake pedal fully pressed and 0 represents the left brake pedal in its rest state.
Note:
In range (0,1).

References PxVehicleDriveTankControl::eANALOG_INPUT_BRAKE_LEFT.

void PxVehicleDriveTankRawInputData::setAnalogLeftThrust ( const PxF32 leftThrust ) [inline]

Set the analog left thrust value from the gamepad.

Parameters:
[in] leftThrust represents the state of the left stick.
Note:
In range (0,1) for standard mode (eSTANDARD), in range (-1,1) for special mode (eSPECIAL)

References PxVehicleDriveTankControl::eANALOG_INPUT_THRUST_LEFT, and PxVehicleDriveTankControlModel::eSPECIAL.

void PxVehicleDriveTankRawInputData::setAnalogRightBrake ( const PxF32 rightBrake ) [inline]

Set the analog right brake value from the gamepad.

Parameters:
[in] rightBrake is a value in range (0,1) where 1 represents the right brake pedal fully pressed and 0 represents the right brake pedal in its rest state.
Note:
In range (0,1).

References PxVehicleDriveTankControl::eANALOG_INPUT_BRAKE_RIGHT.

void PxVehicleDriveTankRawInputData::setAnalogRightThrust ( const PxF32 rightThrust ) [inline]

Set the analog right thrust value from the gamepad.

Parameters:
[in] rightThrust represents the state of the right stick.
Note:
In range (0,1) for standard mode (eSTANDARD), in range (-1,1) for special mode (eSPECIAL)

References PxVehicleDriveTankControl::eANALOG_INPUT_THRUST_RIGHT, and PxVehicleDriveTankControlModel::eSPECIAL.

void PxVehicleDriveTankRawInputData::setDigitalAccel ( const bool b ) [inline]

Set if the accel button has been pressed on the keyboard.

Parameters:
[in] b is true if the digital accel button has been pressed, false otherwise.

References PxVehicleDriveTankControl::eANALOG_INPUT_ACCEL.

void PxVehicleDriveTankRawInputData::setDigitalLeftBrake ( const bool b ) [inline]

Set if the left brake button has been pressed on the keyboard.

Parameters:
[in] b is true if the digital left brake button has been pressed, false otherwise.

References PxVehicleDriveTankControl::eANALOG_INPUT_BRAKE_LEFT.

void PxVehicleDriveTankRawInputData::setDigitalLeftThrust ( const bool b ) [inline]

Set if the left thrust button has been pressed on the keyboard.

Parameters:
[in] b is true if the digital left thrust button has been pressed, false otherwise.

References PxVehicleDriveTankControl::eANALOG_INPUT_THRUST_LEFT.

void PxVehicleDriveTankRawInputData::setDigitalRightBrake ( const bool b ) [inline]

Set if the right brake button has been pressed on the keyboard.

Parameters:
[in] b is true if the digital right brake button has been pressed, false otherwise.

References PxVehicleDriveTankControl::eANALOG_INPUT_BRAKE_RIGHT.

void PxVehicleDriveTankRawInputData::setDigitalRightThrust ( const bool b ) [inline]

Set if the right thrust button has been pressed on the keyboard.

Parameters:
[in] b is true if the digital right thrust button has been pressed, false otherwise.

References PxVehicleDriveTankControl::eANALOG_INPUT_THRUST_RIGHT.

void PxVehicleDriveTankRawInputData::setGearDown ( const bool gearDown ) [inline]

Record if the gear-down button has been pressed on keyboard or gamepad.

Parameters:
[in] gearDown is true if the gear-down button has been pressed, false otherwise.

void PxVehicleDriveTankRawInputData::setGearUp ( const bool gearUp ) [inline]

Record if the gear-up button has been pressed on keyboard or gamepad.

Parameters:
[in] gearUp is true if the gear-up button has been pressed, false otherwise.

Member Data Documentation

bool PxVehicleDriveTankRawInputData::mGearDown [private]

bool PxVehicleDriveTankRawInputData::mGearUp [private]

PxVehicleDriveTankControlModel::Enum PxVehicleDriveTankRawInputData::mMode [private]

PxReal PxVehicleDriveTankRawInputData::mRawAnalogInputs[PxVehicleDriveTankControl::eMAX_NB_DRIVETANK_ANALOG_INPUTS] [private]

bool PxVehicleDriveTankRawInputData::mRawDigitalInputs[PxVehicleDriveTankControl::eMAX_NB_DRIVETANK_ANALOG_INPUTS] [private]

The documentation for this class was generated from the following file:
  • PxVehicleUtilControl.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleCopyDynamicsMap Class Reference

PxVehicleCopyDynamicsMap Class Reference
[Vehicle]

Used by PxVehicleCopyDynamicsData. More...

#include <PxVehicleUtilSetup.h>

List of all members.

Public Member Functions

PxVehicleCopyDynamicsMap ()

Public Attributes

PxU8 | sourceWheelIds [PX_MAX_NB_WHEELS]
PxU8 | targetWheelIds [PX_MAX_NB_WHEELS]

Detailed Description

Used by PxVehicleCopyDynamicsData.

See also:
PxVehicleCopyDynamicsData

Constructor & Destructor Documentation

PxVehicleCopyDynamicsMap::PxVehicleCopyDynamicsMap ( ) [inline]

References PX_MAX_NB_WHEELS, and PX_MAX_U8.

Member Data Documentation

PxU8 PxVehicleCopyDynamicsMap::sourceWheelIds[PX_MAX_NB_WHEELS]

PxU8 PxVehicleCopyDynamicsMap::targetWheelIds[PX_MAX_NB_WHEELS]

The documentation for this class was generated from the following file:
  • PxVehicleUtilSetup.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleWheelsSimData Class Reference

PxVehicleWheelsSimData Class Reference
[Vehicle]

Data structure describing configuration data of a vehicle with up to 20 wheels. More...

#include <PxVehicleWheels.h>

Collaboration diagram for PxVehicleWheelsSimData:

PxVehicleTireLoadFilterDataPxVehicleAntiRollBarData
[legend]

List of all members.

Public Member Functions

void | setChassisMass (const PxF32 chassisMass)
Setup with mass information that can be applied to the default values of the suspensions, wheels, and tires set in their respective constructors.
void | free ()
Free a PxVehicleWheelsSimData instance.
PxVehicleWheelsSimData & | operator= (const PxVehicleWheelsSimData &src)
Copy wheel simulation data.
void | copy (const PxVehicleWheelsSimData &src, const PxU32 srcWheel, const PxU32 trgWheel)
Copy the data of a single wheel unit (wheel, suspension, tire) from srcWheel of src to trgWheel.
PxU32 | getNbWheels () const
Return the number of wheels.
const PxVehicleSuspensionData & | getSuspensionData (const PxU32 id) const
Return the suspension data of the idth wheel.
const PxVehicleWheelData & | getWheelData (const PxU32 id) const
Return the wheel data of the idth wheel.
const PxVehicleTireData & | getTireData (const PxU32 id) const
Return the tire data of the idth wheel.
const PxVec3 & | getSuspTravelDirection (const PxU32 id) const
Return the direction of travel of the suspension of the idth wheel.
const PxVec3 & | getSuspForceAppPointOffset (const PxU32 id) const
Return the application point of the suspension force of the suspension of the idth wheel as an offset from the rigid body center of mass.
const PxVec3 & | getTireForceAppPointOffset (const PxU32 id) const
Return the application point of the tire force of the tire of the idth wheel as an offset from the rigid body center of mass.
const PxVec3 & | getWheelCentreOffset (const PxU32 id) const
Return the offset from the rigid body centre of mass to the centre of the idth wheel.
PxI32 | getWheelShapeMapping (const PxU32 wheelId) const
Return the wheel mapping for the ith wheel.
const PxFilterData & | getSceneQueryFilterData (const PxU32 suspId) const
Return the scene query filter data used by the specified suspension line.
PxU32 | getNbAntiRollBars () const
Return the number of unique anti-roll bars that have been added with addAntiRollBarData.
const PxVehicleAntiRollBarData & | getAntiRollBarData (const PxU32 antiRollId) const
Return a specific anti-roll bar.
PX_FORCE_INLINE const
PxVehicleTireLoadFilterData & 		getTireLoadFilterData () const
Return the data that describes the filtering of the tire load to produce smoother handling at large time-steps.
void | setSuspensionData (const PxU32 id, const PxVehicleSuspensionData &susp)
Set the suspension data of the idth wheel.
void | setWheelData (const PxU32 id, const PxVehicleWheelData &wheel)
Set the wheel data of the idth wheel.
void | setTireData (const PxU32 id, const PxVehicleTireData &tire)
Set the tire data of the idth wheel.
void | setSuspTravelDirection (const PxU32 id, const PxVec3 &dir)
Set the direction of travel of the suspension of the idth wheel.
void | setSuspForceAppPointOffset (const PxU32 id, const PxVec3 &offset)
Set the application point of the suspension force of the suspension of the idth wheel.
void | setTireForceAppPointOffset (const PxU32 id, const PxVec3 &offset)
Set the application point of the tire force of the tire of the idth wheel.
void | setWheelCentreOffset (const PxU32 id, const PxVec3 &offset)
Set the offset from the rigid body centre of mass to the centre of the idth wheel.
void | setWheelShapeMapping (const PxU32 wheelId, const PxI32 shapeId)
Set mapping between wheel id and position of corresponding wheel shape in the list of actor shapes.
void | setSceneQueryFilterData (const PxU32 suspId, const PxFilterData &sqFilterData)
Set the scene query filter data that will be used for raycasts along the travel direction of the specified suspension. The default value is PxFilterData(0,0,0,0).
void | setTireLoadFilterData (const PxVehicleTireLoadFilterData &tireLoadFilter)
Set the data that describes the filtering of the tire load to produce smoother handling at large timesteps.
PxU32 | addAntiRollBarData (const PxVehicleAntiRollBarData &antiRoll)
Set the anti-roll suspension for a pair of wheels.
void | disableWheel (const PxU32 wheel)
Disable a wheel so that zero suspension forces and zero tire forces are applied to the rigid body from this wheel.
void | enableWheel (const PxU32 wheel)
Enable a wheel so that suspension forces and tire forces are applied to the rigid body. All wheels are enabled by default and remain enabled until they are disabled.
bool | getIsWheelDisabled (const PxU32 wheel) const
Test if a wheel has been disabled.
void | setSubStepCount (const PxReal thresholdLongitudinalSpeed, const PxU32 lowForwardSpeedSubStepCount, const PxU32 highForwardSpeedSubStepCount)
Set the number of vehicle sub-steps that will be performed when the vehicle's longitudinal speed is below and above a threshold longitudinal speed.
void | setMinLongSlipDenominator (const PxReal minLongSlipDenominator)
Set the minimum denominator used in the longitudinal slip calculation.
PxVehicleWheelsSimData (const PxEMPTY)
PxU32 | getNbWheels4 () const
PxU32 | getNbSuspensionData () const
PxU32 | getNbWheelData () const
PxU32 | getNbSuspTravelDirection () const
PxU32 | getNbTireData () const
PxU32 | getNbSuspForceAppPointOffset () const
PxU32 | getNbTireForceAppPointOffset () const
PxU32 | getNbWheelCentreOffset () const
PxU32 | getNbWheelShapeMapping () const
PxU32 | getNbSceneQueryFilterData () const
PxF32 | getMinLongSlipDenominator () const
void | setThresholdLongSpeed (const PxF32 f)
PxF32 | getThresholdLongSpeed () const
void | setLowForwardSpeedSubStepCount (const PxU32 f)
PxU32 | getLowForwardSpeedSubStepCount () const
void | setHighForwardSpeedSubStepCount (const PxU32 f)
PxU32 | getHighForwardSpeedSubStepCount () const
void | setWheelEnabledState (const PxU32 wheel, const bool state)
bool | getWheelEnabledState (const PxU32 wheel) const
PxU32 | getNbWheelEnabledState () const
PxU32 | getNbAntiRollBars4 () const
PxU32 | getNbAntiRollBarData () const
void | setAntiRollBarData (const PxU32 id, const PxVehicleAntiRollBarData &antiRoll)
PxVehicleWheelsSimData ()
~PxVehicleWheelsSimData ()

Static Public Member Functions

static PxVehicleWheelsSimData * | allocate (const PxU32 nbWheels)
Allocate a PxVehicleWheelsSimData instance for with nbWheels.
static void | getBinaryMetaData (PxOutputStream &stream)

Private Member Functions

bool | isValid () const
Test if wheel simulation data has been setup with legal values.
PxVehicleWheelsSimData (const PxU32 numWheels)

Static Private Member Functions

static PxU32 | computeByteSize (const PxU32 numWheels)
see PxVehicleWheels::allocate
static PxU8 * | patchUpPointers (const PxU32 numWheels, PxVehicleWheelsSimData *simData, PxU8 *ptrIn)

Private Attributes

PxVehicleTireLoadFilterData mNormalisedLoadFilter
Graph to filter normalised load.
PxVehicleWheels4SimData * | mWheels4SimData
Wheels data organised in blocks of 4 wheels.
PxU32 mNbWheels4
Number of blocks of 4 wheels.
PxU32 mNbActiveWheels
Number of actual wheels (<=(mNbWheels4*4)).
PxVehicleAntiRollBarData * mAntiRollBars
Anti-roll bars.
PxU32 mNbAntiRollBars4
2 anti-rollbars allocated for each block of 4 wheels.
PxU32 mNbActiveAntiRollBars
Number of active anti-roll bars.
PxU32 | mActiveWheelsBitmapBuffer [((PX_MAX_NB_WHEELS+31)&~31) >> 5]
Which of the mNbActiveWheels are active or disabled? The default is that all mNbActiveWheels wheels are active.
PxF32 | mThresholdLongitudinalSpeed
Threshold longitudinal speed used to decide whether to use mLowForwardSpeedSubStepCount or mHighForwardSpeedSubStepCount as the number of sub-steps that will be peformed.
PxU32 mLowForwardSpeedSubStepCount
Number of sub-steps that will be performed if the longitudinal speed of the vehicle is smaller than mThresholdLongitudinalSpeed.
PxU32 mHighForwardSpeedSubStepCount
Number of sub-steps that will be performed if the longitudinal speed of the vehicle is greater than or equal to mThresholdLongitudinalSpeed.
PxF32 | mMinLongSlipDenominator
Minimum long slip denominator.
PxU32 | mPad [1]

Friends

class | PxVehicleWheels
class | PxVehicleNoDrive
class | PxVehicleDrive4W
class | PxVehicleDriveTank
class | PxVehicleUpdate

Detailed Description

Data structure describing configuration data of a vehicle with up to 20 wheels.

Constructor & Destructor Documentation

PxVehicleWheelsSimData::PxVehicleWheelsSimData ( const PxU32 numWheels ) [private]

PxVehicleWheelsSimData::PxVehicleWheelsSimData ( const PxEMPTY ) [inline]

PxVehicleWheelsSimData::PxVehicleWheelsSimData ( ) [inline]

PxVehicleWheelsSimData::~PxVehicleWheelsSimData ( ) [inline]

Member Function Documentation

PxU32 PxVehicleWheelsSimData::addAntiRollBarData ( const PxVehicleAntiRollBarData & antiRoll )

Set the anti-roll suspension for a pair of wheels.

Parameters:
antiRoll is the anti-roll suspension.
Note:
If an anti-roll bar has already been set for the same logical wheel pair (independent of wheel index order specified by PxVehicleAntiRollBar.mWheel0 and PxVehicleAntiRollBar.mWheel0) then the existing anti-roll bar is updated with a new stiffness parameter antiRoll.mStiffness.

If the wheel pair specified by antiRoll does not yet have an anti-roll bar then antiRoll is added to a list of anti-roll bars for the vehicle.

Returns:
If antiRoll represents a new wheel pair then a unique id is assigned to the anti-roll bar and returned. If antiRoll represents an existing wheel pair then the unique id of the existing anti-roll bar is returned. The return value is always in range (0, getNbAntiRollBars()).
Note:
The return value can be used to query the anti-roll bar with getAntiRollBarData(id).

The number of possible anti-roll bars is limited to half the wheel count.

An existing anti-roll bar can be disabled by calling antiRoll.mStiffness to zero.

See also:
PxVehicleWheelsSimData::getAntiRollBarData, PxVehicleAntiRollBarData

static PxVehicleWheelsSimData* PxVehicleWheelsSimData::allocate ( const PxU32 nbWheels ) [static]

Allocate a PxVehicleWheelsSimData instance for with nbWheels.

See also:
free

static PxU32 PxVehicleWheelsSimData::computeByteSize ( const PxU32 numWheels ) [static, private]

see PxVehicleWheels::allocate

void PxVehicleWheelsSimData::copy | ( | const PxVehicleWheelsSimData & | src,
 |  | const PxU32 | srcWheel,
 |  | const PxU32 | trgWheel
 | ) |  |

Copy the data of a single wheel unit (wheel, suspension, tire) from srcWheel of src to trgWheel.

Parameters:
[in] | src | is the data to be copied.
[in] | srcWheel | is the wheel whose data will be copied from src.
[in] | trgWheel | is the wheel that will be assigned the copied data.

void PxVehicleWheelsSimData::disableWheel ( const PxU32 wheel )

Disable a wheel so that zero suspension forces and zero tire forces are applied to the rigid body from this wheel.

Note:
If the vehicle has a differential (PxVehicleNW/PxVehicle4W) then the differential (PxVehicleDifferentialNWData/PxVehicleDifferential4WData) needs to be configured so that no drive torque is delivered to the disabled wheel.

If the vehicle is of type PxVehicleNoDrive then zero drive torque must be applied to the disabled wheel.

For tanks (PxVehicleDriveTank) any drive torque that could be delivered to the wheel through the tank differential will be re-directed to the remaining enabled wheels.

See also:
enableWheel

PxVehicleDifferentialNWData::setDrivenWheel

PxVehicleDifferential4WData::mFrontLeftRightSplit, PxVehicleDifferential4WData::mRearLeftRightSplit, PxVehicleDifferential4WData::mType

PxVehicleNoDrive::setDriveTorque

PxVehicle4WEnable3WTadpoleMode, PxVehicle4WEnable3WDeltaMode

Note:
If a PxShape is associated with the disabled wheel then the association must be broken by calling setWheelShapeMapping(wheelId, -1).
See also:
setWheelShapeMapping
Note:
A wheel that is disabled must also simultaneously be given zero wheel rotation speed.
See also:
PxVehicleWheelsDynData::setWheelRotationSpeed
Note:
Care must be taken with the sprung mass supported by the remaining enabled wheels. Depending on the desired effect, the mass of the rigid body might need to be distributed among the remaining enabled wheels and suspensions.
Parameters:
[in] wheel is the wheel index.

void PxVehicleWheelsSimData::enableWheel ( const PxU32 wheel )

Enable a wheel so that suspension forces and tire forces are applied to the rigid body. All wheels are enabled by default and remain enabled until they are disabled.

Parameters:
[in] wheel is the wheel index.
See also:
disableWheel

void PxVehicleWheelsSimData::free ( )

Free a PxVehicleWheelsSimData instance.

See also:
allocate

const PxVehicleAntiRollBarData& PxVehicleWheelsSimData::getAntiRollBarData ( const PxU32 antiRollId ) const

Return a specific anti-roll bar.

Parameters:
antiRollId is the unique id of the anti-roll bar
Note:
The return value of addAntiRollBarData is a unique id for that specific anti-roll bar and can be used as input parameter for getAntiRollBarData in order to query the same anti-roll bar. Alternatively, it is possible to iterate over all anti-roll bars by choosing antiRollId in range (0, getNbAntiRollBars()).

static void PxVehicleWheelsSimData::getBinaryMetaData ( PxOutputStream & stream ) [static]

PxU32 PxVehicleWheelsSimData::getHighForwardSpeedSubStepCount ( ) const [inline]

bool PxVehicleWheelsSimData::getIsWheelDisabled ( const PxU32 wheel ) const

Test if a wheel has been disabled.

Parameters:
[in] wheel is the wheel index.

PxU32 PxVehicleWheelsSimData::getLowForwardSpeedSubStepCount ( ) const [inline]

PxF32 PxVehicleWheelsSimData::getMinLongSlipDenominator ( ) const [inline]

PxU32 PxVehicleWheelsSimData::getNbAntiRollBarData ( ) const [inline]

PxU32 PxVehicleWheelsSimData::getNbAntiRollBars ( ) const [inline]

Return the number of unique anti-roll bars that have been added with addAntiRollBarData.

See also:
PxVehicleWheelsSimData::addAntiRollBarData

PxU32 PxVehicleWheelsSimData::getNbAntiRollBars4 ( ) const [inline]

PxU32 PxVehicleWheelsSimData::getNbSceneQueryFilterData ( ) const [inline]

PxU32 PxVehicleWheelsSimData::getNbSuspensionData ( ) const [inline]

PxU32 PxVehicleWheelsSimData::getNbSuspForceAppPointOffset ( ) const [inline]

PxU32 PxVehicleWheelsSimData::getNbSuspTravelDirection ( ) const [inline]

PxU32 PxVehicleWheelsSimData::getNbTireData ( ) const [inline]

PxU32 PxVehicleWheelsSimData::getNbTireForceAppPointOffset ( ) const [inline]

PxU32 PxVehicleWheelsSimData::getNbWheelCentreOffset ( ) const [inline]

PxU32 PxVehicleWheelsSimData::getNbWheelData ( ) const [inline]

PxU32 PxVehicleWheelsSimData::getNbWheelEnabledState ( ) const [inline]

PxU32 PxVehicleWheelsSimData::getNbWheels ( ) const [inline]

Return the number of wheels.

See also:
allocate

PxU32 PxVehicleWheelsSimData::getNbWheels4 ( ) const [inline]

PxU32 PxVehicleWheelsSimData::getNbWheelShapeMapping ( ) const [inline]

const PxFilterData& PxVehicleWheelsSimData::getSceneQueryFilterData ( const PxU32 suspId ) const

Return the scene query filter data used by the specified suspension line.

const PxVehicleSuspensionData& PxVehicleWheelsSimData::getSuspensionData ( const PxU32 id ) const

Return the suspension data of the idth wheel.

const PxVec3& PxVehicleWheelsSimData::getSuspForceAppPointOffset ( const PxU32 id ) const

Return the application point of the suspension force of the suspension of the idth wheel as an offset from the rigid body center of mass.

Note:
Specified relative to the center of mass of the rigid body

const PxVec3& PxVehicleWheelsSimData::getSuspTravelDirection ( const PxU32 id ) const

Return the direction of travel of the suspension of the idth wheel.

PxF32 PxVehicleWheelsSimData::getThresholdLongSpeed ( ) const [inline]

const PxVehicleTireData& PxVehicleWheelsSimData::getTireData ( const PxU32 id ) const

Return the tire data of the idth wheel.

const PxVec3& PxVehicleWheelsSimData::getTireForceAppPointOffset ( const PxU32 id ) const

Return the application point of the tire force of the tire of the idth wheel as an offset from the rigid body center of mass.

Note:
Specified relative to the centre of mass of the rigid body

PX_FORCE_INLINE const PxVehicleTireLoadFilterData& PxVehicleWheelsSimData::getTireLoadFilterData ( ) const [inline]

Return the data that describes the filtering of the tire load to produce smoother handling at large time-steps.

const PxVec3& PxVehicleWheelsSimData::getWheelCentreOffset ( const PxU32 id ) const

Return the offset from the rigid body centre of mass to the centre of the idth wheel.

const PxVehicleWheelData& PxVehicleWheelsSimData::getWheelData ( const PxU32 id ) const

Return the wheel data of the idth wheel.

bool PxVehicleWheelsSimData::getWheelEnabledState ( const PxU32 wheel ) const [inline]

PxI32 PxVehicleWheelsSimData::getWheelShapeMapping ( const PxU32 wheelId ) const

Return the wheel mapping for the ith wheel.

Note:
The return value is the element in the array of shapes of the vehicle's PxRigidDynamic that corresponds to the ith wheel. A return value of -1 means that the wheel is not mapped to a PxShape.
See also:
PxRigidActor.getShapes

bool PxVehicleWheelsSimData::isValid ( ) const [private]

Test if wheel simulation data has been setup with legal values.

PxVehicleWheelsSimData& PxVehicleWheelsSimData::operator= ( const PxVehicleWheelsSimData & src )

Copy wheel simulation data.

Note:
The number of wheels on both instances of PxVehicleWheelsSimData must match.

static PxU8* PxVehicleWheelsSimData::patchUpPointers | ( | const PxU32 | numWheels,
 |  | PxVehicleWheelsSimData * | simData,
 |  | PxU8 * | ptrIn |
 | ) |  |  | [static, private]

void PxVehicleWheelsSimData::setAntiRollBarData | ( | const PxU32 | id,
 |  | const PxVehicleAntiRollBarData & | antiRoll
 | ) |  |

void PxVehicleWheelsSimData::setChassisMass ( const PxF32 chassisMass )

Setup with mass information that can be applied to the default values of the suspensions, wheels, and tires set in their respective constructors.

Parameters:
chassisMass is the mass of the chassis.
Note:
This function assumes that the suspensions equally share the load of the chassis mass. It also assumes that the suspension will have a particular natural frequency and damping ratio that is typical of a standard car. If either of these assumptions is broken then each suspension will need to be individually configured with custom strength, damping rate, and sprung mass.
See also:
allocate

void PxVehicleWheelsSimData::setHighForwardSpeedSubStepCount ( const PxU32 f ) [inline]

void PxVehicleWheelsSimData::setLowForwardSpeedSubStepCount ( const PxU32 f ) [inline]

void PxVehicleWheelsSimData::setMinLongSlipDenominator ( const PxReal minLongSlipDenominator )

Set the minimum denominator used in the longitudinal slip calculation.

Note:
The longitudinal slip has a theoretical value of (w*r - vz)/|vz|, where w is the angular speed of the wheel; r is the radius of the wheel; and vz is the component of rigid body velocity (computed at the wheel base) that lies along the longitudinal wheel direction. The term |vz| normalizes the slip, while preserving the sign of the longitudinal tire slip. The difficulty here is that when |vz| approaches zero the longitudinal slip approaches infinity. A solution to this problem is to replace the denominator (|vz|) with a value that never falls below a chosen threshold. The longitudinal slip is then calculated with (w*r - vz)/PxMax(|vz|, minLongSlipDenominator).

The default value is the equivalent of 4 metres per second after accounting for the length scale set in PxTolerancesScale.

Adjust this value upwards if a vehicle has difficulty coming to rest.

Decreasing the timestep (or increasing the number of sub-steps at low longitudinal speed with setSubStepCount) should allow stable stable behavior with smaller values of minLongSlipDenominator.

void PxVehicleWheelsSimData::setSceneQueryFilterData | ( | const PxU32 | suspId,
 |  | const PxFilterData & | sqFilterData
 | ) |  |

Set the scene query filter data that will be used for raycasts along the travel direction of the specified suspension. The default value is PxFilterData(0,0,0,0).

Parameters:
suspId | is the wheel index
sqFilterData | is the raycast filter data for the suspension raycast.
See also:
setWheelShapeMapping

void PxVehicleWheelsSimData::setSubStepCount | ( | const PxReal | thresholdLongitudinalSpeed,
 |  | const PxU32 | lowForwardSpeedSubStepCount,
 |  | const PxU32 | highForwardSpeedSubStepCount
 | ) |  |

Set the number of vehicle sub-steps that will be performed when the vehicle's longitudinal speed is below and above a threshold longitudinal speed.

Note:
More sub-steps provides better stability but with greater computational cost.

Typically, vehicles require more sub-steps at very low forward speeds.

The threshold longitudinal speed has a default value that is the equivalent of 5 metres per second after accounting for the length scale set in PxTolerancesScale.

The sub-step count below the threshold longitudinal speed has a default of 3.

The sub-step count above the threshold longitudinal speed has a default of 1.

Each sub-step has time advancement equal to the time-step passed to PxVehicleUpdates divided by the number of required sub-steps.

The contact planes of the most recent suspension line raycast are reused across all sub-steps.

Each sub-step computes tire and suspension forces and then advances a velocity, angular velocity and transform.

At the end of all sub-steps the vehicle actor is given the velocity and angular velocity that would move the actor from its start transform prior to the first sub-step to the transform computed at the end of the last substep, assuming it doesn't collide with anything along the way in the next PhysX SDK update.

The global pose of the actor is left unchanged throughout the sub-steps.

Parameters:
[in] | thresholdLongitudinalSpeed | is a threshold speed that is used to categorize vehicle speed as low speed or high speed.
[in] | lowForwardSpeedSubStepCount | is the number of sub-steps performed in PxVehicleUpates for vehicles that have longitudinal speed lower than thresholdLongitudinalSpeed.
[in] | highForwardSpeedSubStepCount | is the number of sub-steps performed in PxVehicleUpdates for vehicles that have longitudinal speed graeter than thresholdLongitudinalSpeed.

void PxVehicleWheelsSimData::setSuspensionData | ( | const PxU32 | id,
 |  | const PxVehicleSuspensionData & | susp
 | ) |  |

Set the suspension data of the idth wheel.

Parameters:
[in] | id | is the wheel index.
[in] | susp | is the suspension data to be applied.

void PxVehicleWheelsSimData::setSuspForceAppPointOffset | ( | const PxU32 | id,
 |  | const PxVec3 & | offset
 | ) |  |

Set the application point of the suspension force of the suspension of the idth wheel.

Parameters:
[in] | id | is the wheel index
[in] | offset | is the offset from the rigid body center of mass to the application point of the suspension force.
Note:
Specified relative to the centre of mass of the rigid body

void PxVehicleWheelsSimData::setSuspTravelDirection | ( | const PxU32 | id,
 |  | const PxVec3 & | dir
 | ) |  |

Set the direction of travel of the suspension of the idth wheel.

Parameters:
[in] | id | is the wheel index
[in] | dir | is the suspension travel direction to be applied.

void PxVehicleWheelsSimData::setThresholdLongSpeed ( const PxF32 f ) [inline]

void PxVehicleWheelsSimData::setTireData | ( | const PxU32 | id,
 |  | const PxVehicleTireData & | tire
 | ) |  |

Set the tire data of the idth wheel.

Parameters:
[in] | id | is the wheel index.
[in] | tire | is the tire data to be applied.

void PxVehicleWheelsSimData::setTireForceAppPointOffset | ( | const PxU32 | id,
 |  | const PxVec3 & | offset
 | ) |  |

Set the application point of the tire force of the tire of the idth wheel.

Parameters:
[in] | id | is the wheel index
[in] | offset | is the offset from the rigid body center of mass to the application point of the tire force.
Note:
Specified relative to the centre of mass of the rigid body

void PxVehicleWheelsSimData::setTireLoadFilterData ( const PxVehicleTireLoadFilterData & tireLoadFilter )

Set the data that describes the filtering of the tire load to produce smoother handling at large timesteps.

Parameters:
tireLoadFilter is the smoothing function data.

void PxVehicleWheelsSimData::setWheelCentreOffset | ( | const PxU32 | id,
 |  | const PxVec3 & | offset
 | ) |  |

Set the offset from the rigid body centre of mass to the centre of the idth wheel.

Parameters:
[in] | id | is the wheel index
[in] | offset | is the offset from the rigid body center of mass to the center of the wheel at rest.
Note:
Specified relative to the centre of mass of the rigid body

void PxVehicleWheelsSimData::setWheelData | ( | const PxU32 | id,
 |  | const PxVehicleWheelData & | wheel
 | ) |  |

Set the wheel data of the idth wheel.

Parameters:
[in] | id | is the wheel index.
[in] | wheel | is the wheel data to be applied.

void PxVehicleWheelsSimData::setWheelEnabledState | ( | const PxU32 | wheel,
 |  | const bool | state |
 | ) |  |  | [inline]

void PxVehicleWheelsSimData::setWheelShapeMapping | ( | const PxU32 | wheelId,
 |  | const PxI32 | shapeId
 | ) |  |

Set mapping between wheel id and position of corresponding wheel shape in the list of actor shapes.

Note:
This mapping is used to pose the correct wheel shapes with the latest wheel rotation angle, steer angle, and suspension travel while allowing arbitrary ordering of the wheel shapes in the actor's list of shapes.

Use setWheelShapeMapping(i,-1) to register that there is no wheel shape corresponding to the ith wheel

Set setWheelShapeMapping(i,k) to register that the ith wheel corresponds to the kth shape in the actor's list of shapes.

The default values correspond to setWheelShapeMapping(i,i) for all wheels.

Calling this function will also pose the relevant PxShape at the rest position of the wheel.

Parameters:
wheelId | is the wheel index
shapeId | is the shape index.
See also:
PxVehicleUpdates, PxVehicleDrive4W::setup, PxVehicleDriveTank::setup, PxVehicleNoDrive::setup, setSceneQueryFilterData, PxRigidActor::getShapes

Friends And Related Function Documentation

friend class PxVehicleDrive4W [friend]

friend class PxVehicleDriveTank [friend]

friend class PxVehicleNoDrive [friend]

friend class PxVehicleUpdate [friend]

friend class PxVehicleWheels [friend]

Member Data Documentation

PxU32 PxVehicleWheelsSimData::mActiveWheelsBitmapBuffer[((PX_MAX_NB_WHEELS+31)&~31) >> 5] [private]

Which of the mNbActiveWheels are active or disabled? The default is that all mNbActiveWheels wheels are active.

PxVehicleAntiRollBarData* PxVehicleWheelsSimData::mAntiRollBars [private]

Anti-roll bars.

PxU32 PxVehicleWheelsSimData::mHighForwardSpeedSubStepCount [private]

Number of sub-steps that will be performed if the longitudinal speed of the vehicle is greater than or equal to mThresholdLongitudinalSpeed.

PxU32 PxVehicleWheelsSimData::mLowForwardSpeedSubStepCount [private]

Number of sub-steps that will be performed if the longitudinal speed of the vehicle is smaller than mThresholdLongitudinalSpeed.

PxF32 PxVehicleWheelsSimData::mMinLongSlipDenominator [private]

Minimum long slip denominator.

PxU32 PxVehicleWheelsSimData::mNbActiveAntiRollBars [private]

Number of active anti-roll bars.

PxU32 PxVehicleWheelsSimData::mNbActiveWheels [private]

Number of actual wheels (<=(mNbWheels4*4)).

PxU32 PxVehicleWheelsSimData::mNbAntiRollBars4 [private]

2 anti-rollbars allocated for each block of 4 wheels.

PxU32 PxVehicleWheelsSimData::mNbWheels4 [private]

Number of blocks of 4 wheels.

PxVehicleTireLoadFilterData PxVehicleWheelsSimData::mNormalisedLoadFilter [private]

Graph to filter normalised load.

See also:
setTireLoadFilterData, getTireLoadFilterData

PxU32 PxVehicleWheelsSimData::mPad[1] [private]

PxF32 PxVehicleWheelsSimData::mThresholdLongitudinalSpeed [private]

Threshold longitudinal speed used to decide whether to use mLowForwardSpeedSubStepCount or mHighForwardSpeedSubStepCount as the number of sub-steps that will be peformed.

PxVehicleWheels4SimData* PxVehicleWheelsSimData::mWheels4SimData [private]

Wheels data organised in blocks of 4 wheels.

The documentation for this class was generated from the following file:
  • PxVehicleWheels.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleWheelsDynData Class Reference

PxVehicleWheelsDynData Class Reference
[Vehicle]

Data structure with instanced dynamics data for wheels. More...

#include <PxVehicleWheels.h>

List of all members.

Public Member Functions

PxVehicleWheelsDynData ()
~PxVehicleWheelsDynData ()
void | setToRestState ()
Set all wheels to their rest state.
void | setTireForceShaderFunction (PxVehicleComputeTireForce tireForceShaderFn)
Set the tire force shader function.
void | setTireForceShaderData (const PxU32 tireId, const void *tireForceShaderData)
Set the tire force shader data for a specific tire.
const void * | getTireForceShaderData (const PxU32 tireId) const
Get the tire force shader data for a specific tire.
void | setWheelRotationSpeed (const PxU32 wheelIdx, const PxReal speed)
Set the wheel rotation speed (radians per second) about the rolling axis for the specified wheel.
PxReal | getWheelRotationSpeed (const PxU32 wheelIdx) const
Return the rotation speed about the rolling axis of a specified wheel .
void | setWheelRotationAngle (const PxU32 wheelIdx, const PxReal angle)
Set the wheel rotation angle (radians) about the rolling axis of the specified wheel.
PxReal | getWheelRotationAngle (const PxU32 wheelIdx) const
Return the rotation angle about the rolling axis for the specified wheel.
void | setUserData (const PxU32 tireIdx, void *userData)
Set the user data pointer for the specified wheel It has a default value of NULL.
void * | getUserData (const PxU32 tireIdx) const
Get the user data pointer that was set for the specified wheel.
void | copy (const PxVehicleWheelsDynData &src, const PxU32 srcWheel, const PxU32 trgWheel)
Copy the dynamics data of a single wheel unit (wheel, suspension, tire) from srcWheel of src to trgWheel.
PxU32 | getNbWheelRotationSpeed () const
PxU32 | getNbWheelRotationAngle () const
PxVehicleWheels4DynData * | getWheel4DynData () const

Static Public Member Functions

static void | getBinaryMetaData (PxOutputStream &stream)

Private Member Functions

bool | isValid () const
Test if wheel dynamics data have legal values.
PxVehicleWheelsDynData (const PxU32 numWheels)

Static Private Member Functions

static PxU32 | computeByteSize (const PxU32 numWheels)
see PxVehicleWheels::allocate
static PxU8 * | patchUpPointers (const PxU32 numWheels, PxVehicleWheelsDynData *dynData, PxU8 *ptr)

Private Attributes

PxVehicleWheels4DynData * | mWheels4DynData
Dynamics data arranged in blocks of 4 wheels.
PxVehicleTireForceCalculator * | mTireForceCalculators
Shader data and function for tire force calculations.
void ** | mUserDatas
A userData pointer can be stored for each wheel.
PxU32 mNbWheels4
Number of blocks of 4 wheels.
PxU32 mNbActiveWheels
Number of wheels (mNbActiveWheels <= (mNbWheels4*4)).
PxU32 | mPad [3]

Friends

class | PxVehicleWheels
class | PxVehicleDrive4W
class | PxVehicleDriveTank
class | PxVehicleUpdate

Detailed Description

Data structure with instanced dynamics data for wheels.

Constructor & Destructor Documentation

PxVehicleWheelsDynData::PxVehicleWheelsDynData ( ) [inline]

PxVehicleWheelsDynData::~PxVehicleWheelsDynData ( ) [inline]

PxVehicleWheelsDynData::PxVehicleWheelsDynData ( const PxU32 numWheels ) [private]

Member Function Documentation

static PxU32 PxVehicleWheelsDynData::computeByteSize ( const PxU32 numWheels ) [static, private]

see PxVehicleWheels::allocate

void PxVehicleWheelsDynData::copy | ( | const PxVehicleWheelsDynData & | src,
 |  | const PxU32 | srcWheel,
 |  | const PxU32 | trgWheel
 | ) |  |

Copy the dynamics data of a single wheel unit (wheel, suspension, tire) from srcWheel of src to trgWheel.

Parameters:
[in] | src | is the data to be copied.
[in] | srcWheel | is the wheel whose data will be copied from src.
[in] | trgWheel | is the wheel that will be assigned the copied data.

static void PxVehicleWheelsDynData::getBinaryMetaData ( PxOutputStream & stream ) [static]

PxU32 PxVehicleWheelsDynData::getNbWheelRotationAngle ( ) const [inline]

PxU32 PxVehicleWheelsDynData::getNbWheelRotationSpeed ( ) const [inline]

const void* PxVehicleWheelsDynData::getTireForceShaderData ( const PxU32 tireId ) const

Get the tire force shader data for a specific tire.

void* PxVehicleWheelsDynData::getUserData ( const PxU32 tireIdx ) const

Get the user data pointer that was set for the specified wheel.

PxVehicleWheels4DynData* PxVehicleWheelsDynData::getWheel4DynData ( ) const [inline]

PxReal PxVehicleWheelsDynData::getWheelRotationAngle ( const PxU32 wheelIdx ) const

Return the rotation angle about the rolling axis for the specified wheel.

PxReal PxVehicleWheelsDynData::getWheelRotationSpeed ( const PxU32 wheelIdx ) const

Return the rotation speed about the rolling axis of a specified wheel .

bool PxVehicleWheelsDynData::isValid ( ) const [private]

Test if wheel dynamics data have legal values.

static PxU8* PxVehicleWheelsDynData::patchUpPointers | ( | const PxU32 | numWheels,
 |  | PxVehicleWheelsDynData * | dynData,
 |  | PxU8 * | ptr |
 | ) |  |  | [static, private]

void PxVehicleWheelsDynData::setTireForceShaderData | ( | const PxU32 | tireId,
 |  | const void * | tireForceShaderData
 | ) |  |

Set the tire force shader data for a specific tire.

Parameters:
[in] | tireId | is the wheel index
[in] | tireForceShaderData | is the data describing the tire.

void PxVehicleWheelsDynData::setTireForceShaderFunction ( PxVehicleComputeTireForce tireForceShaderFn )

Set the tire force shader function.

Parameters:
[in] tireForceShaderFn is the shader function that will be used to compute tire forces.

void PxVehicleWheelsDynData::setToRestState ( )

Set all wheels to their rest state.

See also:
setup

void PxVehicleWheelsDynData::setUserData | ( | const PxU32 | tireIdx,
 |  | void * | userData
 | ) |  |

Set the user data pointer for the specified wheel It has a default value of NULL.

Parameters:
[in] | tireIdx | is the wheel index
[in] | userData | is the data to be associated with the wheel.

void PxVehicleWheelsDynData::setWheelRotationAngle | ( | const PxU32 | wheelIdx,
 |  | const PxReal | angle
 | ) |  |

Set the wheel rotation angle (radians) about the rolling axis of the specified wheel.

Parameters:
[in] | wheelIdx | is the wheel index
[in] | angle | is the rotation angle to be applied to the wheel.

void PxVehicleWheelsDynData::setWheelRotationSpeed | ( | const PxU32 | wheelIdx,
 |  | const PxReal | speed
 | ) |  |

Set the wheel rotation speed (radians per second) about the rolling axis for the specified wheel.

Parameters:
[in] | wheelIdx | is the wheel index
[in] | speed | is the rotation speed to be applied to the wheel.

Friends And Related Function Documentation

friend class PxVehicleDrive4W [friend]

friend class PxVehicleDriveTank [friend]

friend class PxVehicleUpdate [friend]

friend class PxVehicleWheels [friend]

Member Data Documentation

PxU32 PxVehicleWheelsDynData::mNbActiveWheels [private]

Number of wheels (mNbActiveWheels <= (mNbWheels4*4)).

PxU32 PxVehicleWheelsDynData::mNbWheels4 [private]

Number of blocks of 4 wheels.

PxU32 PxVehicleWheelsDynData::mPad[3] [private]

PxVehicleTireForceCalculator* PxVehicleWheelsDynData::mTireForceCalculators [private]

Shader data and function for tire force calculations.

void** PxVehicleWheelsDynData::mUserDatas [private]

A userData pointer can be stored for each wheel.

See also:
setUserData, getUserData

PxVehicleWheels4DynData* PxVehicleWheelsDynData::mWheels4DynData [private]

Dynamics data arranged in blocks of 4 wheels.

The documentation for this class was generated from the following file:
  • PxVehicleWheels.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleWheels Class Reference

PxVehicleWheels Class Reference
[Vehicle]

Data structure with instanced dynamics data and configuration data of a vehicle with just wheels. More...

#include <PxVehicleWheels.h>

Inheritance diagram for PxVehicleWheels:

PxVehicleDrivePxVehicleNoDrivePxBasePxVehicleDrive4WPxVehicleDriveNWPxVehicleDriveTank
[legend]
Collaboration diagram for PxVehicleWheels:

PxBasePxActorPxFlags\< PxBaseFlag::Enum, PxU16 \>PxVehicleWheelsSimDataPxVehicleTireLoadFilterDataPxVehicleAntiRollBarDataPxRigidDynamicPxRigidBodyPxRigidActorPxVehicleWheelsDynData
[legend]

List of all members.

Public Member Functions

PX_FORCE_INLINE PxU32 | getVehicleType () const
Return the type of vehicle.
PX_FORCE_INLINE PxRigidDynamic * | getRigidDynamicActor ()
Get non-const ptr to PxRigidDynamic instance that is the vehicle's physx representation.
PX_FORCE_INLINE const
PxRigidDynamic * 		getRigidDynamicActor () const
Get const ptr to PxRigidDynamic instance that is the vehicle's physx representation.
PxReal | computeForwardSpeed () const
Compute the rigid body velocity component along the forward vector of the rigid body transform.
PxReal | computeSidewaysSpeed () const
Compute the rigid body velocity component along the right vector of the rigid body transform.
virtual void | requiresObjects (PxProcessPxBaseCallback &c)
virtual const char * | getConcreteTypeName () const
Returns string name of dynamic type.
virtual bool | isKindOf (const char *name) const
Returns whether a given type name matches with the type of this instance.
virtual void | exportExtraData (PxSerializationContext &)
void | importExtraData (PxDeserializationContext &)
void | resolveReferences (PxDeserializationContext &)
PX_FORCE_INLINE PxU32 | getNbNonDrivenWheels () const
PxVehicleWheels (PxType concreteType, PxBaseFlags baseFlags)
PxVehicleWheels (PxBaseFlags baseFlags)
virtual | ~PxVehicleWheels ()
virtual void | release ()
Releases the PxBase instance, please check documentation of release in derived class.

Static Public Member Functions

static void | getBinaryMetaData (PxOutputStream &stream)

Public Attributes

PxVehicleWheelsSimData mWheelsSimData
Data describing the setup of all the wheels/suspensions/tires.
PxVehicleWheelsDynData mWheelsDynData
Data describing the dynamic state of all wheels/suspension/tires.

Protected Member Functions

void | setToRestState ()
Set all wheels to their rest state.
bool | isValid () const
Test that all configuration and instanced dynamics data is valid.
virtual void | init (const PxU32 numWheels)
void | free ()
Deallocate a PxVehicleWheels instance.
void | setup (PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxU32 nbDrivenWheels, const PxU32 nbNonDrivenWheels)

Static Protected Member Functions

static PxU32 | computeByteSize (const PxU32 nbWheels)
static PxU8 * | patchupPointers (const PxU32 nbWheels, PxVehicleWheels *vehWheels, PxU8 *ptr)

Protected Attributes

PxRigidDynamic * mActor
The rigid body actor that represents the vehicle in the PhysX SDK.
PxU8 | mType
Vehicle type (eVehicleDriveTypes).
PxU8 | mPad0 [14]

Private Attributes

PxU32 mNbNonDrivenWheels
Count the number of constraint connectors that have hit their callback when deleting a vehicle. Can only delete the vehicle's memory when all constraint connectors have hit their callback.
PxU8 | mOnConstraintReleaseCounter

Friends

class | PxVehicleUpdate
class | PxVehicleConstraintShader

Detailed Description

Data structure with instanced dynamics data and configuration data of a vehicle with just wheels.

See also:
PxVehicleDrive, PxVehicleDrive4W, PxVehicleDriveTank

Constructor & Destructor Documentation

PxVehicleWheels::PxVehicleWheels | ( | PxType | concreteType,
 |  | PxBaseFlags | baseFlags |
 | ) |  |  | [inline]

PxVehicleWheels::PxVehicleWheels ( PxBaseFlags baseFlags ) [inline]

virtual PxVehicleWheels::~PxVehicleWheels ( ) [inline, virtual]

Member Function Documentation

static PxU32 PxVehicleWheels::computeByteSize ( const PxU32 nbWheels ) [static, protected]

See also:
PxVehicleDrive4W::allocate, PxVehicleDriveTank::allocate

Reimplemented in PxVehicleDrive.

PxReal PxVehicleWheels::computeForwardSpeed ( ) const

Compute the rigid body velocity component along the forward vector of the rigid body transform.

See also:
PxVehicleSetBasisVectors

PxReal PxVehicleWheels::computeSidewaysSpeed ( ) const

Compute the rigid body velocity component along the right vector of the rigid body transform.

See also:
PxVehicleSetBasisVectors

virtual void PxVehicleWheels::exportExtraData ( PxSerializationContext & ) [virtual]

Reimplemented in PxVehicleNoDrive.

void PxVehicleWheels::free ( ) [protected]

Deallocate a PxVehicleWheels instance.

See also:
PxVehicleDrive4W::free, PxVehicleDriveTank::free

Reimplemented in PxVehicleDrive, PxVehicleDrive4W, PxVehicleDriveNW, PxVehicleDriveTank, and PxVehicleNoDrive.

static void PxVehicleWheels::getBinaryMetaData ( PxOutputStream & stream ) [static]

Reimplemented in PxVehicleDrive, PxVehicleDrive4W, PxVehicleDriveNW, PxVehicleDriveTank, and PxVehicleNoDrive.

virtual const char* PxVehicleWheels::getConcreteTypeName ( ) const [inline, virtual]

Returns string name of dynamic type.

Returns:
Class name of most derived type of this object.

Implements PxBase.

Reimplemented in PxVehicleDrive, PxVehicleDrive4W, PxVehicleDriveNW, PxVehicleDriveTank, and PxVehicleNoDrive.

PX_FORCE_INLINE PxU32 PxVehicleWheels::getNbNonDrivenWheels ( ) const [inline]

PX_FORCE_INLINE const PxRigidDynamic* PxVehicleWheels::getRigidDynamicActor ( ) const [inline]

Get const ptr to PxRigidDynamic instance that is the vehicle's physx representation.

PX_FORCE_INLINE PxRigidDynamic* PxVehicleWheels::getRigidDynamicActor ( ) [inline]

Get non-const ptr to PxRigidDynamic instance that is the vehicle's physx representation.

PX_FORCE_INLINE PxU32 PxVehicleWheels::getVehicleType ( ) const [inline]

Return the type of vehicle.

See also:
PxVehicleTypes

void PxVehicleWheels::importExtraData ( PxDeserializationContext & )

Reimplemented in PxVehicleNoDrive.

virtual void PxVehicleWheels::init ( const PxU32 numWheels ) [protected, virtual]

Reimplemented in PxVehicleDrive.

virtual bool PxVehicleWheels::isKindOf ( const char * superClass ) const [inline, virtual]

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxBase.

Reimplemented in PxVehicleDrive, PxVehicleDrive4W, PxVehicleDriveNW, PxVehicleDriveTank, and PxVehicleNoDrive.

References PxBase::isKindOf().

bool PxVehicleWheels::isValid ( ) const [protected]

Test that all configuration and instanced dynamics data is valid.

Reimplemented in PxVehicleDrive, PxVehicleDrive4W, PxVehicleDriveNW, PxVehicleDriveTank, and PxVehicleNoDrive.

static PxU8* PxVehicleWheels::patchupPointers | ( | const PxU32 | nbWheels,
 |  | PxVehicleWheels * | vehWheels,
 |  | PxU8 * | ptr |
 | ) |  |  | [static, protected]

virtual void PxVehicleWheels::release ( ) [inline, virtual]

Releases the PxBase instance, please check documentation of release in derived class.

Implements PxBase.

virtual void PxVehicleWheels::requiresObjects ( PxProcessPxBaseCallback & c ) [virtual]

void PxVehicleWheels::resolveReferences ( PxDeserializationContext & )

void PxVehicleWheels::setToRestState ( ) [protected]

Set all wheels to their rest state.

Reimplemented in PxVehicleDrive, PxVehicleDrive4W, PxVehicleDriveNW, PxVehicleDriveTank, and PxVehicleNoDrive.

void PxVehicleWheels::setup | ( | PxPhysics * | physics,
 |  | PxRigidDynamic * | vehActor,
 |  | const PxVehicleWheelsSimData & | wheelsData,
 |  | const PxU32 | nbDrivenWheels,
 |  | const PxU32 | nbNonDrivenWheels |
 | ) |  |  | [protected]

See also:
PxVehicleDrive4W::setup, PxVehicleDriveTank::setup

Reimplemented in PxVehicleDrive.

Friends And Related Function Documentation

friend class PxVehicleConstraintShader [friend]

friend class PxVehicleUpdate [friend]

Reimplemented in PxVehicleDrive, PxVehicleDrive4W, PxVehicleDriveNW, PxVehicleDriveTank, and PxVehicleNoDrive.

Member Data Documentation

PxRigidDynamic* PxVehicleWheels::mActor [protected]

The rigid body actor that represents the vehicle in the PhysX SDK.

PxU32 PxVehicleWheels::mNbNonDrivenWheels [private]

Count the number of constraint connectors that have hit their callback when deleting a vehicle. Can only delete the vehicle's memory when all constraint connectors have hit their callback.

PxU8 PxVehicleWheels::mOnConstraintReleaseCounter [private]

PxU8 PxVehicleWheels::mPad0[14] [protected]

PxU8 PxVehicleWheels::mType [protected]

Vehicle type (eVehicleDriveTypes).

PxVehicleWheelsDynData PxVehicleWheels::mWheelsDynData

Data describing the dynamic state of all wheels/suspension/tires.

PxVehicleWheelsSimData PxVehicleWheels::mWheelsSimData

Data describing the setup of all the wheels/suspensions/tires.

The documentation for this class was generated from the following file:
  • PxVehicleWheels.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class List

Class List

Here are the classes, structs, unions and interfaces with brief descriptions:
physx::PxBaseTask | Base class of all task types
physx::PxCpuDispatcher | A CpuDispatcher is responsible for scheduling the execution of tasks passed to it by the SDK
physx::PxGpuDispatcher | A GpuTask dispatcher
physx::PxGpuTask | PxTask implementation for launching CUDA work
physx::PxGpuTaskHint | Define the 'flavor' of a PxGpuTask
physx::PxLightCpuTask | A PxBaseTask implementation with immediate execution and simple dependencies
physx::PxProfilerCallback | The pure virtual callback interface for general purpose instrumentation and profiling of GameWorks modules as well as applications
physx::PxProfileScoped |
physx::PxTask | A PxBaseTask implementation with deferred execution and full dependencies
physx::PxTaskManager | The PxTaskManager interface
physx::PxTaskType | Identifies the type of each heavyweight PxTask object
Px1DConstraint | A constraint
Px1DConstraintFlag | Constraint row flags
PxActiveTransform | Data struct for use with Active Transform Notification. Used with PxScene::getActiveTransforms()
PxActor | PxActor is the base class for the main simulation objects in the physics SDK
PxActorClientBehaviorFlag | Multiclient behavior bit flags for actors
PxActorFlag | Flags which control the behavior of an actor
PxActorShape | Collection of set bits defined in PxHitFlag
PxActorType | Identifies each type of actor
PxActorTypeFlag | Identifies each type of actor for retrieving actors from a scene
PxAggregate | Class to aggregate actors into a single broad-phase entry
PxAllocatorCallback | Abstract base class for an application defined memory allocator that can be used by the Nv library
PxArticulation | Tree structure of bodies connected by joints that is treated as a unit by the dynamics solver
PxArticulationDriveCache | Articulation drive cache
PxArticulationJoint | Joint between two links in an articulation
PxArticulationJointDriveType | The type of joint drive to use for the articulation joint
PxArticulationLink | Component of an articulation that represents a rigid body
PxAssertHandler |
PxBase | Base class for objects that can be members of a PxCollection
PxBaseFlag | Flags for PxBase
PxBatchQuery | Batched queries object. This is used to perform several queries at the same time
PxBatchQueryDesc | Descriptor class for PxBatchQuery
PxBatchQueryMemory | Struct for PxBatchQuery memory pointers
PxBatchQueryResult< HitType > | Generic struct for receiving results of single query in a batch. Gets templated on hit type PxRaycastHit, PxSweepHit or PxOverlapHit
PxBatchQueryStatus | Batched query status
PxBinaryConverter | Binary converter for serialized streams
PxBitAndDataT< storageType, bitMask > |
PxBoundedData |
PxBounds3 | Class representing 3D range or axis aligned bounding box
PxBoxController | Box character controller
PxBoxControllerDesc | Descriptor for a box character controller
PxBoxGeometry | Class representing the geometry of a box
PxBoxObstacle | A box obstacle
PxBroadPhaseCallback | Broad-phase callback to receive broad-phase related events
PxBroadPhaseCaps | Caps class for broad phase
PxBroadPhaseExt |
PxBroadPhaseRegion | "Region of interest" for the broad-phase
PxBroadPhaseRegionInfo | Information & stats structure for a region
PxBroadPhaseType | Broad phase algorithm used in the simulation
PxBVH33MidphaseDesc | Structure describing parameters affecting BVH33 midphase mesh structure
PxBVH33TriangleMesh | A triangle mesh containing the PxMeshMidPhase::eBVH33 structure
PxBVH34MidphaseDesc | Structure describing parameters affecting BVH34 midphase mesh structure
PxBVH34TriangleMesh | A triangle mesh containing the PxMeshMidPhase::eBVH34 structure
PxCapsuleClimbingMode |
PxCapsuleController | A capsule character controller
PxCapsuleControllerDesc | A descriptor for a capsule character controller
PxCapsuleGeometry | Class representing the geometry of a capsule
PxCapsuleObstacle | A capsule obstacle
PxCCDContactModifyCallback | An interface class that the user can implement in order to modify CCD contact constraints
PxClientBehaviorFlag | Behavior bit flags for simulation clients
PxCloth | Set of connected particles tailored towards simulating character cloth
PxClothCollisionPlane | Plane representation used for cloth-convex collision
PxClothCollisionSphere | Sphere representation used for cloth-sphere and cloth-capsule collision
PxClothCollisionTriangle | Triangle representation used for cloth-mesh collision
PxClothFabric | A cloth fabric is a structure that contains all the internal solver constraints of a cloth mesh
PxClothFabricCooker |
PxClothFabricDesc | References all the data required to create a fabric
PxClothFabricPhase | References a set of constraints that can be solved in parallel
PxClothFabricPhaseType | Describe type of phase in cloth fabric
PxClothFlag | Flag for behaviors of the cloth solver
PxClothGeodesicTetherCooker |
PxClothMeshDesc | Descriptor class for a cloth mesh
PxClothMeshQuadifier |
PxClothMotionConstraintConfig | Solver configuration parameters for the tether phases
PxClothParticle | Per particle data for cloth
PxClothParticleMotionConstraint | Constraints for cloth particle motion
PxClothParticleSeparationConstraint | Separation constraints for cloth particle movement
PxClothSimpleTetherCooker |
PxClothStretchConfig | Solver configuration parameters for the vertical and horizontal stretch phase types
PxClothTetherConfig | Solver configuration parameters for the tether phases
PxCollection | Collection class for serialization
PxCollectionExt |
PxCombineMode | Enumeration that determines the way in which two material properties will be combined to yield a friction or restitution coefficient for a collision
PxConcreteType | Enumeration of concrete classes inheriting from PxBase
PxConstraint | A plugin class for implementing constraints
PxConstraintConnector | This class connects a custom constraint to the SDK
PxConstraintExtIDs | Unique identifiers for extensions classes which implement a constraint based on PxConstraint
PxConstraintFlag | Table of function pointers for a constraint
PxConstraintInfo | Descriptor for a broken constraint
PxConstraintInvMassScale |
PxConstraintShaderTable |
PxConstraintSolveHint | Constraint type hints which the solver uses to optimize constraint handling
PxConstraintVisualizationFlag | Flags for determining which components of the constraint should be visualized
PxConstraintVisualizer |
PxContact | Contact point data including face (feature) indices
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()
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 contact patch where all points share same material and normal
PxContactRecorder | Callback class to record contact points produced by immediate::PxGenerateContacts
PxContactSet | An array of contact points, as passed to contact modification
PxContactStreamIterator | A class to iterate over a compressed contact stream. This supports read-only access to the various contact formats
PxController | Base class for character controllers
PxControllerBehaviorCallback | User behavior callback
PxControllerBehaviorFlag | Controller behavior
PxControllerCollisionFlag | Which sides a character is colliding with
PxControllerDebugRenderFlag | Debug-rendering flags
PxControllerDesc | Descriptor class for a character controller
PxControllerFilterCallback | Dedicated filtering callback for CCT vs CCT
PxControllerFilters | Filtering data for "move" call
PxControllerHit | Describes a generic CCT hit
PxControllerManager | Manages an array of character controllers
PxControllerNonWalkableMode | How a CCT interacts with non-walkable parts
PxControllerObstacleHit | Describes a hit between a CCT and a user-defined obstacle. Passed to onObstacleHit()
PxControllerShapeHit | Describes a hit between a CCT and a shape. Passed to onShapeHit()
PxControllerShapeType | The type of controller, eg box, sphere or capsule
PxControllersHit | Describes a hit between a CCT and another CCT. Passed to onControllerHit()
PxControllerState | Describes a controller's internal state
PxControllerStats | Describes a controller's internal statistics
PxConverterReportMode |
PxConvexFlag | Flags which describe the format and behavior of a convex mesh
PxConvexMesh | A convex mesh
PxConvexMeshCookingResult | Result from convex cooking
PxConvexMeshCookingType | Enumeration for convex mesh cooking algorithms
PxConvexMeshDesc | Descriptor class for PxConvexMesh
PxConvexMeshGeometry | Convex mesh geometry class
PxConvexMeshGeometryFlag | Flags controlling the simulated behavior of the convex mesh geometry
PxCooking |
PxCookingParams | Structure describing parameters affecting mesh cooking
PxD6Axis | Used to specify one of the degrees of freedom of a D6 joint
PxD6Drive | Used to specify which axes of a D6 joint are driven
PxD6Joint | A D6 joint is a general constraint between two actors
PxD6JointDrive | Parameters for configuring the drive model of a PxD6Joint
PxD6JointDriveFlag | Flags for configuring the drive model of a PxD6Joint
PxD6Motion | Used to specify the range of motions allowed for a degree of freedom in a D6 joint
PxDataAccessFlag |
PxDebugColor | Default color values used for debug rendering
PxDebugLine | Used to store a single line and colour for debug rendering
PxDebugPoint | Used to store a single point and colour for debug rendering
PxDebugText | Used to store a text for debug rendering. Doesn't own 'string' array
PxDebugTriangle | Used to store a single triangle and colour for debug rendering
PxDefaultAllocator | Default implementation of the allocator interface required by the SDK
PxDefaultCpuDispatcher | A default implementation for a CPU task dispatcher
PxDefaultErrorCallback | Default implementation of the error callback
PxDefaultFileInputData | Default implementation of a file read stream
PxDefaultFileOutputStream | Default implementation of a file write stream
PxDefaultMemoryInputData | Default implementation of a memory read stream
PxDefaultMemoryOutputStream | Default implementation of a memory write stream
PxDeletionEventFlag | Flags specifying deletion event types
PxDeletionListener | Interface to get notification on object deletion
PxDeserializationContext | Binary deserialization context class
PxDistanceJoint | Joint that maintains an upper or lower bound (or both) on the distance between two points on different objects
PxDistanceJointFlag | Flags for configuring the drive of a PxDistanceJoint
PxDominanceGroupPair | Expresses the dominance relationship of a contact. For the time being only three settings are permitted:
PxErrorCallback | User defined interface class. Used by the library to emit debug information
PxErrorCode | Error codes
PxExtendedContact |
PxExtendedVec3 |
PxFileBuf | Callback class for data serialization
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
PxFilterInfo |
PxFilterObjectFlag |
PxFilterObjectType | Identifies each type of filter object
PxFilterOp | Collision filtering operations
PxFixedJoint | A fixed joint permits no relative movement between two bodies. ie the bodies are glued together
PxFixedSizeLookupTable< NB_ELEMENTS > |
PxFlags< enumtype, storagetype > | Container for bitfield flag variables associated with a specific enum type
PxForceMode | Parameter to addForce() and addTorque() calls, determines the exact operation that is carried out
PxFoundation | Foundation SDK singleton class
PxFrictionType | Enum for selecting the friction algorithm used for simulation
PxgDynamicsMemoryConfig | Sizes of pre-allocated buffers use for GPU dynamics
PxGeometry | A geometry object
PxGeometryHolder | Geometry holder class
PxGeometryQuery | Collection of geometry object queries (sweeps, raycasts, overlaps, ...)
PxGeometryType | A geometry type
PxGroupsMask | 64-bit mask used for collision filtering
PxHeightField | A height field class
PxHeightFieldDesc | Descriptor class for PxHeightField
PxHeightFieldFlag | Enum with flag values to be used in PxHeightFieldDesc.flags
PxHeightFieldFormat | Describes the format of height field samples
PxHeightFieldGeometry | Height field geometry class
PxHeightFieldMaterial | Special material index values for height field samples
PxHeightFieldSample | Heightfield sample format
PxHeightFieldTessFlag | Determines the tessellation of height field cells
PxHitBuffer< HitType > | Returns scene query hits (intersections) to the user in a preallocated buffer
PxHitCallback< HitType > | This callback class facilitates reporting scene query hits (intersections) to the user
PxHitFlag | Scene query and geometry query behavior flags
PxHullPolygon | Polygon data
PxInputData | Input data class for I/O which provides random read access
PxInputStream | Input stream class for I/O
PxJoint | Base interface providing common functionality for PhysX joints
PxJointActorIndex | Enumeration for specifying one or other of the actors referenced by a joint
PxJointAngularLimitPair |
PxJointConcreteType | Enumeration of PhysX' built-in joint types
PxJointLimitCone | Describes an elliptical conical joint limit. Note that very small or highly elliptical limit cones may result in jitter
PxJointLimitParameters | Describes the parameters for a joint limit
PxJointLinearLimit | Describes a one-sided linear limit
PxJointLinearLimitPair | Describes a two-sided limit
PxLocationHit | Scene query hit information for raycasts and sweeps returning hit position and normal information
PxLockedData | Parent class for bulk data that is shared between the SDK and the application
PxMassModificationProps |
PxMassProperties | Utility class to compute and manipulate mass and inertia tensor properties
PxMat33 | 3x3 matrix class
PxMat44 | 4x4 matrix class
PxMaterial | Material class to represent a set of surface properties
PxMaterialFlag | Flags which control the behavior of a material
PxMeshCookingHint | Enumeration for mesh cooking hints
PxMeshFlag | Enum with flag values to be used in PxSimpleTriangleMesh::flags
PxMeshGeometryFlag | Flags controlling the simulated behavior of the triangle mesh geometry
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)
PxMeshOverlapUtil | Utility class to find mesh triangles touched by a specified geometry object
PxMeshPreprocessingFlag | Enum for the set of mesh pre-processing parameters
PxMeshQuery |
PxMeshScale | A class expressing a nonuniform scaling transformation
PxMetaDataEntry | Struct to store meta data definitions
PxMetaDataFlag | Flags used to configure binary meta data entries, typically set through PX_DEF_BIN_METADATA defines
PxMidphaseDesc | Structure describing parameters affecting midphase mesh structure
PxModifiableContact | A modifiable contact point. This has additional fields per-contact to permit modification by user
PxObstacle | Base class for obstacles
PxObstacleContext | Context class for obstacles
PxOutputStream | Output stream class for I/O
PxOverlapBufferN< N > | Returns touching overlap hits to the user in a fixed size array embedded in the buffer class
PxOverlapHit | Stores results of overlap queries
PxPackValidation |
PxPadding< TNumBytes > |
PxPairFilteringMode |
PxPairFlag | Collection of flags describing the actions to take for a collision pair
PxParticleBase | The particle base class represents the shared module for particle based simulation. This class can't be instantiated. (deprecated)
PxParticleBaseFlag | ParticleBase flags (deprecated)
PxParticleCreationData | Descriptor-like user-side class describing buffers for particle creation. (deprecated)
PxParticleExt | Extensions for the partice feature (deprecated)
PxParticleExt::PxParticleExt::IndexPool | Class to manage particle indices. Extension particle index management can be useful if no application side particle index allocation functionality is available. An PxParticleExt::IndexPool instance is meant to be used for one PxParticleSystem/PxParticleFluid instance. The instance can be created with PxParticleExt::createIndexPool()
PxParticleExt::PxParticleExt::ParticleBounds |
PxParticleFlag |
PxParticleFluid | The particle fluid class represents the main module for particle based fluid simulation. (deprecated) SPH (Smoothed Particle Hydrodynamics) is used to animate the particles. This class inherits the properties of the PxParticleBase class and adds particle-particle interactions
PxParticleFluidReadData | Data layout descriptor for reading fluid particle data from the SDK. (deprecated)
PxParticleReadData | Data layout descriptor for reading particle data from the SDK. (deprecated)
PxParticleReadDataFlag |
PxParticleSystem | The particle system class represents the main module for particle based simulation. (deprecated)
PxPhysics | Abstract singleton factory class used for instancing objects in the Physics SDK
PxPhysicsInsertionCallback | Callback interface that permits PxCooking to insert a TriangleMesh, HeightfieldMesh or ConvexMesh directly into PxPhysics without the need to store the cooking results into a stream
PxPlane | Representation of a plane
PxPlaneGeometry | Class describing a plane geometry
PxPlatform |
PxPrismaticJoint | A prismatic joint permits relative translational movement between two bodies along an axis, but no relative rotational movement
PxPrismaticJointFlag | Flags specific to the prismatic joint
PxProcessPxBaseCallback | Callback class used to process PxBase objects
PxPruningStructure | A precomputed pruning structure to accelerate scene queries against newly added actors
PxPruningStructureType | Pruning structure used to accelerate scene queries
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
PxPvdInstrumentationFlag | Types of instrumentation that PVD can do
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
PxPvdSceneFlag | PVD scene Flags. They are disabled by default, and only works if PxPvdInstrumentationFlag::eDEBUG is set
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
PxPvdUpdateType |
PxQuat | This is a quaternion class. For more information on quaternion mathematics consult a mathematics source on complex numbers
PxQueryCache | Single hit cache for scene queries
PxQueryFilterCallback | Scene query filtering callbacks
PxQueryFilterData | Scene query filtering data
PxQueryFlag | Filtering flags for scene queries
PxQueryHit | Scene query hit information
PxQueryHitType | Classification of scene query hits (intersections)
PxRaycastBufferN< N > | Returns touching raycast hits to the user in a fixed size array embedded in the buffer class
PxRaycastHit | Stores results of raycast queries
PxRenderBuffer | Interface for points, lines, triangles, and text buffer
PxRepXInstantiationArgs | Arguments required to instantiate a serializable object from RepX
PxRepXObject | Helper class containing the mapping of id to object, and type name
PxRepXSerializer | Serializer interface for RepX (Xml) serialization
PxRevoluteJoint | A joint which behaves in a similar way to a hinge or axle
PxRevoluteJointFlag | Flags specific to the Revolute Joint
PxRigidActor | PxRigidActor represents a base class shared between dynamic and static rigid bodies in the physics SDK
PxRigidActorExt | Utility functions for use with PxRigidActor and subclasses
PxRigidBody | PxRigidBody is a base class shared between dynamic rigid body objects
PxRigidBodyData | Structure to store rigid body properties
PxRigidBodyExt | Utility functions for use with PxRigidBody and subclasses
PxRigidBodyFlag | Collection of flags describing the behavior of a rigid body
PxRigidDynamic | PxRigidDynamic represents a dynamic rigid simulation object in the physics SDK
PxRigidDynamicLockFlag | Collection of flags providing a mechanism to lock motion along/around a specific axis
PxRigidStatic | PxRigidStatic represents a static rigid body simulation object in the physics SDK
PxScene | A scene is a collection of bodies, particle systems and constraints which can interact
PxSceneDesc | Descriptor class for scenes. See PxScene
PxSceneFlag | Flags for configuring properties of the scene
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)
PxSceneQueryExt | Utility functions for use with PxScene, related to scene queries
PxSceneQueryUpdateMode | Scene query update mode
PxSceneReadLock | RAII wrapper for the PxScene read lock
PxSceneWriteLock | RAII wrapper for the PxScene write lock
PxSerialization | Utility functions for serialization
PxSerialization::PxSerialization::PxXmlMiscParameter | Additional PxScene and PxPhysics options stored in XML serialized data
PxSerializationContext | Binary serialization context class
PxSerializationRegistry | Class serving as a registry for XML (RepX) and binary serializable types
PxSerializer | Serialization interface class
PxSerializerDefaultAdapter< T > | Default PxSerializer implementation
PxShape | Abstract class for collision shapes
PxShapeExt | Utility functions for use with PxShape
PxShapeFlag | Flags which affect the behavior of PxShapes
PxSimpleTriangleMesh | A structure describing a triangle mesh
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
PxSpatialIndex | Direct access to PhysX' Spatial Query engine
PxSpatialIndexItem |
PxSpatialLocationCallback | Callback class for raycast and sweep queries against PxSpatialIndex
PxSpatialOverlapCallback | Callback class for overlap queries against PxSpatialIndex
PxSphereGeometry | A class representing the geometry of a sphere
PxSphericalJoint | A joint which behaves in a similar way to a ball and socket
PxSphericalJointFlag | Flags specific to the spherical joint
PxSpring |
PxStridedData |
PxStrideIterator< T > | Iterator class for iterating over arrays of data that may be interleaved with other data
PxStringTable | Table to manage strings. Strings allocated through this object are expected to be owned by this object
PxStringTableExt | Factory class for creating PxStringTable with a specific allocator
PxSweepBufferN< N > | Returns touching sweep hits to the user in a fixed size array embedded in the buffer class
PxSweepHit | Stores results of sweep queries
PxTolerancesScale | Class to define the scale at which simulation runs. Most simulation tolerances are calculated in terms of the values here
PxTransform | Class representing a rigid euclidean transform as a quaternion and a vector
PxTriangle | Triangle class
PxTriangleMesh | A triangle mesh, also called a 'polygon soup'
PxTriangleMeshCookingResult | Result from triangle mesh cooking
PxTriangleMeshDesc | Descriptor class for PxTriangleMesh
PxTriangleMeshFlag | Flags for the mesh geometry properties
PxTriangleMeshGeometry | Triangle mesh geometry class
PxTriggerPair | Descriptor for a trigger pair
PxTriggerPairFlag | Collection of flags providing information on trigger report pairs
PxTypedStridedData< TDataType > |
PxTypeInfo< T > | Structure containing per-type information for types inheriting from PxBase
PxUserControllerHitReport | User callback class for character controller events
PxVec2 | 2 Element vector class
PxVec3 | 3 Element vector class
PxVec4 | 4 Element vector class
PxVehicleAckermannGeometryData |
PxVehicleAntiRollBarData |
PxVehicleAutoBoxData |
PxVehicleChassisData |
PxVehicleClutchAccuracyMode | Choose between a potentially more expensive but more accurate solution to the clutch model or a potentially cheaper but less accurate solution
PxVehicleClutchData |
PxVehicleConcreteType | An enumeration of concrete vehicle classes inheriting from PxBase
PxVehicleConcurrentUpdateData | Structure containing data that is computed for a vehicle and its wheels during concurrent calls to PxVehicleUpdates but which cannot be safely concurrently applied
PxVehicleCopyDynamicsMap | Used by PxVehicleCopyDynamicsData
PxVehicleDifferential4WData |
PxVehicleDifferentialNWData |
PxVehicleDrivableSurfaceToTireFrictionPairs | Friction for each combination of driving surface type and tire type
PxVehicleDrivableSurfaceType | Driving surface type. Each PxMaterial is associated with a corresponding PxVehicleDrivableSurfaceType
PxVehicleDrive | A complete vehicle with instance dynamics data and configuration data for wheels and engine,clutch,gears,autobox
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
PxVehicleDrive4WControl | The control inputs for a PxVehicleDrive4W
PxVehicleDrive4WRawInputData | Used to produce smooth vehicle driving control values from analog and digital inputs
PxVehicleDrive4WWheelOrder | The ordering of the driven and steered wheels of a PxVehicleDrive4W
PxVehicleDriveDynData | Data structure with instanced dynamics data for vehicle with engine, clutch, gears, autobox
PxVehicleDriveNW | Data structure with instanced dynamics data and configuration data of a vehicle with up to PX_MAX_NB_WHEELS driven wheels
PxVehicleDriveNWControl | The control inputs for a PxVehicleDriveNW
PxVehicleDriveNWRawInputData | Used to produce smooth vehicle driving control values from analog and digital inputs
PxVehicleDriveSimData | Data structure describing non-wheel configuration data of a vehicle that has engine, gears, clutch, and auto-box
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
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
PxVehicleDriveTank | Data structure with instanced dynamics data and configuration data of a tank
PxVehicleDriveTankControl | The control inputs for a PxVehicleDriveTank
PxVehicleDriveTankControlModel | Two driving models are supported
PxVehicleDriveTankRawInputData | Used to produce smooth analog tank control values from analog and digital inputs
PxVehicleDriveTankWheelOrder | The ordering of the wheels of a PxVehicleDriveTank
PxVehicleEngineData |
PxVehicleGearsData |
PxVehicleKeySmoothingData | Used to produce smooth vehicle driving control values from key inputs
PxVehicleNoDrive | Data structure with instanced dynamics data and configuration data of a vehicle with no drive model
PxVehiclePadSmoothingData | Used to produce smooth analog vehicle control values from analog inputs
PxVehicleSuspensionData |
PxVehicleTireData |
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
PxVehicleTypes |
PxVehicleUpdateMode |
PxVehicleWheelConcurrentUpdateData | Structure containing data that is computed for a wheel during concurrent calls to PxVehicleUpdates but which cannot be safely concurrently applied
PxVehicleWheelData |
PxVehicleWheelQueryResult |
PxVehicleWheels | Data structure with instanced dynamics data and configuration data of a vehicle with just wheels
PxVehicleWheelsDynData | Data structure with instanced dynamics data for wheels
PxVehicleWheelsSimData | Data structure describing configuration data of a vehicle with up to 20 wheels
PxVisualizationParameter | Debug visualization parameters
PxVolumeCache | Volumetric cache for local collision geometry
PxVolumeCache::PxVolumeCache::Iterator | A callback wrapper class for use with PxVolumeCache::forEach function
PxWheelQueryResult | Structure containing data describing the non-persistent state of each suspension/wheel/tire unit. This structure is filled out in PxVehicleUpdates and PxVehicleUpdateSingleVehicleAndStoreTelemetryData
RaycastCCDManager | Raycast-CCD manager


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: physx::PxBaseTask Class Reference

physx::PxBaseTask Class Reference

Base class of all task types. More...

#include <PxTask.h>

Inheritance diagram for physx::PxBaseTask:

physx::PxLightCpuTaskphysx::PxTaskphysx::PxGpuTask
[legend]
Collaboration diagram for physx::PxBaseTask:

physx::PxTaskManager
[legend]

List of all members.

Public Member Functions

PxBaseTask ()
virtual | ~PxBaseTask ()
virtual void | run ()=0
The user-implemented run method where the task's work should be performed.
virtual const char * | getName () const =0
Return a user-provided task name for profiling purposes.
virtual void | addReference ()=0
Implemented by derived implementation classes.
virtual void | removeReference ()=0
Implemented by derived implementation classes.
virtual int32_t | getReference () const =0
Implemented by derived implementation classes.
virtual void | release ()=0
Implemented by derived implementation classes.
PX_FORCE_INLINE PxTaskManager * | getTaskManager () const
Return PxTaskManager to which this task was submitted.
PX_FORCE_INLINE void | setContextId (PxU64 id)
PX_FORCE_INLINE PxU64 | getContextId () const

Protected Attributes

PxU64 mContextID
Context ID for profiler interface.
PxTaskManager * mTm
Owning PxTaskManager instance.

Friends

class | PxTaskMgr

Detailed Description

Base class of all task types.

PxBaseTask defines a runnable reference counted task with built-in profiling.

Constructor & Destructor Documentation

physx::PxBaseTask::PxBaseTask ( ) [inline]

virtual physx::PxBaseTask::~PxBaseTask ( ) [inline, virtual]

Member Function Documentation

virtual void physx::PxBaseTask::addReference ( ) [pure virtual]

Implemented by derived implementation classes.

Implemented in physx::PxTask, and physx::PxLightCpuTask.

Referenced by physx::PxLightCpuTask::setContinuation().

PX_FORCE_INLINE PxU64 physx::PxBaseTask::getContextId ( ) const [inline]

References mContextID.

virtual const char* physx::PxBaseTask::getName ( ) const [pure virtual]

Return a user-provided task name for profiling purposes.

It does not have to be unique, but unique names are helpful.

Returns:
The name of this task

virtual int32_t physx::PxBaseTask::getReference ( ) const [pure virtual]

Implemented by derived implementation classes.

Implemented in physx::PxTask, and physx::PxLightCpuTask.

PX_FORCE_INLINE PxTaskManager* physx::PxBaseTask::getTaskManager ( ) const [inline]

Return PxTaskManager to which this task was submitted.

Note, can return NULL if task was not submitted, or has been completed.

References mTm.

Referenced by physx::PxLightCpuTask::setContinuation().

virtual void physx::PxBaseTask::release ( ) [pure virtual]

Implemented by derived implementation classes.

A task may assume in its release() method that the task system no longer holds references to it - so it may safely run its destructor, recycle itself, etc. provided no additional user references to the task exist

Implemented in physx::PxGpuTask, physx::PxTask, and physx::PxLightCpuTask.

virtual void physx::PxBaseTask::removeReference ( ) [pure virtual]

Implemented by derived implementation classes.

Implemented in physx::PxTask, and physx::PxLightCpuTask.

Referenced by physx::PxLightCpuTask::release(), and physx::PxGpuTask::release().

virtual void physx::PxBaseTask::run ( ) [pure virtual]

The user-implemented run method where the task's work should be performed.

run() methods must be thread safe, stack friendly (no alloca, etc), and must never block.

PX_FORCE_INLINE void physx::PxBaseTask::setContextId ( PxU64 id ) [inline]

References mContextID.

Friends And Related Function Documentation

friend class PxTaskMgr [friend]

Reimplemented in physx::PxTask, and physx::PxLightCpuTask.

Member Data Documentation

PxU64 physx::PxBaseTask::mContextID [protected]

Context ID for profiler interface.

Referenced by getContextId(), and setContextId().

PxTaskManager* physx::PxBaseTask::mTm [protected]

Owning PxTaskManager instance.

Referenced by physx::PxLightCpuTask::addReference(), physx::PxTask::addReference(), physx::PxTask::finishBefore(), physx::PxTask::getReference(), getTaskManager(), physx::PxTask::release(), physx::PxLightCpuTask::removeReference(), physx::PxTask::removeReference(), physx::PxLightCpuTask::setContinuation(), physx::PxTask::startAfter(), and physx::PxLightCpuTask::~PxLightCpuTask().

The documentation for this class was generated from the following file:
  • PxTask.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: physx::PxCpuDispatcher Class Reference

physx::PxCpuDispatcher Class Reference

A CpuDispatcher is responsible for scheduling the execution of tasks passed to it by the SDK. More...

#include <PxCpuDispatcher.h>

List of all members.

Public Member Functions

virtual void | submitTask (PxBaseTask &task)=0
Called by the TaskManager when a task is to be queued for execution.
virtual uint32_t | getWorkerCount () const =0
Returns the number of available worker threads for this dispatcher.
virtual | ~PxCpuDispatcher ()

Detailed Description

A CpuDispatcher is responsible for scheduling the execution of tasks passed to it by the SDK.

A typical implementation would for example use a thread pool with the dispatcher pushing tasks onto worker thread queues or a global queue.

See also:
PxBaseTask

PxTask

PxTaskManager

Constructor & Destructor Documentation

virtual physx::PxCpuDispatcher::~PxCpuDispatcher ( ) [inline, virtual]

Member Function Documentation

virtual uint32_t physx::PxCpuDispatcher::getWorkerCount ( ) const [pure virtual]

Returns the number of available worker threads for this dispatcher.

The SDK will use this count to control how many tasks are submitted. By matching the number of tasks with the number of execution units task overhead can be reduced.

virtual void physx::PxCpuDispatcher::submitTask ( PxBaseTask & task ) [pure virtual]

Called by the TaskManager when a task is to be queued for execution.

Upon receiving a task, the dispatcher should schedule the task to run when resource is available. After the task has been run, it should call the release() method and discard it's pointer.

Parameters:
[in] task The task to be run.
See also:
PxBaseTask

The documentation for this class was generated from the following file:
  • PxCpuDispatcher.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: physx::PxGpuDispatcher Class Reference

physx::PxGpuDispatcher Class Reference

A GpuTask dispatcher. More...

#include <PxGpuDispatcher.h>

List of all members.

Public Member Functions

virtual void | startSimulation ()=0
Record the start of a simulation step.
virtual void | startGroup ()=0
Record the start of a GpuTask batch submission.
virtual void | submitTask (PxTask &task)=0
Submit a GpuTask for execution.
virtual void | finishGroup ()=0
Record the end of a GpuTask batch submission.
virtual void | addCompletionPrereq (PxBaseTask &task)=0
Add a CUDA completion prerequisite dependency to a task.
virtual PxCudaContextManager * | getCudaContextManager ()=0
Retrieve the PxCudaContextManager associated with this PxGpuDispatcher.
virtual void | stopSimulation ()=0
Record the end of a simulation frame.
virtual bool | failureDetected () const =0
Returns true if a CUDA call has returned a non-recoverable error.
virtual void | forceFailureMode ()=0
Force the PxGpuDispatcher into failure mode.
virtual void | launchCopyKernel (PxGpuCopyDesc *desc, uint32_t count, CUstream stream)=0
Launch a copy kernel with arbitrary number of copy commands.
virtual PxBaseTask & | getPreLaunchTask ()=0
Query pre launch task that runs before launching gpu kernels.
virtual void | addPreLaunchDependent (PxBaseTask &dependent)=0
Adds a gpu launch task that gets executed after the pre launch task.
virtual PxBaseTask & | getPostLaunchTask ()=0
Query post launch task that runs after the gpu is done.
virtual void | addPostLaunchDependent (PxBaseTask &dependent)=0
Adds a task that gets executed after the post launch task.

Protected Member Functions

virtual | ~PxGpuDispatcher ()
protected destructor

Detailed Description

A GpuTask dispatcher.

A PxGpuDispatcher executes GpuTasks submitted by one or more TaskManagers (one or more scenes). It maintains a CPU worker thread which waits on GpuTask "groups" to be submitted. The submission API is explicitly sessioned so that GpuTasks are dispatched together as a group whenever possible to improve parallelism on the GPU.

A PxGpuDispatcher cannot be allocated ad-hoc, they are created as a result of creating a PxCudaContextManager. Every PxCudaContextManager has a PxGpuDispatcher instance that can be queried. In this way, each PxGpuDispatcher is tied to exactly one CUDA context.

A scene will use CPU fallback Tasks for GpuTasks if the PxTaskManager provided to it does not have a PxGpuDispatcher. For this reason, the PxGpuDispatcher must be assigned to the PxTaskManager before the PxTaskManager is given to a scene.

Multiple TaskManagers may safely share a single PxGpuDispatcher instance, thus enabling scenes to share a CUDA context.

Only failureDetected() is intended for use by the user. The rest of the nvGpuDispatcher public methods are reserved for internal use by only both TaskManagers and GpuTasks.

Constructor & Destructor Documentation

virtual physx::PxGpuDispatcher::~PxGpuDispatcher ( ) [inline, protected, virtual]

protected destructor

GpuDispatchers are allocated and freed by their PxCudaContextManager.

Member Function Documentation

virtual void physx::PxGpuDispatcher::addCompletionPrereq ( PxBaseTask & task ) [pure virtual]

Add a CUDA completion prerequisite dependency to a task.

A GpuTask calls this function to add a prerequisite dependency on another task (usually a CpuTask) preventing that task from starting until all of the CUDA kernels and copies already launched have been completed. The PxGpuDispatcher will increment that task's reference count, blocking its execution, until the CUDA work is complete.

This is generally only required when a CPU task is expecting the results of the CUDA kernels to have been copied into host memory.

This mechanism is not at all not required to ensure CUDA kernels and copies are issued in the correct order. Kernel issue order is determined by normal task dependencies. The rule of thumb is to only use a blocking completion prerequisite if the task in question depends on a completed GPU->Host DMA.

The PxGpuDispatcher issues a blocking event record to CUDA for the purposes of tracking the already submitted CUDA work. When this event is resolved, the PxGpuDispatcher manually decrements the reference count of the specified task, allowing it to execute (assuming it does not have other pending prerequisites).

virtual void physx::PxGpuDispatcher::addPostLaunchDependent ( PxBaseTask & dependent ) [pure virtual]

Adds a task that gets executed after the post launch task.

This is part of an optional feature to schedule multiple gpu features at the same time to get kernels to run in parallel.

Note:
Each call adds a reference to the pre-launch task.

virtual void physx::PxGpuDispatcher::addPreLaunchDependent ( PxBaseTask & dependent ) [pure virtual]

Adds a gpu launch task that gets executed after the pre launch task.

This is part of an optional feature to schedule multiple gpu features at the same time to get kernels to run in parallel.

Note:
Each call adds a reference to the pre-launch task.

virtual bool physx::PxGpuDispatcher::failureDetected ( ) const [pure virtual]

Returns true if a CUDA call has returned a non-recoverable error.

A return value of true indicates a fatal error has occurred. To protect itself, the PxGpuDispatcher enters a fall through mode that allows GpuTasks to complete without being executed. This allows simulations to continue but leaves GPU content static or corrupted.

The user may try to recover from these failures by deleting GPU content so the visual artifacts are minimized. But there is no way to recover the state of the GPU actors before the failure. Once a CUDA context is in this state, the only recourse is to create a new CUDA context, a new scene, and start over.

This is our "Best Effort" attempt to not turn a soft failure into a hard failure because continued use of a CUDA context after it has returned an error will usually result in a driver reset. However if the initial failure was serious enough, a reset may have already occurred by the time we learn of it.

virtual void physx::PxGpuDispatcher::finishGroup ( ) [pure virtual]

Record the end of a GpuTask batch submission.

A PxTaskManager calls this function to notify the PxGpuDispatcher that it is done submitting a group of GpuTasks (GpuTasks which were all make ready to run by the same prerequisite dependency becoming resolved). If no other group submissions are in progress, the PxGpuDispatcher will execute the set of ready tasks.

virtual void physx::PxGpuDispatcher::forceFailureMode ( ) [pure virtual]

Force the PxGpuDispatcher into failure mode.

This API should be used if user code detects a non-recoverable CUDA error. This ensures the PxGpuDispatcher does not launch any further CUDA work. Subsequent calls to failureDetected() will return true.

virtual PxCudaContextManager* physx::PxGpuDispatcher::getCudaContextManager ( ) [pure virtual]

Retrieve the PxCudaContextManager associated with this PxGpuDispatcher.

Every PxCudaContextManager has one PxGpuDispatcher, and every PxGpuDispatcher has one PxCudaContextManager.

virtual PxBaseTask& physx::PxGpuDispatcher::getPostLaunchTask ( ) [pure virtual]

Query post launch task that runs after the gpu is done.

This is part of an optional feature to schedule multiple gpu features at the same time to get kernels to run in parallel.

Note:
Do *not* set the continuation on the returned task, but use addPostLaunchDependent().

virtual PxBaseTask& physx::PxGpuDispatcher::getPreLaunchTask ( ) [pure virtual]

Query pre launch task that runs before launching gpu kernels.

This is part of an optional feature to schedule multiple gpu features at the same time to get kernels to run in parallel.

Note:
Do *not* set the continuation on the returned task, but use addPreLaunchDependent().

virtual void physx::PxGpuDispatcher::launchCopyKernel | ( | PxGpuCopyDesc * | desc,
 |  | uint32_t | count,
 |  | CUstream | stream |
 | ) |  |  | [pure virtual]

Launch a copy kernel with arbitrary number of copy commands.

This method is intended to be called from Kernel GpuTasks, but it can function outside of that context as well.

If count is 1, the descriptor is passed to the kernel as arguments, so it may be declared on the stack.

If count is greater than 1, the kernel will read the descriptors out of host memory. Because of this, the descriptor array must be located in page locked (pinned) memory. The provided descriptors may be modified by this method (converting host pointers to their GPU mapped equivalents) and should be considered *owned* by CUDA until the current batch of work has completed, so descriptor arrays should not be freed or modified until you have received a completion notification.

If your GPU does not support mapping of page locked memory (SM>=1.1), this function degrades to calling CUDA copy methods.

virtual void physx::PxGpuDispatcher::startGroup ( ) [pure virtual]

Record the start of a GpuTask batch submission.

A PxTaskManager calls this function to notify the PxGpuDispatcher that one or more GpuTasks are about to be submitted for execution. The PxGpuDispatcher will not read the incoming task queue until it receives one finishGroup() call for each startGroup() call. This is to ensure as many GpuTasks as possible are executed together as a group, generating optimal parallelism on the GPU.

virtual void physx::PxGpuDispatcher::startSimulation ( ) [pure virtual]

Record the start of a simulation step.

A PxTaskManager calls this function to record the beginning of a simulation step. The PxGpuDispatcher uses this notification to initialize the profiler state.

virtual void physx::PxGpuDispatcher::stopSimulation ( ) [pure virtual]

Record the end of a simulation frame.

A PxTaskManager calls this function to record the completion of its dependency graph. If profiling is enabled, the PxGpuDispatcher will trigger the retrieval of profiling data from the GPU at this point.

virtual void physx::PxGpuDispatcher::submitTask ( PxTask & task ) [pure virtual]

Submit a GpuTask for execution.

Submitted tasks are pushed onto an incoming queue. The PxGpuDispatcher will take the contents of this queue every time the pending group count reaches 0 and run the group of submitted GpuTasks as an interleaved group.

The documentation for this class was generated from the following file:
  • PxGpuDispatcher.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: physx::PxGpuTask Class Reference

physx::PxGpuTask Class Reference

PxTask implementation for launching CUDA work. More...

#include <PxGpuTask.h>

Inheritance diagram for physx::PxGpuTask:

physx::PxTaskphysx::PxBaseTask
[legend]
Collaboration diagram for physx::PxGpuTask:

physx::PxTaskphysx::PxBaseTaskphysx::PxTaskManager
[legend]

List of all members.

Public Member Functions

PxGpuTask ()
virtual bool | launchInstance (CUstream stream, int kernelIndex)=0
iterative "run" function for a PxGpuTask
virtual PxGpuTaskHint::Enum | getTaskHint () const =0
Returns a hint indicating the function of this task.
void | setCompletionTask (PxBaseTask &task)
Specify a task that will have its reference count decremented when this task is released.
void | release ()
Release method implementation.

Protected Attributes

PxBaseTask * mComp
A pointer to the completion task.

Detailed Description

PxTask implementation for launching CUDA work.

Constructor & Destructor Documentation

physx::PxGpuTask::PxGpuTask ( ) [inline]

Member Function Documentation

virtual PxGpuTaskHint::Enum physx::PxGpuTask::getTaskHint ( ) const [pure virtual]

Returns a hint indicating the function of this task.

virtual bool physx::PxGpuTask::launchInstance | ( | CUstream | stream,
 |  | int | kernelIndex |
 | ) |  |  | [pure virtual]

iterative "run" function for a PxGpuTask

The GpuDispatcher acquires the CUDA context for the duration of this function call, and it is highly recommended that the PxGpuTask use the provided CUstream for all kernels.

kernelIndex will be 0 for the initial call and incremented before each subsequent call. Once launchInstance() returns false, its PxGpuTask is considered completed and is released.

void physx::PxGpuTask::release ( ) [inline, virtual]

Release method implementation.

Reimplemented from physx::PxTask.

References mComp, and physx::PxBaseTask::removeReference().

void physx::PxGpuTask::setCompletionTask ( PxBaseTask & task ) [inline]

Specify a task that will have its reference count decremented when this task is released.

References mComp.

Member Data Documentation

PxBaseTask* physx::PxGpuTask::mComp [protected]

A pointer to the completion task.

Referenced by release(), and setCompletionTask().

The documentation for this class was generated from the following file:
  • PxGpuTask.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: physx::PxGpuTaskHint Struct Reference

physx::PxGpuTaskHint Struct Reference

Define the 'flavor' of a PxGpuTask. More...

#include <PxGpuTask.h>

List of all members.

Public Types

enum Enum {
HostToDevice,
Kernel,
DeviceToHost,
NUM_GPU_TASK_HINTS
}
Enums for the type of GPU task. More...

Detailed Description

Define the 'flavor' of a PxGpuTask.

Each PxGpuTask should have a specific function; either copying data to the device, running kernels on that data, or copying data from the device.

For optimal performance, the dispatcher should run all available HtoD tasks before running all Kernel tasks, and all Kernel tasks before running any DtoH tasks. This provides maximal kernel overlap and the least number of CUDA flushes.

Member Enumeration Documentation

enum physx::PxGpuTaskHint::Enum

Enums for the type of GPU task.

Enumerator:
HostToDevice
Kernel
DeviceToHost
NUM_GPU_TASK_HINTS

The documentation for this struct was generated from the following file:
  • PxGpuTask.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: physx::PxLightCpuTask Class Reference

physx::PxLightCpuTask Class Reference

A PxBaseTask implementation with immediate execution and simple dependencies. More...

#include <PxTask.h>

Inheritance diagram for physx::PxLightCpuTask:

physx::PxBaseTask
[legend]
Collaboration diagram for physx::PxLightCpuTask:

physx::PxBaseTaskphysx::PxTaskManager
[legend]

List of all members.

Public Member Functions

PxLightCpuTask ()
virtual | ~PxLightCpuTask ()
PX_INLINE void | setContinuation (PxTaskManager &tm, PxBaseTask *c)
Initialize this task and specify the task that will have its ref count decremented on completion.
PX_INLINE void | setContinuation (PxBaseTask *c)
Initialize this task and specify the task that will have its ref count decremented on completion.
PX_INLINE PxBaseTask * | getContinuation () const
Retrieves continuation task.
PX_INLINE void | removeReference ()
Manually decrement this task's reference count. If the reference count reaches zero, the task will be dispatched.
PX_INLINE int32_t | getReference () const
Return the ref-count for this task.
PX_INLINE void | addReference ()
Manually increment this task's reference count. The task will not be allowed to run until removeReference() is called.
PX_INLINE void | release ()
called by CpuDispatcher after run method has completed

Protected Attributes

PxBaseTask * mCont
Continuation task, can be NULL.
volatile int32_t | mRefCount
PxTask is dispatched when reaches 0.

Friends

class | PxTaskMgr

Detailed Description

A PxBaseTask implementation with immediate execution and simple dependencies.

A PxLightCpuTask bypasses the PxTaskManager launch dependencies and will be submitted directly to your scene's CpuDispatcher. When the run() function completes, it will decrement the reference count of the specified continuation task.

You must use a full-blown PxTask if you want your task to be resolved by another PxTask, or you need more than a single dependency to be resolved when your task completes, or your task will not run on the CpuDispatcher.

Constructor & Destructor Documentation

physx::PxLightCpuTask::PxLightCpuTask ( ) [inline]

virtual physx::PxLightCpuTask::~PxLightCpuTask ( ) [inline, virtual]

References physx::PxBaseTask::mTm.

Member Function Documentation

PX_INLINE void physx::PxLightCpuTask::addReference ( ) [inline, virtual]

Manually increment this task's reference count. The task will not be allowed to run until removeReference() is called.

Implements physx::PxBaseTask.

References physx::PxBaseTask::mTm.

PX_INLINE PxBaseTask* physx::PxLightCpuTask::getContinuation ( ) const [inline]

Retrieves continuation task.

References mCont.

PX_INLINE int32_t physx::PxLightCpuTask::getReference ( ) const [inline, virtual]

Return the ref-count for this task.

Implements physx::PxBaseTask.

References mRefCount.

PX_INLINE void physx::PxLightCpuTask::release ( ) [inline, virtual]

called by CpuDispatcher after run method has completed

Decrements the continuation task's reference count, if specified.

Implements physx::PxBaseTask.

References mCont, and physx::PxBaseTask::removeReference().

PX_INLINE void physx::PxLightCpuTask::removeReference ( ) [inline, virtual]

Manually decrement this task's reference count. If the reference count reaches zero, the task will be dispatched.

Implements physx::PxBaseTask.

References physx::PxBaseTask::mTm.

PX_INLINE void physx::PxLightCpuTask::setContinuation ( PxBaseTask * c ) [inline]

Initialize this task and specify the task that will have its ref count decremented on completion.

This overload of setContinuation() queries the PxTaskManager from the continuation task, which cannot be NULL.

Parameters:
[in] c The task to be executed after this task has finished running

References physx::PxBaseTask::addReference(), physx::PxBaseTask::getTaskManager(), mCont, mRefCount, physx::PxBaseTask::mTm, and PX_ASSERT.

PX_INLINE void physx::PxLightCpuTask::setContinuation | ( | PxTaskManager & | tm,
 |  | PxBaseTask * | c |
 | ) |  |  | [inline]

Initialize this task and specify the task that will have its ref count decremented on completion.

Submission is deferred until the task's mRefCount is decremented to zero. Note that we only use the PxTaskManager to query the appropriate dispatcher.

Parameters:
[in] | tm | The PxTaskManager this task is managed by
[in] | c | The task to be executed when this task has finished running

References physx::PxBaseTask::addReference(), mCont, mRefCount, physx::PxBaseTask::mTm, and PX_ASSERT.

Friends And Related Function Documentation

friend class PxTaskMgr [friend]

Reimplemented from physx::PxBaseTask.

Member Data Documentation

PxBaseTask* physx::PxLightCpuTask::mCont [protected]

Continuation task, can be NULL.

Referenced by getContinuation(), release(), and setContinuation().

volatile int32_t physx::PxLightCpuTask::mRefCount [protected]

PxTask is dispatched when reaches 0.

Referenced by getReference(), and setContinuation().

The documentation for this class was generated from the following file:
  • PxTask.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: physx::PxProfilerCallback Class Reference

physx::PxProfilerCallback Class Reference

The pure virtual callback interface for general purpose instrumentation and profiling of GameWorks modules as well as applications. More...

#include <PxProfiler.h>

Inheritance diagram for physx::PxProfilerCallback:

PxPvd
[legend]

List of all members.

Public Member Functions

virtual void * | zoneStart (const char *eventName, bool detached, uint64_t contextId)=0
Mark the beginning of a nested profile block.
virtual void | zoneEnd (void *profilerData, const char *eventName, bool detached, uint64_t contextId)=0
Mark the end of a nested profile block.

Protected Member Functions

virtual | ~PxProfilerCallback ()

Detailed Description

The pure virtual callback interface for general purpose instrumentation and profiling of GameWorks modules as well as applications.

Constructor & Destructor Documentation

virtual physx::PxProfilerCallback::~PxProfilerCallback ( ) [inline, protected, virtual]

Member Function Documentation

virtual void physx::PxProfilerCallback::zoneEnd | ( | void * | profilerData,
 |  | const char * | eventName,
 |  | bool | detached,
 |  | uint64_t | contextId |
 | ) |  |  | [pure virtual]

Mark the end of a nested profile block.

Parameters:
[in] | profilerData | The data returned by the corresponding zoneStart call (or NULL if not available)
[in] | eventName | The name of the zone ending, must match the corresponding name passed with 'zoneStart'. Must be a persistent const char *.
[in] | detached | True for cross thread events. Should match the value passed to zoneStart.
[in] | contextId | The context of this zone. Should match the value passed to zoneStart.
Note:
eventName plus contextId can be used to uniquely match up start and end of a zone.

Referenced by physx::PxProfileScoped::~PxProfileScoped().

virtual void* physx::PxProfilerCallback::zoneStart | ( | const char * | eventName,
 |  | bool | detached,
 |  | uint64_t | contextId |
 | ) |  |  | [pure virtual]

Mark the beginning of a nested profile block.

Parameters:
[in] | eventName | Event name. Must be a persistent const char *
[in] | detached | True for cross thread events
[in] | contextId | the context id of this zone. Zones with the same id belong to the same group. 0 is used for no specific group.
Returns:
Returns implementation-specific profiler data for this event

Referenced by physx::PxProfileScoped::PxProfileScoped().

The documentation for this class was generated from the following file:
  • PxProfiler.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: physx::PxProfileScoped Class Reference

physx::PxProfileScoped Class Reference

#include <PxProfiler.h>

Collaboration diagram for physx::PxProfileScoped:

physx::PxProfilerCallback
[legend]

List of all members.

Public Member Functions

PX_FORCE_INLINE | PxProfileScoped (const char *eventName, bool detached, uint64_t contextId)
PX_FORCE_INLINE | ~PxProfileScoped ()

Public Attributes

physx::PxProfilerCallback * mCallback
const char * | mEventName
void * | mProfilerData
uint64_t | mContextId
bool | mDetached

Constructor & Destructor Documentation

PX_FORCE_INLINE physx::PxProfileScoped::PxProfileScoped | ( | const char * | eventName,
 |  | bool | detached,
 |  | uint64_t | contextId |
 | ) |  |  | [inline]

References mCallback, mContextId, mDetached, mEventName, mProfilerData, and physx::PxProfilerCallback::zoneStart().

PX_FORCE_INLINE physx::PxProfileScoped::~PxProfileScoped ( ) [inline]

References mCallback, mContextId, mDetached, mEventName, mProfilerData, and physx::PxProfilerCallback::zoneEnd().

Member Data Documentation

physx::PxProfilerCallback* physx::PxProfileScoped::mCallback

Referenced by PxProfileScoped(), and ~PxProfileScoped().

uint64_t physx::PxProfileScoped::mContextId

Referenced by PxProfileScoped(), and ~PxProfileScoped().

bool physx::PxProfileScoped::mDetached

Referenced by PxProfileScoped(), and ~PxProfileScoped().

const char* physx::PxProfileScoped::mEventName

Referenced by PxProfileScoped(), and ~PxProfileScoped().

void* physx::PxProfileScoped::mProfilerData

Referenced by PxProfileScoped(), and ~PxProfileScoped().

The documentation for this class was generated from the following file:
  • PxProfiler.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: physx::PxTask Class Reference

physx::PxTask Class Reference

A PxBaseTask implementation with deferred execution and full dependencies. More...

#include <PxTask.h>

Inheritance diagram for physx::PxTask:

physx::PxGpuTaskphysx::PxBaseTask
[legend]
Collaboration diagram for physx::PxTask:

physx::PxBaseTaskphysx::PxTaskManager
[legend]

List of all members.

Public Member Functions

PxTask ()
virtual | ~PxTask ()
virtual void | release ()
Release method implementation.
PX_INLINE void | finishBefore (PxTaskID taskID)
Inform the PxTaskManager this task must finish before the given.
PX_INLINE void | startAfter (PxTaskID taskID)
Inform the PxTaskManager this task cannot start until the given.
PX_INLINE void | addReference ()
Manually increment this task's reference count. The task will not be allowed to run until removeReference() is called.
PX_INLINE void | removeReference ()
Manually decrement this task's reference count. If the reference count reaches zero, the task will be dispatched.
PX_INLINE int32_t | getReference () const
Return the ref-count for this task.
PX_INLINE PxTaskID | getTaskID () const
Return the unique ID for this task.
virtual void | submitted ()
Called by PxTaskManager at submission time for initialization.
PX_INLINE void | requestSyncPoint ()
Specify that the GpuTask sync flag be set.

Protected Attributes

PxTaskID mTaskID
ID assigned at submission.
uint32_t | mStreamIndex
GpuTask CUDA stream index.
bool | mPreSyncRequired
GpuTask sync flag.

Friends

class | PxTaskMgr
class | PxGpuWorkerThread

Detailed Description

A PxBaseTask implementation with deferred execution and full dependencies.

A PxTask must be submitted to a PxTaskManager to to be executed, Tasks may optionally be named when they are submitted.

Constructor & Destructor Documentation

physx::PxTask::PxTask ( ) [inline]

virtual physx::PxTask::~PxTask ( ) [inline, virtual]

Member Function Documentation

PX_INLINE void physx::PxTask::addReference ( ) [inline, virtual]

Manually increment this task's reference count. The task will not be allowed to run until removeReference() is called.

Implements physx::PxBaseTask.

References mTaskID, physx::PxBaseTask::mTm, and PX_ASSERT.

PX_INLINE void physx::PxTask::finishBefore ( PxTaskID taskID ) [inline]

Inform the PxTaskManager this task must finish before the given.

References physx::PxBaseTask::mTm, and PX_ASSERT.

PX_INLINE int32_t physx::PxTask::getReference ( ) const [inline, virtual]

Return the ref-count for this task.

Implements physx::PxBaseTask.

References mTaskID, and physx::PxBaseTask::mTm.

PX_INLINE PxTaskID physx::PxTask::getTaskID ( ) const [inline]

Return the unique ID for this task.

References mTaskID.

virtual void physx::PxTask::release ( ) [inline, virtual]

Release method implementation.

Implements physx::PxBaseTask.

Reimplemented in physx::PxGpuTask.

References physx::PxBaseTask::mTm, PX_ASSERT, and physx::PxTaskManager::taskCompleted().

PX_INLINE void physx::PxTask::removeReference ( ) [inline, virtual]

Manually decrement this task's reference count. If the reference count reaches zero, the task will be dispatched.

Implements physx::PxBaseTask.

References mTaskID, physx::PxBaseTask::mTm, and PX_ASSERT.

PX_INLINE void physx::PxTask::requestSyncPoint ( ) [inline]

Specify that the GpuTask sync flag be set.

References mPreSyncRequired.

PX_INLINE void physx::PxTask::startAfter ( PxTaskID taskID ) [inline]

Inform the PxTaskManager this task cannot start until the given.

References physx::PxBaseTask::mTm, and PX_ASSERT.

virtual void physx::PxTask::submitted ( ) [inline, virtual]

Called by PxTaskManager at submission time for initialization.

Perform simulation step initialization here.

References mPreSyncRequired, and mStreamIndex.

Friends And Related Function Documentation

friend class PxGpuWorkerThread [friend]

friend class PxTaskMgr [friend]

Reimplemented from physx::PxBaseTask.

Member Data Documentation

bool physx::PxTask::mPreSyncRequired [protected]

GpuTask sync flag.

Referenced by requestSyncPoint(), and submitted().

uint32_t physx::PxTask::mStreamIndex [protected]

GpuTask CUDA stream index.

Referenced by submitted().

PxTaskID physx::PxTask::mTaskID [protected]

ID assigned at submission.

Referenced by addReference(), getReference(), getTaskID(), and removeReference().

The documentation for this class was generated from the following file:
  • PxTask.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: physx::PxTaskManager Class Reference

physx::PxTaskManager Class Reference

The PxTaskManager interface. More...

#include <PxTaskManager.h>

List of all members.

Public Member Functions

virtual void | setCpuDispatcher (PxCpuDispatcher &ref)=0
Set the user-provided dispatcher object for CPU tasks.
virtual void | setGpuDispatcher (PxGpuDispatcher &ref)=0
Set the user-provided dispatcher object for GPU tasks.
virtual PxCpuDispatcher * | getCpuDispatcher () const =0
Get the user-provided dispatcher object for CPU tasks.
virtual PxGpuDispatcher * | getGpuDispatcher () const =0
Get the user-provided dispatcher object for GPU tasks.
virtual void | resetDependencies ()=0
Reset any dependencies between Tasks.
virtual void | startSimulation ()=0
Called by the owning scene to start the task graph.
virtual void | stopSimulation ()=0
Called by the owning scene at the end of a simulation step to synchronize the PxGpuDispatcher.
virtual void | taskCompleted (PxTask &task)=0
Called by the worker threads to inform the PxTaskManager that a task has completed processing.
virtual PxTaskID | getNamedTask (const char *name)=0
Retrieve a task by name.
virtual PxTaskID | submitNamedTask (PxTask *task, const char *name, PxTaskType::Enum type=PxTaskType::TT_CPU)=0
Submit a task with a unique name.
virtual PxTaskID | submitUnnamedTask (PxTask &task, PxTaskType::Enum type=PxTaskType::TT_CPU)=0
Submit an unnamed task.
virtual PxTask * | getTaskFromID (PxTaskID id)=0
Retrieve a task given a task ID.
virtual void | release ()=0
Release the PxTaskManager object, referenced dispatchers will not be released.

Static Public Member Functions

static PxTaskManager * | createTaskManager (PxErrorCallback &errorCallback, PxCpuDispatcher *=0, PxGpuDispatcher *=0)
Construct a new PxTaskManager instance with the given [optional] dispatchers.

Protected Member Functions

virtual | ~PxTaskManager ()

Friends

class | PxBaseTask
class | PxTask
class | PxLightCpuTask
class | PxGpuWorkerThread

Detailed Description

The PxTaskManager interface.

A PxTaskManager instance holds references to user-provided dispatcher objects, when tasks are submitted the PxTaskManager routes them to the appropriate dispatcher and handles task profiling if enabled. Users should not implement the PxTaskManager interface, the SDK creates its own concrete PxTaskManager object per-scene which users can configure by passing dispatcher objects into the PxSceneDesc.

See also:
CpuDispatcher

PxGpuDispatcher

Constructor & Destructor Documentation

virtual physx::PxTaskManager::~PxTaskManager ( ) [inline, protected, virtual]

Member Function Documentation

static PxTaskManager* physx::PxTaskManager::createTaskManager | ( | PxErrorCallback & | errorCallback,
 |  | PxCpuDispatcher * | = 0,
 |  | PxGpuDispatcher * | = 0 |
 | ) |  |  | [static]

Construct a new PxTaskManager instance with the given [optional] dispatchers.

virtual PxCpuDispatcher* physx::PxTaskManager::getCpuDispatcher ( ) const [pure virtual]

Get the user-provided dispatcher object for CPU tasks.

Returns:
The CPU dispatcher object.
See also:
CpuDispatcher

virtual PxGpuDispatcher* physx::PxTaskManager::getGpuDispatcher ( ) const [pure virtual]

Get the user-provided dispatcher object for GPU tasks.

Returns:
The GPU dispatcher object.
See also:
PxGpuDispatcher

virtual PxTaskID physx::PxTaskManager::getNamedTask ( const char * name ) [pure virtual]

Retrieve a task by name.

Parameters:
[in] name The unique name of a task
Returns:
The ID of the task with that name, or TT_NOT_PRESENT if not found

virtual PxTask* physx::PxTaskManager::getTaskFromID ( PxTaskID id ) [pure virtual]

Retrieve a task given a task ID.

Parameters:
[in] id The ID of the task to return, a valid ID must be passed or results are undefined
Returns:
The task associated with the ID

virtual void physx::PxTaskManager::release ( ) [pure virtual]

Release the PxTaskManager object, referenced dispatchers will not be released.

virtual void physx::PxTaskManager::resetDependencies ( ) [pure virtual]

Reset any dependencies between Tasks.

Note:
Will be called at the start of every frame before tasks are submitted.
See also:
PxTask

virtual void physx::PxTaskManager::setCpuDispatcher ( PxCpuDispatcher & ref ) [pure virtual]

Set the user-provided dispatcher object for CPU tasks.

Parameters:
[in] ref The dispatcher object.
See also:
CpuDispatcher

virtual void physx::PxTaskManager::setGpuDispatcher ( PxGpuDispatcher & ref ) [pure virtual]

Set the user-provided dispatcher object for GPU tasks.

Parameters:
[in] ref The dispatcher object.
See also:
PxGpuDispatcher

virtual void physx::PxTaskManager::startSimulation ( ) [pure virtual]

Called by the owning scene to start the task graph.

Note:
All tasks with with ref count of 1 will be dispatched.
See also:
PxTask

virtual void physx::PxTaskManager::stopSimulation ( ) [pure virtual]

Called by the owning scene at the end of a simulation step to synchronize the PxGpuDispatcher.

See also:
PxGpuDispatcher

virtual PxTaskID physx::PxTaskManager::submitNamedTask | ( | PxTask * | task,
 |  | const char * | name,
 |  | PxTaskType::Enum | type = PxTaskType::TT_CPU |
 | ) |  |  | [pure virtual]

Submit a task with a unique name.

Parameters:
[in] | task | The task to be executed
[in] | name | The unique name of a task
[in] | type | The type of the task (default TT_CPU)
Returns:
The ID of the task with that name, or TT_NOT_PRESENT if not found

virtual PxTaskID physx::PxTaskManager::submitUnnamedTask | ( | PxTask & | task,
 |  | PxTaskType::Enum | type = PxTaskType::TT_CPU |
 | ) |  |  | [pure virtual]

Submit an unnamed task.

Parameters:
[in] | task | The task to be executed
[in] | type | The type of the task (default TT_CPU)
Returns:
The ID of the task with that name, or TT_NOT_PRESENT if not found

virtual void physx::PxTaskManager::taskCompleted ( PxTask & task ) [pure virtual]

Called by the worker threads to inform the PxTaskManager that a task has completed processing.

Parameters:
[in] task The task which has been completed

Referenced by physx::PxTask::release().

Friends And Related Function Documentation

friend class PxBaseTask [friend]

friend class PxGpuWorkerThread [friend]

friend class PxLightCpuTask [friend]

friend class PxTask [friend]

The documentation for this class was generated from the following file:
  • PxTaskManager.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: physx::PxTaskType Struct Reference

physx::PxTaskType Struct Reference

Identifies the type of each heavyweight PxTask object. More...

#include <PxTaskManager.h>

List of all members.

Public Types

enum Enum {
TT_CPU,
TT_GPU,
TT_NOT_PRESENT,
TT_COMPLETED
}
Identifies the type of each heavyweight PxTask object. More...

Detailed Description

Identifies the type of each heavyweight PxTask object.

Note:
This enum type is only used by PxTask and GpuTask objects, LightCpuTasks do not use this enum.
See also:
PxTask

PxLightCpuTask

Member Enumeration Documentation

enum physx::PxTaskType::Enum

Identifies the type of each heavyweight PxTask object.

Enumerator:
TT_CPU | PxTask will be run on the CPU.
TT_GPU | PxTask will be run on the GPU.
TT_NOT_PRESENT | Return code when attempting to find a task that does not exist.
TT_COMPLETED | PxTask execution has been completed.

The documentation for this struct was generated from the following file:
  • PxTaskManager.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxActorClientBehaviorFlag Struct Reference

PxActorClientBehaviorFlag Struct Reference

Multiclient behavior bit flags for actors. More...

#include <PxClient.h>

List of all members.

Public Types

enum Enum {
eREPORT_TO_FOREIGN_CLIENTS_TRIGGER_NOTIFY = (1<<0),
eREPORT_TO_FOREIGN_CLIENTS_CONTACT_NOTIFY = (1<<1),
eREPORT_TO_FOREIGN_CLIENTS_CONSTRAINT_BREAK_NOTIFY = (1<<2),
eREPORT_TO_FOREIGN_CLIENTS_SCENE_QUERY = (1<<3)
}

Detailed Description

Multiclient behavior bit flags for actors.

Deprecated:
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4
See also:
PxActorClientBehaviorFlags PxActor::setClientBehaviorFlags()

Member Enumeration Documentation

enum PxActorClientBehaviorFlag::Enum

Enumerator:
eREPORT_TO_FOREIGN_CLIENTS_TRIGGER_NOTIFY Report this actor to trigger callbacks of other clients.

See also:
PxSimulationEventCallback::onTrigger()
eREPORT_TO_FOREIGN_CLIENTS_CONTACT_NOTIFY Report this actor to contact callbacks of other clients.

See also:
PxSimulationEventCallback::onContact()
eREPORT_TO_FOREIGN_CLIENTS_CONSTRAINT_BREAK_NOTIFY Report this actor to constraint break callbacks of other clients.

See also:
PxSimulationEventCallback::onConstraintBreak()
eREPORT_TO_FOREIGN_CLIENTS_SCENE_QUERY Report this actor to scene queries of other clients.

The documentation for this struct was generated from the following file:
  • PxClient.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClientBehaviorFlag Struct Reference

PxClientBehaviorFlag Struct Reference

Behavior bit flags for simulation clients. More...

#include <PxClient.h>

List of all members.

Public Types

enum Enum {
eREPORT_FOREIGN_OBJECTS_TO_TRIGGER_NOTIFY = (1<<0),
eREPORT_FOREIGN_OBJECTS_TO_CONTACT_NOTIFY = (1<<1),
eREPORT_FOREIGN_OBJECTS_TO_CONSTRAINT_BREAK_NOTIFY = (1<<2),
eREPORT_FOREIGN_OBJECTS_TO_SCENE_QUERY = (1<<3)
}

Detailed Description

Behavior bit flags for simulation clients.

Deprecated:
PxClientBehaviorFlag feature has been deprecated in PhysX version 3.4
See also:
PxClientBehaviorFlags PxScene::setClientBehaviorFlags()

Member Enumeration Documentation

enum PxClientBehaviorFlag::Enum

Enumerator:
eREPORT_FOREIGN_OBJECTS_TO_TRIGGER_NOTIFY Report actors belonging to other clients to the trigger callback of this client.

See also:
PxSimulationEventCallback::onTrigger()
eREPORT_FOREIGN_OBJECTS_TO_CONTACT_NOTIFY Report actors belonging to other clients to the contact callback of this client.

See also:
PxSimulationEventCallback::onContact()
eREPORT_FOREIGN_OBJECTS_TO_CONSTRAINT_BREAK_NOTIFY Report actors belonging to other clients to the constraint break callback of this client.

See also:
PxSimulationEventCallback::onConstraintBreak()
eREPORT_FOREIGN_OBJECTS_TO_SCENE_QUERY Report actors belonging to other clients to scene queries of this client.

The documentation for this struct was generated from the following file:
  • PxClient.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothGeodesicTetherCooker Class Reference

PxClothGeodesicTetherCooker Class Reference

#include <PxClothTetherCooker.h>

List of all members.

Public Member Functions

PxClothGeodesicTetherCooker (const PxClothMeshDesc &desc)
Compute tether data from PxClothMeshDesc using geodesic distance.
~PxClothGeodesicTetherCooker ()
PxU32 | getCookerStatus () const
Returns cooker status.
PxU32 | getNbTethersPerParticle () const
Returns number of tether anchors per particle.
void | getTetherData (PxU32 *userTetherAnchors, PxReal *userTetherLengths) const
Returns computed tether data.

Private Attributes

PxClothGeodesicTetherCookerImpl * | mImpl

Detailed Description

Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Constructor & Destructor Documentation

PxClothGeodesicTetherCooker::PxClothGeodesicTetherCooker ( const PxClothMeshDesc & desc )

Compute tether data from PxClothMeshDesc using geodesic distance.

The tether constraint in PxCloth requires rest distance and anchor index to be precomputed during cooking time. The provided tether cooker computes optimal tether distance with geodesic distance computation. For curved and complex meshes, geodesic distance provides the best behavior for tether constraints. But the cooking time is slower than the simple cooker.

See also:
PxClothSimpleTetherCooker
Parameters:
desc The cloth mesh descriptor prepared for cooking
Note:
The geodesic distance is optimized to work for intended use in tether constraint. This is by no means a general purpose geodesic computation code for arbitrary meshes.

The geodesic cooker does not work with non-manifold input such as edges having more than two incident triangles, or adjacent triangles following inconsitent winding order (e.g. clockwise vs counter-clockwise).

PxClothGeodesicTetherCooker::~PxClothGeodesicTetherCooker ( )

Member Function Documentation

PxU32 PxClothGeodesicTetherCooker::getCookerStatus ( ) const

Returns cooker status.

This function returns cooker status after cooker computation is done. A non-zero return value indicates a failure, 1 for non-manifold and 2 for inconsistent winding.

PxU32 PxClothGeodesicTetherCooker::getNbTethersPerParticle ( ) const

Returns number of tether anchors per particle.

Note:
Returned number indicates the maximum anchors. If some particles are assigned fewer anchors, the anchor indices will be PxU32(-1)

If there is no attached point in the input mesh descriptor, this will return 0 and no tether data will be generated.

void PxClothGeodesicTetherCooker::getTetherData | ( | PxU32 * | userTetherAnchors,
 |  | PxReal * | userTetherLengths |
 | ) |  |  | const

Returns computed tether data.

This function returns anchor indices for each particle as well as desired distance between the tether anchor and the particle. The user buffers should be at least as large as number of particles * number of tethers per particle.

See also:
getNbTethersPerParticle()

Member Data Documentation

PxClothGeodesicTetherCookerImpl* PxClothGeodesicTetherCooker::mImpl [private]

The documentation for this class was generated from the following file:
  • PxClothTetherCooker.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothMeshQuadifier Class Reference

PxClothMeshQuadifier Class Reference

#include <PxClothMeshQuadifier.h>

List of all members.

Public Member Functions

PxClothMeshQuadifier (const PxClothMeshDesc &desc)
Convert triangles of PxClothMeshDesc to quads.
~PxClothMeshQuadifier ()
PxClothMeshDesc | getDescriptor () const
Returns a mesh descriptor with some triangle pairs converted to quads.

Private Attributes

PxClothMeshQuadifierImpl * | mImpl

Detailed Description

Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Constructor & Destructor Documentation

PxClothMeshQuadifier::PxClothMeshQuadifier ( const PxClothMeshDesc & desc )

Convert triangles of PxClothMeshDesc to quads.

In PxCloth, quad dominant mesh representations are preferable to pre-triangulated versions. In cases where the mesh has been already triangulated, this class provides a meachanism to convert (quadify) some triangles back to quad representations.

See also:
PxClothFabricCooker
Parameters:
desc The cloth mesh descriptor prepared for cooking

PxClothMeshQuadifier::~PxClothMeshQuadifier ( )

Member Function Documentation

PxClothMeshDesc PxClothMeshQuadifier::getDescriptor ( ) const

Returns a mesh descriptor with some triangle pairs converted to quads.

Note:
The returned descriptor is valid only within the lifespan of PxClothMeshQuadifier class.

Member Data Documentation

PxClothMeshQuadifierImpl* PxClothMeshQuadifier::mImpl [private]

The documentation for this class was generated from the following file:
  • PxClothMeshQuadifier.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothSimpleTetherCooker Class Reference

PxClothSimpleTetherCooker Class Reference

#include <PxClothTetherCooker.h>

List of all members.

Public Member Functions

PxClothSimpleTetherCooker (const PxClothMeshDesc &desc)
Compute tether data from PxClothMeshDesc with simple distance measure.
~PxClothSimpleTetherCooker ()
void | getTetherData (PxU32 *userTetherAnchors, PxReal *userTetherLengths) const
Returns computed tether data.

Private Attributes

PxClothSimpleTetherCookerImpl * | mImpl

Detailed Description

Deprecated:
The PhysX cloth feature has been deprecated in PhysX version 3.4.1

Constructor & Destructor Documentation

PxClothSimpleTetherCooker::PxClothSimpleTetherCooker ( const PxClothMeshDesc & desc )

Compute tether data from PxClothMeshDesc with simple distance measure.

The tether constraint in PxCloth requires rest distance and anchor index to be precomputed during cooking time. This cooker computes a simple Euclidean distance to closest anchor point. The Euclidean distance measure works reasonably for flat cloth and flags and computation time is very fast. With this cooker, there is only one tether anchor point per particle.

See also:
PxClothTetherGeodesicCooker for more accurate distance estimation.
Parameters:
desc The cloth mesh descriptor prepared for cooking

PxClothSimpleTetherCooker::~PxClothSimpleTetherCooker ( )

Member Function Documentation

void PxClothSimpleTetherCooker::getTetherData | ( | PxU32 * | userTetherAnchors,
 |  | PxReal * | userTetherLengths |
 | ) |  |  | const

Returns computed tether data.

This function returns anchor indices for each particle as well as desired distance between the tether anchor and the particle. The user buffers should be at least as large as number of particles.

Member Data Documentation

PxClothSimpleTetherCookerImpl* PxClothSimpleTetherCooker::mImpl [private]

The documentation for this class was generated from the following file:
  • PxClothTetherCooker.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxContact Struct Reference

PxContact Struct Reference

Contact point data including face (feature) indices. More...

#include <PxContact.h>

Inheritance diagram for PxContact:

PxExtendedContactPxModifiableContact
[legend]
Collaboration diagram for PxContact:

PxVec3
[legend]

List of all members.

Public Attributes

PxVec3 contact
Contact point in world space.
PxReal separation
Separation value (negative implies penetration).

Detailed Description

Contact point data including face (feature) indices.

Member Data Documentation

PxVec3 PxContact::contact

Contact point in world space.

PxReal PxContact::separation

Separation value (negative implies penetration).

The documentation for this struct was generated from the following file:
  • PxContact.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxContactPatch Struct Reference

PxContactPatch Struct Reference

Header for contact patch where all points share same material and normal. More...

#include <PxContact.h>

List of all members.

Public Types

enum PxContactPatchFlags {
eHAS_FACE_INDICES = 1,
eMODIFIABLE = 2,
eFORCE_NO_RESPONSE = 4,
eHAS_MODIFIED_MASS_RATIOS = 8,
eHAS_TARGET_VELOCITY = 16,
eHAS_MAX_IMPULSE = 32,
eREGENERATE_PATCHES = 64,
eCOMPRESSED_MODIFIED_CONTACT = 128
}

Public Member Functions

PX_ALIGN (16, PxMassModificationProps mMassModification)
PX_ALIGN (16, PxVec3 normal)
Contact normal.

Public Attributes

PxReal | restitution
Restitution coefficient.
PxReal | dynamicFriction
PxReal | staticFriction
PxU8 | startContactIndex
PxU8 | nbContacts
PxU8 | materialFlags
PxU8 | internalFlags
PxU16 | materialIndex0
PxU16 | materialIndex1

Detailed Description

Header for contact patch where all points share same material and normal.

Member Enumeration Documentation

enum PxContactPatch::PxContactPatchFlags

Enumerator:
eHAS_FACE_INDICES | Indicates this contact stream has face indices.
eMODIFIABLE | Indicates this contact stream is modifiable.
eFORCE_NO_RESPONSE | Indicates this contact stream is notify-only (no contact response).
eHAS_MODIFIED_MASS_RATIOS | Indicates this contact stream has modified mass ratios.
eHAS_TARGET_VELOCITY | Indicates this contact stream has target velocities set.
eHAS_MAX_IMPULSE | Indicates this contact stream has max impulses set.
eREGENERATE_PATCHES This is required if the application modified either the contact normal or the material properties.

Indicates this contact stream needs patches re-generated.

eCOMPRESSED_MODIFIED_CONTACT

Member Function Documentation

PxContactPatch::PX_ALIGN | ( | 16 | ,
 |  | PxVec3 | normal
 | ) |  |

Contact normal.

PxContactPatch::PX_ALIGN | ( | 16 | ,
 |  | PxMassModificationProps | mMassModification
 | ) |  |

Member Data Documentation

PxReal PxContactPatch::dynamicFriction

PxU8 PxContactPatch::internalFlags

Referenced by PxContactSet::getInternalFaceIndex1(), PxContactStreamIterator::PxContactStreamIterator(), PxContactSet::setDynamicFriction(), PxContactSet::setInvInertiaScale0(), PxContactSet::setInvInertiaScale1(), PxContactSet::setInvMassScale0(), PxContactSet::setInvMassScale1(), PxContactSet::setMaxImpulse(), PxContactSet::setNormal(), PxContactSet::setRestitution(), PxContactSet::setStaticFriction(), and PxContactSet::setTargetVelocity().

PxU8 PxContactPatch::materialFlags

PxU16 PxContactPatch::materialIndex0

PxU16 PxContactPatch::materialIndex1

PxU8 PxContactPatch::nbContacts

PxReal PxContactPatch::restitution

Restitution coefficient.

PxU8 PxContactPatch::startContactIndex

PxReal PxContactPatch::staticFriction

The documentation for this struct was generated from the following file:
  • PxContact.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxContactStreamIterator Struct Reference

PxContactStreamIterator Struct Reference

A class to iterate over a compressed contact stream. This supports read-only access to the various contact formats. More...

#include <PxContact.h>

Collaboration diagram for PxContactStreamIterator:

PxVec3PxContactPxContactPatch
[legend]

List of all members.

Public Types

enum StreamFormat {
eSIMPLE_STREAM,
eMODIFIABLE_STREAM,
eCOMPRESSED_MODIFIABLE_STREAM
}

Public Member Functions

PX_CUDA_CALLABLE PX_FORCE_INLINE | PxContactStreamIterator (const PxU8 *contactPatches, const PxU8 *contactPoints, const PxU32 *contactFaceIndices, PxU32 nbPatches, PxU32 nbContacts)
Constructor.
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 		hasNextPatch () const
Returns whether there are more patches in this stream.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxU32 		getTotalContactCount () const
Returns the total contact count.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxU32 		getTotalPatchCount () const
PX_CUDA_CALLABLE PX_INLINE void | nextPatch ()
Advances iterator to next contact patch.
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 		hasNextContact () const
Returns if the current patch has more contacts.
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 		nextContact ()
Advances to the next contact in the patch.
PX_CUDA_CALLABLE
PX_FORCE_INLINE const PxVec3 & 		getContactNormal () const
Gets the current contact's normal.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxReal 		getInvMassScale0 () const
Gets the inverse mass scale for body 0.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxReal 		getInvMassScale1 () const
Gets the inverse mass scale for body 1.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxReal 		getInvInertiaScale0 () const
Gets the inverse inertia scale for body 0.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxReal 		getInvInertiaScale1 () const
Gets the inverse inertia scale for body 1.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxReal 		getMaxImpulse () const
Gets the contact's max impulse.
PX_CUDA_CALLABLE
PX_FORCE_INLINE const PxVec3 & 		getTargetVel () const
Gets the contact's target velocity.
PX_CUDA_CALLABLE
PX_FORCE_INLINE const PxVec3 & 		getContactPoint () const
Gets the contact's contact point.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxReal 		getSeparation () const
Gets the contact's separation.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxU32 		getFaceIndex0 () const
Gets the contact's face index for shape 0.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxU32 		getFaceIndex1 () const
Gets the contact's face index for shape 1.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxReal 		getStaticFriction () const
Gets the contact's static friction coefficient.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxReal 		getDynamicFriction () const
Gets the contact's static dynamic coefficient.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxReal 		getRestitution () const
Gets the contact's restitution coefficient.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxU32 		getMaterialFlags () const
Gets the contact's material flags.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxU16 		getMaterialIndex0 () const
Gets the contact's material index for shape 0.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxU16 		getMaterialIndex1 () const
Gets the contact's material index for shape 1.
bool | advanceToIndex (const PxU32 initialIndex)
Advances the contact stream iterator to a specific contact index.

Public Attributes

PxVec3 zero
Utility zero vector to optimize functions returning zero vectors when a certain flag isn't set.
const PxContactPatch * | patch
The patch headers.
const PxContact * | contact
The contacts.
const PxU32 * | faceIndice
The contact triangle face index.
PxU32 totalPatches
The total number of patches in this contact stream.
PxU32 totalContacts
The total number of contact points in this stream.
PxU32 nextContactIndex
The current contact index.
PxU32 nextPatchIndex
The current patch Index.
PxU32 contactPatchHeaderSize
PxU32 contactPointSize
Contact point size.
StreamFormat mStreamFormat
The stream format.
PxU32 forceNoResponse
Indicates whether this stream is notify-only or not.
bool | pointStepped
PxU32 hasFaceIndices

Private Member Functions

PX_CUDA_CALLABLE
PX_FORCE_INLINE const
PxContactPatch & 		getContactPatch () const
Internal helper.
PX_CUDA_CALLABLE
PX_FORCE_INLINE const
PxExtendedContact & 		getExtendedContact () const

Detailed Description

A class to iterate over a compressed contact stream. This supports read-only access to the various contact formats.

Member Enumeration Documentation

enum PxContactStreamIterator::StreamFormat

Enumerator:
eSIMPLE_STREAM
eMODIFIABLE_STREAM
eCOMPRESSED_MODIFIABLE_STREAM

Constructor & Destructor Documentation

PX_CUDA_CALLABLE PX_FORCE_INLINE PxContactStreamIterator::PxContactStreamIterator | ( | const PxU8 * | contactPatches,
 |  | const PxU8 * | contactPoints,
 |  | const PxU32 * | contactFaceIndices,
 |  | PxU32 | nbPatches,
 |  | PxU32 | nbContacts |
 | ) |  |  | [inline]

Constructor.

References PxContactPatch::eCOMPRESSED_MODIFIED_CONTACT, PxContactPatch::eFORCE_NO_RESPONSE, PxContactPatch::eHAS_FACE_INDICES, PxContactPatch::eMODIFIABLE, and PxContactPatch::internalFlags.

Member Function Documentation

bool PxContactStreamIterator::advanceToIndex ( const PxU32 initialIndex ) [inline]

Advances the contact stream iterator to a specific contact index.

References PX_ASSERT.

PX_CUDA_CALLABLE PX_FORCE_INLINE const PxVec3& PxContactStreamIterator::getContactNormal ( ) const [inline]

Gets the current contact's normal.

Returns:
The current contact's normal.

Referenced by PxContactPair::extractContacts().

PX_CUDA_CALLABLE PX_FORCE_INLINE const PxContactPatch& PxContactStreamIterator::getContactPatch ( ) const [inline, private]

Internal helper.

PX_CUDA_CALLABLE PX_FORCE_INLINE const PxVec3& PxContactStreamIterator::getContactPoint ( ) const [inline]

Gets the contact's contact point.

Returns:
The contact's contact point.

Referenced by PxContactPair::extractContacts().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal PxContactStreamIterator::getDynamicFriction ( ) const [inline]

Gets the contact's static dynamic coefficient.

Returns:
The contact's static dynamic coefficient.

PX_CUDA_CALLABLE PX_FORCE_INLINE const PxExtendedContact& PxContactStreamIterator::getExtendedContact ( ) const [inline, private]

References PX_ASSERT.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxU32 PxContactStreamIterator::getFaceIndex0 ( ) const [inline]

Gets the contact's face index for shape 0.

Returns:
The contact's face index for shape 0.

References PXC_CONTACT_NO_FACE_INDEX.

Referenced by PxContactPair::extractContacts().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxU32 PxContactStreamIterator::getFaceIndex1 ( ) const [inline]

Gets the contact's face index for shape 1.

Returns:
The contact's face index for shape 1.

References PXC_CONTACT_NO_FACE_INDEX.

Referenced by PxContactPair::extractContacts().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal PxContactStreamIterator::getInvInertiaScale0 ( ) const [inline]

Gets the inverse inertia scale for body 0.

Returns:
The inverse inertia scale for body 0.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal PxContactStreamIterator::getInvInertiaScale1 ( ) const [inline]

Gets the inverse inertia scale for body 1.

Returns:
The inverse inertia scale for body 1.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal PxContactStreamIterator::getInvMassScale0 ( ) const [inline]

Gets the inverse mass scale for body 0.

Returns:
The inverse mass scale for body 0.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal PxContactStreamIterator::getInvMassScale1 ( ) const [inline]

Gets the inverse mass scale for body 1.

Returns:
The inverse mass scale for body 1.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxU32 PxContactStreamIterator::getMaterialFlags ( ) const [inline]

Gets the contact's material flags.

Returns:
The contact's material flags.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxU16 PxContactStreamIterator::getMaterialIndex0 ( ) const [inline]

Gets the contact's material index for shape 0.

Returns:
The contact's material index for shape 0.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxU16 PxContactStreamIterator::getMaterialIndex1 ( ) const [inline]

Gets the contact's material index for shape 1.

Returns:
The contact's material index for shape 1.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal PxContactStreamIterator::getMaxImpulse ( ) const [inline]

Gets the contact's max impulse.

Returns:
The contact's max impulse.

References PX_MAX_REAL.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal PxContactStreamIterator::getRestitution ( ) const [inline]

Gets the contact's restitution coefficient.

Returns:
The contact's restitution coefficient.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal PxContactStreamIterator::getSeparation ( ) const [inline]

Gets the contact's separation.

Returns:
The contact's separation.

Referenced by PxContactPair::extractContacts().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal PxContactStreamIterator::getStaticFriction ( ) const [inline]

Gets the contact's static friction coefficient.

Returns:
The contact's static friction coefficient.

PX_CUDA_CALLABLE PX_FORCE_INLINE const PxVec3& PxContactStreamIterator::getTargetVel ( ) const [inline]

Gets the contact's target velocity.

Returns:
The contact's target velocity.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxU32 PxContactStreamIterator::getTotalContactCount ( ) const [inline]

Returns the total contact count.

Returns:
Total contact count.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxU32 PxContactStreamIterator::getTotalPatchCount ( ) const [inline]

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxContactStreamIterator::hasNextContact ( ) const [inline]

Returns if the current patch has more contacts.

Returns:
If there are more contacts in the current patch.

Referenced by PxContactPair::extractContacts().

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxContactStreamIterator::hasNextPatch ( ) const [inline]

Returns whether there are more patches in this stream.

Returns:
Whether there are more patches in this stream.

Referenced by PxContactPair::extractContacts().

PX_CUDA_CALLABLE PX_FORCE_INLINE void PxContactStreamIterator::nextContact ( ) [inline]

Advances to the next contact in the patch.

References PX_ASSERT.

Referenced by PxContactPair::extractContacts().

PX_CUDA_CALLABLE PX_INLINE void PxContactStreamIterator::nextPatch ( ) [inline]

Advances iterator to next contact patch.

References PX_ASSERT.

Referenced by PxContactPair::extractContacts().

Member Data Documentation

const PxContact* PxContactStreamIterator::contact

The contacts.

PxU32 PxContactStreamIterator::contactPatchHeaderSize

PxU32 PxContactStreamIterator::contactPointSize

Contact point size.

Note:
This varies whether the patch has feature indices or is modifiable.

const PxU32* PxContactStreamIterator::faceIndice

The contact triangle face index.

PxU32 PxContactStreamIterator::forceNoResponse

Indicates whether this stream is notify-only or not.

PxU32 PxContactStreamIterator::hasFaceIndices

StreamFormat PxContactStreamIterator::mStreamFormat

The stream format.

PxU32 PxContactStreamIterator::nextContactIndex

The current contact index.

PxU32 PxContactStreamIterator::nextPatchIndex

The current patch Index.

const PxContactPatch* PxContactStreamIterator::patch

The patch headers.

bool PxContactStreamIterator::pointStepped

PxU32 PxContactStreamIterator::totalContacts

The total number of contact points in this stream.

PxU32 PxContactStreamIterator::totalPatches

The total number of patches in this contact stream.

PxVec3 PxContactStreamIterator::zero

Utility zero vector to optimize functions returning zero vectors when a certain flag isn't set.

Note:
This allows us to return by reference instead of having to return by value. Returning by value will go via memory (registers -> stack -> registers), which can cause performance issues on certain platforms.

The documentation for this struct was generated from the following file:
  • PxContact.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDefaultErrorCallback Class Reference

PxDefaultErrorCallback Class Reference

default implementation of the error callback More...

#include <PxDefaultErrorCallback.h>

Inheritance diagram for PxDefaultErrorCallback:

PxErrorCallback
[legend]
Collaboration diagram for PxDefaultErrorCallback:

PxErrorCallback
[legend]

List of all members.

Public Member Functions

PxDefaultErrorCallback ()
~PxDefaultErrorCallback ()
virtual void reportError (PxErrorCode::Enum code, const char *message, const char *file, int line)
Reports an error code.

Detailed Description

default implementation of the error callback

This class is provided in order to enable the SDK to be started with the minimum of user code. Typically an application will use its own error callback, and log the error to file or otherwise make it visible. Warnings and error messages from the SDK are usually indicative that changes are required in order for PhysX to function correctly, and should not be ignored.

Constructor & Destructor Documentation

PxDefaultErrorCallback::PxDefaultErrorCallback ( )

PxDefaultErrorCallback::~PxDefaultErrorCallback ( )

Member Function Documentation

virtual void PxDefaultErrorCallback::reportError | ( | PxErrorCode::Enum | code,
 |  | const char * | message,
 |  | const char * | file,
 |  | int | line |
 | ) |  |  | [virtual]

Reports an error code.

Parameters:
code | Error code, see PxErrorCode
message | Message to display.
file | File error occured in.
line | Line number error occured on.

Implements PxErrorCallback.

The documentation for this class was generated from the following file:
  • PxDefaultErrorCallback.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxExtendedContact Struct Reference

PxExtendedContact Struct Reference

#include <PxContact.h>

Inheritance diagram for PxExtendedContact:

PxModifiableContactPxContact
[legend]
Collaboration diagram for PxExtendedContact:

PxContactPxVec3
[legend]

List of all members.

Public Member Functions

PX_ALIGN (16, PxVec3 targetVelocity)
Target velocity.

Public Attributes

PxReal maxImpulse
Maximum impulse.

Member Function Documentation

PxExtendedContact::PX_ALIGN | ( | 16 | ,
 |  | PxVec3 | targetVelocity
 | ) |  |

Target velocity.

Reimplemented in PxModifiableContact.

Member Data Documentation

PxReal PxExtendedContact::maxImpulse

Maximum impulse.

The documentation for this struct was generated from the following file:
  • PxContact.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMassModificationProps Struct Reference

PxMassModificationProps Struct Reference

#include <PxContact.h>

List of all members.

Public Attributes

PxReal | mInvMassScale0
PxReal | mInvInertiaScale0
PxReal | mInvMassScale1
PxReal | mInvInertiaScale1

Member Data Documentation

PxReal PxMassModificationProps::mInvInertiaScale0

PxReal PxMassModificationProps::mInvInertiaScale1

PxReal PxMassModificationProps::mInvMassScale0

PxReal PxMassModificationProps::mInvMassScale1

The documentation for this struct was generated from the following file:
  • PxContact.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMetaDataFlag Struct Reference

PxMetaDataFlag Struct Reference

Flags used to configure binary meta data entries, typically set through PX_DEF_BIN_METADATA defines. More...

#include <PxMetaDataFlags.h>

List of all members.

Public Types

enum Enum {
eCLASS = (1<<0),
eVIRTUAL = (1<<1),
eTYPEDEF = (1<<2),
ePTR = (1<<3),
eEXTRA_DATA = (1<<4),
eEXTRA_ITEM = (1<<5),
eEXTRA_ITEMS = (1<<6),
eEXTRA_NAME = (1<<7),
eUNION = (1<<8),
ePADDING = (1<<9),
eALIGNMENT = (1<<10),
eCOUNT_MASK_MSB = (1<<11),
eCOUNT_SKIP_IF_ONE = (1<<12),
eCONTROL_FLIP = (1<<13),
eCONTROL_MASK = (1<<14),
eCONTROL_MASK_RANGE = 0x000000FF,
eFORCE_DWORD = 0x7fffffff
}

Detailed Description

Flags used to configure binary meta data entries, typically set through PX_DEF_BIN_METADATA defines.

See also:
PxMetaDataEntry

Member Enumeration Documentation

enum PxMetaDataFlag::Enum

Enumerator:
eCLASS | declares a class
eVIRTUAL | declares class to be virtual
eTYPEDEF | declares a typedef
ePTR | declares a pointer
eEXTRA_DATA | declares extra data exported with PxSerializer::exportExtraData
eEXTRA_ITEM | specifies one element of extra data
eEXTRA_ITEMS | specifies an array of extra data
eEXTRA_NAME | specifies a name of extra data
eUNION | declares a union
ePADDING | declares explicit padding data
eALIGNMENT | declares aligned data
eCOUNT_MASK_MSB | specifies that the count value's most significant bit needs to be masked out
eCOUNT_SKIP_IF_ONE | specifies that the count value is treated as zero for a variable value of one - special case for single triangle meshes
eCONTROL_FLIP | specifies that the control value is the negate of the variable value
eCONTROL_MASK | specifies that the control value is masked - mask bits are assumed to be within eCONTROL_MASK_RANGE
eCONTROL_MASK_RANGE | mask range allowed for eCONTROL_MASK
eFORCE_DWORD

The documentation for this struct was generated from the following file:
  • PxMetaDataFlags.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxModifiableContact Struct Reference

PxModifiableContact Struct Reference

A modifiable contact point. This has additional fields per-contact to permit modification by user. More...

#include <PxContact.h>

Inheritance diagram for PxModifiableContact:

PxExtendedContactPxContact
[legend]
Collaboration diagram for PxModifiableContact:

PxExtendedContactPxContactPxVec3
[legend]

List of all members.

Public Member Functions

PX_ALIGN (16, PxVec3 normal)
Contact normal.

Public Attributes

PxReal | restitution
Restitution coefficient.
PxU32 materialFlags
Material Flags.
PxU16 | materialIndex0
Shape A's material index.
PxU16 | materialIndex1
Shape B's material index.
PxReal | staticFriction
static friction coefficient
PxReal | dynamicFriction
dynamic friction coefficient

Detailed Description

A modifiable contact point. This has additional fields per-contact to permit modification by user.

Note:
Not all fields are currently exposed to the user.

Member Function Documentation

PxModifiableContact::PX_ALIGN | ( | 16 | ,
 |  | PxVec3 | normal
 | ) |  |

Contact normal.

Reimplemented from PxExtendedContact.

Member Data Documentation

PxReal PxModifiableContact::dynamicFriction

dynamic friction coefficient

PxU32 PxModifiableContact::materialFlags

Material Flags.

PxU16 PxModifiableContact::materialIndex0

Shape A's material index.

PxU16 PxModifiableContact::materialIndex1

Shape B's material index.

PxReal PxModifiableContact::restitution

Restitution coefficient.

PxReal PxModifiableContact::staticFriction

static friction coefficient

The documentation for this struct was generated from the following file:
  • PxContact.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxParticleExt::PxParticleExt::IndexPool Class Reference

PxParticleExt::PxParticleExt::IndexPool Class Reference

Class to manage particle indices. Extension particle index management can be useful if no application side particle index allocation functionality is available. An PxParticleExt::IndexPool instance is meant to be used for one PxParticleSystem/PxParticleFluid instance. The instance can be created with PxParticleExt::createIndexPool(). More...

#include <PxParticleExt.h>

List of all members.

Public Member Functions

virtual PxU32 | allocateIndices (PxU32 num, const PxStrideIterator< PxU32 > &indexBuffer)=0
Allocates a requested number of indices if possible.
virtual void | freeIndices (PxU32 num, const PxStrideIterator< const PxU32 > &indexBuffer)=0
Deallocates a requested number of indices.
virtual void | freeIndices ()=0
Deallocates all previously allocated indices.
virtual void | release ()=0
Releases IndexPool instance.
virtual | ~IndexPool ()
virtual destructor

Detailed Description

Class to manage particle indices. Extension particle index management can be useful if no application side particle index allocation functionality is available. An PxParticleExt::IndexPool instance is meant to be used for one PxParticleSystem/PxParticleFluid instance. The instance can be created with PxParticleExt::createIndexPool().

See also:
PxParticleExt::createIndexPool()

Constructor & Destructor Documentation

virtual PxParticleExt::PxParticleExt::IndexPool::~IndexPool ( ) [inline, virtual]

virtual destructor

Member Function Documentation

virtual PxU32 PxParticleExt::PxParticleExt::IndexPool::allocateIndices | ( | PxU32 | num,
 |  | const PxStrideIterator< PxU32 > & | indexBuffer |
 | ) |  |  | [pure virtual]

Allocates a requested number of indices if possible.

Parameters:
[in] | num | Number of indices that should be allocated.
[out] | indexBuffer | Strided data to which allocated indices are written.
Returns:
PxU32. Number of indices that where allocated by the operation.

virtual void PxParticleExt::PxParticleExt::IndexPool::freeIndices ( ) [pure virtual]

Deallocates all previously allocated indices.

virtual void PxParticleExt::PxParticleExt::IndexPool::freeIndices | ( | PxU32 | num,
 |  | const PxStrideIterator< const PxU32 > & | indexBuffer |
 | ) |  |  | [pure virtual]

Deallocates a requested number of indices.

Parameters:
[in] | num | Number of indices that should be freed.
[in] | indexBuffer | Strided data describing the indices that need to be freed. It's a requirement to specify unique indices, that where previously allocated by PxParticlesExt::allocateIndices()

virtual void PxParticleExt::PxParticleExt::IndexPool::release ( ) [pure virtual]

Releases IndexPool instance.

The documentation for this class was generated from the following file:
  • PxParticleExt.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxParticleExt::PxParticleExt::ParticleBounds Struct Reference

PxParticleExt::PxParticleExt::ParticleBounds Struct Reference

#include <PxParticleExt.h>

Collaboration diagram for PxParticleExt::PxParticleExt::ParticleBounds:

PxBounds3PxVec3
[legend]

List of all members.

Public Attributes

PxBounds3 bounds
PxU32 firstParticle
PxU32 numParticles

Member Data Documentation

PxBounds3 PxParticleExt::PxParticleExt::ParticleBounds::bounds

PxU32 PxParticleExt::PxParticleExt::ParticleBounds::firstParticle

PxU32 PxParticleExt::PxParticleExt::ParticleBounds::numParticles

The documentation for this struct was generated from the following file:
  • PxParticleExt.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSerialization::PxSerialization::PxXmlMiscParameter Struct Reference

PxSerialization::PxSerialization::PxXmlMiscParameter Struct Reference

Additional PxScene and PxPhysics options stored in XML serialized data. More...

#include <PxSerialization.h>

Collaboration diagram for PxSerialization::PxSerialization::PxXmlMiscParameter:

PxTolerancesScalePxVec3
[legend]

List of all members.

Public Member Functions

PxXmlMiscParameter ()
PxXmlMiscParameter (PxVec3 &inUpVector, PxTolerancesScale inScale)

Public Attributes

PxVec3 upVector
Up vector for the scene reference coordinate system.
PxTolerancesScale scale
Tolerances scale to be used for the scene.

Detailed Description

Additional PxScene and PxPhysics options stored in XML serialized data.

The PxXmlMiscParameter parameter can be serialized and deserialized along with PxCollection instances (XML only). This is for application use only and has no impact on how objects are serialized or deserialized.

See also:
PxSerialization::createCollectionFromXml, PxSerialization::serializeCollectionToXml

Constructor & Destructor Documentation

PxSerialization::PxSerialization::PxXmlMiscParameter::PxXmlMiscParameter ( ) [inline]

PxSerialization::PxSerialization::PxXmlMiscParameter::PxXmlMiscParameter | ( | PxVec3 & | inUpVector,
 |  | PxTolerancesScale | inScale |
 | ) |  |  | [inline]

Member Data Documentation

PxTolerancesScale PxSerialization::PxSerialization::PxXmlMiscParameter::scale

Tolerances scale to be used for the scene.

PxVec3 PxSerialization::PxSerialization::PxXmlMiscParameter::upVector

Up vector for the scene reference coordinate system.

The documentation for this struct was generated from the following file:
  • PxSerialization.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxStringTableExt Class Reference

PxStringTableExt Class Reference

a factory class for creating PxStringTable with a specific allocator. More...

#include <PxStringTableExt.h>

List of all members.

Static Public Member Functions

static PxStringTable & createStringTable (physx::PxAllocatorCallback &inAllocator)

Detailed Description

a factory class for creating PxStringTable with a specific allocator.

See also:
PxStringTable

Member Function Documentation

static PxStringTable& PxStringTableExt::createStringTable ( physx::PxAllocatorCallback & inAllocator ) [static]

The documentation for this class was generated from the following file:
  • PxStringTableExt.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVolumeCache::PxVolumeCache::Iterator Struct Reference

PxVolumeCache::PxVolumeCache::Iterator Struct Reference

A callback wrapper class for use with PxVolumeCache::forEach function. More...

#include <PxVolumeCache.h>

List of all members.

Public Member Functions

virtual void | processShapes (PxU32 count, const PxActorShape *actorShapePairs)=0
Reports cache contents to the user.
virtual void | finalizeQuery ()

Protected Member Functions

virtual | ~Iterator ()

Detailed Description

A callback wrapper class for use with PxVolumeCache::forEach function.

Works in tandem with forEach(). Used to return shapes overlapping with the cache volume (set using the last fill() call) to the user.

See also:
PxVolumeCache::forEach

Constructor & Destructor Documentation

virtual PxVolumeCache::PxVolumeCache::Iterator::~Iterator ( ) [inline, protected, virtual]

Member Function Documentation

virtual void PxVolumeCache::PxVolumeCache::Iterator::finalizeQuery ( ) [inline, virtual]

/brief Called after the last processShapes was called.

See also:
PxVolumeCache::Iterator::processShapes

virtual void PxVolumeCache::PxVolumeCache::Iterator::processShapes | ( | PxU32 | count,
 |  | const PxActorShape * | actorShapePairs |
 | ) |  |  | [pure virtual]

Reports cache contents to the user.

Parameters:
[in] | count | The number of shapes returned with this call.
[in] | actorShapePairs | Array of PxActorShape pairs.
See also:
PxVolumeCache::forEach

The documentation for this struct was generated from the following file:
  • PxVolumeCache.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Hierarchical Index

Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:

  • physx::PxBaseTask
    • physx::PxLightCpuTask
    • physx::PxTask
      • physx::PxGpuTask
  • physx::PxCpuDispatcher
  • physx::PxGpuDispatcher
  • physx::PxGpuTaskHint
  • physx::PxProfilerCallback
    • PxPvd
  • physx::PxProfileScoped
  • physx::PxTaskManager
  • physx::PxTaskType
  • Px1DConstraint
  • Px1DConstraintFlag
  • PxActiveTransform
  • PxActorClientBehaviorFlag
  • PxActorFlag
  • PxActorShape
    • PxQueryHit
      • PxLocationHit
        • PxRaycastHit
        • PxSweepHit
      • PxOverlapHit
  • PxActorType
  • PxActorTypeFlag
  • PxAllocatorCallback
    • PxDefaultAllocator
  • PxArticulationDriveCache
  • PxArticulationJointDriveType
  • PxAssertHandler
  • PxBase
    • PxActor
      • PxCloth
      • PxParticleBase
        • PxParticleFluid
        • PxParticleSystem
      • PxRigidActor
        • PxRigidBody
          • PxArticulationLink
          • PxRigidDynamic
        • PxRigidStatic
    • PxAggregate
    • PxArticulation
    • PxArticulationJoint
    • PxClothFabric
    • PxConstraint
    • PxConvexMesh
    • PxHeightField
    • PxJoint
      • PxD6Joint
      • PxDistanceJoint
      • PxFixedJoint
      • PxPrismaticJoint
      • PxRevoluteJoint
      • PxSphericalJoint
    • PxMaterial
    • PxPruningStructure
    • PxShape
    • PxTriangleMesh
      • PxBVH33TriangleMesh
      • PxBVH34TriangleMesh
    • PxVehicleWheels
      • PxVehicleDrive
        • PxVehicleDrive4W
        • PxVehicleDriveNW
        • PxVehicleDriveTank
      • PxVehicleNoDrive
  • PxBaseFlag
  • PxBatchQuery
  • PxBatchQueryDesc
  • PxBatchQueryMemory
  • PxBatchQueryResult< HitType >
  • PxBatchQueryStatus
  • PxBinaryConverter
  • PxBitAndDataT< storageType, bitMask >
  • PxBounds3
  • PxBroadPhaseCallback
  • PxBroadPhaseCaps
  • PxBroadPhaseExt
  • PxBroadPhaseRegion
  • PxBroadPhaseRegionInfo
  • PxBroadPhaseType
  • PxBVH33MidphaseDesc
  • PxBVH34MidphaseDesc
  • PxCapsuleClimbingMode
  • PxCCDContactModifyCallback
  • PxClientBehaviorFlag
  • PxClothCollisionPlane
  • PxClothCollisionSphere
  • PxClothCollisionTriangle
  • PxClothFabricCooker
  • PxClothFabricDesc
  • PxClothFabricPhase
  • PxClothFabricPhaseType
  • PxClothFlag
  • PxClothGeodesicTetherCooker
  • PxClothMeshDesc
  • PxClothMeshQuadifier
  • PxClothMotionConstraintConfig
  • PxClothParticle
  • PxClothParticleMotionConstraint
  • PxClothParticleSeparationConstraint
  • PxClothSimpleTetherCooker
  • PxClothStretchConfig
  • PxClothTetherConfig
  • PxCollection
  • PxCollectionExt
  • PxCombineMode
  • PxConcreteType
  • PxConstraintConnector
  • PxConstraintExtIDs
  • PxConstraintFlag
  • PxConstraintInfo
  • PxConstraintInvMassScale
  • PxConstraintShaderTable
  • PxConstraintSolveHint
  • PxConstraintVisualizationFlag
  • PxConstraintVisualizer
  • PxContact
    • PxExtendedContact
      • PxModifiableContact
  • PxContactModifyCallback
  • PxContactModifyPair
  • PxContactPair
  • PxContactPairExtraDataItem
    • PxContactPairIndex
    • PxContactPairPose
    • PxContactPairVelocity
  • PxContactPairExtraDataIterator
  • PxContactPairExtraDataType
  • PxContactPairFlag
  • PxContactPairHeader
  • PxContactPairHeaderFlag
  • PxContactPairPoint
  • PxContactPatch
  • PxContactRecorder
  • PxContactSet
  • PxContactStreamIterator
  • PxController
    • PxBoxController
    • PxCapsuleController
  • PxControllerBehaviorCallback
  • PxControllerBehaviorFlag
  • PxControllerCollisionFlag
  • PxControllerDebugRenderFlag
  • PxControllerDesc
    • PxBoxControllerDesc
    • PxCapsuleControllerDesc
  • PxControllerFilterCallback
  • PxControllerFilters
  • PxControllerHit
    • PxControllerObstacleHit
    • PxControllerShapeHit
    • PxControllersHit
  • PxControllerManager
  • PxControllerNonWalkableMode
  • PxControllerShapeType
  • PxControllerState
  • PxControllerStats
  • PxConverterReportMode
  • PxConvexFlag
  • PxConvexMeshCookingResult
  • PxConvexMeshCookingType
  • PxConvexMeshDesc
  • PxConvexMeshGeometryFlag
  • PxCooking
  • PxCookingParams
  • PxD6Axis
  • PxD6Drive
  • PxD6JointDriveFlag
  • PxD6Motion
  • PxDataAccessFlag
  • PxDebugColor
  • PxDebugLine
  • PxDebugPoint
  • PxDebugText
  • PxDebugTriangle
  • PxDefaultCpuDispatcher
  • PxDeletionEventFlag
  • PxDeletionListener
  • PxDeserializationContext
  • PxDistanceJointFlag
  • PxDominanceGroupPair
  • PxErrorCallback
    • PxDefaultErrorCallback
  • PxErrorCode
  • PxExtendedVec3
  • PxFileBuf
  • PxFilterData
  • PxFilterFlag
  • PxFilterInfo
  • PxFilterObjectFlag
  • PxFilterObjectType
  • PxFilterOp
  • PxFixedSizeLookupTable< NB_ELEMENTS >
  • PxFlags< enumtype, storagetype >
  • PxForceMode
  • PxFoundation
  • PxFrictionType
  • PxgDynamicsMemoryConfig
  • PxGeometry
    • PxBoxGeometry
    • PxCapsuleGeometry
    • PxConvexMeshGeometry
    • PxHeightFieldGeometry
    • PxPlaneGeometry
    • PxSphereGeometry
    • PxTriangleMeshGeometry
  • PxGeometryHolder
  • PxGeometryQuery
  • PxGeometryType
  • PxGroupsMask
  • PxHeightFieldDesc
  • PxHeightFieldFlag
  • PxHeightFieldFormat
  • PxHeightFieldMaterial
  • PxHeightFieldSample
  • PxHeightFieldTessFlag
  • PxHitCallback< HitType >
  • PxHitCallback< HitType >
    • PxHitBuffer< HitType >
  • PxHitCallback< PxOverlapHit >
    • PxHitBuffer< PxOverlapHit >
      • PxOverlapBufferN< N >
  • PxHitCallback< PxRaycastHit >
    • PxHitBuffer< PxRaycastHit >
      • PxRaycastBufferN< N >
  • PxHitCallback< PxSweepHit >
    • PxHitBuffer< PxSweepHit >
      • PxSweepBufferN< N >
  • PxHitFlag
  • PxHullPolygon
  • PxInputStream
    • PxInputData
      • PxDefaultFileInputData
      • PxDefaultMemoryInputData
  • PxJointActorIndex
  • PxJointConcreteType
  • PxJointLimitParameters
    • PxJointAngularLimitPair
    • PxJointLimitCone
    • PxJointLinearLimit
    • PxJointLinearLimitPair
  • PxLockedData
    • PxParticleReadData
      • PxParticleFluidReadData
  • PxMassModificationProps
  • PxMassProperties
  • PxMat33
  • PxMat44
  • PxMaterialFlag
  • PxMeshCookingHint
  • PxMeshFlag
  • PxMeshGeometryFlag
  • PxMeshMidPhase
  • PxMeshOverlapUtil
  • PxMeshPreprocessingFlag
  • PxMeshQuery
  • PxMeshScale
  • PxMetaDataEntry
  • PxMetaDataFlag
  • PxMidphaseDesc
  • PxObstacle
    • PxBoxObstacle
    • PxCapsuleObstacle
  • PxObstacleContext
  • PxOutputStream
    • PxDefaultFileOutputStream
    • PxDefaultMemoryOutputStream
  • PxPackValidation
  • PxPadding< TNumBytes >
  • PxPairFilteringMode
  • PxPairFlag
  • PxParticleBaseFlag
  • PxParticleCreationData
  • PxParticleExt
  • PxParticleExt::PxParticleExt::IndexPool
  • PxParticleExt::PxParticleExt::ParticleBounds
  • PxParticleFlag
  • PxParticleReadDataFlag
  • PxPhysics
  • PxPhysicsInsertionCallback
  • PxPlane
  • PxPlatform
  • PxPrismaticJointFlag
  • PxProcessPxBaseCallback
  • PxPruningStructureType
  • PxPvdInstrumentationFlag
  • PxPvdSceneClient
  • PxPvdSceneFlag
  • PxPvdTransport
  • PxPvdUpdateType
  • PxQuat
  • PxQueryCache
  • PxQueryFilterCallback
  • PxQueryFilterData
  • PxQueryFlag
  • PxQueryHitType
  • PxRenderBuffer
  • PxRepXInstantiationArgs
  • PxRepXObject
  • PxRepXSerializer
  • PxRevoluteJointFlag
  • PxRigidActorExt
  • PxRigidBodyData
  • PxRigidBodyExt
  • PxRigidBodyFlag
  • PxRigidDynamicLockFlag
  • PxScene
  • PxSceneDesc
  • PxSceneFlag
  • PxSceneLimits
  • PxSceneQueryExt
  • PxSceneQueryUpdateMode
  • PxSceneReadLock
  • PxSceneWriteLock
  • PxSerialization
  • PxSerialization::PxSerialization::PxXmlMiscParameter
  • PxSerializationContext
  • PxSerializationRegistry
  • PxSerializer
    • PxSerializerDefaultAdapter< T >
  • PxShapeExt
  • PxShapeFlag
  • PxSimpleTriangleMesh
    • PxTriangleMeshDesc
  • PxSimulationEventCallback
  • PxSimulationFilterCallback
  • PxSimulationStatistics
  • PxSpatialIndex
  • PxSpatialIndexItem
  • PxSpatialLocationCallback
  • PxSpatialOverlapCallback
  • PxSphericalJointFlag
  • PxSpring
    • PxD6JointDrive
  • PxStridedData
    • PxBoundedData
  • PxStrideIterator< T >
  • PxStringTable
  • PxStringTableExt
  • PxTolerancesScale
  • PxTransform
  • PxTriangle
  • PxTriangleMeshCookingResult
  • PxTriangleMeshFlag
  • PxTriggerPair
  • PxTriggerPairFlag
  • PxTypedStridedData< TDataType >
  • PxTypeInfo< T >
  • PxUserControllerHitReport
  • PxVec2
  • PxVec3
  • PxVec4
  • PxVehicleAckermannGeometryData
  • PxVehicleAntiRollBarData
  • PxVehicleAutoBoxData
  • PxVehicleChassisData
  • PxVehicleClutchAccuracyMode
  • PxVehicleClutchData
  • PxVehicleConcreteType
  • PxVehicleConcurrentUpdateData
  • PxVehicleCopyDynamicsMap
  • PxVehicleDifferential4WData
  • PxVehicleDifferentialNWData
  • PxVehicleDrivableSurfaceToTireFrictionPairs
  • PxVehicleDrivableSurfaceType
  • PxVehicleDrive4WControl
  • PxVehicleDrive4WRawInputData
    • PxVehicleDriveNWRawInputData
  • PxVehicleDrive4WWheelOrder
  • PxVehicleDriveDynData
  • PxVehicleDriveNWControl
  • PxVehicleDriveSimData
    • PxVehicleDriveSimData4W
    • PxVehicleDriveSimDataNW
  • PxVehicleDriveTankControl
  • PxVehicleDriveTankControlModel
  • PxVehicleDriveTankRawInputData
  • PxVehicleDriveTankWheelOrder
  • PxVehicleEngineData
  • PxVehicleGearsData
  • PxVehicleKeySmoothingData
  • PxVehiclePadSmoothingData
  • PxVehicleSuspensionData
  • PxVehicleTireData
  • PxVehicleTireLoadFilterData
  • PxVehicleTypes
  • PxVehicleUpdateMode
  • PxVehicleWheelConcurrentUpdateData
  • PxVehicleWheelData
  • PxVehicleWheelQueryResult
  • PxVehicleWheelsDynData
  • PxVehicleWheelsSimData
  • PxVisualizationParameter
  • PxVolumeCache
  • PxVolumeCache::PxVolumeCache::Iterator
  • PxWheelQueryResult
  • RaycastCCDManager


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z
  • ~
Here is a list of all class members with links to the classes they belong to:

- _ -

  • _ : PxPackValidation


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Graphical Class Hierarchy

Main Page Class Hierarchy Compound List Compound Members

Graphical Class Hierarchy

Go to the textual class hierarchy

physx::PxBaseTaskphysx::PxLightCpuTaskphysx::PxTaskphysx::PxGpuTask
physx::PxCpuDispatcher
physx::PxGpuDispatcher
physx::PxGpuTaskHint
physx::PxProfilerCallbackPxPvd
physx::PxProfileScoped
physx::PxTaskManager
physx::PxTaskType
Px1DConstraint
Px1DConstraintFlag
PxActiveTransform
PxActorClientBehaviorFlag
PxActorFlag
PxActorShapePxQueryHitPxLocationHitPxOverlapHitPxRaycastHitPxSweepHit
PxActorType
PxActorTypeFlag
PxAllocatorCallbackPxDefaultAllocator
PxArticulationDriveCache
PxArticulationJointDriveType
PxAssertHandler
PxBasePxActorPxAggregatePxArticulationPxArticulationJointPxClothFabricPxConstraintPxConvexMeshPxHeightFieldPxJointPxMaterialPxPruningStructurePxShapePxTriangleMeshPxVehicleWheelsPxClothPxParticleBasePxRigidActorPxParticleFluidPxParticleSystemPxRigidBodyPxRigidStaticPxArticulationLinkPxRigidDynamicPxD6JointPxDistanceJointPxFixedJointPxPrismaticJointPxRevoluteJointPxSphericalJointPxBVH33TriangleMeshPxBVH34TriangleMeshPxVehicleDrivePxVehicleNoDrivePxVehicleDrive4WPxVehicleDriveNWPxVehicleDriveTank
PxBaseFlag
PxBatchQuery
PxBatchQueryDesc
PxBatchQueryMemory
PxBatchQueryResult\< HitType \>
PxBatchQueryStatus
PxBinaryConverter
PxBitAndDataT\< storageType, bitMask \>
PxBounds3
PxBroadPhaseCallback
PxBroadPhaseCaps
PxBroadPhaseExt
PxBroadPhaseRegion
PxBroadPhaseRegionInfo
PxBroadPhaseType
PxBVH33MidphaseDesc
PxBVH34MidphaseDesc
PxCapsuleClimbingMode
PxCCDContactModifyCallback
PxClientBehaviorFlag
PxClothCollisionPlane
PxClothCollisionSphere
PxClothCollisionTriangle
PxClothFabricCooker
PxClothFabricDesc
PxClothFabricPhase
PxClothFabricPhaseType
PxClothFlag
PxClothGeodesicTetherCooker
PxClothMeshDesc
PxClothMeshQuadifier
PxClothMotionConstraintConfig
PxClothParticle
PxClothParticleMotionConstraint
PxClothParticleSeparationConstraint
PxClothSimpleTetherCooker
PxClothStretchConfig
PxClothTetherConfig
PxCollection
PxCollectionExt
PxCombineMode
PxConcreteType
PxConstraintConnector
PxConstraintExtIDs
PxConstraintFlag
PxConstraintInfo
PxConstraintInvMassScale
PxConstraintShaderTable
PxConstraintSolveHint
PxConstraintVisualizationFlag
PxConstraintVisualizer
PxContactPxExtendedContactPxModifiableContact
PxContactModifyCallback
PxContactModifyPair
PxContactPair
PxContactPairExtraDataItemPxContactPairIndexPxContactPairPosePxContactPairVelocity
PxContactPairExtraDataIterator
PxContactPairExtraDataType
PxContactPairFlag
PxContactPairHeader
PxContactPairHeaderFlag
PxContactPairPoint
PxContactPatch
PxContactRecorder
PxContactSet
PxContactStreamIterator
PxControllerPxBoxControllerPxCapsuleController
PxControllerBehaviorCallback
PxControllerBehaviorFlag
PxControllerCollisionFlag
PxControllerDebugRenderFlag
PxControllerDescPxBoxControllerDescPxCapsuleControllerDesc
PxControllerFilterCallback
PxControllerFilters
PxControllerHitPxControllerObstacleHitPxControllerShapeHitPxControllersHit
PxControllerManager
PxControllerNonWalkableMode
PxControllerShapeType
PxControllerState
PxControllerStats
PxConverterReportMode
PxConvexFlag
PxConvexMeshCookingResult
PxConvexMeshCookingType
PxConvexMeshDesc
PxConvexMeshGeometryFlag
PxCooking
PxCookingParams
PxD6Axis
PxD6Drive
PxD6JointDriveFlag
PxD6Motion
PxDataAccessFlag
PxDebugColor
PxDebugLine
PxDebugPoint
PxDebugText
PxDebugTriangle
PxDefaultCpuDispatcher
PxDeletionEventFlag
PxDeletionListener
PxDeserializationContext
PxDistanceJointFlag
PxDominanceGroupPair
PxErrorCallbackPxDefaultErrorCallback
PxErrorCode
PxExtendedVec3
PxFileBuf
PxFilterData
PxFilterFlag
PxFilterInfo
PxFilterObjectFlag
PxFilterObjectType
PxFilterOp
PxFixedSizeLookupTable\< NB_ELEMENTS \>
PxFlags\< enumtype, storagetype \>
PxForceMode
PxFoundation
PxFrictionType
PxgDynamicsMemoryConfig
PxGeometryPxBoxGeometryPxCapsuleGeometryPxConvexMeshGeometryPxHeightFieldGeometryPxPlaneGeometryPxSphereGeometryPxTriangleMeshGeometry
PxGeometryHolder
PxGeometryQuery
PxGeometryType
PxGroupsMask
PxHeightFieldDesc
PxHeightFieldFlag
PxHeightFieldFormat
PxHeightFieldMaterial
PxHeightFieldSample
PxHeightFieldTessFlag
PxHitCallback\< HitType \>
PxHitCallback\< HitType \>PxHitBuffer\< HitType \>
PxHitCallback\< PxOverlapHit \>PxHitBuffer\< PxOverlapHit \>PxOverlapBufferN\< N \>
PxHitCallback\< PxRaycastHit \>PxHitBuffer\< PxRaycastHit \>PxRaycastBufferN\< N \>
PxHitCallback\< PxSweepHit \>PxHitBuffer\< PxSweepHit \>PxSweepBufferN\< N \>
PxHitFlag
PxHullPolygon
PxInputStreamPxInputDataPxDefaultFileInputDataPxDefaultMemoryInputData
PxJointActorIndex
PxJointConcreteType
PxJointLimitParametersPxJointAngularLimitPairPxJointLimitConePxJointLinearLimitPxJointLinearLimitPair
PxLockedDataPxParticleReadDataPxParticleFluidReadData
PxMassModificationProps
PxMassProperties
PxMat33
PxMat44
PxMaterialFlag
PxMeshCookingHint
PxMeshFlag
PxMeshGeometryFlag
PxMeshMidPhase
PxMeshOverlapUtil
PxMeshPreprocessingFlag
PxMeshQuery
PxMeshScale
PxMetaDataEntry
PxMetaDataFlag
PxMidphaseDesc
PxObstaclePxBoxObstaclePxCapsuleObstacle
PxObstacleContext
PxOutputStreamPxDefaultFileOutputStreamPxDefaultMemoryOutputStream
PxPackValidation
PxPadding\< TNumBytes \>
PxPairFilteringMode
PxPairFlag
PxParticleBaseFlag
PxParticleCreationData
PxParticleExt
PxParticleExt::PxParticleExt::IndexPool
PxParticleExt::PxParticleExt::ParticleBounds
PxParticleFlag
PxParticleReadDataFlag
PxPhysics
PxPhysicsInsertionCallback
PxPlane
PxPlatform
PxPrismaticJointFlag
PxProcessPxBaseCallback
PxPruningStructureType
PxPvdInstrumentationFlag
PxPvdSceneClient
PxPvdSceneFlag
PxPvdTransport
PxPvdUpdateType
PxQuat
PxQueryCache
PxQueryFilterCallback
PxQueryFilterData
PxQueryFlag
PxQueryHitType
PxRenderBuffer
PxRepXInstantiationArgs
PxRepXObject
PxRepXSerializer
PxRevoluteJointFlag
PxRigidActorExt
PxRigidBodyData
PxRigidBodyExt
PxRigidBodyFlag
PxRigidDynamicLockFlag
PxScene
PxSceneDesc
PxSceneFlag
PxSceneLimits
PxSceneQueryExt
PxSceneQueryUpdateMode
PxSceneReadLock
PxSceneWriteLock
PxSerialization
PxSerialization::PxSerialization::PxXmlMiscParameter
PxSerializationContext
PxSerializationRegistry
PxSerializerPxSerializerDefaultAdapter\< T \>
PxShapeExt
PxShapeFlag
PxSimpleTriangleMeshPxTriangleMeshDesc
PxSimulationEventCallback
PxSimulationFilterCallback
PxSimulationStatistics
PxSpatialIndex
PxSpatialIndexItem
PxSpatialLocationCallback
PxSpatialOverlapCallback
PxSphericalJointFlag
PxSpringPxD6JointDrive
PxStridedDataPxBoundedData
PxStrideIterator\< T \>
PxStringTable
PxStringTableExt
PxTolerancesScale
PxTransform
PxTriangle
PxTriangleMeshCookingResult
PxTriangleMeshFlag
PxTriggerPair
PxTriggerPairFlag
PxTypedStridedData\< TDataType \>
PxTypeInfo\< T \>
PxUserControllerHitReport
PxVec2
PxVec3
PxVec4
PxVehicleAckermannGeometryData
PxVehicleAntiRollBarData
PxVehicleAutoBoxData
PxVehicleChassisData
PxVehicleClutchAccuracyMode
PxVehicleClutchData
PxVehicleConcreteType
PxVehicleConcurrentUpdateData
PxVehicleCopyDynamicsMap
PxVehicleDifferential4WData
PxVehicleDifferentialNWData
PxVehicleDrivableSurfaceToTireFrictionPairs
PxVehicleDrivableSurfaceType
PxVehicleDrive4WControl
PxVehicleDrive4WRawInputDataPxVehicleDriveNWRawInputData
PxVehicleDrive4WWheelOrder
PxVehicleDriveDynData
PxVehicleDriveNWControl
PxVehicleDriveSimDataPxVehicleDriveSimData4WPxVehicleDriveSimDataNW
PxVehicleDriveTankControl
PxVehicleDriveTankControlModel
PxVehicleDriveTankRawInputData
PxVehicleDriveTankWheelOrder
PxVehicleEngineData
PxVehicleGearsData
PxVehicleKeySmoothingData
PxVehiclePadSmoothingData
PxVehicleSuspensionData
PxVehicleTireData
PxVehicleTireLoadFilterData
PxVehicleTypes
PxVehicleUpdateMode
PxVehicleWheelConcurrentUpdateData
PxVehicleWheelData
PxVehicleWheelQueryResult
PxVehicleWheelsDynData
PxVehicleWheelsSimData
PxVisualizationParameter
PxVolumeCache
PxVolumeCache::PxVolumeCache::Iterator
PxWheelQueryResult
RaycastCCDManager


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Namespace Index

Namespace List

Here is a list of all namespaces with brief descriptions:
physx
physx::pvdsdk


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: physx::pvdsdk Namespace Reference

Main Page Class Hierarchy Compound List Compound Members
physx::pvdsdk

physx::pvdsdk Namespace Reference

Copyright © 2008-2018 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. www.nvidia.com


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Typedefs
Here is a list of all namespace members with links to the namespace documentation for each member:

  • PxF32 : physx
  • PxF64 : physx
  • PxI16 : physx
  • PxI32 : physx
  • PxI64 : physx
  • PxI8 : physx
  • PxReal : physx
  • PxTaskID : physx
  • PxU16 : physx
  • PxU32 : physx
  • PxU64 : physx
  • PxU8 : physx


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: File Index

File List

Here is a list of all files with brief descriptions:
Px.h [code]
PxActor.h [code]
PxAggregate.h [code]
PxAllocatorCallback.h [code]
PxArticulation.h [code]
PxArticulationJoint.h [code]
PxArticulationLink.h [code]
PxAssert.h [code]
PxBase.h [code]
PxBatchQuery.h [code]
PxBatchQueryDesc.h [code]
PxBinaryConverter.h [code]
PxBitAndData.h [code]
PxBounds3.h [code]
PxBoxController.h [code]
PxBoxGeometry.h [code]
PxBroadPhase.h [code]
PxBroadPhaseExt.h [code]
PxBVH33MidphaseDesc.h [code]
PxBVH34MidphaseDesc.h [code]
Pxc.h [code]
PxCapsuleController.h [code]
PxCapsuleGeometry.h [code]
PxCharacter.h [code]
PxClient.h [code]
PxCloth.h [code]
PxClothCollisionData.h [code]
PxClothFabric.h [code]
PxClothFabricCooker.h [code]
PxClothMeshDesc.h [code]
PxClothMeshQuadifier.h [code]
PxClothParticleData.h [code]
PxClothTetherCooker.h [code]
PxClothTypes.h [code]
PxCollection.h [code]
PxCollectionExt.h [code]
PxConstraint.h [code]
PxConstraintDesc.h [code]
PxConstraintExt.h [code]
PxContact.h [code]
PxContactModifyCallback.h [code]
PxController.h [code]
PxControllerBehavior.h [code]
PxControllerManager.h [code]
PxControllerObstacles.h [code]
PxConvexMesh.h [code]
PxConvexMeshDesc.h [code]
PxConvexMeshExt.h [code]
PxConvexMeshGeometry.h [code]
PxCooking.h [code]
PxCoreUtilityTypes.h [code]
PxCpuDispatcher.h [code]
PxCudaContextManager.h [code]
PxCudaMemoryManager.h [code]
PxD6Joint.h [code]
PxDefaultAllocator.h [code]
PxDefaultCpuDispatcher.h [code]
PxDefaultErrorCallback.h [code]
PxDefaultSimulationFilterShader.h [code]
PxDefaultStreams.h [code]
PxDeletionListener.h [code]
PxDistanceJoint.h [code]
PxErrorCallback.h [code]
PxErrors.h [code]
PxExtended.h [code]
PxExtensionsAPI.h [code]
PxFileBuf.h [code]
PxFiltering.h [code]
PxFixedJoint.h [code]
PxFlags.h [code]
PxForceMode.h [code]
PxFoundation.h [code]
PxFoundationVersion.h [code]
PxGeometry.h [code]
PxGeometryHelpers.h [code]
PxGeometryQuery.h [code]
PxGpu.h [code]
PxGpuCopyDesc.h [code]
PxGpuCopyDescQueue.h [code]
PxGpuDispatcher.h [code]
PxGpuTask.h [code]
PxHeightField.h [code]
PxHeightFieldDesc.h [code]
PxHeightFieldFlag.h [code]
PxHeightFieldGeometry.h [code]
PxHeightFieldSample.h [code]
PxImmediateMode.h [code]
PxIntrinsics.h [code]
PxIO.h [code]
PxJoint.h [code]
PxJointLimit.h [code]
PxLockedData.h [code]
PxMassProperties.h [code]
PxMat33.h [code]
PxMat44.h [code]
PxMaterial.h [code]
PxMath.h [code]
PxMathUtils.h [code]
PxMemory.h [code]
PxMeshQuery.h [code]
PxMeshScale.h [code]
PxMetaData.h [code]
PxMetaDataFlags.h [code]
PxMidphaseDesc.h [code]
PxParticleBase.h [code]
PxParticleBaseFlag.h [code]
PxParticleCreationData.h [code]
PxParticleExt.h [code]
PxParticleFlag.h [code]
PxParticleFluid.h [code]
PxParticleFluidReadData.h [code]
PxParticleGpu.h [code]
PxParticleReadData.h [code]
PxParticleSystem.h [code]
PxPhysics.h [code]
PxPhysicsAPI.h [code]
PxPhysicsInsertionCallback.h [code]
PxPhysicsSerialization.h [code]
PxPhysicsVersion.h [code]
PxPhysXCommonConfig.h [code]
PxPhysXConfig.h [code]
PxPlane.h [code]
PxPlaneGeometry.h [code]
PxPreprocessor.h [code]
PxPrismaticJoint.h [code]
PxProfiler.h [code]
PxPruningStructure.h [code]
PxPvd.h [code]
PxPvdSceneClient.h [code]
PxPvdTransport.h [code]
PxQuat.h [code]
PxQueryFiltering.h [code]
PxQueryReport.h [code]
PxRaycastCCD.h [code]
PxRenderBuffer.h [code]
PxRepXSerializer.h [code]
PxRepXSimpleType.h [code]
PxRevoluteJoint.h [code]
PxRigidActor.h [code]
PxRigidActorExt.h [code]
PxRigidBody.h [code]
PxRigidBodyExt.h [code]
PxRigidDynamic.h [code]
PxRigidStatic.h [code]
PxScene.h [code]
PxSceneDesc.h [code]
PxSceneLock.h [code]
PxSceneQueryExt.h [code]
PxSerialFramework.h [code]
PxSerialization.h [code]
PxSerializer.h [code]
PxShape.h [code]
PxShapeExt.h [code]
PxSimpleFactory.h [code]
PxSimpleTriangleMesh.h [code]
PxSimpleTypes.h [code]
PxSimulationEventCallback.h [code]
PxSimulationStatistics.h [code]
PxSmoothNormals.h [code]
PxSpatialIndex.h [code]
PxSphereGeometry.h [code]
PxSphericalJoint.h [code]
PxStrideIterator.h [code]
PxStringTable.h [code]
PxStringTableExt.h [code]
PxTask.h [code]
PxTaskDefine.h [code]
PxTaskManager.h [code]
PxTolerancesScale.h [code]
PxTransform.h [code]
PxTriangle.h [code]
PxTriangleMesh.h [code]
PxTriangleMeshDesc.h [code]
PxTriangleMeshExt.h [code]
PxTriangleMeshGeometry.h [code]
PxTypeInfo.h [code]
PxUnionCast.h [code]
PxVec2.h [code]
PxVec3.h [code]
PxVec4.h [code]
PxVehicleComponents.h [code]
PxVehicleDrive.h [code]
PxVehicleDrive4W.h [code]
PxVehicleDriveNW.h [code]
PxVehicleDriveTank.h [code]
PxVehicleNoDrive.h [code]
PxVehicleSDK.h [code]
PxVehicleShaders.h [code]
PxVehicleTireFriction.h [code]
PxVehicleUpdate.h [code]
PxVehicleUtil.h [code]
PxVehicleUtilControl.h [code]
PxVehicleUtilSetup.h [code]
PxVehicleUtilTelemetry.h [code]
PxVehicleWheels.h [code]
PxVisualizationParameter.h [code]
PxVolumeCache.h [code]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Px.h File Reference

Px.h File Reference

#include "foundation/PxSimpleTypes.h"
#include <string.h>
#include <stdlib.h>

Include dependency graph for Px.h:

foundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxPhysXCommonConfig.hPxPhysicsAPI.hPxVehicleSDK.hPxMetaData.hPxMetaDataFlags.hPxConvexMesh.hPxCharacter.hPxc.hPxStringTableExt.hPxVehicleUtil.hPxAllocatorCallback.hPxAssert.hPxStrideIterator.hPxBitAndData.hPxErrors.hPxFoundation.hPxFlags.hPxMathUtils.hPxMemory.hPxUnionCast.hPxPhysXConfig.hPxTriangleMeshExt.hPxConvexMeshExt.hPxBroadPhaseExt.hPxSerialFramework.hPxGeometry.hPxGeometryHelpers.hPxRenderBuffer.hPxTolerancesScale.hPxCooking.hPxTypeInfo.hPxGeometryQuery.hPxHeightFieldDesc.hPxHeightFieldSample.hPxMeshQuery.hPxMeshScale.hPxSimpleTriangleMesh.hPxClothMeshDesc.hPxClothFabricCooker.hPxClothMeshQuadifier.hPxClothTetherCooker.hPxTriangle.hPxTriangleMesh.hPxDefaultStreams.hPxSimpleFactory.hPxSmoothNormals.hPxBinaryConverter.hPxDefaultAllocator.hPxDefaultCpuDispatcher.h

Go to the source code of this file.

Typedefs

typedef uint32_t | PxU32

Enumerations

enum | PxEMPTY { PxEmpty }
enum | PxZERO { PxZero }
enum | PxIDENTITY { PxIdentity }


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxActor.h File Reference

PxActor.h File Reference

#include "PxPhysXConfig.h"
#include "foundation/PxBounds3.h"
#include "PxClient.h"
#include "common/PxBase.h"

Include dependency graph for PxActor.h:

PxPhysXConfig.hfoundation/PxBounds3.hPxClient.hcommon/PxBase.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxTransform.hfoundation/PxMat33.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/PxFlags.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.h

This graph shows which files directly or indirectly include this file:

PxRigidActor.hPxPhysicsAPI.hPxCloth.hPxParticleBase.hPxRigidBody.hPxRigidStatic.hPxJoint.hPxShapeExt.hPxRigidActorExt.hPxArticulationLink.hPxRigidDynamic.hPxRigidBodyExt.hPxVehicleWheels.hPxVehicleDrive.hPxVehicleDrive4W.hPxVehicleDriveTank.hPxVehicleDriveNW.hPxVehicleNoDrive.hPxVehicleUtilControl.hPxExtensionsAPI.hPxDistanceJoint.hPxFixedJoint.hPxJointLimit.hPxPrismaticJoint.hPxRevoluteJoint.hPxSphericalJoint.hPxD6Joint.hPxParticleSystem.hPxParticleFluid.hPxScene.hPxSceneLock.hPxVolumeCache.hPxSceneQueryExt.h

Go to the source code of this file.

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

Typedefs

typedef PxU8 | PxDominanceGroup
typedef PxFlags
< PxActorFlag::Enum, PxU8 > 		PxActorFlags
collection of set bits defined in PxActorFlag.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxAggregate.h File Reference

PxAggregate.h File Reference

#include "PxPhysXConfig.h"
#include "common/PxBase.h"

Include dependency graph for PxAggregate.h:

PxPhysXConfig.hcommon/PxBase.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hfoundation/PxFlags.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Classes

class PxAggregate
Class to aggregate actors into a single broad-phase entry. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxAllocatorCallback.h File Reference

PxAllocatorCallback.h File Reference

#include "foundation/Px.h"

Include dependency graph for PxAllocatorCallback.h:

foundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxDefaultAllocator.hPxExtensionsAPI.h

Go to the source code of this file.

Classes

class PxAllocatorCallback
Abstract base class for an application defined memory allocator that can be used by the Nv library. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxArticulation.h File Reference

PxArticulation.h File Reference

#include "PxPhysXConfig.h"
#include "common/PxBase.h"

Include dependency graph for PxArticulation.h:

PxPhysXConfig.hcommon/PxBase.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hfoundation/PxFlags.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Classes

class | PxArticulationDriveCache
Articulation drive cache. More...
class | PxArticulation
a tree structure of bodies connected by joints that is treated as a unit by the dynamics solver More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxArticulationJoint.h File Reference

PxArticulationJoint.h File Reference

#include "PxPhysXConfig.h"
#include "common/PxBase.h"

Include dependency graph for PxArticulationJoint.h:

PxPhysXConfig.hcommon/PxBase.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hfoundation/PxFlags.h

This graph shows which files directly or indirectly include this file:

PxArticulationLink.hPxPhysicsAPI.h

Go to the source code of this file.

Classes

struct | PxArticulationJointDriveType
The type of joint drive to use for the articulation joint. More...
class | PxArticulationJoint
a joint between two links in an articulation. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxArticulationLink.h File Reference

PxArticulationLink.h File Reference

#include "PxPhysXConfig.h"
#include "PxArticulationJoint.h"
#include "PxRigidBody.h"

Include dependency graph for PxArticulationLink.h:

PxPhysXConfig.hPxArticulationJoint.hPxRigidBody.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hcommon/PxBase.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hfoundation/PxFlags.hPxRigidActor.hPxForceMode.hPxActor.hPxShape.hfoundation/PxBounds3.hPxClient.hfoundation/PxTransform.hfoundation/PxMat33.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.hgeometry/PxGeometry.hgeometry/PxGeometryHelpers.hPxBoxGeometry.hPxSphereGeometry.hPxCapsuleGeometry.hPxPlaneGeometry.hPxConvexMeshGeometry.hPxTriangleMeshGeometry.hPxHeightFieldGeometry.hfoundation/PxUnionCast.hgeometry/PxMeshScale.hcommon/PxCoreUtilityTypes.hgeometry/PxConvexMesh.hfoundation/PxMemory.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Classes

class PxArticulationLink
a component of an articulation that represents a rigid body More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxAssert.h File Reference

PxAssert.h File Reference

#include "foundation/Px.h"

Include dependency graph for PxAssert.h:

foundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxBatchQueryDesc.hPxPhysicsAPI.hPxContact.hPxCoreUtilityTypes.hPxSerializer.hPxMeshScale.hPxSimulationStatistics.hPxExtended.hPxDefaultAllocator.hPxMath.hPxVec4.hPxStrideIterator.hPxTask.hPxBatchQuery.hPxVehicleUpdate.hPxContactModifyCallback.hPxSimulationEventCallback.hPxConvexMeshGeometry.hPxTriangleMeshGeometry.hPxHeightFieldGeometry.hPxHeightFieldDesc.hPxSimpleTriangleMesh.hPxConvexMeshDesc.hPxVehicleComponents.hPxGeometryHelpers.hPxMassProperties.hPxExtensionsAPI.hPxTriangleMeshDesc.hPxClothMeshDesc.hPxCooking.hPxVehicleDrive.hPxVehicleDrive4W.hPxVehicleDriveTank.hPxVehicleWheels.hPxScene.hPxController.hPxControllerObstacles.hPxGeometry.hPxJointLimit.hPxPlane.hPxVec2.hPxVec3.hPxParticleCreationData.hPxMat44.hPxParticleExt.hPxParticleReadData.hPxSceneDesc.hPxGpuDispatcher.hPxGpuTask.h

Go to the source code of this file.

Classes

class | PxAssertHandler

Defines

#define | PX_ASSERT(exp) ((void)0)
#define | PX_ALWAYS_ASSERT_MESSAGE(exp) ((void)0)
#define | PX_ASSERT_WITH_MESSAGE(condition, message) ((void)0)
#define | PX_ALWAYS_ASSERT() PX_ASSERT(0)

Functions

PX_FOUNDATION_API PxAssertHandler & | PxGetAssertHandler ()
PX_FOUNDATION_API void | PxSetAssertHandler (PxAssertHandler &handler)


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBase.h File Reference

PxBase.h File Reference

#include "PxSerialFramework.h"
#include "PxCollection.h"
#include "common/PxTypeInfo.h"
#include "foundation/PxFlags.h"
#include <string.h>

Include dependency graph for PxBase.h:

PxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hfoundation/PxFlags.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxActor.hPxPhysicsAPI.hPxJoint.hPxAggregate.hPxArticulation.hPxArticulationJoint.hPxShape.hPxConstraintDesc.hPxConstraint.hPxDeletionListener.hPxMaterial.hPxClothFabric.hPxPhysicsInsertionCallback.hPxConvexMesh.hPxSerialization.hPxHeightField.hPxTriangleMesh.hPxPruningStructure.hPxRepXSerializer.hPxVehicleWheels.hPxRigidActor.hPxCloth.hPxParticleBase.hPxRigidBody.hPxRigidStatic.hPxShapeExt.hPxArticulationLink.hPxDistanceJoint.hPxFixedJoint.hPxJointLimit.hPxPrismaticJoint.hPxRevoluteJoint.hPxSphericalJoint.hPxD6Joint.hPxExtensionsAPI.hPxBatchQuery.hPxContactModifyCallback.hPxPhysics.hPxClothFabricCooker.hPxConvexMeshGeometry.hPxMassProperties.hPxConvexMeshDesc.hPxCooking.hPxMidphaseDesc.hPxVehicleDrive.hPxVehicleDrive4W.hPxVehicleDriveTank.hPxVehicleDriveNW.hPxVehicleNoDrive.h

Go to the source code of this file.

Classes

struct | PxBaseFlag
Flags for PxBase. More...
class | PxBase
Base class for objects that can be members of a PxCollection. More...

Typedefs

typedef PxU16 | PxType
typedef PxFlags
< PxBaseFlag::Enum, PxU16 > 		PxBaseFlags


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBatchQuery.h File Reference

PxBatchQuery.h File Reference

#include "PxPhysXConfig.h"
#include "PxShape.h"
#include "PxBatchQueryDesc.h"
#include "PxQueryFiltering.h"

Include dependency graph for PxBatchQuery.h:

PxPhysXConfig.hPxShape.hPxBatchQueryDesc.hPxQueryFiltering.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hcommon/PxBase.hgeometry/PxGeometry.hgeometry/PxGeometryHelpers.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hfoundation/PxFlags.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.hPxBoxGeometry.hPxSphereGeometry.hPxCapsuleGeometry.hPxPlaneGeometry.hfoundation/PxPlane.hfoundation/PxTransform.hPxConvexMeshGeometry.hPxTriangleMeshGeometry.hPxHeightFieldGeometry.hfoundation/PxUnionCast.hfoundation/PxVec3.hfoundation/PxQuat.hgeometry/PxMeshScale.hcommon/PxCoreUtilityTypes.hgeometry/PxConvexMesh.hfoundation/PxMat33.hfoundation/PxMemory.hPxClient.hPxFiltering.hPxQueryReport.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Classes

class PxBatchQuery
Batched queries object. This is used to perform several queries at the same time. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBatchQueryDesc.h File Reference

PxBatchQueryDesc.h File Reference

#include "PxPhysXConfig.h"
#include "PxClient.h"
#include "PxFiltering.h"
#include "PxQueryFiltering.h"
#include "foundation/PxAssert.h"

Include dependency graph for PxBatchQueryDesc.h:

PxPhysXConfig.hPxClient.hPxFiltering.hPxQueryFiltering.hfoundation/PxAssert.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxFlags.hPxQueryReport.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxIntrinsics.h

This graph shows which files directly or indirectly include this file:

PxBatchQuery.hPxPhysicsAPI.hPxVehicleUpdate.h

Go to the source code of this file.

Classes

struct | PxBatchQueryStatus
Batched query status. More...
struct | PxBatchQueryResult< HitType >
Generic struct for receiving results of single query in a batch. Gets templated on hit type PxRaycastHit, PxSweepHit or PxOverlapHit. More...
struct | PxBatchQueryMemory
Struct for PxBatchQuery memory pointers. More...
class | PxBatchQueryDesc
Descriptor class for PxBatchQuery. More...

Typedefs

typedef PX_DEPRECATED
PxBatchQueryResult
< PxRaycastHit > 		PxRaycastQueryResult
Convenience typedef for the result of a batched raycast query.
typedef PX_DEPRECATED
PxBatchQueryResult< PxSweepHit > 		PxSweepQueryResult
Convenience typedef for the result of a batched sweep query.
typedef PX_DEPRECATED
PxBatchQueryResult
< PxOverlapHit > 		PxOverlapQueryResult
Convenience typedef for the result of a batched overlap query.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBinaryConverter.h File Reference

PxBinaryConverter.h File Reference

#include "common/PxPhysXCommonConfig.h"

Include dependency graph for PxBinaryConverter.h:

common/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Classes

struct | PxConverterReportMode
class | PxBinaryConverter
Binary converter for serialized streams. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBitAndData.h File Reference

PxBitAndData.h File Reference

#include "foundation/Px.h"

Include dependency graph for PxBitAndData.h:

foundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxHeightFieldSample.hPxHeightField.h

Go to the source code of this file.

Classes

class PxBitAndDataT< storageType, bitMask >

Typedefs

typedef PxBitAndDataT
< unsigned char, 0x80 > 		PxBitAndByte
typedef PxBitAndDataT
< unsigned short, 0x8000 > 		PxBitAndWord
typedef PxBitAndDataT
< unsigned int, 0x80000000 > 		PxBitAndDword


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBounds3.h File Reference

PxBounds3.h File Reference

#include "foundation/PxTransform.h"
#include "foundation/PxMat33.h"

Include dependency graph for PxBounds3.h:

foundation/PxTransform.hfoundation/PxMat33.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/Px.hfoundation/PxSimpleTypes.h

This graph shows which files directly or indirectly include this file:

PxActor.hPxPhysicsAPI.hPxParticleBase.hPxBroadPhase.hPxSceneDesc.hPxRenderBuffer.hPxHeightFieldDesc.hPxTriangleMesh.hPxParticleExt.hPxRigidActor.hPxCloth.hPxRigidBody.hPxRigidStatic.hPxJoint.hPxShapeExt.hPxRigidActorExt.hPxArticulationLink.hPxRigidDynamic.hPxRigidBodyExt.hPxVehicleWheels.hPxVehicleDrive.hPxVehicleDrive4W.hPxVehicleDriveTank.hPxVehicleDriveNW.hPxVehicleNoDrive.hPxVehicleUtilControl.hPxExtensionsAPI.hPxDistanceJoint.hPxFixedJoint.hPxJointLimit.hPxPrismaticJoint.hPxRevoluteJoint.hPxSphericalJoint.hPxD6Joint.hPxParticleSystem.hPxParticleFluid.hPxScene.hPxSceneLock.hPxVolumeCache.hPxSceneQueryExt.hPxControllerManager.hPxCooking.hPxMidphaseDesc.hPxSerialization.hPxRepXSimpleType.hPxRepXSerializer.h

Go to the source code of this file.

Classes

class | PxBounds3
Class representing 3D range or axis aligned bounding box. More...

Defines

#define | PX_MAX_BOUNDS_EXTENTS (PX_MAX_REAL * 0.25f)


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBoxController.h File Reference

PxBoxController.h File Reference

#include "characterkinematic/PxCharacter.h"
#include "characterkinematic/PxController.h"

Include dependency graph for PxBoxController.h:

characterkinematic/PxCharacter.hcharacterkinematic/PxController.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hcharacterkinematic/PxExtended.hcharacterkinematic/PxControllerObstacles.hPxQueryFiltering.hfoundation/PxErrorCallback.hPxPhysXConfig.hfoundation/PxTransform.hfoundation/PxAssert.hcommon/PxPhysXCommonConfig.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxIntrinsics.hgeometry/PxGeometry.hfoundation/PxFlags.hPxFiltering.hPxQueryReport.hPxClient.hfoundation/PxErrors.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Classes

class | PxBoxControllerDesc
Descriptor for a box character controller. More...
class | PxBoxController
Box character controller. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBoxGeometry.h File Reference

PxBoxGeometry.h File Reference

#include "geometry/PxGeometry.h"
#include "foundation/PxVec3.h"

Include dependency graph for PxBoxGeometry.h:

geometry/PxGeometry.hfoundation/PxVec3.hcommon/PxPhysXCommonConfig.hfoundation/PxFlags.hfoundation/PxMath.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/PxAssert.h

This graph shows which files directly or indirectly include this file:

PxGeometryHelpers.hPxPhysicsAPI.hPxMassProperties.hPxShape.hPxVolumeCache.hPxRigidActor.hPxShapeExt.hPxBatchQuery.hPxContactModifyCallback.hPxPhysics.hPxRigidBody.hPxRigidStatic.hPxJoint.hPxRigidActorExt.hPxArticulationLink.hPxRigidDynamic.hPxRigidBodyExt.hPxVehicleWheels.hPxVehicleDrive.hPxVehicleDrive4W.hPxVehicleDriveTank.hPxVehicleDriveNW.hPxVehicleNoDrive.hPxVehicleUtilControl.hPxExtensionsAPI.hPxDistanceJoint.hPxFixedJoint.hPxJointLimit.hPxPrismaticJoint.hPxRevoluteJoint.hPxSphericalJoint.hPxD6Joint.h

Go to the source code of this file.

Classes

class PxBoxGeometry
Class representing the geometry of a box. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBroadPhase.h File Reference

PxBroadPhase.h File Reference

#include "PxPhysXConfig.h"
#include "foundation/PxBounds3.h"

Include dependency graph for PxBroadPhase.h:

PxPhysXConfig.hfoundation/PxBounds3.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxTransform.hfoundation/PxMat33.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.h

This graph shows which files directly or indirectly include this file:

PxSceneDesc.hPxScene.hPxPhysicsAPI.hPxSceneLock.hPxVolumeCache.hPxSceneQueryExt.hPxExtensionsAPI.h

Go to the source code of this file.

Classes

struct | PxBroadPhaseType
Broad phase algorithm used in the simulation. More...
class | PxBroadPhaseCallback
Broad-phase callback to receive broad-phase related events. More...
struct | PxBroadPhaseRegion
"Region of interest" for the broad-phase. More...
struct | PxBroadPhaseRegionInfo
Information & stats structure for a region. More...
struct | PxBroadPhaseCaps
Caps class for broad phase. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBroadPhaseExt.h File Reference

PxBroadPhaseExt.h File Reference

#include "PxPhysXConfig.h"
#include "common/PxPhysXCommonConfig.h"

Include dependency graph for PxBroadPhaseExt.h:

PxPhysXConfig.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxExtensionsAPI.hPxPhysicsAPI.h

Go to the source code of this file.

Classes

class PxBroadPhaseExt


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBVH33MidphaseDesc.h File Reference

PxBVH33MidphaseDesc.h File Reference

#include "foundation/PxPreprocessor.h"
#include "foundation/PxSimpleTypes.h"

Include dependency graph for PxBVH33MidphaseDesc.h:

foundation/PxPreprocessor.hfoundation/PxSimpleTypes.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxMidphaseDesc.hPxCooking.hPxSerialization.hPxRepXSimpleType.hPxExtensionsAPI.hPxRepXSerializer.h

Go to the source code of this file.

Classes

struct | PxMeshCookingHint
Enumeration for mesh cooking hints. More...
struct | PxBVH33MidphaseDesc
Structure describing parameters affecting BVH33 midphase mesh structure. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBVH34MidphaseDesc.h File Reference

PxBVH34MidphaseDesc.h File Reference

#include "foundation/PxPreprocessor.h"
#include "foundation/PxSimpleTypes.h"

Include dependency graph for PxBVH34MidphaseDesc.h:

foundation/PxPreprocessor.hfoundation/PxSimpleTypes.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxMidphaseDesc.hPxCooking.hPxSerialization.hPxRepXSimpleType.hPxExtensionsAPI.hPxRepXSerializer.h

Go to the source code of this file.

Classes

struct PxBVH34MidphaseDesc
Structure describing parameters affecting BVH34 midphase mesh structure. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Pxc.h File Reference

Pxc.h File Reference

#include "foundation/Px.h"

Include dependency graph for Pxc.h:

foundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxCooking.hPxSerialization.hPxRepXSimpleType.hPxExtensionsAPI.hPxRepXSerializer.h

Go to the source code of this file.

Defines

#define | PX_PHYSX_COOKING_API
#define | PX_C_EXPORT extern "C"

Define Documentation

#define PX_C_EXPORT extern "C"

#define PX_PHYSX_COOKING_API


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCapsuleController.h File Reference

PxCapsuleController.h File Reference

#include "characterkinematic/PxCharacter.h"
#include "characterkinematic/PxController.h"

Include dependency graph for PxCapsuleController.h:

characterkinematic/PxCharacter.hcharacterkinematic/PxController.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hcharacterkinematic/PxExtended.hcharacterkinematic/PxControllerObstacles.hPxQueryFiltering.hfoundation/PxErrorCallback.hPxPhysXConfig.hfoundation/PxTransform.hfoundation/PxAssert.hcommon/PxPhysXCommonConfig.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxIntrinsics.hgeometry/PxGeometry.hfoundation/PxFlags.hPxFiltering.hPxQueryReport.hPxClient.hfoundation/PxErrors.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Classes

struct | PxCapsuleClimbingMode
class | PxCapsuleControllerDesc
A descriptor for a capsule character controller. More...
class | PxCapsuleController
A capsule character controller. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCapsuleGeometry.h File Reference

PxCapsuleGeometry.h File Reference

#include "geometry/PxGeometry.h"

Include dependency graph for PxCapsuleGeometry.h:

geometry/PxGeometry.hcommon/PxPhysXCommonConfig.hfoundation/PxFlags.hfoundation/PxMath.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/PxAssert.h

This graph shows which files directly or indirectly include this file:

PxGeometryHelpers.hPxPhysicsAPI.hPxMassProperties.hPxShape.hPxVolumeCache.hPxRigidActor.hPxShapeExt.hPxBatchQuery.hPxContactModifyCallback.hPxPhysics.hPxRigidBody.hPxRigidStatic.hPxJoint.hPxRigidActorExt.hPxArticulationLink.hPxRigidDynamic.hPxRigidBodyExt.hPxVehicleWheels.hPxVehicleDrive.hPxVehicleDrive4W.hPxVehicleDriveTank.hPxVehicleDriveNW.hPxVehicleNoDrive.hPxVehicleUtilControl.hPxExtensionsAPI.hPxDistanceJoint.hPxFixedJoint.hPxJointLimit.hPxPrismaticJoint.hPxRevoluteJoint.hPxSphericalJoint.hPxD6Joint.h

Go to the source code of this file.

Classes

class | PxCapsuleGeometry
Class representing the geometry of a capsule. More...

Functions

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


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCharacter.h File Reference

PxCharacter.h File Reference

#include "foundation/Px.h"

Include dependency graph for PxCharacter.h:

foundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxBoxController.hPxPhysicsAPI.hPxCapsuleController.hPxController.hPxControllerBehavior.hPxControllerManager.hPxControllerObstacles.h

Go to the source code of this file.

Defines

#define PX_PHYSX_CHARACTER_API


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClient.h File Reference

PxClient.h File Reference

#include "foundation/PxFlags.h"

Include dependency graph for PxClient.h:

foundation/PxFlags.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxActor.hPxPhysicsAPI.hPxScene.hPxBatchQueryDesc.hPxQueryFiltering.hPxRigidActor.hPxCloth.hPxParticleBase.hPxRigidBody.hPxRigidStatic.hPxJoint.hPxShapeExt.hPxRigidActorExt.hPxArticulationLink.hPxRigidDynamic.hPxRigidBodyExt.hPxVehicleWheels.hPxVehicleDrive.hPxVehicleDrive4W.hPxVehicleDriveTank.hPxVehicleDriveNW.hPxVehicleNoDrive.hPxVehicleUtilControl.hPxExtensionsAPI.hPxDistanceJoint.hPxFixedJoint.hPxJointLimit.hPxPrismaticJoint.hPxRevoluteJoint.hPxSphericalJoint.hPxD6Joint.hPxParticleSystem.hPxParticleFluid.hPxSceneLock.hPxVolumeCache.hPxSceneQueryExt.hPxBatchQuery.hPxVehicleUpdate.hPxController.hPxBoxController.hPxCapsuleController.h

Go to the source code of this file.

Classes

struct | PxClientBehaviorFlag
Behavior bit flags for simulation clients. More...
struct | PxActorClientBehaviorFlag
Multiclient behavior bit flags for actors. More...

Typedefs

typedef PxU8 | PxClientID
An ID to identify different clients for multiclient support.
typedef PX_DEPRECATED PxFlags
< PxClientBehaviorFlag::Enum,
PxU8 > 		PxClientBehaviorFlags
Bitfield that contains a set of raised flags defined in PxClientBehaviorFlag.
typedef PX_DEPRECATED PxFlags
< PxActorClientBehaviorFlag::Enum,
PxU8 > 		PxActorClientBehaviorFlags
Bitfield that contains a set of raised flags defined in PxActorClientBehaviorFlag.

Variables

static const PxClientID | PX_DEFAULT_CLIENT = 0
The predefined default PxClientID value.
static const PxClientID | PX_MAX_CLIENTS = 128
The maximum number of clients we support.

Typedef Documentation

typedef PX_DEPRECATED PxFlags<PxActorClientBehaviorFlag::Enum, PxU8> PxActorClientBehaviorFlags

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

Deprecated:
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4
See also:
PxActorClientBehaviorFlag PxActor::setClientBehaviorFlags()

typedef PX_DEPRECATED PxFlags<PxClientBehaviorFlag::Enum, PxU8> PxClientBehaviorFlags

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

Deprecated:
PxActorClientBehaviorFlag feature has been deprecated in PhysX version 3.4
See also:
PxClientBehaviorFlag PxScene::setClientBehaviorFlags()

typedef PxU8 PxClientID

An ID to identify different clients for multiclient support.

See also:
PxScene::createClient()

Variable Documentation

const PxClientID PX_DEFAULT_CLIENT = 0 [static]

The predefined default PxClientID value.

See also:
PxClientID PxScene::createClient()

const PxClientID PX_MAX_CLIENTS = 128 [static]

The maximum number of clients we support.

See also:


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCloth.h File Reference

PxCloth.h File Reference

#include "PxPhysXConfig.h"
#include "PxActor.h"
#include "PxLockedData.h"
#include "PxFiltering.h"
#include "cloth/PxClothFabric.h"
#include "cloth/PxClothTypes.h"
#include "cloth/PxClothCollisionData.h"

Include dependency graph for PxCloth.h:

PxPhysXConfig.hPxActor.hPxLockedData.hPxFiltering.hcloth/PxClothFabric.hcloth/PxClothTypes.hcloth/PxClothCollisionData.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxBounds3.hPxClient.hcommon/PxBase.hfoundation/PxTransform.hfoundation/PxMat33.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/PxFlags.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Classes

struct | PxClothStretchConfig
Solver configuration parameters for the vertical and horizontal stretch phase types. More...
struct | PxClothTetherConfig
Solver configuration parameters for the tether phases. More...
struct | PxClothMotionConstraintConfig
Solver configuration parameters for the tether phases. More...
class | PxCloth
Set of connected particles tailored towards simulating character cloth. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothCollisionData.h File Reference

PxClothCollisionData.h File Reference

#include "PxPhysXConfig.h"
#include "foundation/PxVec3.h"

Include dependency graph for PxClothCollisionData.h:

PxPhysXConfig.hfoundation/PxVec3.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.h

This graph shows which files directly or indirectly include this file:

PxCloth.hPxPhysicsAPI.h

Go to the source code of this file.

Classes

struct | PxClothCollisionSphere
Sphere representation used for cloth-sphere and cloth-capsule collision. More...
struct | PxClothCollisionPlane
Plane representation used for cloth-convex collision. More...
struct | PxClothCollisionTriangle
Triangle representation used for cloth-mesh collision. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothFabric.h File Reference

PxClothFabric.h File Reference

#include "common/PxBase.h"

Include dependency graph for PxClothFabric.h:

common/PxBase.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hfoundation/PxFlags.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxPhysics.hPxPhysicsAPI.hPxCloth.hPxClothFabricCooker.hPxRigidActorExt.hPxExtensionsAPI.h

Go to the source code of this file.

Classes

struct | PxClothFabricPhaseType
Describe type of phase in cloth fabric. More...
struct | PxClothFabricPhase
References a set of constraints that can be solved in parallel. More...
class | PxClothFabricDesc
References all the data required to create a fabric. More...
class | PxClothFabric
A cloth fabric is a structure that contains all the internal solver constraints of a cloth mesh. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothFabricCooker.h File Reference

PxClothFabricCooker.h File Reference

#include "common/PxPhysXCommonConfig.h"
#include "PxClothMeshDesc.h"
#include "cloth/PxClothFabric.h"

Include dependency graph for PxClothFabricCooker.h:

common/PxPhysXCommonConfig.hPxClothMeshDesc.hcloth/PxClothFabric.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hgeometry/PxSimpleTriangleMesh.hfoundation/PxVec3.hfoundation/PxFlags.hcommon/PxCoreUtilityTypes.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/PxMemory.hcommon/PxBase.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.h

This graph shows which files directly or indirectly include this file:

PxExtensionsAPI.hPxPhysicsAPI.h

Go to the source code of this file.

Classes

class | PxClothFabricCooker

Functions

PxClothFabric * | PxClothFabricCreate (PxPhysics &physics, const PxClothMeshDesc &desc, const PxVec3 &gravity, bool useGeodesicTether=true)
Cooks a triangle mesh to a PxClothFabric.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothMeshDesc.h File Reference

PxClothMeshDesc.h File Reference

#include "common/PxPhysXCommonConfig.h"
#include "geometry/PxSimpleTriangleMesh.h"

Include dependency graph for PxClothMeshDesc.h:

common/PxPhysXCommonConfig.hgeometry/PxSimpleTriangleMesh.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxVec3.hfoundation/PxFlags.hcommon/PxCoreUtilityTypes.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/PxMemory.h

This graph shows which files directly or indirectly include this file:

PxClothFabricCooker.hPxClothMeshQuadifier.hPxClothTetherCooker.hPxExtensionsAPI.hPxPhysicsAPI.h

Go to the source code of this file.

Classes

class PxClothMeshDesc
Descriptor class for a cloth mesh. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothMeshQuadifier.h File Reference

PxClothMeshQuadifier.h File Reference

#include "common/PxPhysXCommonConfig.h"
#include "PxClothMeshDesc.h"

Include dependency graph for PxClothMeshQuadifier.h:

common/PxPhysXCommonConfig.hPxClothMeshDesc.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hgeometry/PxSimpleTriangleMesh.hfoundation/PxVec3.hfoundation/PxFlags.hcommon/PxCoreUtilityTypes.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/PxMemory.h

This graph shows which files directly or indirectly include this file:

PxExtensionsAPI.hPxPhysicsAPI.h

Go to the source code of this file.

Classes

class PxClothMeshQuadifier


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothParticleData.h File Reference

PxClothParticleData.h File Reference

#include "PxPhysXConfig.h"
#include "PxLockedData.h"

Include dependency graph for PxClothParticleData.h:

PxPhysXConfig.hPxLockedData.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxFlags.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothTetherCooker.h File Reference

PxClothTetherCooker.h File Reference

#include "common/PxPhysXCommonConfig.h"
#include "PxClothMeshDesc.h"

Include dependency graph for PxClothTetherCooker.h:

common/PxPhysXCommonConfig.hPxClothMeshDesc.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hgeometry/PxSimpleTriangleMesh.hfoundation/PxVec3.hfoundation/PxFlags.hcommon/PxCoreUtilityTypes.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/PxMemory.h

Go to the source code of this file.

Classes

class | PxClothSimpleTetherCooker
class | PxClothGeodesicTetherCooker


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothTypes.h File Reference

PxClothTypes.h File Reference

#include "PxPhysXConfig.h"
#include "foundation/PxFlags.h"
#include "foundation/PxVec3.h"

Include dependency graph for PxClothTypes.h:

PxPhysXConfig.hfoundation/PxFlags.hfoundation/PxVec3.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.h

This graph shows which files directly or indirectly include this file:

PxPhysics.hPxPhysicsAPI.hPxCloth.hPxRigidActorExt.hPxExtensionsAPI.h

Go to the source code of this file.

Classes

struct | PxClothFlag
flag for behaviors of the cloth solver More...
struct | PxClothParticle
Per particle data for cloth. More...
struct | PxClothParticleMotionConstraint
Constraints for cloth particle motion. More...
struct | PxClothParticleSeparationConstraint
Separation constraints for cloth particle movement. More...

Typedefs

typedef PxFlags
< PxClothFlag::Enum, PxU16 > 		PxClothFlags


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCollection.h File Reference

PxCollection.h File Reference

#include "PxSerialFramework.h"

Include dependency graph for PxCollection.h:

PxSerialFramework.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxBase.hPxSerializer.hPxCollectionExt.hPxActor.hPxPhysicsAPI.hPxJoint.hPxAggregate.hPxArticulation.hPxArticulationJoint.hPxShape.hPxConstraintDesc.hPxConstraint.hPxDeletionListener.hPxMaterial.hPxClothFabric.hPxPhysicsInsertionCallback.hPxConvexMesh.hPxSerialization.hPxHeightField.hPxTriangleMesh.hPxPruningStructure.hPxRepXSerializer.hPxVehicleWheels.hPxRigidActor.hPxCloth.hPxParticleBase.hPxShapeExt.hPxDistanceJoint.hPxFixedJoint.hPxJointLimit.hPxPrismaticJoint.hPxRevoluteJoint.hPxSphericalJoint.hPxD6Joint.hPxExtensionsAPI.hPxArticulationLink.hPxBatchQuery.hPxContactModifyCallback.hPxPhysics.hPxClothFabricCooker.hPxConvexMeshGeometry.hPxMassProperties.hPxConvexMeshDesc.hPxCooking.hPxMidphaseDesc.hPxVehicleDrive.hPxVehicleDrive4W.hPxVehicleDriveTank.hPxVehicleNoDrive.h

Go to the source code of this file.

Classes

class PxCollection
Collection class for serialization. More...

Functions

PX_PHYSX_COMMON_API
physx::PxCollection
*PX_CALL_CONV 		PxCreateCollection ()
Creates a collection object.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCollectionExt.h File Reference

PxCollectionExt.h File Reference

#include "PxPhysXConfig.h"
#include "common/PxCollection.h"

Include dependency graph for PxCollectionExt.h:

PxPhysXConfig.hcommon/PxCollection.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hPxSerialFramework.h

Go to the source code of this file.

Classes

class PxCollectionExt


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxConstraint.h File Reference

PxConstraint.h File Reference

#include "PxPhysXConfig.h"
#include "PxConstraintDesc.h"
#include "common/PxBase.h"

Include dependency graph for PxConstraint.h:

PxPhysXConfig.hPxConstraintDesc.hcommon/PxBase.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxFlags.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxJoint.hPxDistanceJoint.hPxFixedJoint.hPxJointLimit.hPxPrismaticJoint.hPxRevoluteJoint.hPxSphericalJoint.hPxD6Joint.hPxExtensionsAPI.h

Go to the source code of this file.

Classes

struct | PxConstraintFlag
a table of function pointers for a constraint More...
struct | PxConstraintShaderTable
class | PxConstraint
A plugin class for implementing constraints. More...

Typedefs

typedef PxFlags
< PxConstraintFlag::Enum,
PxU16 > 		PxConstraintFlags
constraint flags


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxConstraintDesc.h File Reference

PxConstraintDesc.h File Reference

#include "PxPhysXConfig.h"
#include "foundation/PxFlags.h"
#include "foundation/PxVec3.h"
#include "common/PxBase.h"

Include dependency graph for PxConstraintDesc.h:

PxPhysXConfig.hfoundation/PxFlags.hfoundation/PxVec3.hcommon/PxBase.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.h

This graph shows which files directly or indirectly include this file:

PxConstraint.hPxPhysicsAPI.hPxJoint.hPxDistanceJoint.hPxFixedJoint.hPxJointLimit.hPxPrismaticJoint.hPxRevoluteJoint.hPxSphericalJoint.hPxD6Joint.hPxExtensionsAPI.h

Go to the source code of this file.

Classes

struct | Px1DConstraintFlag
constraint row flags More...
struct | PxConstraintSolveHint
constraint type hints which the solver uses to optimize constraint handling More...
struct | Px1DConstraint
A constraint. More...
struct | PxConstraintVisualizationFlag
Flags for determining which components of the constraint should be visualized. More...
struct | PxConstraintInvMassScale
class | PxConstraintVisualizer
struct | PxPvdUpdateType
class | PxConstraintConnector
This class connects a custom constraint to the SDK. More...

Typedefs

typedef PxFlags
< Px1DConstraintFlag::Type,
PxU16 > 		Px1DConstraintFlags
typedef PxU32(* | PxConstraintSolverPrep )(Px1DConstraint *constraints, PxVec3 &bodyAWorldOffset, PxU32 maxConstraints, PxConstraintInvMassScale &invMassScale, 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)

Variables

struct Px1DConstraint | PX_ALIGN_SUFFIX
A constraint.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxConstraintExt.h File Reference

PxConstraintExt.h File Reference

#include "foundation/PxPreprocessor.h"

Include dependency graph for PxConstraintExt.h:

foundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxExtensionsAPI.hPxPhysicsAPI.h

Go to the source code of this file.

Classes

struct PxConstraintExtIDs
Unique identifiers for extensions classes which implement a constraint based on PxConstraint. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxContact.h File Reference

PxContact.h File Reference

#include "foundation/PxVec3.h"
#include "foundation/PxAssert.h"

Include dependency graph for PxContact.h:

foundation/PxVec3.hfoundation/PxAssert.hfoundation/PxMath.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/Px.hfoundation/PxSimpleTypes.h

This graph shows which files directly or indirectly include this file:

PxContactModifyCallback.hPxPhysicsAPI.hPxSimulationEventCallback.h

Go to the source code of this file.

Classes

struct | PxMassModificationProps
struct | PxContactPatch
Header for contact patch where all points share same material and normal. More...
struct | PxContact
Contact point data including face (feature) indices. More...
struct | PxExtendedContact
struct | PxModifiableContact
A modifiable contact point. This has additional fields per-contact to permit modification by user. More...
struct | PxContactStreamIterator
A class to iterate over a compressed contact stream. This supports read-only access to the various contact formats. More...

Defines

#define | PXC_CONTACT_NO_FACE_INDEX 0xffffffff

Variables

struct PxMassModificationProps | PX_ALIGN_SUFFIX
Header for contact patch where all points share same material and normal.

Define Documentation

#define PXC_CONTACT_NO_FACE_INDEX 0xffffffff

Referenced by PxContactStreamIterator::getFaceIndex0(), PxContactStreamIterator::getFaceIndex1(), PxContactSet::getInternalFaceIndex0(), and PxContactSet::getInternalFaceIndex1().

Variable Documentation

PxModifiableContact PX_ALIGN_SUFFIX

Header for contact patch where all points share same material and normal.

A modifiable contact point. This has additional fields per-contact to permit modification by user.

Contact point data including face (feature) indices.

Note:
Not all fields are currently exposed to the user.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxContactModifyCallback.h File Reference

PxContactModifyCallback.h File Reference

#include "PxPhysXConfig.h"
#include "PxShape.h"
#include "PxContact.h"
#include "foundation/PxTransform.h"

Include dependency graph for PxContactModifyCallback.h:

PxPhysXConfig.hPxShape.hfoundation/PxTransform.hPxContact.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hcommon/PxBase.hgeometry/PxGeometry.hgeometry/PxGeometryHelpers.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hfoundation/PxFlags.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.hPxBoxGeometry.hPxSphereGeometry.hPxCapsuleGeometry.hPxPlaneGeometry.hfoundation/PxPlane.hPxConvexMeshGeometry.hPxTriangleMeshGeometry.hPxHeightFieldGeometry.hfoundation/PxUnionCast.hfoundation/PxVec3.hfoundation/PxQuat.hgeometry/PxMeshScale.hcommon/PxCoreUtilityTypes.hgeometry/PxConvexMesh.hfoundation/PxMat33.hfoundation/PxMemory.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Classes

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...
class | PxCCDContactModifyCallback
An interface class that the user can implement in order to modify CCD contact constraints. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxController.h File Reference

PxController.h File Reference

#include "characterkinematic/PxCharacter.h"
#include "characterkinematic/PxExtended.h"
#include "characterkinematic/PxControllerObstacles.h"
#include "PxQueryFiltering.h"
#include "foundation/PxErrorCallback.h"

Include dependency graph for PxController.h:

characterkinematic/PxCharacter.hcharacterkinematic/PxExtended.hcharacterkinematic/PxControllerObstacles.hPxQueryFiltering.hfoundation/PxErrorCallback.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hPxPhysXConfig.hfoundation/PxTransform.hfoundation/PxAssert.hcommon/PxPhysXCommonConfig.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxIntrinsics.hgeometry/PxGeometry.hfoundation/PxFlags.hPxFiltering.hPxQueryReport.hPxClient.hfoundation/PxErrors.h

This graph shows which files directly or indirectly include this file:

PxBoxController.hPxPhysicsAPI.hPxCapsuleController.h

Go to the source code of this file.

Classes

struct | PxControllerShapeType
The type of controller, eg box, sphere or capsule. More...
struct | PxControllerNonWalkableMode
specifies how a CCT interacts with non-walkable parts. More...
struct | PxControllerCollisionFlag
specifies which sides a character is colliding with. More...
struct | PxControllerState
Describes a controller's internal state. More...
struct | PxControllerStats
Describes a controller's internal statistics. More...
struct | PxControllerHit
Describes a generic CCT hit. More...
struct | PxControllerShapeHit
Describes a hit between a CCT and a shape. Passed to onShapeHit(). More...
struct | PxControllersHit
Describes a hit between a CCT and another CCT. Passed to onControllerHit(). More...
struct | PxControllerObstacleHit
Describes a hit between a CCT and a user-defined obstacle. Passed to onObstacleHit(). More...
class | PxUserControllerHitReport
User callback class for character controller events. More...
class | PxControllerFilterCallback
Dedicated filtering callback for CCT vs CCT. More...
class | PxControllerFilters
Filtering data for "move" call. More...
class | PxControllerDesc
Descriptor class for a character controller. More...
class | PxController
Base class for character controllers. More...

Typedefs

typedef PxFlags
< PxControllerCollisionFlag::Enum,
PxU8 > 		PxControllerCollisionFlags
Bitfield that contains a set of raised flags defined in PxControllerCollisionFlag.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxControllerBehavior.h File Reference

PxControllerBehavior.h File Reference

#include "PxFiltering.h"
#include "characterkinematic/PxCharacter.h"

Include dependency graph for PxControllerBehavior.h:

PxFiltering.hcharacterkinematic/PxCharacter.hPxPhysXConfig.hfoundation/PxFlags.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Classes

struct | PxControllerBehaviorFlag
specifies controller behavior More...
class | PxControllerBehaviorCallback
User behavior callback. More...

Typedefs

typedef PxFlags
< PxControllerBehaviorFlag::Enum,
PxU8 > 		PxControllerBehaviorFlags
Bitfield that contains a set of raised flags defined in PxControllerBehaviorFlag.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxControllerManager.h File Reference

PxControllerManager.h File Reference

#include "characterkinematic/PxCharacter.h"
#include "PxPhysXConfig.h"
#include "foundation/PxFlags.h"
#include "foundation/PxErrorCallback.h"
#include "common/PxRenderBuffer.h"

Include dependency graph for PxControllerManager.h:

characterkinematic/PxCharacter.hPxPhysXConfig.hfoundation/PxFlags.hfoundation/PxErrorCallback.hcommon/PxRenderBuffer.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hcommon/PxPhysXCommonConfig.hfoundation/PxErrors.hfoundation/PxVec3.hfoundation/PxMat33.hfoundation/PxBounds3.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/PxQuat.hfoundation/PxTransform.hfoundation/PxPlane.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Classes

struct | PxControllerDebugRenderFlag
specifies debug-rendering flags More...
class | PxControllerManager
Manages an array of character controllers. More...

Typedefs

typedef PxFlags
< PxControllerDebugRenderFlag::Enum,
PxU32 > 		PxControllerDebugRenderFlags
Bitfield that contains a set of raised flags defined in PxControllerDebugRenderFlag.

Functions

PX_C_EXPORT
PX_PHYSX_CHARACTER_API
physx::PxControllerManager
*PX_CALL_CONV 		PxCreateControllerManager (physx::PxScene &scene, bool lockingEnabled=false)
Creates the controller manager.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxControllerObstacles.h File Reference

PxControllerObstacles.h File Reference

#include "characterkinematic/PxCharacter.h"
#include "characterkinematic/PxExtended.h"
#include "geometry/PxGeometry.h"

Include dependency graph for PxControllerObstacles.h:

characterkinematic/PxCharacter.hcharacterkinematic/PxExtended.hgeometry/PxGeometry.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hPxPhysXConfig.hfoundation/PxTransform.hfoundation/PxAssert.hcommon/PxPhysXCommonConfig.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxFlags.h

This graph shows which files directly or indirectly include this file:

PxController.hPxPhysicsAPI.hPxBoxController.hPxCapsuleController.h

Go to the source code of this file.

Classes

class | PxObstacle
Base class for obstacles. More...
class | PxBoxObstacle
A box obstacle. More...
class | PxCapsuleObstacle
A capsule obstacle. More...
class | PxObstacleContext
Context class for obstacles. More...

Defines

#define | INVALID_OBSTACLE_HANDLE 0xffffffff

Typedefs

typedef PxU32 | ObstacleHandle


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxConvexMesh.h File Reference

PxConvexMesh.h File Reference

#include "foundation/Px.h"
#include "common/PxBase.h"

Include dependency graph for PxConvexMesh.h:

foundation/Px.hcommon/PxBase.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hfoundation/PxFlags.hcommon/PxPhysXCommonConfig.h

This graph shows which files directly or indirectly include this file:

PxConvexMeshGeometry.hPxPhysicsAPI.hPxMassProperties.hPxConvexMeshDesc.hPxGeometryHelpers.hPxShape.hPxVolumeCache.hPxRigidActor.hPxShapeExt.hPxBatchQuery.hPxContactModifyCallback.hPxPhysics.hPxRigidBody.hPxRigidStatic.hPxJoint.hPxRigidActorExt.hPxArticulationLink.hPxRigidDynamic.hPxRigidBodyExt.hPxVehicleWheels.hPxVehicleDrive.hPxVehicleDrive4W.hPxVehicleDriveTank.hPxVehicleDriveNW.hPxVehicleNoDrive.hPxVehicleUtilControl.hPxExtensionsAPI.hPxDistanceJoint.hPxFixedJoint.hPxJointLimit.hPxPrismaticJoint.hPxRevoluteJoint.hPxSphericalJoint.hPxD6Joint.hPxCooking.hPxSerialization.hPxRepXSimpleType.hPxRepXSerializer.h

Go to the source code of this file.

Classes

struct | PxHullPolygon
Polygon data. More...
class | PxConvexMesh
A convex mesh. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxConvexMeshDesc.h File Reference

PxConvexMeshDesc.h File Reference

#include "foundation/PxVec3.h"
#include "foundation/PxFlags.h"
#include "common/PxCoreUtilityTypes.h"
#include "geometry/PxConvexMesh.h"

Include dependency graph for PxConvexMeshDesc.h:

foundation/PxVec3.hfoundation/PxFlags.hcommon/PxCoreUtilityTypes.hgeometry/PxConvexMesh.hfoundation/PxMath.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxMemory.hcommon/PxBase.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hcommon/PxPhysXCommonConfig.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxCooking.hPxSerialization.hPxRepXSimpleType.hPxExtensionsAPI.hPxRepXSerializer.h

Go to the source code of this file.

Classes

struct | PxConvexFlag
Flags which describe the format and behavior of a convex mesh. More...
class | PxConvexMeshDesc
Descriptor class for PxConvexMesh. More...

Typedefs

typedef PxFlags
< PxConvexFlag::Enum, PxU16 > 		PxConvexFlags
collection of set bits defined in PxConvexFlag.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxConvexMeshExt.h File Reference

PxConvexMeshExt.h File Reference

#include "PxPhysXConfig.h"
#include "common/PxPhysXCommonConfig.h"

Include dependency graph for PxConvexMeshExt.h:

PxPhysXConfig.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Functions

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.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxConvexMeshGeometry.h File Reference

PxConvexMeshGeometry.h File Reference

#include "geometry/PxGeometry.h"
#include "geometry/PxMeshScale.h"
#include "common/PxCoreUtilityTypes.h"
#include "geometry/PxConvexMesh.h"

Include dependency graph for PxConvexMeshGeometry.h:

geometry/PxGeometry.hgeometry/PxMeshScale.hcommon/PxCoreUtilityTypes.hgeometry/PxConvexMesh.hcommon/PxPhysXCommonConfig.hfoundation/PxFlags.hfoundation/PxMath.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/PxMat33.hfoundation/PxVec3.hfoundation/PxQuat.hfoundation/PxMemory.hcommon/PxBase.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.h

This graph shows which files directly or indirectly include this file:

PxGeometryHelpers.hPxPhysicsAPI.hPxMassProperties.hPxShape.hPxVolumeCache.hPxRigidActor.hPxShapeExt.hPxBatchQuery.hPxContactModifyCallback.hPxPhysics.hPxRigidBody.hPxRigidStatic.hPxJoint.hPxRigidActorExt.hPxArticulationLink.hPxRigidDynamic.hPxRigidBodyExt.hPxVehicleWheels.hPxVehicleDrive.hPxVehicleDrive4W.hPxVehicleDriveTank.hPxVehicleDriveNW.hPxVehicleNoDrive.hPxVehicleUtilControl.hPxExtensionsAPI.hPxDistanceJoint.hPxFixedJoint.hPxJointLimit.hPxPrismaticJoint.hPxRevoluteJoint.hPxSphericalJoint.hPxD6Joint.h

Go to the source code of this file.

Classes

struct | PxConvexMeshGeometryFlag
Flags controlling the simulated behavior of the convex mesh geometry. More...
class | PxConvexMeshGeometry
Convex mesh geometry class. More...

Typedefs

typedef PxFlags
< PxConvexMeshGeometryFlag::Enum,
PxU8 > 		PxConvexMeshGeometryFlags
collection of set bits defined in PxConvexMeshGeometryFlag.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCooking.h File Reference

PxCooking.h File Reference

#include "common/PxPhysXCommonConfig.h"
#include "common/PxTolerancesScale.h"
#include "cooking/Pxc.h"
#include "cooking/PxConvexMeshDesc.h"
#include "cooking/PxTriangleMeshDesc.h"
#include "cooking/PxMidphaseDesc.h"
#include "geometry/PxTriangleMesh.h"

Include dependency graph for PxCooking.h:

common/PxPhysXCommonConfig.hcommon/PxTolerancesScale.hcooking/Pxc.hcooking/PxConvexMeshDesc.hcooking/PxTriangleMeshDesc.hcooking/PxMidphaseDesc.hgeometry/PxTriangleMesh.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxVec3.hfoundation/PxFlags.hcommon/PxCoreUtilityTypes.hgeometry/PxConvexMesh.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/PxMemory.hcommon/PxBase.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hPxPhysXConfig.hgeometry/PxSimpleTriangleMesh.hcooking/PxBVH33MidphaseDesc.hcooking/PxBVH34MidphaseDesc.hfoundation/PxBounds3.hfoundation/PxTransform.hfoundation/PxMat33.hfoundation/PxQuat.hfoundation/PxPlane.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxSerialization.hPxRepXSimpleType.hPxExtensionsAPI.hPxRepXSerializer.h

Go to the source code of this file.

Classes

struct | PxPlatform
struct | PxConvexMeshCookingResult
Result from convex cooking. More...
struct | PxConvexMeshCookingType
Enumeration for convex mesh cooking algorithms. More...
struct | PxTriangleMeshCookingResult
Result from triangle mesh cooking. More...
struct | PxMeshPreprocessingFlag
Enum for the set of mesh pre-processing parameters. More...
struct | PxCookingParams
Structure describing parameters affecting mesh cooking. More...
class | PxCooking

Typedefs

typedef PxFlags
< PxMeshPreprocessingFlag::Enum,
PxU32 > 		PxMeshPreprocessingFlags

Functions

PX_DEPRECATED PX_FORCE_INLINE PxU32 | PxGetGaussMapVertexLimitForPlatform (PxPlatform::Enum targetPlatform)
PX_C_EXPORT
PX_PHYSX_COOKING_API
physx::PxCooking *PX_CALL_CONV 		PxCreateCooking (physx::PxU32 version, physx::PxFoundation &foundation, const physx::PxCookingParams &params)
Create an instance of the cooking interface.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCoreUtilityTypes.h File Reference

PxCoreUtilityTypes.h File Reference

#include "foundation/PxAssert.h"
#include "foundation/PxMemory.h"

Include dependency graph for PxCoreUtilityTypes.h:

foundation/PxAssert.hfoundation/PxMemory.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.h

This graph shows which files directly or indirectly include this file:

PxConvexMeshGeometry.hPxPhysicsAPI.hPxTriangleMeshGeometry.hPxHeightFieldGeometry.hPxHeightFieldDesc.hPxSimpleTriangleMesh.hPxConvexMeshDesc.hPxVehicleComponents.hPxGeometryHelpers.hPxMassProperties.hPxShape.hPxVolumeCache.hPxRigidActor.hPxShapeExt.hPxBatchQuery.hPxContactModifyCallback.hPxPhysics.hPxRigidBody.hPxRigidStatic.hPxJoint.hPxRigidActorExt.hPxArticulationLink.hPxRigidDynamic.hPxRigidBodyExt.hPxVehicleWheels.hPxVehicleDrive.hPxVehicleDrive4W.hPxVehicleDriveTank.hPxVehicleDriveNW.hPxVehicleNoDrive.hPxVehicleUtilControl.hPxExtensionsAPI.hPxDistanceJoint.hPxFixedJoint.hPxJointLimit.hPxPrismaticJoint.hPxRevoluteJoint.hPxSphericalJoint.hPxD6Joint.hPxTriangleMeshDesc.hPxClothMeshDesc.hPxCooking.hPxSerialization.hPxRepXSimpleType.hPxRepXSerializer.hPxClothFabricCooker.hPxClothMeshQuadifier.hPxClothTetherCooker.h

Go to the source code of this file.

Classes

struct | PxStridedData
struct | PxTypedStridedData< TDataType >
struct | PxBoundedData
struct | PxPadding< TNumBytes >
class | PxFixedSizeLookupTable< NB_ELEMENTS >


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCpuDispatcher.h File Reference

PxCpuDispatcher.h File Reference

#include "task/PxTaskDefine.h"
#include "foundation/PxSimpleTypes.h"

Include dependency graph for PxCpuDispatcher.h:

task/PxTaskDefine.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxDefaultCpuDispatcher.hPxTask.hPxExtensionsAPI.hPxPhysicsAPI.hPxSceneDesc.hPxScene.hPxGpuDispatcher.hPxGpuTask.hPxSceneLock.hPxVolumeCache.hPxSceneQueryExt.h

Go to the source code of this file.

Classes

class | physx::PxCpuDispatcher
A CpuDispatcher is responsible for scheduling the execution of tasks passed to it by the SDK. More...

Namespaces

namespace | physx


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCudaContextManager.h File Reference

PxCudaContextManager.h File Reference

#include "foundation/PxPreprocessor.h"

Include dependency graph for PxCudaContextManager.h:

foundation/PxPreprocessor.h

Go to the source code of this file.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCudaMemoryManager.h File Reference

PxCudaMemoryManager.h File Reference

#include "foundation/PxPreprocessor.h"

Include dependency graph for PxCudaMemoryManager.h:

foundation/PxPreprocessor.h

Go to the source code of this file.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxD6Joint.h File Reference

PxD6Joint.h File Reference

#include "extensions/PxJoint.h"
#include "extensions/PxJointLimit.h"
#include "foundation/PxFlags.h"

Include dependency graph for PxD6Joint.h:

extensions/PxJoint.hfoundation/PxFlags.hextensions/PxJointLimit.hfoundation/PxTransform.hPxRigidActor.hcommon/PxBase.hPxConstraint.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/Px.hfoundation/PxSimpleTypes.hPxActor.hPxShape.hPxPhysXConfig.hfoundation/PxBounds3.hPxClient.hcommon/PxPhysXCommonConfig.hfoundation/PxMat33.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hgeometry/PxGeometry.hgeometry/PxGeometryHelpers.hPxBoxGeometry.hPxSphereGeometry.hPxCapsuleGeometry.hPxPlaneGeometry.hPxConvexMeshGeometry.hPxTriangleMeshGeometry.hPxHeightFieldGeometry.hfoundation/PxUnionCast.hgeometry/PxMeshScale.hcommon/PxCoreUtilityTypes.hgeometry/PxConvexMesh.hPxConstraintDesc.hcommon/PxTolerancesScale.h

This graph shows which files directly or indirectly include this file:

PxExtensionsAPI.hPxPhysicsAPI.h

Go to the source code of this file.

Classes

struct | PxD6Axis
Used to specify one of the degrees of freedom of a D6 joint. More...
struct | PxD6Motion
Used to specify the range of motions allowed for a degree of freedom in a D6 joint. More...
struct | PxD6Drive
Used to specify which axes of a D6 joint are driven. More...
struct | PxD6JointDriveFlag
flags for configuring the drive model of a PxD6Joint More...
class | PxD6JointDrive
parameters for configuring the drive model of a PxD6Joint More...
class | PxD6Joint
A D6 joint is a general constraint between two actors. More...

Typedefs

typedef PxFlags
< PxD6JointDriveFlag::Enum,
PxU32 > 		PxD6JointDriveFlags

Functions

PxD6Joint * | PxD6JointCreate (PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)
Create a D6 joint.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDefaultAllocator.h File Reference

PxDefaultAllocator.h File Reference

#include "foundation/PxAllocatorCallback.h"
#include "foundation/PxAssert.h"
#include "common/PxPhysXCommonConfig.h"
#include <stdlib.h>

Include dependency graph for PxDefaultAllocator.h:

foundation/PxAllocatorCallback.hfoundation/PxAssert.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxExtensionsAPI.hPxPhysicsAPI.h

Go to the source code of this file.

Classes

class | PxDefaultAllocator
default implementation of the allocator interface required by the SDK More...

Functions

PX_FORCE_INLINE void * | platformAlignedAlloc (size_t size)
PX_FORCE_INLINE void | platformAlignedFree (void *ptr)


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDefaultCpuDispatcher.h File Reference

PxDefaultCpuDispatcher.h File Reference

#include "common/PxPhysXCommonConfig.h"
#include "task/PxCpuDispatcher.h"

Include dependency graph for PxDefaultCpuDispatcher.h:

common/PxPhysXCommonConfig.htask/PxCpuDispatcher.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.htask/PxTaskDefine.h

This graph shows which files directly or indirectly include this file:

PxExtensionsAPI.hPxPhysicsAPI.h

Go to the source code of this file.

Classes

class | PxDefaultCpuDispatcher
A default implementation for a CPU task dispatcher. More...

Functions

PxDefaultCpuDispatcher * | PxDefaultCpuDispatcherCreate (PxU32 numThreads, PxU32 *affinityMasks=NULL)
Create default dispatcher, extensions SDK needs to be initialized first.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDefaultErrorCallback.h File Reference

PxDefaultErrorCallback.h File Reference

#include "foundation/PxErrorCallback.h"
#include "PxPhysXConfig.h"

Include dependency graph for PxDefaultErrorCallback.h:

foundation/PxErrorCallback.hPxPhysXConfig.hfoundation/PxErrors.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hcommon/PxPhysXCommonConfig.h

This graph shows which files directly or indirectly include this file:

PxExtensionsAPI.hPxPhysicsAPI.h

Go to the source code of this file.

Classes

class PxDefaultErrorCallback
default implementation of the error callback More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDefaultSimulationFilterShader.h File Reference

PxDefaultSimulationFilterShader.h File Reference

#include "PxPhysXConfig.h"
#include "PxFiltering.h"

Include dependency graph for PxDefaultSimulationFilterShader.h:

PxPhysXConfig.hPxFiltering.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxFlags.h

This graph shows which files directly or indirectly include this file:

PxExtensionsAPI.hPxPhysicsAPI.h

Go to the source code of this file.

Classes

class | PxGroupsMask
64-bit mask used for collision filtering. More...
struct | PxFilterOp
Collision filtering operations. More...

Functions

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.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDefaultStreams.h File Reference

PxDefaultStreams.h File Reference

#include <stdio.h>
#include "common/PxPhysXCommonConfig.h"
#include "foundation/PxIO.h"
#include "foundation/PxFoundation.h"

Include dependency graph for PxDefaultStreams.h:

common/PxPhysXCommonConfig.hfoundation/PxIO.hfoundation/PxFoundation.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxErrors.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxExtensionsAPI.h

Go to the source code of this file.

Classes

class | PxDefaultMemoryOutputStream
default implementation of a memory write stream More...
class | PxDefaultMemoryInputData
default implementation of a memory read stream More...
class | PxDefaultFileOutputStream
default implementation of a file write stream More...
class | PxDefaultFileInputData
default implementation of a file read stream More...

Typedefs

typedef FILE * | PxFileHandle


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDeletionListener.h File Reference

PxDeletionListener.h File Reference

#include "PxPhysXConfig.h"
#include "common/PxBase.h"

Include dependency graph for PxDeletionListener.h:

PxPhysXConfig.hcommon/PxBase.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hfoundation/PxFlags.h

This graph shows which files directly or indirectly include this file:

PxPhysics.hPxPhysicsAPI.hPxRigidActorExt.hPxExtensionsAPI.h

Go to the source code of this file.

Classes

struct | PxDeletionEventFlag
Flags specifying deletion event types. More...
class | PxDeletionListener
interface to get notification on object deletion More...

Typedefs

typedef PxFlags
< PxDeletionEventFlag::Enum,
PxU8 > 		PxDeletionEventFlags
Collection of set bits defined in PxDeletionEventFlag.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDistanceJoint.h File Reference

PxDistanceJoint.h File Reference

#include "extensions/PxJoint.h"

Include dependency graph for PxDistanceJoint.h:

extensions/PxJoint.hfoundation/PxTransform.hPxRigidActor.hcommon/PxBase.hPxConstraint.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/Px.hfoundation/PxSimpleTypes.hPxActor.hPxShape.hPxPhysXConfig.hfoundation/PxBounds3.hPxClient.hcommon/PxPhysXCommonConfig.hfoundation/PxMat33.hfoundation/PxFlags.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hgeometry/PxGeometry.hgeometry/PxGeometryHelpers.hPxBoxGeometry.hPxSphereGeometry.hPxCapsuleGeometry.hPxPlaneGeometry.hPxConvexMeshGeometry.hPxTriangleMeshGeometry.hPxHeightFieldGeometry.hfoundation/PxUnionCast.hgeometry/PxMeshScale.hcommon/PxCoreUtilityTypes.hgeometry/PxConvexMesh.hfoundation/PxMemory.hPxConstraintDesc.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxExtensionsAPI.h

Go to the source code of this file.

Classes

struct | PxDistanceJointFlag
flags for configuring the drive of a PxDistanceJoint More...
class | PxDistanceJoint
a joint that maintains an upper or lower bound (or both) on the distance between two points on different objects More...

Typedefs

typedef PxFlags
< PxDistanceJointFlag::Enum,
PxU16 > 		PxDistanceJointFlags

Functions

PxDistanceJoint * | PxDistanceJointCreate (PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)
Create a distance Joint.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxErrorCallback.h File Reference

PxErrorCallback.h File Reference

#include "foundation/PxErrors.h"

Include dependency graph for PxErrorCallback.h:

foundation/PxErrors.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxController.hPxControllerManager.hPxExtensionsAPI.hPxDefaultErrorCallback.hPxTaskManager.hPxBoxController.hPxCapsuleController.hPxTask.hPxSceneDesc.hPxScene.hPxGpuDispatcher.hPxGpuTask.hPxSceneLock.hPxVolumeCache.hPxSceneQueryExt.h

Go to the source code of this file.

Classes

class PxErrorCallback
User defined interface class. Used by the library to emit debug information. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxErrors.h File Reference

PxErrors.h File Reference

#include "foundation/Px.h"

Include dependency graph for PxErrors.h:

foundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxErrorCallback.hPxFoundation.hPxPvdTransport.hPxController.hPxControllerManager.hPxExtensionsAPI.hPxDefaultErrorCallback.hPxTaskManager.hPxBoxController.hPxCapsuleController.hPxTask.hPxSceneDesc.hPxScene.hPxGpuDispatcher.hPxGpuTask.hPxSceneLock.hPxVolumeCache.hPxSceneQueryExt.hPxDefaultStreams.hPxProfiler.hPxPvd.h

Go to the source code of this file.

Classes

struct PxErrorCode
Error codes. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxExtended.h File Reference

PxExtended.h File Reference

#include "PxPhysXConfig.h"
#include "foundation/PxTransform.h"
#include "foundation/PxAssert.h"

Include dependency graph for PxExtended.h:

PxPhysXConfig.hfoundation/PxTransform.hfoundation/PxAssert.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxIntrinsics.h

This graph shows which files directly or indirectly include this file:

PxController.hPxPhysicsAPI.hPxControllerObstacles.hPxBoxController.hPxCapsuleController.h

Go to the source code of this file.

Classes

struct | PxExtendedVec3

Defines

#define | PX_BIG_WORLDS
#define | PX_MAX_EXTENDED PX_MAX_F64
#define | PxExtendedAbs(x) fabs(x)

Typedefs

typedef double | PxExtended

Functions

PX_FORCE_INLINE PxVec3 | toVec3 (const PxExtendedVec3 &v)


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxExtensionsAPI.h File Reference

PxExtensionsAPI.h File Reference

#include "foundation/PxErrorCallback.h"
#include "extensions/PxDefaultAllocator.h"
#include "extensions/PxConstraintExt.h"
#include "extensions/PxDistanceJoint.h"
#include "extensions/PxFixedJoint.h"
#include "extensions/PxPrismaticJoint.h"
#include "extensions/PxRevoluteJoint.h"
#include "extensions/PxSphericalJoint.h"
#include "extensions/PxD6Joint.h"
#include "extensions/PxDefaultSimulationFilterShader.h"
#include "extensions/PxDefaultErrorCallback.h"
#include "extensions/PxDefaultStreams.h"
#include "extensions/PxRigidActorExt.h"
#include "extensions/PxRigidBodyExt.h"
#include "extensions/PxShapeExt.h"
#include "extensions/PxParticleExt.h"
#include "extensions/PxTriangleMeshExt.h"
#include "extensions/PxSerialization.h"
#include "extensions/PxDefaultCpuDispatcher.h"
#include "extensions/PxSmoothNormals.h"
#include "extensions/PxSimpleFactory.h"
#include "extensions/PxStringTableExt.h"
#include "extensions/PxClothFabricCooker.h"
#include "extensions/PxBroadPhaseExt.h"
#include "extensions/PxClothMeshQuadifier.h"
#include "extensions/PxMassProperties.h"
#include "extensions/PxSceneQueryExt.h"

Include dependency graph for PxExtensionsAPI.h:

foundation/PxErrorCallback.hextensions/PxDefaultAllocator.hextensions/PxConstraintExt.hextensions/PxDistanceJoint.hextensions/PxFixedJoint.hextensions/PxPrismaticJoint.hextensions/PxRevoluteJoint.hextensions/PxSphericalJoint.hextensions/PxD6Joint.hextensions/PxDefaultSimulationFilterShader.hextensions/PxDefaultErrorCallback.hextensions/PxDefaultStreams.hextensions/PxRigidActorExt.hextensions/PxRigidBodyExt.hextensions/PxMassProperties.hextensions/PxShapeExt.hextensions/PxParticleExt.hextensions/PxTriangleMeshExt.hextensions/PxSerialization.hextensions/PxDefaultCpuDispatcher.hextensions/PxSmoothNormals.hextensions/PxSimpleFactory.hextensions/PxStringTableExt.hextensions/PxClothFabricCooker.hextensions/PxBroadPhaseExt.hextensions/PxClothMeshQuadifier.hextensions/PxSceneQueryExt.hfoundation/PxErrors.hfoundation/PxAllocatorCallback.hfoundation/PxAssert.hcommon/PxPhysXCommonConfig.hfoundation/PxPreprocessor.hextensions/PxJoint.hPxRigidActor.hPxShape.hPxPhysXConfig.hextensions/PxJointLimit.hfoundation/PxFlags.hPxFiltering.hfoundation/PxIO.hfoundation/PxFoundation.hPxPhysics.hPxRigidBody.hPxQueryReport.hPxQueryFiltering.hgeometry/PxGeometryQuery.hfoundation/PxStrideIterator.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Functions

PX_C_EXPORT bool PX_CALL_CONV | PxInitExtensions (physx::PxPhysics &physics, physx::PxPvd *pvd)
Initialize the PhysXExtensions library.
PX_C_EXPORT void PX_CALL_CONV | PxCloseExtensions ()
Shut down the PhysXExtensions library.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxFileBuf.h File Reference

PxFileBuf.h File Reference

Go to the source code of this file.

Classes

class PxFileBuf
Callback class for data serialization. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxFiltering.h File Reference

PxFiltering.h File Reference

#include "PxPhysXConfig.h"
#include "foundation/PxFlags.h"

Include dependency graph for PxFiltering.h:

PxPhysXConfig.hfoundation/PxFlags.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxBatchQueryDesc.hPxPhysicsAPI.hPxQueryFiltering.hPxSceneDesc.hPxSimulationEventCallback.hPxControllerBehavior.hPxCloth.hPxParticleBase.hPxDefaultSimulationFilterShader.hPxBatchQuery.hPxVehicleUpdate.hPxScene.hPxController.hPxRigidBodyExt.hPxSceneLock.hPxVolumeCache.hPxSceneQueryExt.hPxExtensionsAPI.hPxBoxController.hPxCapsuleController.hPxParticleSystem.hPxParticleFluid.h

Go to the source code of this file.

Classes

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 | PxFilterObjectFlag
class | PxSimulationFilterCallback
Filter callback to specify handling of collision pairs. More...
struct | PxFilterInfo
struct | PxPairFilteringMode

Typedefs

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.

Functions

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.

Variables

static const PxU32 | INVALID_FILTER_PAIR_INDEX = 0xffffffff


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxFixedJoint.h File Reference

PxFixedJoint.h File Reference

#include "extensions/PxJoint.h"

Include dependency graph for PxFixedJoint.h:

extensions/PxJoint.hfoundation/PxTransform.hPxRigidActor.hcommon/PxBase.hPxConstraint.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/Px.hfoundation/PxSimpleTypes.hPxActor.hPxShape.hPxPhysXConfig.hfoundation/PxBounds3.hPxClient.hcommon/PxPhysXCommonConfig.hfoundation/PxMat33.hfoundation/PxFlags.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hgeometry/PxGeometry.hgeometry/PxGeometryHelpers.hPxBoxGeometry.hPxSphereGeometry.hPxCapsuleGeometry.hPxPlaneGeometry.hPxConvexMeshGeometry.hPxTriangleMeshGeometry.hPxHeightFieldGeometry.hfoundation/PxUnionCast.hgeometry/PxMeshScale.hcommon/PxCoreUtilityTypes.hgeometry/PxConvexMesh.hfoundation/PxMemory.hPxConstraintDesc.h

This graph shows which files directly or indirectly include this file:

PxExtensionsAPI.hPxPhysicsAPI.h

Go to the source code of this file.

Classes

class | PxFixedJoint
A fixed joint permits no relative movement between two bodies. ie the bodies are glued together. More...

Functions

PxFixedJoint * | PxFixedJointCreate (PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)
Create a fixed joint.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxFlags.h File Reference

PxFlags.h File Reference

#include "foundation/Px.h"

Include dependency graph for PxFlags.h:

foundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxClient.hPxPhysicsAPI.hPxBase.hPxConstraintDesc.hPxD6Joint.hPxConvexMeshDesc.hPxGeometry.hPxFiltering.hPxSceneDesc.hPxQueryReport.hPxLockedData.hPxParticleReadData.hPxClothTypes.hPxHeightFieldFlag.hPxSimpleTriangleMesh.hPxPvdSceneClient.hPxControllerManager.hPxParticleBaseFlag.hPxPvd.hPxPvdTransport.hPxActor.hPxBatchQueryDesc.hPxQueryFiltering.hPxScene.hPxAggregate.hPxArticulation.hPxArticulationJoint.hPxShape.hPxConstraint.hPxJoint.hPxDeletionListener.hPxMaterial.hPxClothFabric.hPxPhysicsInsertionCallback.hPxConvexMesh.hPxHeightField.hPxTriangleMesh.hPxPruningStructure.hPxSerialization.hPxRepXSerializer.hPxVehicleWheels.hPxConvexMeshGeometry.hPxGeometryHelpers.hPxBoxGeometry.hPxSphereGeometry.hPxCapsuleGeometry.hPxPlaneGeometry.hPxTriangleMeshGeometry.hPxSimulationStatistics.h

Go to the source code of this file.

Classes

class | PxFlags< enumtype, storagetype >
Container for bitfield flag variables associated with a specific enum type. More...

Defines

#define | PX_FLAGS_OPERATORS(enumtype, storagetype)
#define | PX_FLAGS_TYPEDEF(x, y)


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxForceMode.h File Reference

PxForceMode.h File Reference

#include "foundation/PxPreprocessor.h"

Include dependency graph for PxForceMode.h:

foundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxRigidBody.hPxPhysicsAPI.hPxParticleBase.hPxArticulationLink.hPxRigidDynamic.hPxRigidBodyExt.hPxVehicleWheels.hPxVehicleDrive.hPxVehicleDrive4W.hPxVehicleDriveTank.hPxVehicleDriveNW.hPxVehicleNoDrive.hPxVehicleUtilControl.hPxExtensionsAPI.hPxParticleSystem.hPxParticleFluid.hPxScene.hPxSceneLock.hPxVolumeCache.hPxSceneQueryExt.h

Go to the source code of this file.

Classes

struct PxForceMode
Parameter to addForce() and addTorque() calls, determines the exact operation that is carried out. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxFoundation.h File Reference

PxFoundation.h File Reference

#include "foundation/Px.h"
#include "foundation/PxErrors.h"

Include dependency graph for PxFoundation.h:

foundation/Px.hfoundation/PxErrors.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxDefaultStreams.hPxProfiler.hPxExtensionsAPI.hPxPvd.hPxPvdTransport.h

Go to the source code of this file.

Classes

class | PxFoundation
Foundation SDK singleton class. More...

Namespaces

namespace | physx

Functions

PX_C_EXPORT PX_FOUNDATION_API
physx::PxFoundation
*PX_CALL_CONV 		PxCreateFoundation (physx::PxU32 version, physx::PxAllocatorCallback &allocator, physx::PxErrorCallback &errorCallback)
Creates an instance of the foundation class.
PX_C_EXPORT PX_FOUNDATION_API
physx::PxFoundation
&PX_CALL_CONV 		PxGetFoundation ()
Retrieves the Foundation SDK after it has been created.
PX_C_EXPORT PX_FOUNDATION_API
physx::PxProfilerCallback
*PX_CALL_CONV 		PxGetProfilerCallback ()
Get the callback that will be used for all profiling.
PX_C_EXPORT PX_FOUNDATION_API
void PX_CALL_CONV 		PxSetProfilerCallback (physx::PxProfilerCallback *profiler)
Set the callback that will be used for all profiling.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxFoundationVersion.h File Reference

PxFoundationVersion.h File Reference

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Defines

#define | PX_FOUNDATION_VERSION_MAJOR 1
#define | PX_FOUNDATION_VERSION_MINOR 0
#define | PX_FOUNDATION_VERSION_BUGFIX 0
#define | PX_FOUNDATION_VERSION ((PX_FOUNDATION_VERSION_MAJOR << 24) + (PX_FOUNDATION_VERSION_MINOR << 16) + (PX_FOUNDATION_VERSION_BUGFIX << 8) + 0)


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxGeometry.h File Reference

PxGeometry.h File Reference

#include "common/PxPhysXCommonConfig.h"
#include "foundation/PxFlags.h"
#include "foundation/PxMath.h"

Include dependency graph for PxGeometry.h:

common/PxPhysXCommonConfig.hfoundation/PxFlags.hfoundation/PxMath.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/PxAssert.h

This graph shows which files directly or indirectly include this file:

PxShape.hPxPhysicsAPI.hPxGeometryHelpers.hPxBoxGeometry.hPxMassProperties.hPxSphereGeometry.hPxCapsuleGeometry.hPxPlaneGeometry.hPxConvexMeshGeometry.hPxTriangleMeshGeometry.hPxSimulationStatistics.hPxSpatialIndex.hPxControllerObstacles.hPxRigidActor.hPxShapeExt.hPxBatchQuery.hPxContactModifyCallback.hPxPhysics.hPxRigidBody.hPxRigidStatic.hPxJoint.hPxRigidActorExt.hPxArticulationLink.hPxRigidDynamic.hPxRigidBodyExt.hPxVehicleWheels.hPxVehicleDrive.hPxVehicleDrive4W.hPxVehicleDriveTank.hPxVehicleDriveNW.hPxVehicleNoDrive.hPxVehicleUtilControl.hPxExtensionsAPI.hPxDistanceJoint.hPxFixedJoint.hPxJointLimit.hPxPrismaticJoint.hPxRevoluteJoint.hPxSphericalJoint.hPxD6Joint.hPxVolumeCache.hPxHeightFieldGeometry.hPxScene.hPxSceneLock.hPxSceneQueryExt.hPxController.hPxBoxController.hPxCapsuleController.h

Go to the source code of this file.

Classes

struct | PxGeometryType
A geometry type. More...
class | PxGeometry
A geometry object. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxGeometryHelpers.h File Reference

PxGeometryHelpers.h File Reference

#include "common/PxPhysXCommonConfig.h"
#include "PxGeometry.h"
#include "PxBoxGeometry.h"
#include "PxSphereGeometry.h"
#include "PxCapsuleGeometry.h"
#include "PxPlaneGeometry.h"
#include "PxConvexMeshGeometry.h"
#include "PxTriangleMeshGeometry.h"
#include "PxHeightFieldGeometry.h"
#include "foundation/PxPlane.h"
#include "foundation/PxTransform.h"
#include "foundation/PxUnionCast.h"

Include dependency graph for PxGeometryHelpers.h:

common/PxPhysXCommonConfig.hPxGeometry.hPxBoxGeometry.hPxSphereGeometry.hPxCapsuleGeometry.hPxPlaneGeometry.hfoundation/PxPlane.hfoundation/PxTransform.hPxConvexMeshGeometry.hPxTriangleMeshGeometry.hPxHeightFieldGeometry.hfoundation/PxUnionCast.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxFlags.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/PxVec3.hfoundation/PxQuat.hgeometry/PxMeshScale.hcommon/PxCoreUtilityTypes.hgeometry/PxConvexMesh.hfoundation/PxMat33.hfoundation/PxMemory.hcommon/PxBase.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.h

This graph shows which files directly or indirectly include this file:

PxShape.hPxPhysicsAPI.hPxVolumeCache.hPxRigidActor.hPxShapeExt.hPxBatchQuery.hPxContactModifyCallback.hPxPhysics.hPxRigidBody.hPxRigidStatic.hPxJoint.hPxRigidActorExt.hPxArticulationLink.hPxRigidDynamic.hPxRigidBodyExt.hPxVehicleWheels.hPxVehicleDrive.hPxVehicleDrive4W.hPxVehicleDriveTank.hPxVehicleDriveNW.hPxVehicleNoDrive.hPxVehicleUtilControl.hPxExtensionsAPI.hPxDistanceJoint.hPxFixedJoint.hPxJointLimit.hPxPrismaticJoint.hPxRevoluteJoint.hPxSphericalJoint.hPxD6Joint.h

Go to the source code of this file.

Classes

class | PxGeometryHolder
Geometry holder class. More...

Variables

class PxGeometryHolder | PX_ALIGN_SUFFIX
Geometry holder class.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxGeometryQuery.h File Reference

PxGeometryQuery.h File Reference

#include "common/PxPhysXCommonConfig.h"
#include "PxQueryReport.h"

Include dependency graph for PxGeometryQuery.h:

common/PxPhysXCommonConfig.hPxQueryReport.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hPxPhysXConfig.hfoundation/PxVec3.hfoundation/PxFlags.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxShapeExt.hPxExtensionsAPI.h

Go to the source code of this file.

Classes

class | PxGeometryQuery
Collection of geometry object queries (sweeps, raycasts, overlaps, ...). More...

Defines

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

Define 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


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxGpu.h File Reference

PxGpu.h File Reference

#include "PxPhysXConfig.h"

Include dependency graph for PxGpu.h:

PxPhysXConfig.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

Go to the source code of this file.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxGpuCopyDesc.h File Reference

PxGpuCopyDesc.h File Reference

#include "foundation/PxPreprocessor.h"

Include dependency graph for PxGpuCopyDesc.h:

foundation/PxPreprocessor.h

Go to the source code of this file.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxGpuCopyDescQueue.h File Reference

PxGpuCopyDescQueue.h File Reference

#include "foundation/PxPreprocessor.h"

Include dependency graph for PxGpuCopyDescQueue.h:

foundation/PxPreprocessor.h

Go to the source code of this file.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxGpuDispatcher.h File Reference

PxGpuDispatcher.h File Reference

#include "task/PxTaskDefine.h"
#include "task/PxTask.h"

Include dependency graph for PxGpuDispatcher.h:

task/PxTaskDefine.htask/PxTask.hfoundation/PxPreprocessor.htask/PxTaskManager.htask/PxCpuDispatcher.hfoundation/PxAssert.hfoundation/PxSimpleTypes.hfoundation/PxErrorCallback.hfoundation/PxErrors.hfoundation/Px.h

This graph shows which files directly or indirectly include this file:

PxGpuTask.hPxTask.hPxPhysicsAPI.hPxSceneDesc.hPxScene.hPxSceneLock.hPxVolumeCache.hPxSceneQueryExt.hPxExtensionsAPI.h

Go to the source code of this file.

Classes

class | physx::PxGpuDispatcher
A GpuTask dispatcher. More...

Namespaces

namespace | physx

Typedefs

typedef struct CUstream_st * | CUstream

Typedef Documentation

typedef struct CUstream_st* CUstream


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxGpuTask.h File Reference

PxGpuTask.h File Reference

#include "task/PxTaskDefine.h"
#include "task/PxTask.h"
#include "task/PxGpuDispatcher.h"

Include dependency graph for PxGpuTask.h:

task/PxTaskDefine.htask/PxTask.htask/PxGpuDispatcher.hfoundation/PxPreprocessor.htask/PxTaskManager.htask/PxCpuDispatcher.hfoundation/PxAssert.hfoundation/PxSimpleTypes.hfoundation/PxErrorCallback.hfoundation/PxErrors.hfoundation/Px.h

Go to the source code of this file.

Classes

struct | physx::PxGpuTaskHint
Define the 'flavor' of a PxGpuTask. More...
class | physx::PxGpuTask
PxTask implementation for launching CUDA work. More...

Namespaces

namespace | physx


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxHeightField.h File Reference

PxHeightField.h File Reference

#include "geometry/PxHeightFieldFlag.h"
#include "geometry/PxHeightFieldSample.h"
#include "common/PxBase.h"

Include dependency graph for PxHeightField.h:

geometry/PxHeightFieldFlag.hgeometry/PxHeightFieldSample.hcommon/PxBase.hfoundation/PxFlags.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hcommon/PxPhysXCommonConfig.hfoundation/PxBitAndData.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Classes

class PxHeightField
A height field class. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxHeightFieldDesc.h File Reference

PxHeightFieldDesc.h File Reference

#include "foundation/PxBounds3.h"
#include "common/PxPhysXCommonConfig.h"
#include "geometry/PxHeightFieldFlag.h"
#include "common/PxCoreUtilityTypes.h"

Include dependency graph for PxHeightFieldDesc.h:

foundation/PxBounds3.hcommon/PxPhysXCommonConfig.hgeometry/PxHeightFieldFlag.hcommon/PxCoreUtilityTypes.hfoundation/PxTransform.hfoundation/PxMat33.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxFlags.hfoundation/PxMemory.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Classes

class PxHeightFieldDesc
Descriptor class for PxHeightField. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxHeightFieldFlag.h File Reference

PxHeightFieldFlag.h File Reference

#include "foundation/PxFlags.h"

Include dependency graph for PxHeightFieldFlag.h:

foundation/PxFlags.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxHeightField.hPxPhysicsAPI.hPxHeightFieldDesc.h

Go to the source code of this file.

Classes

struct | PxHeightFieldFormat
Describes the format of height field samples. More...
struct | PxHeightFieldTessFlag
Determines the tessellation of height field cells. More...
struct | PxHeightFieldFlag
Enum with flag values to be used in PxHeightFieldDesc.flags. More...

Typedefs

typedef PxFlags
< PxHeightFieldFlag::Enum,
PxU16 > 		PxHeightFieldFlags
collection of set bits defined in PxHeightFieldFlag.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxHeightFieldGeometry.h File Reference

PxHeightFieldGeometry.h File Reference

#include "geometry/PxTriangleMeshGeometry.h"
#include "common/PxCoreUtilityTypes.h"

Include dependency graph for PxHeightFieldGeometry.h:

geometry/PxTriangleMeshGeometry.hcommon/PxCoreUtilityTypes.hgeometry/PxGeometry.hgeometry/PxMeshScale.hcommon/PxPhysXCommonConfig.hfoundation/PxFlags.hfoundation/PxMath.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/PxMat33.hfoundation/PxVec3.hfoundation/PxQuat.hfoundation/PxMemory.h

This graph shows which files directly or indirectly include this file:

PxGeometryHelpers.hPxPhysicsAPI.hPxShape.hPxVolumeCache.hPxRigidActor.hPxShapeExt.hPxBatchQuery.hPxContactModifyCallback.hPxPhysics.hPxRigidBody.hPxRigidStatic.hPxJoint.hPxRigidActorExt.hPxArticulationLink.hPxRigidDynamic.hPxRigidBodyExt.hPxVehicleWheels.hPxVehicleDrive.hPxVehicleDrive4W.hPxVehicleDriveTank.hPxVehicleDriveNW.hPxVehicleNoDrive.hPxVehicleUtilControl.hPxExtensionsAPI.hPxDistanceJoint.hPxFixedJoint.hPxJointLimit.hPxPrismaticJoint.hPxRevoluteJoint.hPxSphericalJoint.hPxD6Joint.h

Go to the source code of this file.

Classes

class | PxHeightFieldGeometry
Height field geometry class. More...

Defines

#define | PX_MIN_HEIGHTFIELD_XZ_SCALE 1e-8f
#define | PX_MIN_HEIGHTFIELD_Y_SCALE (0.0001f / PxReal(0xFFFF))


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxHeightFieldSample.h File Reference

PxHeightFieldSample.h File Reference

#include "common/PxPhysXCommonConfig.h"
#include "foundation/PxBitAndData.h"

Include dependency graph for PxHeightFieldSample.h:

common/PxPhysXCommonConfig.hfoundation/PxBitAndData.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxHeightField.hPxPhysicsAPI.h

Go to the source code of this file.

Classes

struct | PxHeightFieldMaterial
Special material index values for height field samples. More...
struct | PxHeightFieldSample
Heightfield sample format. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxImmediateMode.h File Reference

PxImmediateMode.h File Reference

#include "PxPhysXConfig.h"
#include "solver/PxSolverDefs.h"
#include "collision/PxCollisionDefs.h"

Include dependency graph for PxImmediateMode.h:

PxPhysXConfig.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

Go to the source code of this file.

Classes

struct | PxRigidBodyData
Structure to store rigid body properties. More...
class | PxContactRecorder
Callback class to record contact points produced by immediate::PxGenerateContacts. More...

Functions

PX_C_EXPORT PX_PHYSX_CORE_API void | PxConstructSolverBodies (const PxRigidBodyData *inRigidData, PxSolverBodyData *outSolverBodyData, const PxU32 nbBodies, const PxVec3 &gravity, const PxReal dt)
Constructs a PxSolverBodyData structure based on rigid body properties. Applies gravity, damping and clamps maximum velocity.
PX_C_EXPORT PX_PHYSX_CORE_API void | PxConstructStaticSolverBody (const PxTransform &globalPose, PxSolverBodyData &solverBodyData)
Constructs a PxSolverBodyData structure for a static body at a given pose.
PX_C_EXPORT PX_PHYSX_CORE_API PxU32 | PxBatchConstraints (PxSolverConstraintDesc *solverConstraintDescs, const PxU32 nbConstraints, PxSolverBody *solverBodies, PxU32 nbBodies, PxConstraintBatchHeader *outBatchHeaders, PxSolverConstraintDesc *outOrderedConstraintDescs)
Groups together sets of independent PxSolverConstraintDesc objects to be solved using SIMD SOA approach.
PX_C_EXPORT PX_PHYSX_CORE_API bool | PxCreateContactConstraints (PxConstraintBatchHeader *batchHeader, const PxU32 nbHeaders, PxSolverContactDesc *contactDescs, PxConstraintAllocator &allocator, PxReal invDt, PxReal bounceThreshold, PxReal frictionOffsetThreshold, PxReal correlationDistance)
Creates a set of contact constraint blocks. Note that, depending the results of PxBatchConstraints, each batchHeader may refer to up to 4 solverConstraintDescs. This function will allocate both constraint and friction patch data via the PxConstraintAllocator provided. Constraint data is only valid until PxSolveConstraints has completed. Friction data is to be retained and provided by the application for friction correlation.
PX_C_EXPORT PX_PHYSX_CORE_API bool | PxCreateJointConstraints (PxConstraintBatchHeader *batchHeader, const PxU32 nbHeaders, PxSolverConstraintPrepDesc *jointDescs, PxConstraintAllocator &allocator, PxReal dt, PxReal invDt)
Creates a set of joint constraint blocks. Note that, depending the results of PxBatchConstraints, the batchHeader may refer to up to 4 solverConstraintDescs.
PX_C_EXPORT PX_PHYSX_CORE_API bool | PxCreateJointConstraintsWithShaders (PxConstraintBatchHeader *batchHeader, const PxU32 nbBatchHeaders, PxConstraint **constraints, PxSolverConstraintPrepDesc *jointDescs, PxConstraintAllocator &allocator, PxReal dt, PxReal invDt)
Creates a set of joint constraint blocks. This function runs joint shaders defined inside PxConstraint** param, fills in joint row information in jointDescs and then calls PxCreateJointConstraints.
PX_C_EXPORT PX_PHYSX_CORE_API void | PxSolveConstraints (PxConstraintBatchHeader *batchHeaders, const PxU32 nbBatchHeaders, PxSolverConstraintDesc *solverConstraintDescs, PxSolverBody *solverBodies, PxVec3 *linearMotionVelocity, PxVec3 *angularMotionVelocity, const PxU32 nbSolverBodies, const PxU32 nbPositionIterations, const PxU32 nbVelocityIterations)
Iteratively solves the set of constraints defined by the provided PxConstraintBatchHeader and PxSolverConstraintDesc structures. Updates deltaVelocities inside the PxSolverBody structures. Produces resulting linear and angular motion velocities.
PX_C_EXPORT PX_PHYSX_CORE_API void | PxIntegrateSolverBodies (PxSolverBodyData *solverBodyData, PxSolverBody *solverBody, const PxVec3 *linearMotionVelocity, const PxVec3 *angularMotionState, const PxU32 nbBodiesToIntegrate, PxReal dt)
Integrates a rigid body, returning the new velocities and transforms. After this function has been called, solverBodyData stores all the body's velocity data.
PX_C_EXPORT PX_PHYSX_CORE_API bool | PxGenerateContacts (const PxGeometry *const *geom0, const PxGeometry *const *geom1, const PxTransform *pose0, const PxTransform *pose1, PxCache *contactCache, const PxU32 nbPairs, PxContactRecorder &contactRecorder, const PxReal contactDistance, const PxReal meshContactMargin, const PxReal toleranceLength, PxCacheAllocator &allocator)


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxIntrinsics.h File Reference

PxIntrinsics.h File Reference

#include "foundation/PxPreprocessor.h"

Include dependency graph for PxIntrinsics.h:

foundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxMath.hPxMemory.hPxGeometry.hPxMassProperties.hPxJointLimit.hPxPlane.hPxVec2.hPxVec3.hPxVec4.hPxShape.hPxGeometryHelpers.hPxBoxGeometry.hPxSphereGeometry.hPxCapsuleGeometry.hPxPlaneGeometry.hPxConvexMeshGeometry.hPxTriangleMeshGeometry.hPxSimulationStatistics.hPxSpatialIndex.hPxControllerObstacles.hPxExtensionsAPI.hPxRigidBodyExt.hPxPrismaticJoint.hPxRevoluteJoint.hPxSphericalJoint.hPxD6Joint.hPxSimpleFactory.hPxTransform.hPxSimulationEventCallback.hPxVehicleUpdate.hPxMat44.hPxQueryReport.hPxConstraintDesc.hPxContact.hPxClothTypes.hPxRenderBuffer.hPxSimpleTriangleMesh.hPxTriangle.hPxTriangleMesh.hPxClothCollisionData.hPxConvexMeshDesc.hPxParticleCreationData.hPxVehicleComponents.hPxVehicleUtilTelemetry.hPxRaycastCCD.hPxMat33.hPxQuat.hPxCoreUtilityTypes.h

Go to the source code of this file.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxIO.h File Reference

PxIO.h File Reference

#include "foundation/PxSimpleTypes.h"

Include dependency graph for PxIO.h:

foundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxMetaData.hPxDefaultStreams.hPxSerialization.hPxExtensionsAPI.h

Go to the source code of this file.

Classes

class | PxInputStream
Input stream class for I/O. More...
class | PxInputData
Input data class for I/O which provides random read access. More...
class | PxOutputStream
Output stream class for I/O. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxJoint.h File Reference

PxJoint.h File Reference

#include "foundation/PxTransform.h"
#include "PxRigidActor.h"
#include "PxConstraint.h"
#include "common/PxBase.h"

Include dependency graph for PxJoint.h:

foundation/PxTransform.hPxRigidActor.hcommon/PxBase.hPxConstraint.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/Px.hfoundation/PxSimpleTypes.hPxActor.hPxShape.hPxPhysXConfig.hfoundation/PxBounds3.hPxClient.hcommon/PxPhysXCommonConfig.hfoundation/PxMat33.hfoundation/PxFlags.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hgeometry/PxGeometry.hgeometry/PxGeometryHelpers.hPxBoxGeometry.hPxSphereGeometry.hPxCapsuleGeometry.hPxPlaneGeometry.hPxConvexMeshGeometry.hPxTriangleMeshGeometry.hPxHeightFieldGeometry.hfoundation/PxUnionCast.hgeometry/PxMeshScale.hcommon/PxCoreUtilityTypes.hgeometry/PxConvexMesh.hfoundation/PxMemory.hPxConstraintDesc.h

This graph shows which files directly or indirectly include this file:

PxDistanceJoint.hPxPhysicsAPI.hPxFixedJoint.hPxJointLimit.hPxPrismaticJoint.hPxRevoluteJoint.hPxSphericalJoint.hPxD6Joint.hPxExtensionsAPI.h

Go to the source code of this file.

Classes

struct | PxJointConcreteType
an enumeration of PhysX' built-in joint types More...
struct | PxJointActorIndex
an enumeration for specifying one or other of the actors referenced by a joint More...
class | PxJoint
a base interface providing common functionality for PhysX joints More...
class | PxSpring

Functions

PX_C_EXPORT void PX_CALL_CONV | PxSetJointGlobalFrame (physx::PxJoint &joint, const physx::PxVec3 *wsAnchor, const physx::PxVec3 *wsAxis)
Helper function to setup a joint's global frame.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxJointLimit.h File Reference

PxJointLimit.h File Reference

#include "foundation/PxMath.h"
#include "PxPhysXConfig.h"
#include "common/PxTolerancesScale.h"
#include "PxJoint.h"

Include dependency graph for PxJointLimit.h:

foundation/PxMath.hPxPhysXConfig.hcommon/PxTolerancesScale.hPxJoint.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/Px.hfoundation/PxSimpleTypes.hcommon/PxPhysXCommonConfig.hfoundation/PxTransform.hPxRigidActor.hcommon/PxBase.hPxConstraint.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hPxActor.hPxShape.hfoundation/PxBounds3.hPxClient.hfoundation/PxMat33.hfoundation/PxFlags.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hgeometry/PxGeometry.hgeometry/PxGeometryHelpers.hPxBoxGeometry.hPxSphereGeometry.hPxCapsuleGeometry.hPxPlaneGeometry.hPxConvexMeshGeometry.hPxTriangleMeshGeometry.hPxHeightFieldGeometry.hfoundation/PxUnionCast.hgeometry/PxMeshScale.hcommon/PxCoreUtilityTypes.hgeometry/PxConvexMesh.hfoundation/PxMemory.hPxConstraintDesc.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxPrismaticJoint.hPxRevoluteJoint.hPxSphericalJoint.hPxD6Joint.hPxExtensionsAPI.h

Go to the source code of this file.

Classes

class | PxJointLimitParameters
Describes the parameters for a joint limit. More...
class | PxJointLinearLimit
Describes a one-sided linear limit. More...
class | PxJointLinearLimitPair
Describes a two-sided limit. More...
class | PxJointAngularLimitPair
class | PxJointLimitCone
Describes an elliptical conical joint limit. Note that very small or highly elliptical limit cones may result in jitter. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxLockedData.h File Reference

PxLockedData.h File Reference

#include "PxPhysXConfig.h"
#include "foundation/PxFlags.h"

Include dependency graph for PxLockedData.h:

PxPhysXConfig.hfoundation/PxFlags.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxCloth.hPxClothParticleData.hPxParticleReadData.hPxParticleBase.hPxParticleFluidReadData.hPxParticleSystem.hPxParticleFluid.hPxScene.hPxSceneLock.hPxVolumeCache.hPxSceneQueryExt.hPxExtensionsAPI.h

Go to the source code of this file.

Classes

struct | PxDataAccessFlag
class | PxLockedData
Parent class for bulk data that is shared between the SDK and the application. More...

Typedefs

typedef PxFlags
< PxDataAccessFlag::Enum, PxU8 > 		PxDataAccessFlags
collection of set bits defined in PxDataAccessFlag.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMassProperties.h File Reference

PxMassProperties.h File Reference

#include "PxPhysXConfig.h"
#include "foundation/PxMath.h"
#include "foundation/PxMathUtils.h"
#include "foundation/PxVec3.h"
#include "foundation/PxMat33.h"
#include "foundation/PxQuat.h"
#include "foundation/PxTransform.h"
#include "geometry/PxGeometry.h"
#include "geometry/PxBoxGeometry.h"
#include "geometry/PxSphereGeometry.h"
#include "geometry/PxCapsuleGeometry.h"
#include "geometry/PxConvexMeshGeometry.h"
#include "geometry/PxConvexMesh.h"

Include dependency graph for PxMassProperties.h:

PxPhysXConfig.hfoundation/PxMath.hfoundation/PxMathUtils.hfoundation/PxVec3.hfoundation/PxMat33.hfoundation/PxQuat.hfoundation/PxTransform.hgeometry/PxGeometry.hgeometry/PxBoxGeometry.hgeometry/PxSphereGeometry.hgeometry/PxCapsuleGeometry.hgeometry/PxConvexMeshGeometry.hgeometry/PxConvexMesh.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/PxPlane.hfoundation/PxFlags.hgeometry/PxMeshScale.hcommon/PxCoreUtilityTypes.hfoundation/PxMemory.hcommon/PxBase.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.h

This graph shows which files directly or indirectly include this file:

PxExtensionsAPI.hPxRigidBodyExt.hPxPhysicsAPI.h

Go to the source code of this file.

Classes

class PxMassProperties
Utility class to compute and manipulate mass and inertia tensor properties. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMat33.h File Reference

PxMat33.h File Reference

#include "foundation/PxVec3.h"
#include "foundation/PxQuat.h"

Include dependency graph for PxMat33.h:

foundation/PxVec3.hfoundation/PxQuat.hfoundation/PxMath.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/Px.hfoundation/PxSimpleTypes.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxRenderBuffer.hPxMeshScale.hPxMassProperties.hPxBounds3.hPxMat44.hPxControllerManager.hPxConvexMeshGeometry.hPxTriangleMeshGeometry.hPxGeometryHelpers.hPxShape.hPxVolumeCache.hPxRigidActor.hPxShapeExt.hPxBatchQuery.hPxContactModifyCallback.hPxPhysics.hPxRigidBody.hPxRigidStatic.hPxJoint.hPxRigidActorExt.hPxArticulationLink.hPxRigidDynamic.hPxRigidBodyExt.hPxExtensionsAPI.hPxDistanceJoint.hPxFixedJoint.hPxJointLimit.hPxPrismaticJoint.hPxRevoluteJoint.hPxSphericalJoint.hPxHeightFieldGeometry.hPxActor.hPxParticleBase.hPxBroadPhase.hPxSceneDesc.hPxHeightFieldDesc.hPxTriangleMesh.hPxParticleExt.hPxCloth.hPxParticleSystem.hPxParticleFluid.hPxScene.hPxSceneLock.hPxSceneQueryExt.hPxCooking.hPxMidphaseDesc.hPxSerialization.hPxRepXSimpleType.h

Go to the source code of this file.

Classes

class PxMat33
3x3 matrix class More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMat44.h File Reference

PxMat44.h File Reference

#include "foundation/PxQuat.h"
#include "foundation/PxVec4.h"
#include "foundation/PxMat33.h"
#include "foundation/PxTransform.h"

Include dependency graph for PxMat44.h:

foundation/PxQuat.hfoundation/PxVec4.hfoundation/PxMat33.hfoundation/PxTransform.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPlane.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Classes

class PxMat44
4x4 matrix class More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMaterial.h File Reference

PxMaterial.h File Reference

#include "PxPhysXConfig.h"
#include "common/PxBase.h"

Include dependency graph for PxMaterial.h:

PxPhysXConfig.hcommon/PxBase.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hfoundation/PxFlags.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Classes

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 | PxMaterial
Material class to represent a set of surface properties. More...

Typedefs

typedef PxFlags
< PxMaterialFlag::Enum, PxU16 > 		PxMaterialFlags
collection of set bits defined in PxMaterialFlag.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMath.h File Reference

PxMath.h File Reference

#include "foundation/PxPreprocessor.h"
#include <math.h>
#include <float.h>
#include "foundation/PxIntrinsics.h"
#include "foundation/PxAssert.h"

Include dependency graph for PxMath.h:

foundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/Px.hfoundation/PxSimpleTypes.h

This graph shows which files directly or indirectly include this file:

PxGeometry.hPxPhysicsAPI.hPxMassProperties.hPxJointLimit.hPxPlane.hPxVec2.hPxVec3.hPxVec4.hPxShape.hPxGeometryHelpers.hPxBoxGeometry.hPxSphereGeometry.hPxCapsuleGeometry.hPxPlaneGeometry.hPxConvexMeshGeometry.hPxTriangleMeshGeometry.hPxSimulationStatistics.hPxSpatialIndex.hPxControllerObstacles.hPxRigidActor.hPxBatchQuery.hPxContactModifyCallback.hPxPhysics.hPxExtensionsAPI.hPxRigidBodyExt.hPxPrismaticJoint.hPxRevoluteJoint.hPxSphericalJoint.hPxD6Joint.hPxSimpleFactory.hPxTransform.hPxSimulationEventCallback.hPxMat44.hPxQueryReport.hPxConstraintDesc.hPxContact.hPxClothTypes.hPxRenderBuffer.hPxSimpleTriangleMesh.hPxTriangle.hPxTriangleMesh.hPxClothCollisionData.hPxConvexMeshDesc.hPxParticleCreationData.hPxVehicleComponents.hPxVehicleUtilTelemetry.hPxRaycastCCD.hPxMat33.hPxQuat.h

Go to the source code of this file.

Functions

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 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 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 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 		PxPow (float x, float y)
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 		PxLog (float x)

Variables

static const float | PxPi = float(3.141592653589793)
static const float | PxHalfPi = float(1.57079632679489661923)
static const float | PxTwoPi = float(6.28318530717958647692)
static const float | PxInvPi = float(0.31830988618379067154)
static const float | PxInvTwoPi = float(0.15915494309189533577)
static const float | PxPiDivTwo = float(1.57079632679489661923)
static const float | PxPiDivFour = float(0.78539816339744830962)


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMathUtils.h File Reference

PxMathUtils.h File Reference

#include "foundation/Px.h"

Include dependency graph for PxMathUtils.h:

foundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxMassProperties.hPxExtensionsAPI.hPxRigidBodyExt.h

Go to the source code of this file.

Functions

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)


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMemory.h File Reference

PxMemory.h File Reference

#include "foundation/Px.h"
#include "foundation/PxIntrinsics.h"
#include "foundation/PxSimpleTypes.h"

Include dependency graph for PxMemory.h:

foundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxIntrinsics.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxCoreUtilityTypes.hPxVehicleComponents.hPxSimulationEventCallback.hPxVehicleUpdate.hPxConvexMeshGeometry.hPxPhysicsAPI.hPxTriangleMeshGeometry.hPxHeightFieldGeometry.hPxHeightFieldDesc.hPxSimpleTriangleMesh.hPxConvexMeshDesc.hPxGeometryHelpers.hPxMassProperties.hPxShape.hPxVolumeCache.hPxRigidActor.hPxShapeExt.hPxBatchQuery.hPxContactModifyCallback.hPxPhysics.hPxRigidBody.hPxRigidStatic.hPxJoint.hPxRigidActorExt.hPxArticulationLink.hPxRigidDynamic.hPxRigidBodyExt.hPxVehicleWheels.hPxVehicleDrive.hPxVehicleDrive4W.hPxVehicleDriveTank.hPxVehicleDriveNW.hPxVehicleNoDrive.hPxVehicleUtilControl.hPxExtensionsAPI.hPxDistanceJoint.hPxFixedJoint.hPxJointLimit.hPxPrismaticJoint.hPxRevoluteJoint.hPxTriangleMeshDesc.hPxClothMeshDesc.hPxCooking.hPxSerialization.hPxRepXSimpleType.hPxRepXSerializer.hPxClothFabricCooker.hPxClothMeshQuadifier.hPxClothTetherCooker.h

Go to the source code of this file.

Functions

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.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMeshQuery.h File Reference

PxMeshQuery.h File Reference

#include "common/PxPhysXCommonConfig.h"
#include "PxQueryReport.h"

Include dependency graph for PxMeshQuery.h:

common/PxPhysXCommonConfig.hPxQueryReport.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hPxPhysXConfig.hfoundation/PxVec3.hfoundation/PxFlags.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Classes

class PxMeshQuery


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMeshScale.h File Reference

PxMeshScale.h File Reference

#include "common/PxPhysXCommonConfig.h"
#include "foundation/PxMat33.h"
#include "foundation/PxAssert.h"

Include dependency graph for PxMeshScale.h:

common/PxPhysXCommonConfig.hfoundation/PxMat33.hfoundation/PxAssert.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxVec3.hfoundation/PxQuat.hfoundation/PxMath.hfoundation/PxIntrinsics.h

This graph shows which files directly or indirectly include this file:

PxConvexMeshGeometry.hPxPhysicsAPI.hPxTriangleMeshGeometry.hPxGeometryHelpers.hPxMassProperties.hPxShape.hPxVolumeCache.hPxRigidActor.hPxShapeExt.hPxBatchQuery.hPxContactModifyCallback.hPxPhysics.hPxRigidBody.hPxRigidStatic.hPxJoint.hPxRigidActorExt.hPxArticulationLink.hPxRigidDynamic.hPxRigidBodyExt.hPxVehicleWheels.hPxVehicleDrive.hPxVehicleDrive4W.hPxVehicleDriveTank.hPxVehicleDriveNW.hPxVehicleNoDrive.hPxVehicleUtilControl.hPxExtensionsAPI.hPxDistanceJoint.hPxFixedJoint.hPxJointLimit.hPxPrismaticJoint.hPxRevoluteJoint.hPxSphericalJoint.hPxD6Joint.hPxHeightFieldGeometry.h

Go to the source code of this file.

Classes

class | PxMeshScale
A class expressing a nonuniform scaling transformation. More...

Defines

#define | PX_MESH_SCALE_MIN 1e-6f
Minimum allowed absolute magnitude for each of mesh scale's components (x,y,z).
#define | PX_MESH_SCALE_MAX 1e6f
Maximum allowed absolute magnitude for each of mesh scale's components (x,y,z).


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMetaData.h File Reference

PxMetaData.h File Reference

#include "foundation/Px.h"
#include "foundation/PxIO.h"
#include "PxMetaDataFlags.h"

Include dependency graph for PxMetaData.h:

foundation/Px.hfoundation/PxIO.hPxMetaDataFlags.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Classes

struct | PxMetaDataEntry
Struct to store meta data definitions. More...

Defines

#define | PX_STORE_METADATA(stream, metaData) stream.write(&metaData, sizeof(PxMetaDataEntry))
#define | PX_SIZE_OF(Class, Member) sizeof((reinterpret_cast<Class*>(0))->Member)
#define | PX_DEF_BIN_METADATA_ITEM(stream, Class, type, name, flags)
specifies a binary metadata entry for a member variable of a class
#define | PX_DEF_BIN_METADATA_ITEMS(stream, Class, type, name, flags, count)
specifies a binary metadata entry for a member array variable of a class
#define | PX_DEF_BIN_METADATA_ITEMS_AUTO(stream, Class, type, name, flags)
specifies a binary metadata entry for a member array variable of a class
#define | PX_DEF_BIN_METADATA_CLASS(stream, Class)
specifies a binary metadata entry for a class
#define | PX_DEF_BIN_METADATA_VCLASS(stream, Class)
specifies a binary metadata entry for a virtual class
#define | PX_DEF_BIN_METADATA_TYPEDEF(stream, newType, oldType)
specifies a binary metadata entry for a typedef
#define | PX_DEF_BIN_METADATA_BASE_CLASS(stream, Class, BaseClass)
specifies a binary metadata entry for declaring a base class
#define | PX_DEF_BIN_METADATA_UNION(stream, Class, name)
specifies a binary metadata entry for a union
#define | PX_DEF_BIN_METADATA_UNION_TYPE(stream, Class, type, enumValue)
specifies a binary metadata entry for a particular member type of a union
#define | PX_DEF_BIN_METADATA_EXTRA_ITEM(stream, Class, type, control, align)
specifies a binary metadata entry for extra data
#define | PX_DEF_BIN_METADATA_EXTRA_ITEMS(stream, Class, type, control, count, flags, align)
specifies a binary metadata entry for an array of extra data
#define | PX_DEF_BIN_METADATA_EXTRA_ITEMS_MASKED_CONTROL(stream, Class, type, control, controlMask,count, flags, align)
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
#define | PX_DEF_BIN_METADATA_EXTRA_ARRAY(stream, Class, type, dyn_count, align, flags)
specifies a binary metadata entry for an array of extra data
#define | PX_DEF_BIN_METADATA_EXTRA_NAME(stream, Class, control, align)
specifies a binary metadata entry for an string of extra data
#define | PX_DEF_BIN_METADATA_EXTRA_ALIGN(stream, Class, align)
specifies a binary metadata entry declaring an extra data alignment for a class


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMetaDataFlags.h File Reference

PxMetaDataFlags.h File Reference

#include "foundation/Px.h"

Include dependency graph for PxMetaDataFlags.h:

foundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxMetaData.hPxPhysicsAPI.h

Go to the source code of this file.

Classes

struct PxMetaDataFlag
Flags used to configure binary meta data entries, typically set through PX_DEF_BIN_METADATA defines. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMidphaseDesc.h File Reference

PxMidphaseDesc.h File Reference

#include "geometry/PxTriangleMesh.h"
#include "cooking/PxBVH33MidphaseDesc.h"
#include "cooking/PxBVH34MidphaseDesc.h"

Include dependency graph for PxMidphaseDesc.h:

geometry/PxTriangleMesh.hcooking/PxBVH33MidphaseDesc.hcooking/PxBVH34MidphaseDesc.hfoundation/PxVec3.hfoundation/PxBounds3.hcommon/PxPhysXCommonConfig.hcommon/PxBase.hfoundation/PxMath.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxTransform.hfoundation/PxMat33.hfoundation/PxQuat.hfoundation/PxPlane.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hfoundation/PxFlags.h

This graph shows which files directly or indirectly include this file:

PxCooking.hPxPhysicsAPI.hPxSerialization.hPxRepXSimpleType.hPxExtensionsAPI.hPxRepXSerializer.h

Go to the source code of this file.

Classes

class PxMidphaseDesc
Structure describing parameters affecting midphase mesh structure. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxParticleBase.h File Reference

PxParticleBase.h File Reference

#include "PxPhysXConfig.h"
#include "foundation/PxBounds3.h"
#include "PxFiltering.h"
#include "particles/PxParticleBaseFlag.h"
#include "PxActor.h"
#include "particles/PxParticleCreationData.h"
#include "particles/PxParticleReadData.h"
#include "PxForceMode.h"

Include dependency graph for PxParticleBase.h:

PxPhysXConfig.hfoundation/PxBounds3.hPxFiltering.hparticles/PxParticleBaseFlag.hPxActor.hparticles/PxParticleCreationData.hparticles/PxParticleReadData.hPxForceMode.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxTransform.hfoundation/PxMat33.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/PxFlags.hPxClient.hcommon/PxBase.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hfoundation/PxStrideIterator.hPxLockedData.hPxParticleFlag.h

This graph shows which files directly or indirectly include this file:

PxParticleSystem.hPxPhysicsAPI.hPxParticleFluid.hPxScene.hPxSceneLock.hPxVolumeCache.hPxSceneQueryExt.hPxExtensionsAPI.h

Go to the source code of this file.

Classes

class PxParticleBase
The particle base class represents the shared module for particle based simulation. This class can't be instantiated. (deprecated). More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxParticleBaseFlag.h File Reference

PxParticleBaseFlag.h File Reference

#include "foundation/PxFlags.h"

Include dependency graph for PxParticleBaseFlag.h:

foundation/PxFlags.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxParticleBase.hPxPhysicsAPI.hPxParticleSystem.hPxParticleFluid.hPxScene.hPxSceneLock.hPxVolumeCache.hPxSceneQueryExt.hPxExtensionsAPI.h

Go to the source code of this file.

Classes

struct PxParticleBaseFlag
ParticleBase flags (deprecated). More...

Typedefs

typedef PX_DEPRECATED PxFlags
< PxParticleBaseFlag::Enum,
PxU16 > 		PxParticleBaseFlags
collection of set bits defined in PxParticleBaseFlag. (deprecated)


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxParticleCreationData.h File Reference

PxParticleCreationData.h File Reference

#include "PxPhysXConfig.h"
#include "foundation/PxVec3.h"
#include "foundation/PxStrideIterator.h"

Include dependency graph for PxParticleCreationData.h:

PxPhysXConfig.hfoundation/PxVec3.hfoundation/PxStrideIterator.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.h

This graph shows which files directly or indirectly include this file:

PxParticleBase.hPxPhysicsAPI.hPxParticleSystem.hPxParticleFluid.hPxScene.hPxSceneLock.hPxVolumeCache.hPxSceneQueryExt.hPxExtensionsAPI.h

Go to the source code of this file.

Classes

class PxParticleCreationData
Descriptor-like user-side class describing buffers for particle creation. (deprecated). More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxParticleExt.h File Reference

PxParticleExt.h File Reference

#include "PxPhysXConfig.h"
#include "foundation/PxStrideIterator.h"
#include "foundation/PxBounds3.h"

Include dependency graph for PxParticleExt.h:

PxPhysXConfig.hfoundation/PxStrideIterator.hfoundation/PxBounds3.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxAssert.hfoundation/PxTransform.hfoundation/PxMat33.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxIntrinsics.h

This graph shows which files directly or indirectly include this file:

PxExtensionsAPI.hPxPhysicsAPI.h

Go to the source code of this file.

Classes

class | PxParticleExt
extensions for the partice feature (deprecated) More...
struct | PxParticleExt::PxParticleExt::ParticleBounds
class | PxParticleExt::PxParticleExt::IndexPool
Class to manage particle indices. Extension particle index management can be useful if no application side particle index allocation functionality is available. An PxParticleExt::IndexPool instance is meant to be used for one PxParticleSystem/PxParticleFluid instance. The instance can be created with PxParticleExt::createIndexPool(). More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxParticleFlag.h File Reference

PxParticleFlag.h File Reference

#include "foundation/PxPreprocessor.h"

Include dependency graph for PxParticleFlag.h:

foundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxParticleReadData.hPxParticleBase.hPxParticleFluidReadData.hPxParticleSystem.hPxParticleFluid.hPxScene.hPxSceneLock.hPxVolumeCache.hPxSceneQueryExt.hPxExtensionsAPI.h

Go to the source code of this file.

Classes

struct PxParticleFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxParticleFluid.h File Reference

PxParticleFluid.h File Reference

#include "particles/PxParticleFluidReadData.h"
#include "particles/PxParticleBase.h"

Include dependency graph for PxParticleFluid.h:

particles/PxParticleFluidReadData.hparticles/PxParticleBase.hparticles/PxParticleReadData.hfoundation/PxStrideIterator.hfoundation/PxFlags.hPxLockedData.hPxParticleFlag.hfoundation/Px.hfoundation/PxAssert.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hPxPhysXConfig.hcommon/PxPhysXCommonConfig.hfoundation/PxBounds3.hPxFiltering.hparticles/PxParticleBaseFlag.hPxActor.hparticles/PxParticleCreationData.hPxForceMode.hfoundation/PxTransform.hfoundation/PxMat33.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxIntrinsics.hPxClient.hcommon/PxBase.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.h

This graph shows which files directly or indirectly include this file:

PxScene.hPxPhysicsAPI.hPxSceneLock.hPxVolumeCache.hPxSceneQueryExt.hPxExtensionsAPI.h

Go to the source code of this file.

Classes

class PxParticleFluid
The particle fluid class represents the main module for particle based fluid simulation. (deprecated) SPH (Smoothed Particle Hydrodynamics) is used to animate the particles. This class inherits the properties of the PxParticleBase class and adds particle-particle interactions. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxParticleFluidReadData.h File Reference

PxParticleFluidReadData.h File Reference

#include "particles/PxParticleReadData.h"

Include dependency graph for PxParticleFluidReadData.h:

particles/PxParticleReadData.hfoundation/PxStrideIterator.hfoundation/PxFlags.hPxLockedData.hPxParticleFlag.hfoundation/Px.hfoundation/PxAssert.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hPxPhysXConfig.hcommon/PxPhysXCommonConfig.h

This graph shows which files directly or indirectly include this file:

PxParticleFluid.hPxPhysicsAPI.hPxScene.hPxSceneLock.hPxVolumeCache.hPxSceneQueryExt.hPxExtensionsAPI.h

Go to the source code of this file.

Classes

class PxParticleFluidReadData
Data layout descriptor for reading fluid particle data from the SDK. (deprecated). More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxParticleGpu.h File Reference

PxParticleGpu.h File Reference

#include "PxPhysXConfig.h"

Include dependency graph for PxParticleGpu.h:

PxPhysXConfig.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

Go to the source code of this file.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxParticleReadData.h File Reference

PxParticleReadData.h File Reference

#include "foundation/PxStrideIterator.h"
#include "foundation/PxFlags.h"
#include "PxLockedData.h"
#include "PxParticleFlag.h"

Include dependency graph for PxParticleReadData.h:

foundation/PxStrideIterator.hfoundation/PxFlags.hPxLockedData.hPxParticleFlag.hfoundation/Px.hfoundation/PxAssert.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hPxPhysXConfig.hcommon/PxPhysXCommonConfig.h

This graph shows which files directly or indirectly include this file:

PxParticleBase.hPxPhysicsAPI.hPxParticleFluidReadData.hPxParticleSystem.hPxParticleFluid.hPxScene.hPxSceneLock.hPxVolumeCache.hPxSceneQueryExt.hPxExtensionsAPI.h

Go to the source code of this file.

Classes

struct | PxParticleReadDataFlag
class | PxParticleReadData
Data layout descriptor for reading particle data from the SDK. (deprecated). More...

Typedefs

typedef PX_DEPRECATED PxFlags
< PxParticleReadDataFlag::Enum,
PxU16 > 		PxParticleReadDataFlags
collection of set bits defined in PxParticleReadDataFlag. (deprecated)
typedef PX_DEPRECATED PxFlags
< PxParticleFlag::Enum, PxU16 > 		PxParticleFlags
collection of set bits defined in PxParticleFlag. (deprecated)


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxParticleSystem.h File Reference

PxParticleSystem.h File Reference

#include "particles/PxParticleBase.h"

Include dependency graph for PxParticleSystem.h:

particles/PxParticleBase.hPxPhysXConfig.hfoundation/PxBounds3.hPxFiltering.hparticles/PxParticleBaseFlag.hPxActor.hparticles/PxParticleCreationData.hparticles/PxParticleReadData.hPxForceMode.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxTransform.hfoundation/PxMat33.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/PxFlags.hPxClient.hcommon/PxBase.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hfoundation/PxStrideIterator.hPxLockedData.hPxParticleFlag.h

This graph shows which files directly or indirectly include this file:

PxScene.hPxPhysicsAPI.hPxSceneLock.hPxVolumeCache.hPxSceneQueryExt.hPxExtensionsAPI.h

Go to the source code of this file.

Classes

class PxParticleSystem
The particle system class represents the main module for particle based simulation. (deprecated). More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPhysics.h File Reference

PxPhysics.h File Reference

#include "PxPhysXConfig.h"
#include "PxDeletionListener.h"
#include "foundation/PxTransform.h"
#include "PxShape.h"
#include "cloth/PxClothTypes.h"
#include "cloth/PxClothFabric.h"

Include dependency graph for PxPhysics.h:

PxPhysXConfig.hPxDeletionListener.hfoundation/PxTransform.hPxShape.hcloth/PxClothTypes.hcloth/PxClothFabric.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hcommon/PxBase.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hfoundation/PxFlags.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.hgeometry/PxGeometry.hgeometry/PxGeometryHelpers.hPxBoxGeometry.hPxSphereGeometry.hPxCapsuleGeometry.hPxPlaneGeometry.hPxConvexMeshGeometry.hPxTriangleMeshGeometry.hPxHeightFieldGeometry.hfoundation/PxUnionCast.hgeometry/PxMeshScale.hcommon/PxCoreUtilityTypes.hgeometry/PxConvexMesh.hfoundation/PxMat33.hfoundation/PxMemory.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxRigidActorExt.hPxExtensionsAPI.h

Go to the source code of this file.

Classes

class | PxPhysics
Abstract singleton factory class used for instancing objects in the Physics SDK. More...

Functions

PX_C_EXPORT PX_PHYSX_CORE_API
void PX_CALL_CONV 		PxRegisterArticulations (physx::PxPhysics &physics)
Enables the usage of the articulations feature. This function is called automatically inside PxCreatePhysics(). On resource constrained platforms, it is possible to call PxCreateBasePhysics() and then NOT call this function to save on code memory if your application does not use articulations. In this case the linker should strip out the relevant implementation code from the library. If you need to use articulations but not some other optional component, you shoud call PxCreateBasePhysics() followed by this call.
PX_C_EXPORT PX_PHYSX_CORE_API
void PX_CALL_CONV 		PxRegisterHeightFields (physx::PxPhysics &physics)
Enables the usage of the heightfield feature.
PX_DEPRECATED PX_C_EXPORT
PX_PHYSX_CORE_API void
PX_CALL_CONV 		PxRegisterLegacyHeightFields (physx::PxPhysics &physics)
Enables the usage of the legacy heightfield feature.
PX_DEPRECATED PX_INLINE void
PX_CALL_CONV 		PxRegisterUnifiedHeightFields (physx::PxPhysics &physics)
Enables the usage of the unified heightfield feature.
PX_DEPRECATED PX_C_EXPORT
PX_PHYSX_CORE_API void
PX_CALL_CONV 		PxRegisterCloth (physx::PxPhysics &physics)
Enables the usage of the cloth feature. This function is called automatically inside PxCreatePhysics(). On resource constrained platforms, it is possible to call PxCreateBasePhysics() and then NOT call this function to save on code memory if your application does not use cloth. In this case the linker should strip out the relevant implementation code from the library. If you need to use cloth but not some other optional component, you shoud call PxCreateBasePhysics() followed by this call.
PX_DEPRECATED PX_C_EXPORT
PX_PHYSX_CORE_API void
PX_CALL_CONV 		PxRegisterParticles (physx::PxPhysics &physics)
Enables the usage of the particles feature. This function is called automatically inside PxCreatePhysics(). (deprecated) On resource constrained platforms, it is possible to call PxCreateBasePhysics() and then NOT call this function to save on code memory if your application does not use particles. In this case the linker should strip out the relevant implementation code from the library. If you need to use particles but not some other optional component, you shoud call PxCreateBasePhysics() followed by this call.
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::PxPvd *pvd=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::PxPvd *pvd=NULL)
Creates an instance of the physics SDK.
PX_C_EXPORT PX_PHYSX_CORE_API
physx::PxPhysics &PX_CALL_CONV 		PxGetPhysics ()
Retrieves the Physics SDK after it has been created.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPhysicsAPI.h File Reference

Main Page Class Hierarchy Compound List Compound Members

PxPhysicsAPI.h File Reference

#include "foundation/Px.h"
#include "foundation/PxAllocatorCallback.h"
#include "foundation/PxAssert.h"
#include "foundation/PxBitAndData.h"
#include "foundation/PxBounds3.h"
#include "foundation/PxErrorCallback.h"
#include "foundation/PxErrors.h"
#include "foundation/PxFlags.h"
#include "foundation/PxFoundation.h"
#include "foundation/PxFoundationVersion.h"
#include "foundation/PxIntrinsics.h"
#include "foundation/PxIO.h"
#include "foundation/PxMat33.h"
#include "foundation/PxMat44.h"
#include "foundation/PxMath.h"
#include "foundation/PxMathUtils.h"
#include "foundation/PxPlane.h"
#include "foundation/PxPreprocessor.h"
#include "foundation/PxQuat.h"
#include "foundation/PxSimpleTypes.h"
#include "foundation/PxStrideIterator.h"
#include "foundation/PxTransform.h"
#include "foundation/PxUnionCast.h"
#include "foundation/PxVec2.h"
#include "foundation/PxVec3.h"
#include "foundation/PxVec4.h"
#include "common/PxCoreUtilityTypes.h"
#include "common/PxPhysXCommonConfig.h"
#include "common/PxRenderBuffer.h"
#include "common/PxBase.h"
#include "common/PxTolerancesScale.h"
#include "common/PxTypeInfo.h"
#include "common/PxStringTable.h"
#include "common/PxSerializer.h"
#include "common/PxMetaData.h"
#include "common/PxMetaDataFlags.h"
#include "common/PxSerialFramework.h"
#include "common/PxPhysicsInsertionCallback.h"
#include "task/PxTask.h"
#include "geometry/PxBoxGeometry.h"
#include "geometry/PxCapsuleGeometry.h"
#include "geometry/PxConvexMesh.h"
#include "geometry/PxConvexMeshGeometry.h"
#include "geometry/PxGeometry.h"
#include "geometry/PxGeometryHelpers.h"
#include "geometry/PxGeometryQuery.h"
#include "geometry/PxHeightField.h"
#include "geometry/PxHeightFieldDesc.h"
#include "geometry/PxHeightFieldFlag.h"
#include "geometry/PxHeightFieldGeometry.h"
#include "geometry/PxHeightFieldSample.h"
#include "geometry/PxMeshQuery.h"
#include "geometry/PxMeshScale.h"
#include "geometry/PxPlaneGeometry.h"
#include "geometry/PxSimpleTriangleMesh.h"
#include "geometry/PxSphereGeometry.h"
#include "geometry/PxTriangle.h"
#include "geometry/PxTriangleMesh.h"
#include "geometry/PxTriangleMeshGeometry.h"
#include "PxActor.h"
#include "PxAggregate.h"
#include "PxArticulation.h"
#include "PxArticulationJoint.h"
#include "PxArticulationLink.h"
#include "PxBatchQuery.h"
#include "PxBatchQueryDesc.h"
#include "PxClient.h"
#include "PxConstraint.h"
#include "PxConstraintDesc.h"
#include "PxContact.h"
#include "PxContactModifyCallback.h"
#include "PxDeletionListener.h"
#include "PxFiltering.h"
#include "PxForceMode.h"
#include "PxLockedData.h"
#include "PxMaterial.h"
#include "PxPhysics.h"
#include "PxPhysicsVersion.h"
#include "PxPhysXConfig.h"
#include "PxQueryFiltering.h"
#include "PxQueryReport.h"
#include "PxRigidActor.h"
#include "PxRigidBody.h"
#include "PxRigidDynamic.h"
#include "PxRigidStatic.h"
#include "PxScene.h"
#include "PxSceneDesc.h"
#include "PxSceneLock.h"
#include "PxShape.h"
#include "PxSimulationEventCallback.h"
#include "PxSimulationStatistics.h"
#include "PxSpatialIndex.h"
#include "PxVisualizationParameter.h"
#include "PxVolumeCache.h"
#include "PxPruningStructure.h"
#include "characterkinematic/PxBoxController.h"
#include "characterkinematic/PxCapsuleController.h"
#include "characterkinematic/PxCharacter.h"
#include "characterkinematic/PxController.h"
#include "characterkinematic/PxControllerBehavior.h"
#include "characterkinematic/PxControllerManager.h"
#include "characterkinematic/PxControllerObstacles.h"
#include "characterkinematic/PxExtended.h"
#include "cloth/PxCloth.h"
#include "cloth/PxClothCollisionData.h"
#include "cloth/PxClothFabric.h"
#include "cloth/PxClothParticleData.h"
#include "cloth/PxClothTypes.h"
#include "cooking/Pxc.h"
#include "cooking/PxConvexMeshDesc.h"
#include "cooking/PxCooking.h"
#include "cooking/PxTriangleMeshDesc.h"
#include "cooking/PxBVH33MidphaseDesc.h"
#include "cooking/PxBVH34MidphaseDesc.h"
#include "cooking/PxMidphaseDesc.h"
#include "extensions/PxDefaultStreams.h"
#include "extensions/PxDistanceJoint.h"
#include "extensions/PxExtensionsAPI.h"
#include "extensions/PxFixedJoint.h"
#include "extensions/PxJoint.h"
#include "extensions/PxJointLimit.h"
#include "extensions/PxParticleExt.h"
#include "extensions/PxPrismaticJoint.h"
#include "extensions/PxRevoluteJoint.h"
#include "extensions/PxRigidBodyExt.h"
#include "extensions/PxShapeExt.h"
#include "extensions/PxSimpleFactory.h"
#include "extensions/PxSmoothNormals.h"
#include "extensions/PxSphericalJoint.h"
#include "extensions/PxStringTableExt.h"
#include "extensions/PxTriangleMeshExt.h"
#include "extensions/PxConvexMeshExt.h"
#include "extensions/PxSerialization.h"
#include "extensions/PxBinaryConverter.h"
#include "extensions/PxRepXSerializer.h"
#include "particles/PxParticleBase.h"
#include "particles/PxParticleBaseFlag.h"
#include "particles/PxParticleCreationData.h"
#include "particles/PxParticleFlag.h"
#include "particles/PxParticleFluid.h"
#include "particles/PxParticleFluidReadData.h"
#include "particles/PxParticleReadData.h"
#include "particles/PxParticleSystem.h"
#include "vehicle/PxVehicleComponents.h"
#include "vehicle/PxVehicleDrive.h"
#include "vehicle/PxVehicleDrive4W.h"
#include "vehicle/PxVehicleDriveTank.h"
#include "vehicle/PxVehicleSDK.h"
#include "vehicle/PxVehicleShaders.h"
#include "vehicle/PxVehicleTireFriction.h"
#include "vehicle/PxVehicleUpdate.h"
#include "vehicle/PxVehicleUtilControl.h"
#include "vehicle/PxVehicleUtilSetup.h"
#include "vehicle/PxVehicleUtilTelemetry.h"
#include "vehicle/PxVehicleWheels.h"
#include "vehicle/PxVehicleNoDrive.h"
#include "vehicle/PxVehicleDriveNW.h"
#include "pvd/PxPvdSceneClient.h"
#include "pvd/PxPvd.h"
#include "pvd/PxPvdTransport.h"

Go to the source code of this file.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPhysicsInsertionCallback.h File Reference

PxPhysicsInsertionCallback.h File Reference

#include "PxBase.h"

Include dependency graph for PxPhysicsInsertionCallback.h:

PxBase.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hfoundation/PxFlags.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Classes

class PxPhysicsInsertionCallback
Callback interface that permits PxCooking to insert a TriangleMesh, HeightfieldMesh or ConvexMesh directly into PxPhysics without the need to store the cooking results into a stream. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPhysicsSerialization.h File Reference

PxPhysicsSerialization.h File Reference

#include "PxPhysXConfig.h"
#include "common/PxSerialFramework.h"

Include dependency graph for PxPhysicsSerialization.h:

PxPhysXConfig.hcommon/PxSerialFramework.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

Go to the source code of this file.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPhysicsVersion.h File Reference

PxPhysicsVersion.h File Reference

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Defines

#define | PX_PHYSICS_VERSION_MAJOR 3
#define | PX_PHYSICS_VERSION_MINOR 4
#define | PX_PHYSICS_VERSION_BUGFIX 2
#define | PX_PHYSICS_VERSION ((PX_PHYSICS_VERSION_MAJOR<<24) + (PX_PHYSICS_VERSION_MINOR<<16) + (PX_PHYSICS_VERSION_BUGFIX<<8) + 0)


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPhysXCommonConfig.h File Reference

PxPhysXCommonConfig.h File Reference

#include "foundation/Px.h"

Include dependency graph for PxPhysXCommonConfig.h:

foundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxPhysXConfig.hPxPhysicsAPI.hPxGeometryQuery.hPxMeshQuery.hPxTriangleMeshExt.hPxConvexMeshExt.hPxBroadPhaseExt.hPxSerialFramework.hPxGeometry.hPxGeometryHelpers.hPxRenderBuffer.hPxTolerancesScale.hPxCooking.hPxTypeInfo.hPxHeightFieldDesc.hPxHeightFieldSample.hPxMeshScale.hPxSimpleTriangleMesh.hPxClothMeshDesc.hPxClothFabricCooker.hPxClothMeshQuadifier.hPxClothTetherCooker.hPxTriangle.hPxTriangleMesh.hPxDefaultStreams.hPxSimpleFactory.hPxSmoothNormals.hPxBinaryConverter.hPxDefaultAllocator.hPxDefaultCpuDispatcher.hPxRaycastCCD.hPxActor.hPxAggregate.hPxArticulation.hPxArticulationJoint.hPxArticulationLink.hPxShape.hPxBatchQuery.hPxContactModifyCallback.hPxBatchQueryDesc.hPxFiltering.hPxQueryFiltering.hPxQueryReport.hPxBroadPhase.hPxConstraint.hPxConstraintDesc.hPxDeletionListener.hPxImmediateMode.hPxLockedData.h

Go to the source code of this file.

Defines

#define | PX_PHYSX_CORE_API
#define | PX_PHYSX_GPU_API
#define | PX_PHYSX_COMMON_API

Typedefs

typedef PxU32 | PxTriangleID
typedef PxU16 | PxMaterialTableIndex


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPhysXConfig.h File Reference

PxPhysXConfig.h File Reference

#include "common/PxPhysXCommonConfig.h"

Include dependency graph for PxPhysXConfig.h:

common/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

Go to the source code of this file.

Defines

#define | PX_USE_PARTICLE_SYSTEM_API 1
#define | PX_USE_CLOTH_API 1


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPlane.h File Reference

PxPlane.h File Reference

#include "foundation/PxMath.h"
#include "foundation/PxVec3.h"

Include dependency graph for PxPlane.h:

foundation/PxMath.hfoundation/PxVec3.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/Px.hfoundation/PxSimpleTypes.h

This graph shows which files directly or indirectly include this file:

PxPlaneGeometry.hPxGeometryHelpers.hPxPhysicsAPI.hPxSimpleFactory.hPxTransform.hPxShape.hPxVolumeCache.hPxRigidActor.hPxShapeExt.hPxBatchQuery.hPxContactModifyCallback.hPxPhysics.hPxRigidBody.hPxRigidStatic.hPxJoint.hPxRigidActorExt.hPxRigidBodyExt.hPxExtensionsAPI.hPxDistanceJoint.hPxFixedJoint.hPxJointLimit.hPxPrismaticJoint.hPxRevoluteJoint.hPxSphericalJoint.hPxD6Joint.hPxSimulationEventCallback.hPxSpatialIndex.hPxExtended.hPxVehicleUpdate.hPxMassProperties.hPxBounds3.hPxMat44.hPxController.hPxControllerObstacles.hPxBoxController.hPxCapsuleController.hPxActor.hPxParticleBase.hPxBroadPhase.hPxSceneDesc.hPxRenderBuffer.hPxHeightFieldDesc.hPxTriangleMesh.hPxParticleExt.hPxCloth.hPxScene.hPxControllerManager.hPxCooking.hPxMidphaseDesc.h

Go to the source code of this file.

Classes

class PxPlane
Representation of a plane. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPlaneGeometry.h File Reference

PxPlaneGeometry.h File Reference

#include "foundation/PxPlane.h"
#include "foundation/PxTransform.h"
#include "geometry/PxGeometry.h"

Include dependency graph for PxPlaneGeometry.h:

foundation/PxPlane.hfoundation/PxTransform.hgeometry/PxGeometry.hfoundation/PxMath.hfoundation/PxVec3.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxQuat.hcommon/PxPhysXCommonConfig.hfoundation/PxFlags.h

This graph shows which files directly or indirectly include this file:

PxGeometryHelpers.hPxPhysicsAPI.hPxShape.hPxVolumeCache.hPxRigidActor.hPxShapeExt.hPxBatchQuery.hPxContactModifyCallback.hPxPhysics.hPxRigidBody.hPxRigidStatic.hPxJoint.hPxRigidActorExt.hPxArticulationLink.hPxRigidDynamic.hPxRigidBodyExt.hPxVehicleWheels.hPxVehicleDrive.hPxVehicleDrive4W.hPxVehicleDriveTank.hPxVehicleDriveNW.hPxVehicleNoDrive.hPxVehicleUtilControl.hPxExtensionsAPI.hPxDistanceJoint.hPxFixedJoint.hPxJointLimit.hPxPrismaticJoint.hPxRevoluteJoint.hPxSphericalJoint.hPxD6Joint.h

Go to the source code of this file.

Classes

class | PxPlaneGeometry
Class describing a plane geometry. More...

Functions

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 &transform)
creates a plane equation from a transform, such as the actor transform for a PxPlaneGeometry


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPreprocessor.h File Reference

PxPreprocessor.h File Reference

#include <stddef.h>
#include <ciso646>

Include dependency graph for PxPreprocessor.h:

This graph shows which files directly or indirectly include this file:

PxForceMode.hPxPhysicsAPI.hPxStringTable.hPxVisualizationParameter.hPxBVH33MidphaseDesc.hPxBVH34MidphaseDesc.hPxParticleFlag.hPxConstraintExt.hPxIntrinsics.hPxMath.hPxSimpleTypes.hPxCudaContextManager.hPxCudaMemoryManager.hPxGpuCopyDesc.hPxGpuCopyDescQueue.hPxTaskDefine.hPxRigidBody.hPxParticleBase.hPxArticulationLink.hPxRigidDynamic.hPxRigidBodyExt.hPxVehicleWheels.hPxExtensionsAPI.hPxStringTableExt.hPxSerialization.hPxRepXSimpleType.hPxScene.hPxMidphaseDesc.hPxParticleReadData.hPxMemory.hPxGeometry.hPxMassProperties.hPxJointLimit.hPxPlane.hPxVec2.hPxVec3.hPxVec4.hPxVehicleUtilTelemetry.hPxVehicleUpdate.hPxVehicleShaders.hPxVehicleTireFriction.hPxVehicleUtilSetup.hPx.hPxIO.hPxCpuDispatcher.hPxTaskManager.hPxTask.hPxGpuDispatcher.hPxGpuTask.h

Go to the source code of this file.

Classes

struct | PxPackValidation

Defines

#define | PX_STRINGIZE_HELPER(X) #X
#define | PX_STRINGIZE(X) PX_STRINGIZE_HELPER(X)
#define | PX_CONCAT_HELPER(X, Y) X##Y
#define | PX_CONCAT(X, Y) PX_CONCAT_HELPER(X, Y)
#define | PX_VC 0
#define | PX_CLANG 0
#define | PX_GCC 0
#define | PX_XBOXONE 0
#define | PX_WIN64 0
#define | PX_WIN32 0
#define | PX_ANDROID 0
#define | PX_LINUX 0
#define | PX_IOS 0
#define | PX_OSX 0
#define | PX_PS4 0
#define | PX_SWITCH 0
#define | PX_X64 0
#define | PX_X86 0
#define | PX_A64 0
#define | PX_ARM 0
#define | PX_PPC 0
#define | PX_SSE2 0
#define | PX_NEON 0
#define | PX_VMX 0
#define | PX_DEBUG 0
#define | PX_CHECKED 0
#define | PX_PROFILE 0
#define | PX_NVTX 0
#define | PX_GCC_FAMILY (PX_CLANG || PX_GCC)
#define | PX_WINDOWS_FAMILY (PX_WIN32 || PX_WIN64)
#define | PX_MICROSOFT_FAMILY (PX_XBOXONE || PX_WINDOWS_FAMILY)
#define | PX_LINUX_FAMILY (PX_LINUX || PX_ANDROID)
#define | PX_APPLE_FAMILY (PX_IOS || PX_OSX)
#define | PX_UNIX_FAMILY (PX_LINUX_FAMILY || PX_APPLE_FAMILY)
#define | PX_EMSCRIPTEN 0
#define | PX_INTEL_FAMILY (PX_X64 || PX_X86)
#define | PX_ARM_FAMILY (PX_ARM || PX_A64)
#define | PX_P64_FAMILY (PX_X64 || PX_A64)
#define | PX_LIBCPP 0
#define | PX_WINDOWS (PX_WINDOWS_FAMILY && !PX_ARM_FAMILY)
#define | PX_ENABLE_ASSERTS 0
#define | PX_UNIX_EXPORT
#define | PX_DLL_EXPORT PX_UNIX_EXPORT
#define | PX_DLL_IMPORT
#define | PX_PUSH_PACK_DEFAULT
#define | PX_POP_PACK
#define | PX_INLINE inline
#define | PX_FORCE_INLINE inline
#define | PX_NOINLINE
#define | PX_RESTRICT __restrict
#define | PX_NOALIAS
#define | PX_ALIGN(alignment, decl)
#define | PX_ALIGN_PREFIX(alignment)
#define | PX_ALIGN_SUFFIX(alignment)
#define | PX_DEPRECATED
#define | PX_COMPILE_TIME_ASSERT(exp) typedef char PxCompileTimeAssert_Dummy[(exp) ? 1 : -1]
#define | PX_OFFSET_OF(X, Y) offsetof(X, Y)
#define | PX_OFFSETOF_BASE 0x100
#define | PX_OFFSET_OF_RT(Class, Member) (reinterpret_cast<size_t>(&reinterpret_cast<Class*>(PX_OFFSETOF_BASE)->Member) - size_t(PX_OFFSETOF_BASE))
#define | PX_CUDA_CALLABLE
#define | PX_DUMMY_SYMBOL
#define | PX_WEAK_SYMBOL
#define | PX_NOCOPY(Class)
#define | PX_SUPPORT_GPU_PHYSX ((PX_WINDOWS_FAMILY) || (PX_LINUX && PX_X64))
#define | PX_SUPPORT_COMPUTE_PHYSX 0
#define | PX_SUPPORT_EXTERN_TEMPLATE ((!PX_ANDROID) && (PX_VC != 11))

Functions

template<class T >
PX_CUDA_CALLABLE PX_INLINE void | PX_UNUSED (T const &)
PX_COMPILE_TIME_ASSERT (PX_OFFSET_OF(PxPackValidation, a)==8)


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPrismaticJoint.h File Reference

PxPrismaticJoint.h File Reference

#include "extensions/PxJoint.h"
#include "extensions/PxJointLimit.h"

Include dependency graph for PxPrismaticJoint.h:

extensions/PxJoint.hextensions/PxJointLimit.hfoundation/PxTransform.hPxRigidActor.hcommon/PxBase.hPxConstraint.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/Px.hfoundation/PxSimpleTypes.hPxActor.hPxShape.hPxPhysXConfig.hfoundation/PxBounds3.hPxClient.hcommon/PxPhysXCommonConfig.hfoundation/PxMat33.hfoundation/PxFlags.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hgeometry/PxGeometry.hgeometry/PxGeometryHelpers.hPxBoxGeometry.hPxSphereGeometry.hPxCapsuleGeometry.hPxPlaneGeometry.hPxConvexMeshGeometry.hPxTriangleMeshGeometry.hPxHeightFieldGeometry.hfoundation/PxUnionCast.hgeometry/PxMeshScale.hcommon/PxCoreUtilityTypes.hgeometry/PxConvexMesh.hPxConstraintDesc.hcommon/PxTolerancesScale.h

This graph shows which files directly or indirectly include this file:

PxExtensionsAPI.hPxPhysicsAPI.h

Go to the source code of this file.

Classes

struct | PxPrismaticJointFlag
Flags specific to the prismatic joint. More...
class | PxPrismaticJoint
A prismatic joint permits relative translational movement between two bodies along an axis, but no relative rotational movement. More...

Typedefs

typedef PxFlags
< PxPrismaticJointFlag::Enum,
PxU16 > 		PxPrismaticJointFlags

Functions

PxPrismaticJoint * | PxPrismaticJointCreate (PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)
Create a prismatic joint.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxProfiler.h File Reference

PxProfiler.h File Reference

#include "foundation/PxFoundation.h"

Include dependency graph for PxProfiler.h:

foundation/PxFoundation.hfoundation/Px.hfoundation/PxErrors.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxPvd.hPxPhysicsAPI.hPxPvdTransport.h

Go to the source code of this file.

Classes

class | physx::PxProfilerCallback
The pure virtual callback interface for general purpose instrumentation and profiling of GameWorks modules as well as applications. More...
class | physx::PxProfileScoped

Namespaces

namespace | physx

Defines

#define | PX_PROFILE_ZONE(x, y)
#define | PX_PROFILE_START_CROSSTHREAD(x, y)
#define | PX_PROFILE_STOP_CROSSTHREAD(x, y)
#define | PX_PROFILE_POINTER_TO_U64(pointer) static_cast<uint64_t>(reinterpret_cast<size_t>(pointer))

Define Documentation

#define PX_PROFILE_POINTER_TO_U64 ( pointer ) static_cast<uint64_t>(reinterpret_cast<size_t>(pointer))

#define PX_PROFILE_START_CROSSTHREAD | ( | x,
 |  | y | )

#define PX_PROFILE_STOP_CROSSTHREAD | ( | x,
 |  | y | )

#define PX_PROFILE_ZONE | ( | x,
 |  | y | )


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPruningStructure.h File Reference

PxPruningStructure.h File Reference

#include "PxPhysXConfig.h"
#include "common/PxBase.h"

Include dependency graph for PxPruningStructure.h:

PxPhysXConfig.hcommon/PxBase.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hfoundation/PxFlags.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Classes

class PxPruningStructure
A precomputed pruning structure to accelerate scene queries against newly added actors. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPvd.h File Reference

PxPvd.h File Reference

#include "foundation/PxFlags.h"
#include "foundation/PxProfiler.h"

Include dependency graph for PxPvd.h:

foundation/PxFlags.hfoundation/PxProfiler.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxFoundation.hfoundation/PxErrors.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxPvdTransport.h

Go to the source code of this file.

Classes

struct | PxPvdInstrumentationFlag
types of instrumentation that PVD can do. 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...

Typedefs

typedef PxFlags
< PxPvdInstrumentationFlag::Enum,
uint8_t > 		PxPvdInstrumentationFlags
Bitfield that contains a set of raised flags defined in PxPvdInstrumentationFlag.

Functions

PX_PVDSDK_API PxPvd *PX_CALL_CONV | PxCreatePvd (PxFoundation &foundation)
Create a pvd instance.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPvdSceneClient.h File Reference

PxPvdSceneClient.h File Reference

#include "foundation/PxFlags.h"

Include dependency graph for PxPvdSceneClient.h:

foundation/PxFlags.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxScene.hPxPhysicsAPI.hPxSceneLock.hPxVolumeCache.hPxSceneQueryExt.hPxExtensionsAPI.h

Go to the source code of this file.

Classes

struct | PxPvdSceneFlag
PVD scene Flags. They are disabled by default, and only works if PxPvdInstrumentationFlag::eDEBUG is set. 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...

Namespaces

namespace | physx
namespace | physx::pvdsdk

Typedefs

typedef PxFlags
< PxPvdSceneFlag::Enum, PxU8 > 		PxPvdSceneFlags
Bitfield that contains a set of raised flags defined in PxPvdSceneFlag.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPvdTransport.h File Reference

PxPvdTransport.h File Reference

#include "foundation/PxErrors.h"
#include "foundation/PxFlags.h"
#include "pvd/PxPvd.h"

Include dependency graph for PxPvdTransport.h:

foundation/PxErrors.hfoundation/PxFlags.hpvd/PxPvd.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxProfiler.hfoundation/PxFoundation.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Classes

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

Functions

PX_PVDSDK_API PxPvdTransport
*PX_CALL_CONV 		PxDefaultPvdSocketTransportCreate (const char *host, int port, unsigned int timeoutInMilliseconds)
Create a default socket transport.
PX_PVDSDK_API PxPvdTransport
*PX_CALL_CONV 		PxDefaultPvdFileTransportCreate (const char *name)
Create a default file transport.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxQuat.h File Reference

PxQuat.h File Reference

#include "foundation/PxVec3.h"

Include dependency graph for PxQuat.h:

foundation/PxVec3.hfoundation/PxMath.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/Px.hfoundation/PxSimpleTypes.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxMassProperties.hPxMat33.hPxMat44.hPxTransform.hPxExtensionsAPI.hPxRigidBodyExt.hPxRenderBuffer.hPxMeshScale.hPxBounds3.hPxControllerManager.hPxConvexMeshGeometry.hPxTriangleMeshGeometry.hPxGeometryHelpers.hPxShape.hPxVolumeCache.hPxRigidActor.hPxContactModifyCallback.hPxPhysics.hPxJoint.hPxRigidActorExt.hPxDistanceJoint.hPxFixedJoint.hPxJointLimit.hPxPrismaticJoint.hPxRevoluteJoint.hPxSphericalJoint.hPxD6Joint.hPxHeightFieldGeometry.hPxActor.hPxParticleBase.hPxBroadPhase.hPxSceneDesc.hPxHeightFieldDesc.hPxTriangleMesh.hPxParticleExt.hPxCloth.hPxParticleSystem.hPxScene.hPxCooking.hPxMidphaseDesc.hPxPlaneGeometry.hPxSimulationEventCallback.hPxSpatialIndex.hPxExtended.hPxSimpleFactory.hPxVehicleUpdate.hPxController.hPxControllerObstacles.h

Go to the source code of this file.

Classes

class PxQuat
This is a quaternion class. For more information on quaternion mathematics consult a mathematics source on complex numbers. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxQueryFiltering.h File Reference

PxQueryFiltering.h File Reference

#include "PxPhysXConfig.h"
#include "PxFiltering.h"
#include "PxQueryReport.h"
#include "PxClient.h"

Include dependency graph for PxQueryFiltering.h:

PxPhysXConfig.hPxFiltering.hPxQueryReport.hPxClient.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxFlags.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.h

This graph shows which files directly or indirectly include this file:

PxBatchQueryDesc.hPxBatchQuery.hPxPhysicsAPI.hPxScene.hPxController.hPxRigidBodyExt.hPxVehicleUpdate.hPxSceneLock.hPxVolumeCache.hPxSceneQueryExt.hPxExtensionsAPI.hPxBoxController.hPxCapsuleController.h

Go to the source code of this file.

Classes

struct | PxQueryFlag
Filtering flags for scene queries. More...
struct | PxQueryHitType
Classification of scene query hits (intersections). More...
struct | PxQueryFilterData
Scene query filtering data. More...
class | PxQueryFilterCallback
Scene query filtering callbacks. More...

Typedefs

typedef PxFlags
< PxQueryFlag::Enum, PxU16 > 		PxQueryFlags
Flags typedef for the set of bits defined in PxQueryFlag.
typedef PX_DEPRECATED
PxQueryHitType::Enum(* 		PxBatchQueryPreFilterShader )(PxFilterData queryFilterData, PxFilterData objectFilterData, const void *constantBlock, PxU32 constantBlockSize, PxHitFlags &hitFlags)
Batched query pre-filter shader.
typedef PX_DEPRECATED
PxQueryHitType::Enum(* 		PxBatchQueryPostFilterShader )(PxFilterData queryFilterData, PxFilterData objectFilterData, const void *constantBlock, PxU32 constantBlockSize, const PxQueryHit &hit)
Batched query post-filter shader.

Functions

PX_COMPILE_TIME_ASSERT (PxQueryFlag::eSTATIC==(1<< 0))
PX_COMPILE_TIME_ASSERT (PxQueryFlag::eDYNAMIC==(1<< 1))


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxQueryReport.h File Reference

PxQueryReport.h File Reference

#include "PxPhysXConfig.h"
#include "foundation/PxVec3.h"
#include "foundation/PxFlags.h"

Include dependency graph for PxQueryReport.h:

PxPhysXConfig.hfoundation/PxVec3.hfoundation/PxFlags.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.h

This graph shows which files directly or indirectly include this file:

PxQueryFiltering.hPxPhysicsAPI.hPxScene.hPxRigidBodyExt.hPxGeometryQuery.hPxMeshQuery.hPxSpatialIndex.hPxBatchQueryDesc.hPxBatchQuery.hPxController.hPxVehicleUpdate.hPxSceneLock.hPxVolumeCache.hPxSceneQueryExt.hPxExtensionsAPI.hPxBoxController.hPxCapsuleController.hPxShapeExt.h

Go to the source code of this file.

Classes

struct | PxHitFlag
Scene query and geometry query behavior flags. More...
struct | PxActorShape
collection of set bits defined in PxHitFlag. More...
struct | PxQueryHit
Scene query hit information. More...
struct | PxLocationHit
Scene query hit information for raycasts and sweeps returning hit position and normal information. More...
struct | PxRaycastHit
Stores results of raycast queries. More...
struct | PxOverlapHit
Stores results of overlap queries. More...
struct | PxSweepHit
Stores results of sweep queries. More...
struct | PxHitCallback< HitType >
This callback class facilitates reporting scene query hits (intersections) to the user. More...
struct | PxHitBuffer< HitType >
Returns scene query hits (intersections) to the user in a preallocated buffer. More...
struct | PxRaycastBufferN< N >
Returns touching raycast hits to the user in a fixed size array embedded in the buffer class. More...
struct | PxOverlapBufferN< N >
Returns touching overlap hits to the user in a fixed size array embedded in the buffer class. More...
struct | PxSweepBufferN< N >
Returns touching sweep hits to the user in a fixed size array embedded in the buffer class. More...

Typedefs

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.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRaycastCCD.h File Reference

PxRaycastCCD.h File Reference

#include "common/PxPhysXCommonConfig.h"
#include "foundation/PxVec3.h"

Include dependency graph for PxRaycastCCD.h:

common/PxPhysXCommonConfig.hfoundation/PxVec3.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.h

Go to the source code of this file.

Classes

class RaycastCCDManager
Raycast-CCD manager. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRenderBuffer.h File Reference

PxRenderBuffer.h File Reference

#include "common/PxPhysXCommonConfig.h"
#include "foundation/PxVec3.h"
#include "foundation/PxMat33.h"
#include "foundation/PxBounds3.h"

Include dependency graph for PxRenderBuffer.h:

common/PxPhysXCommonConfig.hfoundation/PxVec3.hfoundation/PxMat33.hfoundation/PxBounds3.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/PxQuat.hfoundation/PxTransform.hfoundation/PxPlane.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxControllerManager.h

Go to the source code of this file.

Classes

struct | PxDebugColor
Default color values used for debug rendering. More...
struct | PxDebugPoint
Used to store a single point and colour for debug rendering. More...
struct | PxDebugLine
Used to store a single line and colour for debug rendering. More...
struct | PxDebugTriangle
Used to store a single triangle and colour for debug rendering. More...
struct | PxDebugText
Used to store a text for debug rendering. Doesn't own 'string' array. More...
class | PxRenderBuffer
Interface for points, lines, triangles, and text buffer. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRepXSerializer.h File Reference

PxRepXSerializer.h File Reference

#include "common/PxBase.h"
#include "extensions/PxRepXSimpleType.h"

Include dependency graph for PxRepXSerializer.h:

common/PxBase.hextensions/PxRepXSimpleType.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hfoundation/PxFlags.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hcooking/PxCooking.hcommon/PxStringTable.hcommon/PxTolerancesScale.hcooking/Pxc.hcooking/PxConvexMeshDesc.hcooking/PxTriangleMeshDesc.hcooking/PxMidphaseDesc.hgeometry/PxTriangleMesh.hfoundation/PxVec3.hcommon/PxCoreUtilityTypes.hgeometry/PxConvexMesh.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/PxMemory.hPxPhysXConfig.hgeometry/PxSimpleTriangleMesh.hcooking/PxBVH33MidphaseDesc.hcooking/PxBVH34MidphaseDesc.hfoundation/PxBounds3.hfoundation/PxTransform.hfoundation/PxMat33.hfoundation/PxQuat.hfoundation/PxPlane.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Classes

class | PxRepXSerializer
Serializer interface for RepX (Xml) serialization. More...

Defines

#define | PX_NEW_REPX_SERIALIZER(T) *PX_PLACEMENT_NEW(PxGetFoundation().getAllocatorCallback().allocate(sizeof(T), "PxRepXSerializer", __FILE__, __LINE__ ), T)(PxGetFoundation().getAllocatorCallback())
Preprocessor macro for RepX serializer creation.
#define | PX_DELETE_REPX_SERIALIZER(x) { PxRepXSerializer* s = x; if (s) { PxGetFoundation().getAllocatorCallback().deallocate(s); } }
Preprocessor Macro to simplify RepX serializer delete.

Functions

template<typename TDataType >
PX_INLINE physx::PxRepXObject | PxCreateRepXObject (const TDataType *inType, const physx::PxSerialObjectId inId)
Inline helper template function to create PxRepXObject from TDataType type supporting PxTypeInfo<TDataType>::name.
PX_INLINE physx::PxRepXObject | PxCreateRepXObject (const physx::PxBase *inType, const physx::PxSerialObjectId inId)
Inline helper function to create PxRepXObject from a PxBase instance.
template<typename TDataType >
PX_INLINE physx::PxRepXObject | PxCreateRepXObject (const TDataType *inType)
Inline helper template function to create PxRepXObject form TDataType type using inType pointer as a PxSerialObjectId id.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRepXSimpleType.h File Reference

PxRepXSimpleType.h File Reference

#include "foundation/PxSimpleTypes.h"
#include "cooking/PxCooking.h"
#include "common/PxStringTable.h"
#include "common/PxSerialFramework.h"

Include dependency graph for PxRepXSimpleType.h:

foundation/PxSimpleTypes.hcooking/PxCooking.hPxSerialFramework.hcommon/PxStringTable.hfoundation/PxPreprocessor.hcommon/PxPhysXCommonConfig.hcommon/PxTolerancesScale.hcooking/Pxc.hcooking/PxConvexMeshDesc.hcooking/PxTriangleMeshDesc.hcooking/PxMidphaseDesc.hgeometry/PxTriangleMesh.hfoundation/Px.hfoundation/PxVec3.hfoundation/PxFlags.hcommon/PxCoreUtilityTypes.hgeometry/PxConvexMesh.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/PxMemory.hcommon/PxBase.hPxCollection.hcommon/PxTypeInfo.hPxPhysXConfig.hgeometry/PxSimpleTriangleMesh.hcooking/PxBVH33MidphaseDesc.hcooking/PxBVH34MidphaseDesc.hfoundation/PxBounds3.hfoundation/PxTransform.hfoundation/PxMat33.hfoundation/PxQuat.hfoundation/PxPlane.h

This graph shows which files directly or indirectly include this file:

PxRepXSerializer.hPxPhysicsAPI.h

Go to the source code of this file.

Classes

struct | PxRepXObject
Helper class containing the mapping of id to object, and type name. More...
struct | PxRepXInstantiationArgs
Arguments required to instantiate a serializable object from RepX. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRevoluteJoint.h File Reference

PxRevoluteJoint.h File Reference

#include "extensions/PxJoint.h"
#include "extensions/PxJointLimit.h"

Include dependency graph for PxRevoluteJoint.h:

extensions/PxJoint.hextensions/PxJointLimit.hfoundation/PxTransform.hPxRigidActor.hcommon/PxBase.hPxConstraint.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/Px.hfoundation/PxSimpleTypes.hPxActor.hPxShape.hPxPhysXConfig.hfoundation/PxBounds3.hPxClient.hcommon/PxPhysXCommonConfig.hfoundation/PxMat33.hfoundation/PxFlags.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hgeometry/PxGeometry.hgeometry/PxGeometryHelpers.hPxBoxGeometry.hPxSphereGeometry.hPxCapsuleGeometry.hPxPlaneGeometry.hPxConvexMeshGeometry.hPxTriangleMeshGeometry.hPxHeightFieldGeometry.hfoundation/PxUnionCast.hgeometry/PxMeshScale.hcommon/PxCoreUtilityTypes.hgeometry/PxConvexMesh.hPxConstraintDesc.hcommon/PxTolerancesScale.h

This graph shows which files directly or indirectly include this file:

PxExtensionsAPI.hPxPhysicsAPI.h

Go to the source code of this file.

Classes

struct | PxRevoluteJointFlag
Flags specific to the Revolute Joint. More...
class | PxRevoluteJoint
A joint which behaves in a similar way to a hinge or axle. More...

Typedefs

typedef PxFlags
< PxRevoluteJointFlag::Enum,
PxU16 > 		PxRevoluteJointFlags

Functions

PxRevoluteJoint * | PxRevoluteJointCreate (PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)
Create a revolute joint.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRigidActor.h File Reference

PxRigidActor.h File Reference

#include "PxActor.h"
#include "PxShape.h"

Include dependency graph for PxRigidActor.h:

PxActor.hPxShape.hPxPhysXConfig.hfoundation/PxBounds3.hPxClient.hcommon/PxBase.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxTransform.hfoundation/PxMat33.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/PxFlags.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hgeometry/PxGeometry.hgeometry/PxGeometryHelpers.hPxBoxGeometry.hPxSphereGeometry.hPxCapsuleGeometry.hPxPlaneGeometry.hPxConvexMeshGeometry.hPxTriangleMeshGeometry.hPxHeightFieldGeometry.hfoundation/PxUnionCast.hgeometry/PxMeshScale.hcommon/PxCoreUtilityTypes.hgeometry/PxConvexMesh.hfoundation/PxMemory.h

This graph shows which files directly or indirectly include this file:

PxRigidBody.hPxPhysicsAPI.hPxRigidStatic.hPxJoint.hPxShapeExt.hPxRigidActorExt.hPxArticulationLink.hPxRigidDynamic.hPxRigidBodyExt.hPxVehicleWheels.hPxVehicleDrive.hPxVehicleDrive4W.hPxVehicleDriveTank.hPxVehicleDriveNW.hPxVehicleNoDrive.hPxVehicleUtilControl.hPxExtensionsAPI.hPxDistanceJoint.hPxFixedJoint.hPxJointLimit.hPxPrismaticJoint.hPxRevoluteJoint.hPxSphericalJoint.hPxD6Joint.h

Go to the source code of this file.

Classes

class PxRigidActor
PxRigidActor represents a base class shared between dynamic and static rigid bodies in the physics SDK. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRigidActorExt.h File Reference

PxRigidActorExt.h File Reference

#include "PxPhysXConfig.h"
#include "PxPhysics.h"
#include "PxRigidActor.h"

Include dependency graph for PxRigidActorExt.h:

PxPhysXConfig.hPxPhysics.hPxRigidActor.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hPxDeletionListener.hfoundation/PxTransform.hPxShape.hcloth/PxClothTypes.hcloth/PxClothFabric.hcommon/PxBase.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hfoundation/PxFlags.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.hgeometry/PxGeometry.hgeometry/PxGeometryHelpers.hPxBoxGeometry.hPxSphereGeometry.hPxCapsuleGeometry.hPxPlaneGeometry.hPxConvexMeshGeometry.hPxTriangleMeshGeometry.hPxHeightFieldGeometry.hfoundation/PxUnionCast.hgeometry/PxMeshScale.hcommon/PxCoreUtilityTypes.hgeometry/PxConvexMesh.hfoundation/PxMat33.hfoundation/PxMemory.hPxActor.hfoundation/PxBounds3.hPxClient.h

This graph shows which files directly or indirectly include this file:

PxExtensionsAPI.hPxPhysicsAPI.h

Go to the source code of this file.

Classes

class PxRigidActorExt
utility functions for use with PxRigidActor and subclasses More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRigidBody.h File Reference

PxRigidBody.h File Reference

#include "PxRigidActor.h"
#include "PxForceMode.h"

Include dependency graph for PxRigidBody.h:

PxRigidActor.hPxForceMode.hPxActor.hPxShape.hPxPhysXConfig.hfoundation/PxBounds3.hPxClient.hcommon/PxBase.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxTransform.hfoundation/PxMat33.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/PxFlags.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hgeometry/PxGeometry.hgeometry/PxGeometryHelpers.hPxBoxGeometry.hPxSphereGeometry.hPxCapsuleGeometry.hPxPlaneGeometry.hPxConvexMeshGeometry.hPxTriangleMeshGeometry.hPxHeightFieldGeometry.hfoundation/PxUnionCast.hgeometry/PxMeshScale.hcommon/PxCoreUtilityTypes.hgeometry/PxConvexMesh.hfoundation/PxMemory.h

This graph shows which files directly or indirectly include this file:

PxArticulationLink.hPxPhysicsAPI.hPxRigidDynamic.hPxRigidBodyExt.hPxVehicleWheels.hPxVehicleDrive.hPxVehicleDrive4W.hPxVehicleDriveTank.hPxVehicleDriveNW.hPxVehicleNoDrive.hPxVehicleUtilControl.hPxExtensionsAPI.h

Go to the source code of this file.

Classes

struct | PxRigidBodyFlag
Collection of flags describing the behavior of a rigid body. More...
class | PxRigidBody
PxRigidBody is a base class shared between dynamic rigid body objects. More...

Typedefs

typedef PxFlags
< PxRigidBodyFlag::Enum, PxU8 > 		PxRigidBodyFlags
collection of set bits defined in PxRigidBodyFlag.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRigidBodyExt.h File Reference

PxRigidBodyExt.h File Reference

#include "PxPhysXConfig.h"
#include "PxRigidBody.h"
#include "PxQueryReport.h"
#include "PxQueryFiltering.h"
#include "extensions/PxMassProperties.h"

Include dependency graph for PxRigidBodyExt.h:

PxPhysXConfig.hPxRigidBody.hPxQueryReport.hPxQueryFiltering.hextensions/PxMassProperties.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hPxRigidActor.hPxForceMode.hPxActor.hPxShape.hfoundation/PxBounds3.hPxClient.hcommon/PxBase.hfoundation/PxTransform.hfoundation/PxMat33.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/PxFlags.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hgeometry/PxGeometry.hgeometry/PxGeometryHelpers.hPxBoxGeometry.hPxSphereGeometry.hPxCapsuleGeometry.hPxPlaneGeometry.hPxConvexMeshGeometry.hgeometry/PxMeshScale.hcommon/PxCoreUtilityTypes.hgeometry/PxConvexMesh.hfoundation/PxMemory.hPxFiltering.hfoundation/PxMathUtils.h

This graph shows which files directly or indirectly include this file:

PxExtensionsAPI.hPxPhysicsAPI.h

Go to the source code of this file.

Classes

class PxRigidBodyExt
utility functions for use with PxRigidBody and subclasses More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRigidDynamic.h File Reference

PxRigidDynamic.h File Reference

#include "PxRigidBody.h"

Include dependency graph for PxRigidDynamic.h:

PxRigidBody.hPxRigidActor.hPxForceMode.hPxActor.hPxShape.hPxPhysXConfig.hfoundation/PxBounds3.hPxClient.hcommon/PxBase.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxTransform.hfoundation/PxMat33.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/PxFlags.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hgeometry/PxGeometry.hgeometry/PxGeometryHelpers.hPxBoxGeometry.hPxSphereGeometry.hPxCapsuleGeometry.hPxPlaneGeometry.hPxConvexMeshGeometry.hPxTriangleMeshGeometry.hPxHeightFieldGeometry.hfoundation/PxUnionCast.hgeometry/PxMeshScale.hcommon/PxCoreUtilityTypes.hgeometry/PxConvexMesh.hfoundation/PxMemory.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxVehicleWheels.hPxVehicleDrive.hPxVehicleDrive4W.hPxVehicleDriveTank.hPxVehicleDriveNW.hPxVehicleNoDrive.hPxVehicleUtilControl.h

Go to the source code of this file.

Classes

struct | PxRigidDynamicLockFlag
Collection of flags providing a mechanism to lock motion along/around a specific axis. More...
class | PxRigidDynamic
PxRigidDynamic represents a dynamic rigid simulation object in the physics SDK. More...

Typedefs

typedef PxFlags
< PxRigidDynamicLockFlag::Enum,
PxU16 > 		PxRigidDynamicLockFlags


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRigidStatic.h File Reference

PxRigidStatic.h File Reference

#include "PxPhysXConfig.h"
#include "PxRigidActor.h"

Include dependency graph for PxRigidStatic.h:

PxPhysXConfig.hPxRigidActor.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hPxActor.hPxShape.hfoundation/PxBounds3.hPxClient.hcommon/PxBase.hfoundation/PxTransform.hfoundation/PxMat33.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/PxFlags.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hgeometry/PxGeometry.hgeometry/PxGeometryHelpers.hPxBoxGeometry.hPxSphereGeometry.hPxCapsuleGeometry.hPxPlaneGeometry.hPxConvexMeshGeometry.hPxTriangleMeshGeometry.hPxHeightFieldGeometry.hfoundation/PxUnionCast.hgeometry/PxMeshScale.hcommon/PxCoreUtilityTypes.hgeometry/PxConvexMesh.hfoundation/PxMemory.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Classes

class PxRigidStatic
PxRigidStatic represents a static rigid body simulation object in the physics SDK. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxScene.h File Reference

PxScene.h File Reference

#include "PxVisualizationParameter.h"
#include "PxSceneDesc.h"
#include "PxSimulationStatistics.h"
#include "PxQueryReport.h"
#include "PxQueryFiltering.h"
#include "PxClient.h"
#include "task/PxTask.h"
#include "particles/PxParticleSystem.h"
#include "particles/PxParticleFluid.h"
#include "pvd/PxPvdSceneClient.h"

Include dependency graph for PxScene.h:

PxVisualizationParameter.hPxSceneDesc.htask/PxTask.hPxSimulationStatistics.hPxQueryReport.hPxQueryFiltering.hPxClient.hparticles/PxParticleSystem.hparticles/PxParticleFluid.hpvd/PxPvdSceneClient.hfoundation/PxPreprocessor.hPxPhysXConfig.hfoundation/PxFlags.hfoundation/PxBounds3.hPxFiltering.hPxBroadPhase.hcommon/PxTolerancesScale.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxTransform.hfoundation/PxMat33.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.htask/PxTaskDefine.htask/PxTaskManager.htask/PxCpuDispatcher.htask/PxGpuDispatcher.hfoundation/PxErrorCallback.hgeometry/PxGeometry.hparticles/PxParticleBase.hparticles/PxParticleBaseFlag.hPxActor.hparticles/PxParticleCreationData.hparticles/PxParticleReadData.hPxForceMode.hparticles/PxParticleFluidReadData.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxSceneLock.hPxVolumeCache.hPxSceneQueryExt.hPxExtensionsAPI.h

Go to the source code of this file.

Classes

struct | PxActiveTransform
Data struct for use with Active Transform Notification. Used with PxScene::getActiveTransforms(). More...
struct | PxDominanceGroupPair
Expresses the dominance relationship of a contact. For the time being only three settings are permitted:. More...
struct | PxActorTypeFlag
Identifies each type of actor for retrieving actors from a scene. More...
struct | PxQueryCache
single hit cache for scene queries. More...
class | PxScene
A scene is a collection of bodies, particle systems and constraints which can interact. More...

Typedefs

typedef PxU8 | PxDominanceGroup
typedef PxFlags
< PxActorTypeFlag::Enum, PxU16 > 		PxActorTypeFlags
Collection of set bits defined in PxActorTypeFlag.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSceneDesc.h File Reference

PxSceneDesc.h File Reference

#include "PxPhysXConfig.h"
#include "foundation/PxFlags.h"
#include "foundation/PxBounds3.h"
#include "PxFiltering.h"
#include "PxBroadPhase.h"
#include "common/PxTolerancesScale.h"
#include "task/PxTask.h"

Include dependency graph for PxSceneDesc.h:

PxPhysXConfig.hfoundation/PxFlags.hfoundation/PxBounds3.hPxFiltering.hPxBroadPhase.hcommon/PxTolerancesScale.htask/PxTask.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxTransform.hfoundation/PxMat33.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.htask/PxTaskDefine.htask/PxTaskManager.htask/PxCpuDispatcher.htask/PxGpuDispatcher.hfoundation/PxErrorCallback.hfoundation/PxErrors.h

This graph shows which files directly or indirectly include this file:

PxScene.hPxPhysicsAPI.hPxSceneLock.hPxVolumeCache.hPxSceneQueryExt.hPxExtensionsAPI.h

Go to the source code of this file.

Classes

struct | PxPruningStructureType
Pruning structure used to accelerate scene queries. More...
struct | PxSceneQueryUpdateMode
Scene query update mode. More...
struct | PxFrictionType
Enum for selecting the friction algorithm used for simulation. 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...
struct | PxgDynamicsMemoryConfig
Sizes of pre-allocated buffers use for GPU dynamics. More...
class | PxSceneDesc
Descriptor class for scenes. See PxScene. More...

Typedefs

typedef PxFlags
< PxSceneFlag::Enum, PxU32 > 		PxSceneFlags
collection of set bits defined in PxSceneFlag.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSceneLock.h File Reference

PxSceneLock.h File Reference

#include "PxPhysXConfig.h"
#include "PxScene.h"

Include dependency graph for PxSceneLock.h:

PxPhysXConfig.hPxScene.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hPxVisualizationParameter.hPxSceneDesc.htask/PxTask.hPxSimulationStatistics.hPxQueryReport.hPxQueryFiltering.hPxClient.hparticles/PxParticleSystem.hparticles/PxParticleFluid.hpvd/PxPvdSceneClient.hfoundation/PxFlags.hfoundation/PxBounds3.hPxFiltering.hPxBroadPhase.hcommon/PxTolerancesScale.hfoundation/PxTransform.hfoundation/PxMat33.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxAssert.htask/PxTaskDefine.htask/PxTaskManager.htask/PxCpuDispatcher.htask/PxGpuDispatcher.hfoundation/PxErrorCallback.hgeometry/PxGeometry.hparticles/PxParticleBase.hparticles/PxParticleBaseFlag.hPxActor.hparticles/PxParticleCreationData.hparticles/PxParticleReadData.hPxForceMode.hparticles/PxParticleFluidReadData.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Classes

class | PxSceneReadLock
RAII wrapper for the PxScene read lock. More...
class | PxSceneWriteLock
RAII wrapper for the PxScene write lock. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSceneQueryExt.h File Reference

PxSceneQueryExt.h File Reference

#include "PxPhysXConfig.h"
#include "PxScene.h"

Include dependency graph for PxSceneQueryExt.h:

PxPhysXConfig.hPxScene.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hPxVisualizationParameter.hPxSceneDesc.htask/PxTask.hPxSimulationStatistics.hPxQueryReport.hPxQueryFiltering.hPxClient.hparticles/PxParticleSystem.hparticles/PxParticleFluid.hpvd/PxPvdSceneClient.hfoundation/PxFlags.hfoundation/PxBounds3.hPxFiltering.hPxBroadPhase.hcommon/PxTolerancesScale.hfoundation/PxTransform.hfoundation/PxMat33.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxAssert.htask/PxTaskDefine.htask/PxTaskManager.htask/PxCpuDispatcher.htask/PxGpuDispatcher.hfoundation/PxErrorCallback.hgeometry/PxGeometry.hparticles/PxParticleBase.hparticles/PxParticleBaseFlag.hPxActor.hparticles/PxParticleCreationData.hparticles/PxParticleReadData.hPxForceMode.hparticles/PxParticleFluidReadData.h

This graph shows which files directly or indirectly include this file:

PxExtensionsAPI.hPxPhysicsAPI.h

Go to the source code of this file.

Classes

class | PxSceneQueryExt
utility functions for use with PxScene, related to scene queries. More...

Typedefs

typedef PxQueryHit | PxSceneQueryHit
typedef PxQueryFilterData | PxSceneQueryFilterData
typedef PxQueryFilterCallback | PxSceneQueryFilterCallback
typedef PxQueryCache | PxSceneQueryCache
typedef PxHitFlag | PxSceneQueryFlag
typedef PxHitFlags | PxSceneQueryFlags


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSerialFramework.h File Reference

PxSerialFramework.h File Reference

#include "common/PxPhysXCommonConfig.h"

Include dependency graph for PxSerialFramework.h:

common/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxBase.hPxPhysicsAPI.hPxRepXSimpleType.hPxCollection.hPxSerializer.hPxPhysicsSerialization.hPxActor.hPxJoint.hPxAggregate.hPxArticulation.hPxArticulationJoint.hPxShape.hPxConstraintDesc.hPxConstraint.hPxDeletionListener.hPxMaterial.hPxClothFabric.hPxPhysicsInsertionCallback.hPxConvexMesh.hPxSerialization.hPxRepXSerializer.hPxHeightField.hPxTriangleMesh.hPxPruningStructure.hPxVehicleWheels.hPxRigidActor.hPxCloth.hPxParticleBase.hPxShapeExt.hPxDistanceJoint.hPxFixedJoint.hPxJointLimit.hPxPrismaticJoint.hPxRevoluteJoint.hPxSphericalJoint.hPxD6Joint.hPxExtensionsAPI.hPxArticulationLink.hPxBatchQuery.hPxContactModifyCallback.hPxPhysics.hPxClothFabricCooker.hPxConvexMeshGeometry.hPxMassProperties.hPxConvexMeshDesc.hPxCooking.hPxMidphaseDesc.hPxVehicleDrive.hPxCollectionExt.h

Go to the source code of this file.

Classes

class | PxProcessPxBaseCallback
Callback class used to process PxBase objects. More...
class | PxSerializationContext
Binary serialization context class. More...
class | PxDeserializationContext
Binary deserialization context class. More...
class | PxSerializationRegistry
Class serving as a registry for XML (RepX) and binary serializable types. More...

Defines

#define | PX_SERIAL_ALIGN 16
Default serialization alignment.
#define | PX_SERIAL_FILE_ALIGN 128
Serialized input data must be aligned to this value.
#define | PX_SERIAL_OBJECT_ID_INVALID 0
PxSerialObjectId value for objects that do not have an ID.
#define | PX_SERIAL_REF_KIND_PTR_TYPE_BIT (1u<<31)
Bit to mark pointer type references,.
#define | PX_SERIAL_REF_KIND_PXBASE (0 | PX_SERIAL_REF_KIND_PTR_TYPE_BIT)
Reference kind value for PxBase objects.
#define | PX_SERIAL_REF_KIND_MATERIAL_IDX (1)
Reference kind value for material indices.
#define | PX_MAKE_FOURCC(a, b, c, d) ( (a) | ((b)<<8) | ((c)<<16) | ((d)<<24) )
Used to fix multi-byte characters warning from gcc for situations like: PxU32 foo = 'CCTS';.

Typedefs

typedef PxU16 | PxType
typedef PxU64 | PxSerialObjectId
ID type for PxBase objects in a PxCollection.
typedef void(* | PxBinaryMetaDataCallback )(PxOutputStream &stream)
Callback type for exporting binary meta data for a serializable type.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSerialization.h File Reference

PxSerialization.h File Reference

#include "PxPhysXConfig.h"
#include "common/PxBase.h"
#include "cooking/PxCooking.h"
#include "foundation/PxIO.h"
#include "common/PxTolerancesScale.h"
#include "common/PxTypeInfo.h"
#include "common/PxStringTable.h"

Include dependency graph for PxSerialization.h:

PxPhysXConfig.hcommon/PxBase.hcommon/PxTypeInfo.hcooking/PxCooking.hcommon/PxTolerancesScale.hfoundation/PxIO.hcommon/PxStringTable.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hPxSerialFramework.hPxCollection.hfoundation/PxFlags.hcooking/Pxc.hcooking/PxConvexMeshDesc.hcooking/PxTriangleMeshDesc.hcooking/PxMidphaseDesc.hgeometry/PxTriangleMesh.hfoundation/PxVec3.hcommon/PxCoreUtilityTypes.hgeometry/PxConvexMesh.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/PxMemory.hgeometry/PxSimpleTriangleMesh.hcooking/PxBVH33MidphaseDesc.hcooking/PxBVH34MidphaseDesc.hfoundation/PxBounds3.hfoundation/PxTransform.hfoundation/PxMat33.hfoundation/PxQuat.hfoundation/PxPlane.h

This graph shows which files directly or indirectly include this file:

PxExtensionsAPI.hPxPhysicsAPI.h

Go to the source code of this file.

Classes

class | PxSerialization
Utility functions for serialization. More...
struct | PxSerialization::PxSerialization::PxXmlMiscParameter
Additional PxScene and PxPhysics options stored in XML serialized data. More...

Defines

#define | PX_BINARY_SERIAL_VERSION 0


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSerializer.h File Reference

PxSerializer.h File Reference

#include "PxSerialFramework.h"
#include "PxCollection.h"
#include "foundation/PxAssert.h"

Include dependency graph for PxSerializer.h:

PxSerialFramework.hPxCollection.hfoundation/PxAssert.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Classes

class | PxSerializer
Serialization interface class. More...
class | PxSerializerDefaultAdapter< T >
Default PxSerializer implementation. More...

Defines

#define | PX_NEW_SERIALIZER_ADAPTER(x)
Preprocessor Macro to simplify adapter creation.
#define | PX_DELETE_SERIALIZER_ADAPTER(x) { PxSerializer* s = x; if (s) { s->~PxSerializer(); PxGetFoundation().getAllocatorCallback().deallocate(s); } }
Preprocessor Macro to simplify adapter deletion.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxShape.h File Reference

PxShape.h File Reference

#include "PxPhysXConfig.h"
#include "common/PxBase.h"
#include "geometry/PxGeometry.h"
#include "geometry/PxGeometryHelpers.h"

Include dependency graph for PxShape.h:

PxPhysXConfig.hcommon/PxBase.hgeometry/PxGeometry.hgeometry/PxGeometryHelpers.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hfoundation/PxFlags.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.hPxBoxGeometry.hPxSphereGeometry.hPxCapsuleGeometry.hPxPlaneGeometry.hfoundation/PxPlane.hfoundation/PxTransform.hPxConvexMeshGeometry.hPxTriangleMeshGeometry.hPxHeightFieldGeometry.hfoundation/PxUnionCast.hfoundation/PxVec3.hfoundation/PxQuat.hgeometry/PxMeshScale.hcommon/PxCoreUtilityTypes.hgeometry/PxConvexMesh.hfoundation/PxMat33.hfoundation/PxMemory.h

This graph shows which files directly or indirectly include this file:

PxRigidActor.hPxPhysicsAPI.hPxShapeExt.hPxBatchQuery.hPxContactModifyCallback.hPxPhysics.hPxRigidBody.hPxRigidStatic.hPxJoint.hPxRigidActorExt.hPxArticulationLink.hPxRigidDynamic.hPxRigidBodyExt.hPxVehicleWheels.hPxVehicleDrive.hPxVehicleDrive4W.hPxVehicleDriveTank.hPxVehicleDriveNW.hPxVehicleNoDrive.hPxVehicleUtilControl.hPxExtensionsAPI.hPxDistanceJoint.hPxFixedJoint.hPxJointLimit.hPxPrismaticJoint.hPxRevoluteJoint.hPxSphericalJoint.hPxD6Joint.h

Go to the source code of this file.

Classes

struct | PxShapeFlag
Flags which affect the behavior of PxShapes. More...
class | PxShape
Abstract class for collision shapes. More...

Typedefs

typedef PxFlags
< PxShapeFlag::Enum, PxU8 > 		PxShapeFlags
collection of set bits defined in PxShapeFlag.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxShapeExt.h File Reference

PxShapeExt.h File Reference

#include "PxPhysXConfig.h"
#include "PxShape.h"
#include "PxRigidActor.h"
#include "geometry/PxGeometryQuery.h"

Include dependency graph for PxShapeExt.h:

PxPhysXConfig.hPxShape.hPxRigidActor.hgeometry/PxGeometryQuery.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hcommon/PxBase.hgeometry/PxGeometry.hgeometry/PxGeometryHelpers.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hfoundation/PxFlags.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.hPxBoxGeometry.hPxSphereGeometry.hPxCapsuleGeometry.hPxPlaneGeometry.hfoundation/PxPlane.hfoundation/PxTransform.hPxConvexMeshGeometry.hPxTriangleMeshGeometry.hPxHeightFieldGeometry.hfoundation/PxUnionCast.hfoundation/PxVec3.hfoundation/PxQuat.hgeometry/PxMeshScale.hcommon/PxCoreUtilityTypes.hgeometry/PxConvexMesh.hfoundation/PxMat33.hfoundation/PxMemory.hPxActor.hfoundation/PxBounds3.hPxClient.hPxQueryReport.h

This graph shows which files directly or indirectly include this file:

PxExtensionsAPI.hPxPhysicsAPI.h

Go to the source code of this file.

Classes

class PxShapeExt
utility functions for use with PxShape More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSimpleFactory.h File Reference

PxSimpleFactory.h File Reference

#include "common/PxPhysXCommonConfig.h"
#include "foundation/PxTransform.h"
#include "foundation/PxPlane.h"

Include dependency graph for PxSimpleFactory.h:

common/PxPhysXCommonConfig.hfoundation/PxTransform.hfoundation/PxPlane.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxQuat.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.h

This graph shows which files directly or indirectly include this file:

PxExtensionsAPI.hPxPhysicsAPI.h

Go to the source code of this file.

Functions

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


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSimpleTriangleMesh.h File Reference

PxSimpleTriangleMesh.h File Reference

#include "foundation/PxVec3.h"
#include "foundation/PxFlags.h"
#include "common/PxCoreUtilityTypes.h"
#include "common/PxPhysXCommonConfig.h"

Include dependency graph for PxSimpleTriangleMesh.h:

foundation/PxVec3.hfoundation/PxFlags.hcommon/PxCoreUtilityTypes.hcommon/PxPhysXCommonConfig.hfoundation/PxMath.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxMemory.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxTriangleMeshDesc.hPxClothMeshDesc.hPxCooking.hPxSerialization.hPxRepXSimpleType.hPxExtensionsAPI.hPxRepXSerializer.hPxClothFabricCooker.hPxClothMeshQuadifier.hPxClothTetherCooker.h

Go to the source code of this file.

Classes

struct | PxMeshFlag
Enum with flag values to be used in PxSimpleTriangleMesh::flags. More...
class | PxSimpleTriangleMesh
A structure describing a triangle mesh. More...

Typedefs

typedef PxFlags
< PxMeshFlag::Enum, PxU16 > 		PxMeshFlags
collection of set bits defined in PxMeshFlag.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSimpleTypes.h File Reference

PxSimpleTypes.h File Reference

#include "foundation/PxPreprocessor.h"
#include <stdint.h>
#include <inttypes.h>

Include dependency graph for PxSimpleTypes.h:

foundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxBVH33MidphaseDesc.hPxRepXSimpleType.hPxBVH34MidphaseDesc.hPxVehicleShaders.hPxVehicleWheels.hPxVehicleTireFriction.hPxVehicleUpdate.hPxVehicleUtilSetup.hPxVehicleUtilTelemetry.hPx.hPxMemory.hPxIO.hPxCpuDispatcher.hPxTaskManager.hPxMidphaseDesc.hPxCooking.hPxSerialization.hPxRepXSerializer.hPxVehicleDrive.hPxVehicleDrive4W.hPxVehicleDriveTank.hPxVehicleDriveNW.hPxVehicleNoDrive.hPxVehicleUtilControl.hPxPhysXCommonConfig.hPxMetaData.hPxMetaDataFlags.hPxConvexMesh.hPxCharacter.hPxc.hPxStringTableExt.hPxVehicleSDK.hPxVehicleUtil.hPxAllocatorCallback.hPxAssert.hPxStrideIterator.hPxBitAndData.hPxErrors.hPxFoundation.hPxFlags.hPxMathUtils.hPxUnionCast.hPxDefaultStreams.hPxDefaultCpuDispatcher.hPxVehicleComponents.hPxCoreUtilityTypes.hPxTask.hPxSimulationEventCallback.h

Go to the source code of this file.

Namespaces

namespace | physx

Defines

#define | __STDC_FORMAT_MACROS
#define | PX_PRIu64 PRIu64
#define | PX_MAX_F32 3.4028234663852885981170418348452e+38F
#define | PX_MAX_F64 DBL_MAX
#define | PX_EPS_F32 FLT_EPSILON
#define | PX_EPS_F64 DBL_EPSILON
#define | PX_MAX_REAL PX_MAX_F32
#define | PX_EPS_REAL PX_EPS_F32
#define | PX_NORMALIZATION_EPSILON float(1e-20f)
#define | PX_MAX_I8 INT8_MAX
#define | PX_MIN_I8 INT8_MIN
#define | PX_MAX_U8 UINT8_MAX
#define | PX_MIN_U8 UINT8_MIN
#define | PX_MAX_I16 INT16_MAX
#define | PX_MIN_I16 INT16_MIN
#define | PX_MAX_U16 UINT16_MAX
#define | PX_MIN_U16 UINT16_MIN
#define | PX_MAX_I32 INT32_MAX
#define | PX_MIN_I32 INT32_MIN
#define | PX_MAX_U32 UINT32_MAX
#define | PX_MIN_U32 UINT32_MIN

Typedefs

typedef int64_t | physx::PxI64
typedef uint64_t | physx::PxU64
typedef int32_t | physx::PxI32
typedef uint32_t | physx::PxU32
typedef int16_t | physx::PxI16
typedef uint16_t | physx::PxU16
typedef int8_t | physx::PxI8
typedef uint8_t | physx::PxU8
typedef float | physx::PxF32
typedef double | physx::PxF64
typedef float | physx::PxReal


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSimulationEventCallback.h File Reference

PxSimulationEventCallback.h File Reference

#include "foundation/PxVec3.h"
#include "foundation/PxTransform.h"
#include "foundation/PxMemory.h"
#include "PxPhysXConfig.h"
#include "PxFiltering.h"
#include "PxContact.h"

Include dependency graph for PxSimulationEventCallback.h:

foundation/PxVec3.hfoundation/PxTransform.hfoundation/PxMemory.hPxPhysXConfig.hPxFiltering.hPxContact.hfoundation/PxMath.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxQuat.hfoundation/PxPlane.hcommon/PxPhysXCommonConfig.hfoundation/PxFlags.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Classes

struct | PxContactPairExtraDataType
Extra data item types for contact pairs. More...
struct | PxContactPairExtraDataItem
Base class for items in the extra data stream of contact pairs. More...
struct | PxContactPairVelocity
Velocities of the contact pair rigid bodies. More...
struct | PxContactPairPose
World space actor poses of the contact pair rigid bodies. More...
struct | PxContactPairIndex
Marker for the beginning of a new item set in the extra data stream. More...
struct | PxContactPairExtraDataIterator
A class to iterate over a contact pair extra data stream. 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...

Typedefs

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.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSimulationStatistics.h File Reference

PxSimulationStatistics.h File Reference

#include "PxPhysXConfig.h"
#include "foundation/PxAssert.h"
#include "geometry/PxGeometry.h"

Include dependency graph for PxSimulationStatistics.h:

PxPhysXConfig.hfoundation/PxAssert.hgeometry/PxGeometry.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxFlags.hfoundation/PxMath.hfoundation/PxIntrinsics.h

This graph shows which files directly or indirectly include this file:

PxScene.hPxPhysicsAPI.hPxSceneLock.hPxVolumeCache.hPxSceneQueryExt.hPxExtensionsAPI.h

Go to the source code of this file.

Classes

class PxSimulationStatistics
Class used to retrieve statistics for a simulation step. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSmoothNormals.h File Reference

PxSmoothNormals.h File Reference

#include "common/PxPhysXCommonConfig.h"

Include dependency graph for PxSmoothNormals.h:

common/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxExtensionsAPI.hPxPhysicsAPI.h

Go to the source code of this file.

Functions

PX_C_EXPORT bool PX_CALL_CONV PxBuildSmoothNormals (physx::PxU32 nbTris, physx::PxU32 nbVerts, const physx::PxVec3 *verts, const physx::PxU32 *dFaces, const physx::PxU16 *wFaces, physx::PxVec3 *normals, bool flip)
Builds smooth vertex normals over a mesh.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSpatialIndex.h File Reference

PxSpatialIndex.h File Reference

#include "PxPhysXConfig.h"
#include "foundation/PxTransform.h"
#include "geometry/PxGeometry.h"
#include "PxQueryReport.h"

Include dependency graph for PxSpatialIndex.h:

PxPhysXConfig.hfoundation/PxTransform.hgeometry/PxGeometry.hPxQueryReport.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/PxFlags.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Classes

class | PxSpatialIndexItem
struct | PxSpatialOverlapCallback
Callback class for overlap queries against PxSpatialIndex. More...
struct | PxSpatialLocationCallback
Callback class for raycast and sweep queries against PxSpatialIndex. More...
class | PxSpatialIndex
provides direct access to PhysX' Spatial Query engine More...

Typedefs

typedef PxU32 | PxSpatialIndexItemId

Functions

PX_DEPRECATED
PX_PHYSX_CORE_API
PxSpatialIndex * 		PxCreateSpatialIndex ()
Creates a spatial index.

Variables

static const PxSpatialIndexItemId | PX_SPATIAL_INDEX_INVALID_ITEM_ID = 0xffffffff


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSphereGeometry.h File Reference

PxSphereGeometry.h File Reference

#include "geometry/PxGeometry.h"

Include dependency graph for PxSphereGeometry.h:

geometry/PxGeometry.hcommon/PxPhysXCommonConfig.hfoundation/PxFlags.hfoundation/PxMath.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/PxAssert.h

This graph shows which files directly or indirectly include this file:

PxGeometryHelpers.hPxPhysicsAPI.hPxMassProperties.hPxShape.hPxVolumeCache.hPxRigidActor.hPxShapeExt.hPxBatchQuery.hPxContactModifyCallback.hPxPhysics.hPxRigidBody.hPxRigidStatic.hPxJoint.hPxRigidActorExt.hPxArticulationLink.hPxRigidDynamic.hPxRigidBodyExt.hPxVehicleWheels.hPxVehicleDrive.hPxVehicleDrive4W.hPxVehicleDriveTank.hPxVehicleDriveNW.hPxVehicleNoDrive.hPxVehicleUtilControl.hPxExtensionsAPI.hPxDistanceJoint.hPxFixedJoint.hPxJointLimit.hPxPrismaticJoint.hPxRevoluteJoint.hPxSphericalJoint.hPxD6Joint.h

Go to the source code of this file.

Classes

class PxSphereGeometry
A class representing the geometry of a sphere. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSphericalJoint.h File Reference

PxSphericalJoint.h File Reference

#include "extensions/PxJoint.h"
#include "extensions/PxJointLimit.h"

Include dependency graph for PxSphericalJoint.h:

extensions/PxJoint.hextensions/PxJointLimit.hfoundation/PxTransform.hPxRigidActor.hcommon/PxBase.hPxConstraint.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/Px.hfoundation/PxSimpleTypes.hPxActor.hPxShape.hPxPhysXConfig.hfoundation/PxBounds3.hPxClient.hcommon/PxPhysXCommonConfig.hfoundation/PxMat33.hfoundation/PxFlags.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hgeometry/PxGeometry.hgeometry/PxGeometryHelpers.hPxBoxGeometry.hPxSphereGeometry.hPxCapsuleGeometry.hPxPlaneGeometry.hPxConvexMeshGeometry.hPxTriangleMeshGeometry.hPxHeightFieldGeometry.hfoundation/PxUnionCast.hgeometry/PxMeshScale.hcommon/PxCoreUtilityTypes.hgeometry/PxConvexMesh.hPxConstraintDesc.hcommon/PxTolerancesScale.h

This graph shows which files directly or indirectly include this file:

PxExtensionsAPI.hPxPhysicsAPI.h

Go to the source code of this file.

Classes

struct | PxSphericalJointFlag
Flags specific to the spherical joint. More...
class | PxSphericalJoint
A joint which behaves in a similar way to a ball and socket. More...

Typedefs

typedef PxFlags
< PxSphericalJointFlag::Enum,
PxU16 > 		PxSphericalJointFlags

Functions

PxSphericalJoint * | PxSphericalJointCreate (PxPhysics &physics, PxRigidActor *actor0, const PxTransform &localFrame0, PxRigidActor *actor1, const PxTransform &localFrame1)
Create a spherical joint.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxStrideIterator.h File Reference

PxStrideIterator.h File Reference

#include "foundation/Px.h"
#include "foundation/PxAssert.h"

Include dependency graph for PxStrideIterator.h:

foundation/Px.hfoundation/PxAssert.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxParticleExt.hPxParticleCreationData.hPxParticleReadData.hPxExtensionsAPI.hPxParticleBase.hPxParticleSystem.hPxParticleFluid.hPxScene.hPxSceneLock.hPxVolumeCache.hPxSceneQueryExt.hPxParticleFluidReadData.h

Go to the source code of this file.

Classes

class | PxStrideIterator< T >
Iterator class for iterating over arrays of data that may be interleaved with other data. More...

Functions

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.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxStringTable.h File Reference

PxStringTable.h File Reference

#include "foundation/PxPreprocessor.h"

Include dependency graph for PxStringTable.h:

foundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxStringTableExt.hPxSerialization.hPxRepXSimpleType.hPxExtensionsAPI.hPxRepXSerializer.h

Go to the source code of this file.

Classes

class PxStringTable
a table to manage strings. Strings allocated through this object are expected to be owned by this object. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxStringTableExt.h File Reference

PxStringTableExt.h File Reference

#include "foundation/Px.h"
#include "common/PxStringTable.h"

Include dependency graph for PxStringTableExt.h:

foundation/Px.hcommon/PxStringTable.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxExtensionsAPI.hPxPhysicsAPI.h

Go to the source code of this file.

Classes

class PxStringTableExt
a factory class for creating PxStringTable with a specific allocator. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTask.h File Reference

PxTask.h File Reference

#include "task/PxTaskDefine.h"
#include "task/PxTaskManager.h"
#include "task/PxCpuDispatcher.h"
#include "task/PxGpuDispatcher.h"
#include "foundation/PxAssert.h"

Include dependency graph for PxTask.h:

task/PxTaskDefine.htask/PxTaskManager.htask/PxCpuDispatcher.htask/PxGpuDispatcher.hfoundation/PxAssert.hfoundation/PxPreprocessor.hfoundation/PxSimpleTypes.hfoundation/PxErrorCallback.hfoundation/PxErrors.hfoundation/Px.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxSceneDesc.hPxScene.hPxGpuDispatcher.hPxGpuTask.hPxSceneLock.hPxVolumeCache.hPxSceneQueryExt.hPxExtensionsAPI.h

Go to the source code of this file.

Classes

class | physx::PxBaseTask
Base class of all task types. More...
class | physx::PxTask
A PxBaseTask implementation with deferred execution and full dependencies. More...
class | physx::PxLightCpuTask
A PxBaseTask implementation with immediate execution and simple dependencies. More...

Namespaces

namespace | physx


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTaskDefine.h File Reference

PxTaskDefine.h File Reference

#include "foundation/PxPreprocessor.h"

Include dependency graph for PxTaskDefine.h:

foundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxCpuDispatcher.hPxTask.hPxGpuDispatcher.hPxGpuTask.hPxTaskManager.hPxDefaultCpuDispatcher.hPxExtensionsAPI.hPxPhysicsAPI.hPxSceneDesc.hPxScene.hPxSceneLock.hPxVolumeCache.hPxSceneQueryExt.h

Go to the source code of this file.

Defines

#define PX_SUPPORT_PXTASK_PROFILING 1

Define Documentation

#define PX_SUPPORT_PXTASK_PROFILING 1


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTaskManager.h File Reference

PxTaskManager.h File Reference

#include "task/PxTaskDefine.h"
#include "foundation/PxSimpleTypes.h"
#include "foundation/PxErrorCallback.h"

Include dependency graph for PxTaskManager.h:

task/PxTaskDefine.hfoundation/PxSimpleTypes.hfoundation/PxErrorCallback.hfoundation/PxPreprocessor.hfoundation/PxErrors.hfoundation/Px.h

This graph shows which files directly or indirectly include this file:

PxTask.hPxPhysicsAPI.hPxSceneDesc.hPxScene.hPxGpuDispatcher.hPxGpuTask.hPxSceneLock.hPxVolumeCache.hPxSceneQueryExt.hPxExtensionsAPI.h

Go to the source code of this file.

Classes

struct | physx::PxTaskType
Identifies the type of each heavyweight PxTask object. More...
class | physx::PxTaskManager
The PxTaskManager interface. More...

Namespaces

namespace | physx

Typedefs

typedef unsigned int | physx::PxTaskID


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTolerancesScale.h File Reference

PxTolerancesScale.h File Reference

#include "common/PxPhysXCommonConfig.h"

Include dependency graph for PxTolerancesScale.h:

common/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxSceneDesc.hPxCooking.hPxSerialization.hPxJointLimit.hPxScene.hPxSceneLock.hPxVolumeCache.hPxSceneQueryExt.hPxExtensionsAPI.hPxRepXSimpleType.hPxRepXSerializer.hPxPrismaticJoint.hPxRevoluteJoint.hPxSphericalJoint.hPxD6Joint.h

Go to the source code of this file.

Classes

class PxTolerancesScale
Class to define the scale at which simulation runs. Most simulation tolerances are calculated in terms of the values here. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTransform.h File Reference

PxTransform.h File Reference

#include "foundation/PxQuat.h"
#include "foundation/PxPlane.h"

Include dependency graph for PxTransform.h:

foundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/Px.hfoundation/PxSimpleTypes.h

This graph shows which files directly or indirectly include this file:

PxPlaneGeometry.hPxGeometryHelpers.hPxPhysicsAPI.hPxJoint.hPxContactModifyCallback.hPxPhysics.hPxSimulationEventCallback.hPxSpatialIndex.hPxExtended.hPxSimpleFactory.hPxVehicleUpdate.hPxMassProperties.hPxBounds3.hPxMat44.hPxShape.hPxVolumeCache.hPxRigidActor.hPxShapeExt.hPxBatchQuery.hPxRigidBody.hPxRigidActorExt.hPxRigidBodyExt.hPxExtensionsAPI.hPxDistanceJoint.hPxFixedJoint.hPxJointLimit.hPxPrismaticJoint.hPxRevoluteJoint.hPxSphericalJoint.hPxD6Joint.hPxController.hPxControllerObstacles.hPxBoxController.hPxCapsuleController.hPxActor.hPxParticleBase.hPxBroadPhase.hPxSceneDesc.hPxRenderBuffer.hPxHeightFieldDesc.hPxTriangleMesh.hPxParticleExt.hPxCloth.hPxParticleSystem.hPxParticleFluid.hPxScene.hPxControllerManager.hPxCooking.hPxMidphaseDesc.h

Go to the source code of this file.

Classes

class PxTransform
class representing a rigid euclidean transform as a quaternion and a vector More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTriangle.h File Reference

PxTriangle.h File Reference

#include "common/PxPhysXCommonConfig.h"
#include "foundation/PxVec3.h"

Include dependency graph for PxTriangle.h:

common/PxPhysXCommonConfig.hfoundation/PxVec3.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Classes

class PxTriangle
Triangle class. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTriangleMesh.h File Reference

PxTriangleMesh.h File Reference

#include "foundation/PxVec3.h"
#include "foundation/PxBounds3.h"
#include "common/PxPhysXCommonConfig.h"
#include "common/PxBase.h"

Include dependency graph for PxTriangleMesh.h:

foundation/PxVec3.hfoundation/PxBounds3.hcommon/PxPhysXCommonConfig.hcommon/PxBase.hfoundation/PxMath.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxTransform.hfoundation/PxMat33.hfoundation/PxQuat.hfoundation/PxPlane.hPxSerialFramework.hPxCollection.hcommon/PxTypeInfo.hfoundation/PxFlags.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxCooking.hPxMidphaseDesc.hPxSerialization.hPxRepXSimpleType.hPxExtensionsAPI.hPxRepXSerializer.h

Go to the source code of this file.

Classes

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...
struct | PxTriangleMeshFlag
Flags for the mesh geometry properties. More...
class | PxTriangleMesh
A triangle mesh, also called a 'polygon soup'. More...
class | PxBVH33TriangleMesh
A triangle mesh containing the PxMeshMidPhase::eBVH33 structure. More...
class | PxBVH34TriangleMesh
A triangle mesh containing the PxMeshMidPhase::eBVH34 structure. More...

Defines

#define | PX_ENABLE_DYNAMIC_MESH_RTREE 1
Enables the dynamic rtree mesh feature. It is recommended to use this feature for scene queries only.

Typedefs

typedef PxFlags
< PxTriangleMeshFlag::Enum,
PxU8 > 		PxTriangleMeshFlags
collection of set bits defined in PxTriangleMeshFlag.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTriangleMeshDesc.h File Reference

PxTriangleMeshDesc.h File Reference

#include "PxPhysXConfig.h"
#include "geometry/PxSimpleTriangleMesh.h"

Include dependency graph for PxTriangleMeshDesc.h:

PxPhysXConfig.hgeometry/PxSimpleTriangleMesh.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxVec3.hfoundation/PxFlags.hcommon/PxCoreUtilityTypes.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/PxMemory.h

This graph shows which files directly or indirectly include this file:

PxCooking.hPxPhysicsAPI.hPxSerialization.hPxRepXSimpleType.hPxExtensionsAPI.hPxRepXSerializer.h

Go to the source code of this file.

Classes

class PxTriangleMeshDesc
Descriptor class for PxTriangleMesh. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTriangleMeshExt.h File Reference

PxTriangleMeshExt.h File Reference

#include "PxPhysXConfig.h"
#include "common/PxPhysXCommonConfig.h"

Include dependency graph for PxTriangleMeshExt.h:

PxPhysXConfig.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxExtensionsAPI.hPxPhysicsAPI.h

Go to the source code of this file.

Classes

class | PxMeshOverlapUtil
Utility class to find mesh triangles touched by a specified geometry object. More...

Functions

PX_DEPRECATED PxVec3 | PxComputeMeshPenetration (PxU32 maxIter, const PxGeometry &geom, const PxTransform &geomPose, const PxTriangleMeshGeometry &meshGeom, const PxTransform &meshPose, PxU32 &nb)
Computes an approximate minimum translational distance (MTD) between a geometry object and a mesh.
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.
PX_DEPRECATED PxVec3 | PxComputeHeightFieldPenetration (PxU32 maxIter, const PxGeometry &geom, const PxTransform &geomPose, const PxHeightFieldGeometry &heightFieldGeom, const PxTransform &heightFieldPose, PxU32 &nb)
Computes an approximate minimum translational distance (MTD) between a geometry object and a heightfield.
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.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTriangleMeshGeometry.h File Reference

PxTriangleMeshGeometry.h File Reference

#include "geometry/PxGeometry.h"
#include "geometry/PxMeshScale.h"
#include "common/PxCoreUtilityTypes.h"

Include dependency graph for PxTriangleMeshGeometry.h:

geometry/PxGeometry.hgeometry/PxMeshScale.hcommon/PxCoreUtilityTypes.hcommon/PxPhysXCommonConfig.hfoundation/PxFlags.hfoundation/PxMath.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/PxMat33.hfoundation/PxVec3.hfoundation/PxQuat.hfoundation/PxMemory.h

This graph shows which files directly or indirectly include this file:

PxGeometryHelpers.hPxPhysicsAPI.hPxHeightFieldGeometry.hPxShape.hPxVolumeCache.hPxRigidActor.hPxShapeExt.hPxBatchQuery.hPxContactModifyCallback.hPxPhysics.hPxRigidBody.hPxRigidStatic.hPxJoint.hPxRigidActorExt.hPxArticulationLink.hPxRigidDynamic.hPxRigidBodyExt.hPxVehicleWheels.hPxVehicleDrive.hPxVehicleDrive4W.hPxVehicleDriveTank.hPxVehicleDriveNW.hPxVehicleNoDrive.hPxVehicleUtilControl.hPxExtensionsAPI.hPxDistanceJoint.hPxFixedJoint.hPxJointLimit.hPxPrismaticJoint.hPxRevoluteJoint.hPxSphericalJoint.hPxD6Joint.h

Go to the source code of this file.

Classes

struct | PxMeshGeometryFlag
Flags controlling the simulated behavior of the triangle mesh geometry. More...
class | PxTriangleMeshGeometry
Triangle mesh geometry class. More...

Typedefs

typedef PxFlags
< PxMeshGeometryFlag::Enum,
PxU8 > 		PxMeshGeometryFlags
collection of set bits defined in PxMeshGeometryFlag.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTypeInfo.h File Reference

PxTypeInfo.h File Reference

#include "common/PxPhysXCommonConfig.h"

Include dependency graph for PxTypeInfo.h:

common/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxBase.hPxPhysicsAPI.hPxSerialization.hPxVehicleSDK.hPxVehicleComponents.hPxActor.hPxJoint.hPxAggregate.hPxArticulation.hPxArticulationJoint.hPxShape.hPxConstraintDesc.hPxConstraint.hPxDeletionListener.hPxMaterial.hPxClothFabric.hPxPhysicsInsertionCallback.hPxConvexMesh.hPxHeightField.hPxTriangleMesh.hPxPruningStructure.hPxRepXSerializer.hPxVehicleWheels.hPxRigidActor.hPxCloth.hPxParticleBase.hPxShapeExt.hPxDistanceJoint.hPxFixedJoint.hPxExtensionsAPI.hPxArticulationLink.hPxBatchQuery.hPxContactModifyCallback.hPxPhysics.hPxClothFabricCooker.hPxConvexMeshGeometry.hPxMassProperties.hPxConvexMeshDesc.hPxCooking.hPxMidphaseDesc.hPxVehicleDrive.hPxVehicleDrive4W.hPxVehicleDriveTank.hPxVehicleDriveNW.hPxVehicleNoDrive.hPxVehicleUtilControl.hPxVehicleUpdate.hPxVehicleUtilSetup.hPxVehicleUtilTelemetry.h

Go to the source code of this file.

Classes

struct | PxConcreteType
an enumeration of concrete classes inheriting from PxBase More...
struct | PxTypeInfo< T >
a structure containing per-type information for types inheriting from PxBase More...

Defines

#define | PX_DEFINE_TYPEINFO(_name, _fastType)


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxUnionCast.h File Reference

PxUnionCast.h File Reference

#include "foundation/Px.h"

Include dependency graph for PxUnionCast.h:

foundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxGeometryHelpers.hPxPhysicsAPI.hPxShape.hPxVolumeCache.hPxRigidActor.hPxShapeExt.hPxBatchQuery.hPxContactModifyCallback.hPxPhysics.hPxRigidBody.hPxRigidStatic.hPxJoint.hPxRigidActorExt.hPxArticulationLink.hPxRigidDynamic.hPxRigidBodyExt.hPxVehicleWheels.hPxVehicleDrive.hPxVehicleDrive4W.hPxVehicleDriveTank.hPxVehicleDriveNW.hPxVehicleNoDrive.hPxVehicleUtilControl.hPxExtensionsAPI.hPxDistanceJoint.hPxFixedJoint.hPxJointLimit.hPxPrismaticJoint.hPxRevoluteJoint.hPxSphericalJoint.hPxD6Joint.h

Go to the source code of this file.

Functions

template<class A , class B >
PX_FORCE_INLINE A PxUnionCast (B b)


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVec2.h File Reference

PxVec2.h File Reference

#include "foundation/PxMath.h"

Include dependency graph for PxVec2.h:

foundation/PxMath.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/Px.hfoundation/PxSimpleTypes.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Classes

class PxVec2
2 Element vector class. More...

Functions

static PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec2 		operator* (float f, const PxVec2 &v)


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVec3.h File Reference

PxVec3.h File Reference

#include "foundation/PxMath.h"

Include dependency graph for PxVec3.h:

foundation/PxMath.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/PxAssert.hfoundation/Px.hfoundation/PxSimpleTypes.h

This graph shows which files directly or indirectly include this file:

PxBoxGeometry.hPxPhysicsAPI.hPxMassProperties.hPxQueryReport.hPxConstraintDesc.hPxContact.hPxSimulationEventCallback.hPxClothTypes.hPxRenderBuffer.hPxSimpleTriangleMesh.hPxTriangle.hPxTriangleMesh.hPxClothCollisionData.hPxConvexMeshDesc.hPxParticleCreationData.hPxVehicleComponents.hPxVehicleUtilTelemetry.hPxRaycastCCD.hPxMat33.hPxPlane.hPxQuat.hPxVec4.hPxGeometryHelpers.hPxExtensionsAPI.hPxRigidBodyExt.hPxQueryFiltering.hPxScene.hPxGeometryQuery.hPxMeshQuery.hPxSpatialIndex.hPxConstraint.hPxContactModifyCallback.hPxPhysics.hPxCloth.hPxControllerManager.hPxTriangleMeshDesc.hPxClothMeshDesc.hPxCooking.hPxMidphaseDesc.hPxParticleBase.hPxVehicleDrive.hPxVehicleDrive4W.hPxVehicleDriveTank.hPxVehicleDriveNW.hPxVehicleWheels.hPxVehicleNoDrive.hPxMeshScale.hPxBounds3.hPxMat44.h

Go to the source code of this file.

Classes

class PxVec3
3 Element vector class. More...

Functions

static PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 		operator* (float f, const PxVec3 &v)


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVec4.h File Reference

PxVec4.h File Reference

#include "foundation/PxMath.h"
#include "foundation/PxVec3.h"
#include "foundation/PxAssert.h"

Include dependency graph for PxVec4.h:

foundation/PxMath.hfoundation/PxAssert.hfoundation/PxVec3.hfoundation/PxPreprocessor.hfoundation/PxIntrinsics.hfoundation/Px.hfoundation/PxSimpleTypes.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxMat44.h

Go to the source code of this file.

Classes

class PxVec4
4 Element vector class. More...

Functions

static PX_CUDA_CALLABLE
PX_INLINE PxVec4 		operator* (float f, const PxVec4 &v)


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleComponents.h File Reference

PxVehicleComponents.h File Reference

#include "foundation/PxMemory.h"
#include "foundation/PxVec3.h"
#include "common/PxCoreUtilityTypes.h"
#include "PxVehicleSDK.h"
#include "common/PxTypeInfo.h"

Include dependency graph for PxVehicleComponents.h:

foundation/PxMemory.hfoundation/PxVec3.hcommon/PxCoreUtilityTypes.hPxVehicleSDK.hcommon/PxTypeInfo.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxIntrinsics.hfoundation/PxPreprocessor.hfoundation/PxMath.hfoundation/PxAssert.hcommon/PxPhysXCommonConfig.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxVehicleDrive.hPxVehicleDrive4W.hPxVehicleDriveTank.hPxVehicleDriveNW.hPxVehicleWheels.hPxVehicleNoDrive.hPxVehicleUtilControl.h

Go to the source code of this file.

Classes

class | PxVehicleChassisData
class | PxVehicleEngineData
class | PxVehicleGearsData
class | PxVehicleAutoBoxData
class | PxVehicleDifferential4WData
class | PxVehicleDifferentialNWData
class | PxVehicleAckermannGeometryData
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
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...
class | PxVehicleWheelData
class | PxVehicleSuspensionData
class | PxVehicleAntiRollBarData
class | PxVehicleTireData

Functions

PX_COMPILE_TIME_ASSERT (0==(sizeof(PxVehicleChassisData)&0x0f))


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleDrive.h File Reference

PxVehicleDrive.h File Reference

#include "vehicle/PxVehicleWheels.h"
#include "vehicle/PxVehicleComponents.h"

Include dependency graph for PxVehicleDrive.h:

vehicle/PxVehicleWheels.hvehicle/PxVehicleComponents.hfoundation/PxSimpleTypes.hvehicle/PxVehicleShaders.hcommon/PxBase.hPxRigidDynamic.hfoundation/PxPreprocessor.hfoundation/PxMemory.hfoundation/PxVec3.hcommon/PxCoreUtilityTypes.hPxVehicleSDK.hcommon/PxTypeInfo.hfoundation/Px.hfoundation/PxIntrinsics.hfoundation/PxMath.hfoundation/PxAssert.hcommon/PxPhysXCommonConfig.hPxSerialFramework.hPxCollection.hfoundation/PxFlags.hPxRigidBody.hPxRigidActor.hPxForceMode.hPxActor.hPxShape.hPxPhysXConfig.hfoundation/PxBounds3.hPxClient.hfoundation/PxTransform.hfoundation/PxMat33.hfoundation/PxPlane.hgeometry/PxGeometry.hgeometry/PxGeometryHelpers.hPxBoxGeometry.hPxSphereGeometry.hPxCapsuleGeometry.hPxPlaneGeometry.hPxConvexMeshGeometry.hPxTriangleMeshGeometry.hPxHeightFieldGeometry.hfoundation/PxUnionCast.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxVehicleDrive4W.hPxVehicleDriveTank.hPxVehicleDriveNW.hPxVehicleUtilControl.h

Go to the source code of this file.

Classes

class | PxVehicleDriveSimData
Data structure describing non-wheel configuration data of a vehicle that has engine, gears, clutch, and auto-box. More...
class | PxVehicleDriveDynData
Data structure with instanced dynamics data for vehicle with engine, clutch, gears, autobox. More...
class | PxVehicleDrive
A complete vehicle with instance dynamics data and configuration data for wheels and engine,clutch,gears,autobox. More...

Functions

PX_COMPILE_TIME_ASSERT (0==(sizeof(PxVehicleChassisData)&0x0f))


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleDrive4W.h File Reference

PxVehicleDrive4W.h File Reference

#include "vehicle/PxVehicleDrive.h"
#include "vehicle/PxVehicleWheels.h"
#include "vehicle/PxVehicleComponents.h"

Include dependency graph for PxVehicleDrive4W.h:

vehicle/PxVehicleDrive.hvehicle/PxVehicleWheels.hvehicle/PxVehicleComponents.hfoundation/PxSimpleTypes.hvehicle/PxVehicleShaders.hcommon/PxBase.hPxRigidDynamic.hfoundation/PxPreprocessor.hfoundation/PxMemory.hfoundation/PxVec3.hcommon/PxCoreUtilityTypes.hPxVehicleSDK.hcommon/PxTypeInfo.hfoundation/Px.hfoundation/PxIntrinsics.hfoundation/PxMath.hfoundation/PxAssert.hcommon/PxPhysXCommonConfig.hPxSerialFramework.hPxCollection.hfoundation/PxFlags.hPxRigidBody.hPxRigidActor.hPxForceMode.hPxActor.hPxShape.hPxPhysXConfig.hfoundation/PxBounds3.hPxClient.hfoundation/PxTransform.hfoundation/PxMat33.hfoundation/PxPlane.hgeometry/PxGeometry.hgeometry/PxGeometryHelpers.hPxBoxGeometry.hPxSphereGeometry.hPxCapsuleGeometry.hPxPlaneGeometry.hPxConvexMeshGeometry.hPxTriangleMeshGeometry.hPxHeightFieldGeometry.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxVehicleUtilControl.h

Go to the source code of this file.

Classes

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...
struct | PxVehicleDrive4WWheelOrder
The ordering of the driven and steered wheels of a PxVehicleDrive4W. More...
struct | PxVehicleDrive4WControl
The control inputs for a PxVehicleDrive4W. 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...

Functions

PX_COMPILE_TIME_ASSERT (0==(sizeof(PxVehicleChassisData)&0x0f))


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleDriveNW.h File Reference

PxVehicleDriveNW.h File Reference

#include "vehicle/PxVehicleDrive.h"
#include "vehicle/PxVehicleWheels.h"
#include "vehicle/PxVehicleComponents.h"

Include dependency graph for PxVehicleDriveNW.h:

vehicle/PxVehicleDrive.hvehicle/PxVehicleWheels.hvehicle/PxVehicleComponents.hfoundation/PxSimpleTypes.hvehicle/PxVehicleShaders.hcommon/PxBase.hPxRigidDynamic.hfoundation/PxPreprocessor.hfoundation/PxMemory.hfoundation/PxVec3.hcommon/PxCoreUtilityTypes.hPxVehicleSDK.hcommon/PxTypeInfo.hfoundation/Px.hfoundation/PxIntrinsics.hfoundation/PxMath.hfoundation/PxAssert.hcommon/PxPhysXCommonConfig.hPxSerialFramework.hPxCollection.hfoundation/PxFlags.hPxRigidBody.hPxRigidActor.hPxForceMode.hPxActor.hPxShape.hPxPhysXConfig.hfoundation/PxBounds3.hPxClient.hfoundation/PxTransform.hfoundation/PxMat33.hfoundation/PxPlane.hgeometry/PxGeometry.hgeometry/PxGeometryHelpers.hPxBoxGeometry.hPxSphereGeometry.hPxCapsuleGeometry.hPxPlaneGeometry.hPxConvexMeshGeometry.hPxTriangleMeshGeometry.hPxHeightFieldGeometry.h

This graph shows which files directly or indirectly include this file:

PxVehicleUtilControl.hPxPhysicsAPI.h

Go to the source code of this file.

Classes

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...
struct | PxVehicleDriveNWControl
The control inputs for a PxVehicleDriveNW. 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...

Functions

PX_COMPILE_TIME_ASSERT (0==(sizeof(PxVehicleChassisData)&0x0f))


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleDriveTank.h File Reference

PxVehicleDriveTank.h File Reference

#include "vehicle/PxVehicleDrive.h"
#include "vehicle/PxVehicleWheels.h"
#include "vehicle/PxVehicleComponents.h"

Include dependency graph for PxVehicleDriveTank.h:

vehicle/PxVehicleDrive.hvehicle/PxVehicleWheels.hvehicle/PxVehicleComponents.hfoundation/PxSimpleTypes.hvehicle/PxVehicleShaders.hcommon/PxBase.hPxRigidDynamic.hfoundation/PxPreprocessor.hfoundation/PxMemory.hfoundation/PxVec3.hcommon/PxCoreUtilityTypes.hPxVehicleSDK.hcommon/PxTypeInfo.hfoundation/Px.hfoundation/PxIntrinsics.hfoundation/PxMath.hfoundation/PxAssert.hcommon/PxPhysXCommonConfig.hPxSerialFramework.hPxCollection.hfoundation/PxFlags.hPxRigidBody.hPxRigidActor.hPxForceMode.hPxActor.hPxShape.hPxPhysXConfig.hfoundation/PxBounds3.hPxClient.hfoundation/PxTransform.hfoundation/PxMat33.hfoundation/PxPlane.hgeometry/PxGeometry.hgeometry/PxGeometryHelpers.hPxBoxGeometry.hPxSphereGeometry.hPxCapsuleGeometry.hPxPlaneGeometry.hPxConvexMeshGeometry.hPxTriangleMeshGeometry.hPxHeightFieldGeometry.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxVehicleUtilControl.h

Go to the source code of this file.

Classes

struct | PxVehicleDriveTankWheelOrder
The ordering of the wheels of a PxVehicleDriveTank. More...
struct | PxVehicleDriveTankControl
The control inputs for a PxVehicleDriveTank. More...
struct | PxVehicleDriveTankControlModel
Two driving models are supported. More...
class | PxVehicleDriveTank
Data structure with instanced dynamics data and configuration data of a tank. More...

Functions

PX_COMPILE_TIME_ASSERT (0==(sizeof(PxVehicleChassisData)&0x0f))


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleNoDrive.h File Reference

PxVehicleNoDrive.h File Reference

#include "vehicle/PxVehicleWheels.h"
#include "vehicle/PxVehicleComponents.h"

Include dependency graph for PxVehicleNoDrive.h:

vehicle/PxVehicleWheels.hvehicle/PxVehicleComponents.hfoundation/PxSimpleTypes.hvehicle/PxVehicleShaders.hcommon/PxBase.hPxRigidDynamic.hfoundation/PxPreprocessor.hfoundation/PxMemory.hfoundation/PxVec3.hcommon/PxCoreUtilityTypes.hPxVehicleSDK.hcommon/PxTypeInfo.hfoundation/Px.hfoundation/PxIntrinsics.hfoundation/PxMath.hfoundation/PxAssert.hcommon/PxPhysXCommonConfig.hPxSerialFramework.hPxCollection.hfoundation/PxFlags.hPxRigidBody.hPxRigidActor.hPxForceMode.hPxActor.hPxShape.hPxPhysXConfig.hfoundation/PxBounds3.hPxClient.hfoundation/PxTransform.hfoundation/PxMat33.hfoundation/PxPlane.hgeometry/PxGeometry.hgeometry/PxGeometryHelpers.hPxBoxGeometry.hPxSphereGeometry.hPxCapsuleGeometry.hPxPlaneGeometry.hPxConvexMeshGeometry.hPxTriangleMeshGeometry.hPxHeightFieldGeometry.hfoundation/PxUnionCast.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Classes

class PxVehicleNoDrive
Data structure with instanced dynamics data and configuration data of a vehicle with no drive model. More...

Functions

PX_COMPILE_TIME_ASSERT (0==(sizeof(PxVehicleChassisData)&0x0f))


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleSDK.h File Reference

PxVehicleSDK.h File Reference

#include "foundation/Px.h"
#include "common/PxTypeInfo.h"

Include dependency graph for PxVehicleSDK.h:

foundation/Px.hcommon/PxTypeInfo.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hcommon/PxPhysXCommonConfig.h

This graph shows which files directly or indirectly include this file:

PxVehicleComponents.hPxPhysicsAPI.hPxVehicleUtilControl.hPxVehicleUpdate.hPxVehicleUtilSetup.hPxVehicleUtilTelemetry.hPxVehicleDrive.hPxVehicleDrive4W.hPxVehicleDriveTank.hPxVehicleDriveNW.hPxVehicleWheels.hPxVehicleNoDrive.h

Go to the source code of this file.

Classes

struct | PxVehicleTypes
struct | PxVehicleConcreteType
An enumeration of concrete vehicle classes inheriting from PxBase. More...
struct | PxVehicleUpdateMode

Defines

#define | PX_MAX_NB_WHEELS (20)
This number is the maximum number of wheels allowed for a vehicle.
#define | PX_DEBUG_VEHICLE_ON (1)
Compiler setting to enable recording of telemetry data.

Functions

PX_C_EXPORT bool PX_CALL_CONV | PxInitVehicleSDK (PxPhysics &physics, PxSerializationRegistry *serializationRegistry=NULL)
Initialize the PhysXVehicle library.
PX_C_EXPORT void PX_CALL_CONV | PxCloseVehicleSDK (PxSerializationRegistry *serializationRegistry=NULL)
Shut down the PhysXVehicle library.
void | PxVehicleSetBasisVectors (const PxVec3 &up, const PxVec3 &forward)
Set the basis vectors of the vehicle simulation.
void | PxVehicleSetUpdateMode (PxVehicleUpdateMode::Enum vehicleUpdateMode)
Set the effect of PxVehicleUpdates to be either to modify each vehicle's rigid body actor.
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.
void | PxVehicleSetMaxHitActorAcceleration (const PxF32 maxHitActorAcceleration)
Determine the maximum acceleration experienced by PxRigidDynamic instances that are found to be in contact with a wheel.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleShaders.h File Reference

PxVehicleShaders.h File Reference

#include "foundation/PxSimpleTypes.h"

Include dependency graph for PxVehicleShaders.h:

foundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxVehicleWheels.hPxVehicleDrive.hPxVehicleDrive4W.hPxVehicleDriveTank.hPxVehicleDriveNW.hPxVehicleNoDrive.hPxVehicleUtilControl.h

Go to the source code of this file.

Typedefs

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.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleTireFriction.h File Reference

PxVehicleTireFriction.h File Reference

#include "foundation/PxSimpleTypes.h"

Include dependency graph for PxVehicleTireFriction.h:

foundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.hPxVehicleUpdate.h

Go to the source code of this file.

Classes

struct | PxVehicleDrivableSurfaceType
Driving surface type. Each PxMaterial is associated with a corresponding PxVehicleDrivableSurfaceType. More...
class | PxVehicleDrivableSurfaceToTireFrictionPairs
Friction for each combination of driving surface type and tire type. More...

Functions

PX_COMPILE_TIME_ASSERT (0==(sizeof(PxVehicleChassisData)&0x0f))


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleUpdate.h File Reference

PxVehicleUpdate.h File Reference

#include "vehicle/PxVehicleSDK.h"
#include "vehicle/PxVehicleTireFriction.h"
#include "foundation/PxSimpleTypes.h"
#include "foundation/PxMemory.h"
#include "foundation/PxTransform.h"
#include "PxBatchQueryDesc.h"

Include dependency graph for PxVehicleUpdate.h:

vehicle/PxVehicleSDK.hfoundation/PxSimpleTypes.hvehicle/PxVehicleTireFriction.hfoundation/PxMemory.hfoundation/PxTransform.hPxBatchQueryDesc.hfoundation/Px.hcommon/PxTypeInfo.hfoundation/PxPreprocessor.hcommon/PxPhysXCommonConfig.hfoundation/PxIntrinsics.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxAssert.hPxPhysXConfig.hPxClient.hPxFiltering.hPxQueryFiltering.hfoundation/PxFlags.hPxQueryReport.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Classes

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 | PxVehicleWheelQueryResult
struct | PxVehicleWheelConcurrentUpdateData
Structure containing data that is computed for a wheel during concurrent calls to PxVehicleUpdates but which cannot be safely concurrently applied. More...
struct | PxVehicleConcurrentUpdateData
Structure containing data that is computed for a vehicle and its wheels during concurrent calls to PxVehicleUpdates but which cannot be safely concurrently applied. More...

Functions

void | PxVehicleSuspensionRaycasts (PxBatchQuery *batchQuery, const PxU32 nbVehicles, PxVehicleWheels **vehicles, const PxU32 nbSceneQueryResults, PxRaycastQueryResult *sceneQueryResults, const bool *vehiclesToRaycast=NULL)
Perform raycasts for all suspension lines for all vehicles.
void | PxVehicleSuspensionSweeps (PxBatchQuery *batchQuery, const PxU32 nbVehicles, PxVehicleWheels **vehicles, const PxU32 nbSceneQueryResults, PxSweepQueryResult *sceneQueryResults, const PxU16 nbHitsPerQuery, const bool *vehiclesToSweep=NULL, const PxF32 sweepWidthScale=1.0f, const PxF32 sweepRadiusScale=1.0f)
Perform sweeps for all suspension lines for all vehicles.
PxU32 | PxVehicleModifyWheelContacts (const PxVehicleWheels &vehicle, const PxU32 wheelId, const PxF32 wheelTangentVelocityMultiplier, const PxReal maxImpulse, PxContactModifyPair &contactModifyPair)
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.
void | PxVehicleUpdates (const PxReal timestep, const PxVec3 &gravity, const PxVehicleDrivableSurfaceToTireFrictionPairs &vehicleDrivableSurfaceToTireFrictionPairs, const PxU32 nbVehicles, PxVehicleWheels **vehicles, PxVehicleWheelQueryResult *vehicleWheelQueryResults, PxVehicleConcurrentUpdateData *vehicleConcurrentUpdates=NULL)
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.
void | PxVehiclePostUpdates (const PxVehicleConcurrentUpdateData *vehicleConcurrentUpdates, const PxU32 nbVehicles, PxVehicleWheels **vehicles)
Apply actor changes that were computed in concurrent calls to PxVehicleUpdates but which could not be safely applied due to the concurrency.
void | PxVehicleShiftOrigin (const PxVec3 &shift, const PxU32 nbVehicles, PxVehicleWheels **vehicles)
Shift the origin of vehicles by the specified vector.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleUtil.h File Reference

PxVehicleUtil.h File Reference

#include "foundation/Px.h"

Include dependency graph for PxVehicleUtil.h:

foundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.h

Go to the source code of this file.

Functions

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.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleUtilControl.h File Reference

PxVehicleUtilControl.h File Reference

#include "vehicle/PxVehicleSDK.h"
#include "vehicle/PxVehicleDrive4W.h"
#include "vehicle/PxVehicleDriveNW.h"
#include "vehicle/PxVehicleDriveTank.h"

Include dependency graph for PxVehicleUtilControl.h:

vehicle/PxVehicleSDK.hvehicle/PxVehicleDrive4W.hvehicle/PxVehicleDriveNW.hvehicle/PxVehicleDriveTank.hfoundation/Px.hcommon/PxTypeInfo.hfoundation/PxSimpleTypes.hfoundation/PxPreprocessor.hcommon/PxPhysXCommonConfig.hvehicle/PxVehicleDrive.hvehicle/PxVehicleWheels.hvehicle/PxVehicleComponents.hvehicle/PxVehicleShaders.hcommon/PxBase.hPxRigidDynamic.hfoundation/PxMemory.hfoundation/PxVec3.hcommon/PxCoreUtilityTypes.hfoundation/PxIntrinsics.hfoundation/PxMath.hfoundation/PxAssert.hPxSerialFramework.hPxCollection.hfoundation/PxFlags.hPxRigidBody.hPxRigidActor.hPxForceMode.hPxActor.hPxShape.hPxPhysXConfig.hfoundation/PxBounds3.hPxClient.hfoundation/PxTransform.hfoundation/PxMat33.hgeometry/PxGeometry.hgeometry/PxGeometryHelpers.hPxBoxGeometry.hPxSphereGeometry.hPxCapsuleGeometry.hPxPlaneGeometry.hPxConvexMeshGeometry.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Classes

struct | PxVehicleKeySmoothingData
Used to produce smooth vehicle driving control values from key inputs. More...
struct | PxVehiclePadSmoothingData
Used to produce smooth analog vehicle control values from analog inputs. More...
class | PxVehicleDrive4WRawInputData
Used to produce smooth vehicle driving control values from analog and digital inputs. More...
class | PxVehicleDriveNWRawInputData
Used to produce smooth vehicle driving control values from analog and digital inputs. More...
class | PxVehicleDriveTankRawInputData
Used to produce smooth analog tank control values from analog and digital inputs. More...

Functions

PX_COMPILE_TIME_ASSERT (0==(sizeof(PxVehicleChassisData)&0x0f))
void | PxVehicleDrive4WSmoothDigitalRawInputsAndSetAnalogInputs (const PxVehicleKeySmoothingData &keySmoothing, const PxFixedSizeLookupTable< 8 > &steerVsForwardSpeedTable, const PxVehicleDrive4WRawInputData &rawInputData, const PxReal timestep, const bool isVehicleInAir, PxVehicleDrive4W &focusVehicle)
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.
void | PxVehicleDrive4WSmoothAnalogRawInputsAndSetAnalogInputs (const PxVehiclePadSmoothingData &padSmoothing, const PxFixedSizeLookupTable< 8 > &steerVsForwardSpeedTable, const PxVehicleDrive4WRawInputData &rawInputData, const PxReal timestep, const bool isVehicleInAir, PxVehicleDrive4W &focusVehicle)
Used to smooth and set analog vehicle control values from analog inputs (gamepad). Also used to set boolean gearup, geardown values.
void | PxVehicleDriveNWSmoothDigitalRawInputsAndSetAnalogInputs (const PxVehicleKeySmoothingData &keySmoothing, const PxFixedSizeLookupTable< 8 > &steerVsForwardSpeedTable, const PxVehicleDriveNWRawInputData &rawInputData, const PxReal timestep, const bool isVehicleInAir, PxVehicleDriveNW &focusVehicle)
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.
void | PxVehicleDriveNWSmoothAnalogRawInputsAndSetAnalogInputs (const PxVehiclePadSmoothingData &padSmoothing, const PxFixedSizeLookupTable< 8 > &steerVsForwardSpeedTable, const PxVehicleDriveNWRawInputData &rawInputData, const PxReal timestep, const bool isVehicleInAir, PxVehicleDriveNW &focusVehicle)
Used to smooth and set analog vehicle control values from analog inputs (gamepad). Also used to set boolean gearup, geardown values.
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.
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.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleUtilSetup.h File Reference

PxVehicleUtilSetup.h File Reference

#include "foundation/PxSimpleTypes.h"
#include "vehicle/PxVehicleSDK.h"

Include dependency graph for PxVehicleUtilSetup.h:

foundation/PxSimpleTypes.hvehicle/PxVehicleSDK.hfoundation/PxPreprocessor.hfoundation/Px.hcommon/PxTypeInfo.hcommon/PxPhysXCommonConfig.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Classes

class | PxVehicleCopyDynamicsMap
Used by PxVehicleCopyDynamicsData. More...

Functions

void | PxVehicle4WEnable3WTadpoleMode (PxVehicleWheelsSimData &wheelsSimData, PxVehicleWheelsDynData &wheelsDynData, PxVehicleDriveSimData4W &driveSimData)
Reconfigure a PxVehicle4W instance as a three-wheeled car with tadpole config (2 front wheels, 1 rear wheel).
void | PxVehicle4WEnable3WDeltaMode (PxVehicleWheelsSimData &wheelsSimData, PxVehicleWheelsDynData &wheelsDynData, PxVehicleDriveSimData4W &driveSimData)
Reconfigure a PxVehicle4W instance as a three-wheeled car with delta config (1 front wheel, 2 rear wheels).
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).
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).
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.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleUtilTelemetry.h File Reference

PxVehicleUtilTelemetry.h File Reference

#include "vehicle/PxVehicleSDK.h"
#include "foundation/PxSimpleTypes.h"
#include "foundation/PxVec3.h"

Include dependency graph for PxVehicleUtilTelemetry.h:

vehicle/PxVehicleSDK.hfoundation/PxSimpleTypes.hfoundation/PxVec3.hfoundation/Px.hcommon/PxTypeInfo.hfoundation/PxPreprocessor.hcommon/PxPhysXCommonConfig.hfoundation/PxMath.hfoundation/PxIntrinsics.hfoundation/PxAssert.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleWheels.h File Reference

PxVehicleWheels.h File Reference

#include "foundation/PxSimpleTypes.h"
#include "vehicle/PxVehicleShaders.h"
#include "vehicle/PxVehicleComponents.h"
#include "common/PxBase.h"
#include "PxRigidDynamic.h"

Include dependency graph for PxVehicleWheels.h:

foundation/PxSimpleTypes.hvehicle/PxVehicleShaders.hvehicle/PxVehicleComponents.hcommon/PxBase.hPxRigidDynamic.hfoundation/PxPreprocessor.hfoundation/PxMemory.hfoundation/PxVec3.hcommon/PxCoreUtilityTypes.hPxVehicleSDK.hcommon/PxTypeInfo.hfoundation/Px.hfoundation/PxIntrinsics.hfoundation/PxMath.hfoundation/PxAssert.hcommon/PxPhysXCommonConfig.hPxSerialFramework.hPxCollection.hfoundation/PxFlags.hPxRigidBody.hPxRigidActor.hPxForceMode.hPxActor.hPxShape.hPxPhysXConfig.hfoundation/PxBounds3.hPxClient.hfoundation/PxTransform.hfoundation/PxMat33.hfoundation/PxQuat.hfoundation/PxPlane.hgeometry/PxGeometry.hgeometry/PxGeometryHelpers.hPxBoxGeometry.hPxSphereGeometry.hPxCapsuleGeometry.hPxPlaneGeometry.hPxConvexMeshGeometry.hPxTriangleMeshGeometry.hPxHeightFieldGeometry.hfoundation/PxUnionCast.h

This graph shows which files directly or indirectly include this file:

PxVehicleDrive.hPxPhysicsAPI.hPxVehicleDrive4W.hPxVehicleDriveTank.hPxVehicleDriveNW.hPxVehicleNoDrive.hPxVehicleUtilControl.h

Go to the source code of this file.

Classes

class | PxVehicleWheelsSimData
Data structure describing configuration data of a vehicle with up to 20 wheels. More...
class | PxVehicleWheelsDynData
Data structure with instanced dynamics data for wheels. More...
class | PxVehicleWheels
Data structure with instanced dynamics data and configuration data of a vehicle with just wheels. More...

Functions

PX_COMPILE_TIME_ASSERT (0==(sizeof(PxVehicleChassisData)&0x0f))


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVisualizationParameter.h File Reference

PxVisualizationParameter.h File Reference

#include "foundation/PxPreprocessor.h"

Include dependency graph for PxVisualizationParameter.h:

foundation/PxPreprocessor.h

This graph shows which files directly or indirectly include this file:

PxScene.hPxPhysicsAPI.hPxSceneLock.hPxVolumeCache.hPxSceneQueryExt.hPxExtensionsAPI.h

Go to the source code of this file.

Classes

struct PxVisualizationParameter
Debug visualization parameters. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVolumeCache.h File Reference

PxVolumeCache.h File Reference

#include "PxScene.h"
#include "geometry/PxGeometryHelpers.h"

Include dependency graph for PxVolumeCache.h:

PxScene.hgeometry/PxGeometryHelpers.hPxVisualizationParameter.hPxSceneDesc.htask/PxTask.hPxSimulationStatistics.hPxQueryReport.hPxQueryFiltering.hPxClient.hparticles/PxParticleSystem.hparticles/PxParticleFluid.hpvd/PxPvdSceneClient.hfoundation/PxPreprocessor.hPxPhysXConfig.hfoundation/PxFlags.hfoundation/PxBounds3.hPxFiltering.hPxBroadPhase.hcommon/PxTolerancesScale.hcommon/PxPhysXCommonConfig.hfoundation/Px.hfoundation/PxSimpleTypes.hfoundation/PxTransform.hfoundation/PxMat33.hfoundation/PxQuat.hfoundation/PxPlane.hfoundation/PxVec3.hfoundation/PxMath.hfoundation/PxAssert.htask/PxTaskDefine.htask/PxTaskManager.htask/PxCpuDispatcher.htask/PxGpuDispatcher.hgeometry/PxGeometry.hparticles/PxParticleBase.hparticles/PxParticleFluidReadData.hPxBoxGeometry.hPxSphereGeometry.hPxCapsuleGeometry.hPxPlaneGeometry.hPxConvexMeshGeometry.hPxTriangleMeshGeometry.hPxHeightFieldGeometry.hfoundation/PxUnionCast.hgeometry/PxMeshScale.hcommon/PxCoreUtilityTypes.hgeometry/PxConvexMesh.h

This graph shows which files directly or indirectly include this file:

PxPhysicsAPI.h

Go to the source code of this file.

Classes

class | PxVolumeCache
Volumetric cache for local collision geometry. More...
struct | PxVolumeCache::PxVolumeCache::Iterator
A callback wrapper class for use with PxVolumeCache::forEach function. More...


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • c
  • i
  • o
  • p
  • t
Here is a list of all file members with links to the files they belong to:

- _ -

  • __STDC_FORMAT_MACROS : PxSimpleTypes.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Alphabetical List

Class Index

P | R

P
PxConstraintInfo PxExtendedContact PxParticleExt PxSpring
Px1DConstraint PxConstraintInvMassScale PxExtendedVec3 PxParticleExt::IndexPool PxStridedData
Px1DConstraintFlag PxConstraintShaderTable PxFileBuf PxParticleExt::ParticleBounds PxStrideIterator
PxActiveTransform PxConstraintSolveHint PxFilterData PxParticleFlag PxStringTable
PxActor PxConstraintVisualizationFlag PxFilterFlag PxParticleFluid PxStringTableExt
PxActorClientBehaviorFlag PxConstraintVisualizer PxFilterInfo PxParticleFluidReadData PxSweepBufferN
PxActorFlag PxContact PxFilterObjectFlag PxParticleReadData PxSweepHit
PxActorShape PxContactModifyCallback PxFilterObjectType PxParticleReadDataFlag PxTask (physx)
PxActorType PxContactModifyPair PxFilterOp PxParticleSystem PxTaskManager (physx)
PxActorTypeFlag PxContactPair PxFixedJoint PxPhysics PxTaskType (physx)
PxAggregate PxContactPairExtraDataItem PxFixedSizeLookupTable PxPhysicsInsertionCallback PxTolerancesScale
PxAllocatorCallback PxContactPairExtraDataIterator PxFlags PxPlane PxTransform
PxArticulation PxContactPairExtraDataType PxForceMode PxPlaneGeometry PxTriangle
PxArticulationDriveCache PxContactPairFlag PxFoundation PxPlatform PxTriangleMesh
PxArticulationJoint PxContactPairHeader PxFrictionType PxPrismaticJoint PxTriangleMeshCookingResult
PxArticulationJointDriveType PxContactPairHeaderFlag PxgDynamicsMemoryConfig PxPrismaticJointFlag PxTriangleMeshDesc
PxArticulationLink PxContactPairIndex PxGeometry PxProcessPxBaseCallback PxTriangleMeshFlag
PxAssertHandler PxContactPairPoint PxGeometryHolder PxProfilerCallback (physx) PxTriangleMeshGeometry
PxBase PxContactPairPose PxGeometryQuery PxProfileScoped (physx) PxTriggerPair
PxBaseFlag PxContactPairVelocity PxGeometryType PxPruningStructure PxTriggerPairFlag
PxBaseTask (physx) PxContactPatch PxGpuDispatcher (physx) PxPruningStructureType PxTypedStridedData
PxBatchQuery PxContactRecorder PxGpuTask (physx) PxPvd PxTypeInfo
PxBatchQueryDesc PxContactSet PxGpuTaskHint (physx) PxPvdInstrumentationFlag PxUserControllerHitReport
PxBatchQueryMemory PxContactStreamIterator PxGroupsMask PxPvdSceneClient PxVec2
PxBatchQueryResult PxController PxHeightField PxPvdSceneFlag PxVec3
PxBatchQueryStatus PxControllerBehaviorCallback PxHeightFieldDesc PxPvdTransport PxVec4
PxBinaryConverter PxControllerBehaviorFlag PxHeightFieldFlag PxPvdUpdateType PxVehicleAckermannGeometryData
PxBitAndDataT PxControllerCollisionFlag PxHeightFieldFormat PxQuat PxVehicleAntiRollBarData
PxBoundedData PxControllerDebugRenderFlag PxHeightFieldGeometry PxQueryCache PxVehicleAutoBoxData
PxBounds3 PxControllerDesc PxHeightFieldMaterial PxQueryFilterCallback PxVehicleChassisData
PxBoxController PxControllerFilterCallback PxHeightFieldSample PxQueryFilterData PxVehicleClutchAccuracyMode
PxBoxControllerDesc PxControllerFilters PxHeightFieldTessFlag PxQueryFlag PxVehicleClutchData
PxBoxGeometry PxControllerHit PxHitBuffer PxQueryHit PxVehicleConcreteType
PxBoxObstacle PxControllerManager PxHitCallback PxQueryHitType PxVehicleConcurrentUpdateData
PxBroadPhaseCallback PxControllerNonWalkableMode PxHitFlag PxRaycastBufferN PxVehicleCopyDynamicsMap
PxBroadPhaseCaps PxControllerObstacleHit PxHullPolygon PxRaycastHit PxVehicleDifferential4WData
PxBroadPhaseExt PxControllerShapeHit PxInputData PxRenderBuffer PxVehicleDifferentialNWData
PxBroadPhaseRegion PxControllerShapeType PxInputStream PxRepXInstantiationArgs PxVehicleDrivableSurfaceToTireFrictionPairs
PxBroadPhaseRegionInfo PxControllersHit PxJoint PxRepXObject PxVehicleDrivableSurfaceType
PxBroadPhaseType PxControllerState PxJointActorIndex PxRepXSerializer PxVehicleDrive
PxBVH33MidphaseDesc PxControllerStats PxJointAngularLimitPair PxRevoluteJoint PxVehicleDrive4W
PxBVH33TriangleMesh PxConverterReportMode PxJointConcreteType PxRevoluteJointFlag PxVehicleDrive4WControl
PxBVH34MidphaseDesc PxConvexFlag PxJointLimitCone PxRigidActor PxVehicleDrive4WRawInputData
PxBVH34TriangleMesh PxConvexMesh PxJointLimitParameters PxRigidActorExt PxVehicleDrive4WWheelOrder
PxCapsuleClimbingMode PxConvexMeshCookingResult PxJointLinearLimit PxRigidBody PxVehicleDriveDynData
PxCapsuleController PxConvexMeshCookingType PxJointLinearLimitPair PxRigidBodyData PxVehicleDriveNW
PxCapsuleControllerDesc PxConvexMeshDesc PxLightCpuTask (physx) PxRigidBodyExt PxVehicleDriveNWControl
PxCapsuleGeometry PxConvexMeshGeometry PxLocationHit PxRigidBodyFlag PxVehicleDriveNWRawInputData
PxCapsuleObstacle PxConvexMeshGeometryFlag PxLockedData PxRigidDynamic PxVehicleDriveSimData
PxCCDContactModifyCallback PxCooking PxMassModificationProps PxRigidDynamicLockFlag PxVehicleDriveSimData4W
PxClientBehaviorFlag PxCookingParams PxMassProperties PxRigidStatic PxVehicleDriveSimDataNW
PxCloth PxCpuDispatcher (physx) PxMat33 PxScene PxVehicleDriveTank
PxClothCollisionPlane PxD6Axis PxMat44 PxSceneDesc PxVehicleDriveTankControl
PxClothCollisionSphere PxD6Drive PxMaterial PxSceneFlag PxVehicleDriveTankControlModel
PxClothCollisionTriangle PxD6Joint PxMaterialFlag PxSceneLimits PxVehicleDriveTankRawInputData
PxClothFabric PxD6JointDrive PxMeshCookingHint PxSceneQueryExt PxVehicleDriveTankWheelOrder
PxClothFabricCooker PxD6JointDriveFlag PxMeshFlag PxSceneQueryUpdateMode PxVehicleEngineData
PxClothFabricDesc PxD6Motion PxMeshGeometryFlag PxSceneReadLock PxVehicleGearsData
PxClothFabricPhase PxDataAccessFlag PxMeshMidPhase PxSceneWriteLock PxVehicleKeySmoothingData
PxClothFabricPhaseType PxDebugColor PxMeshOverlapUtil PxSerialization PxVehicleNoDrive
PxClothFlag PxDebugLine PxMeshPreprocessingFlag PxSerialization::PxXmlMiscParameter PxVehiclePadSmoothingData
PxClothGeodesicTetherCooker PxDebugPoint PxMeshQuery PxSerializationContext PxVehicleSuspensionData
PxClothMeshDesc PxDebugText PxMeshScale PxSerializationRegistry PxVehicleTireData
PxClothMeshQuadifier PxDebugTriangle PxMetaDataEntry PxSerializer PxVehicleTireLoadFilterData
PxClothMotionConstraintConfig PxDefaultAllocator PxMetaDataFlag PxSerializerDefaultAdapter PxVehicleTypes
PxClothParticle PxDefaultCpuDispatcher PxMidphaseDesc PxShape PxVehicleUpdateMode
PxClothParticleMotionConstraint PxDefaultErrorCallback PxModifiableContact PxShapeExt PxVehicleWheelConcurrentUpdateData
PxClothParticleSeparationConstraint PxDefaultFileInputData PxObstacle PxShapeFlag PxVehicleWheelData
PxClothSimpleTetherCooker PxDefaultFileOutputStream PxObstacleContext PxSimpleTriangleMesh PxVehicleWheelQueryResult
PxClothStretchConfig PxDefaultMemoryInputData PxOutputStream PxSimulationEventCallback PxVehicleWheels
PxClothTetherConfig PxDefaultMemoryOutputStream PxOverlapBufferN PxSimulationFilterCallback PxVehicleWheelsDynData
PxCollection PxDeletionEventFlag PxOverlapHit PxSimulationStatistics PxVehicleWheelsSimData
PxCollectionExt PxDeletionListener PxPackValidation PxSpatialIndex PxVisualizationParameter
PxCombineMode PxDeserializationContext PxPadding PxSpatialIndexItem PxVolumeCache
PxConcreteType PxDistanceJoint PxPairFilteringMode PxSpatialLocationCallback PxVolumeCache::Iterator
PxConstraint PxDistanceJointFlag PxPairFlag PxSpatialOverlapCallback PxWheelQueryResult
PxConstraintConnector PxDominanceGroupPair PxParticleBase PxSphereGeometry
R


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

physx::PxBaseTask Member List

This is the complete list of members for physx::PxBaseTask, including all inherited members.

addReference()=0 | physx::PxBaseTask | [pure virtual]
getContextId() const | physx::PxBaseTask | [inline]
getName() const =0 | physx::PxBaseTask | [pure virtual]
getReference() const =0 | physx::PxBaseTask | [pure virtual]
getTaskManager() const | physx::PxBaseTask | [inline]
mContextID | physx::PxBaseTask | [protected]
mTm | physx::PxBaseTask | [protected]
PxBaseTask() | physx::PxBaseTask | [inline]
PxTaskMgr class | physx::PxBaseTask | [friend]
release()=0 | physx::PxBaseTask | [pure virtual]
removeReference()=0 | physx::PxBaseTask | [pure virtual]
run()=0 | physx::PxBaseTask | [pure virtual]
setContextId(PxU64 id) | physx::PxBaseTask | [inline]
~PxBaseTask() | physx::PxBaseTask | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

physx::PxCpuDispatcher Member List

This is the complete list of members for physx::PxCpuDispatcher, including all inherited members.

getWorkerCount() const =0 | physx::PxCpuDispatcher | [pure virtual]
submitTask(PxBaseTask &task)=0 | physx::PxCpuDispatcher | [pure virtual]
~PxCpuDispatcher() | physx::PxCpuDispatcher | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

physx::PxGpuDispatcher Member List

This is the complete list of members for physx::PxGpuDispatcher, including all inherited members.

addCompletionPrereq(PxBaseTask &task)=0 | physx::PxGpuDispatcher | [pure virtual]
addPostLaunchDependent(PxBaseTask &dependent)=0 | physx::PxGpuDispatcher | [pure virtual]
addPreLaunchDependent(PxBaseTask &dependent)=0 | physx::PxGpuDispatcher | [pure virtual]
failureDetected() const =0 | physx::PxGpuDispatcher | [pure virtual]
finishGroup()=0 | physx::PxGpuDispatcher | [pure virtual]
forceFailureMode()=0 | physx::PxGpuDispatcher | [pure virtual]
getCudaContextManager()=0 | physx::PxGpuDispatcher | [pure virtual]
getPostLaunchTask()=0 | physx::PxGpuDispatcher | [pure virtual]
getPreLaunchTask()=0 | physx::PxGpuDispatcher | [pure virtual]
launchCopyKernel(PxGpuCopyDesc *desc, uint32_t count, CUstream stream)=0 | physx::PxGpuDispatcher | [pure virtual]
startGroup()=0 | physx::PxGpuDispatcher | [pure virtual]
startSimulation()=0 | physx::PxGpuDispatcher | [pure virtual]
stopSimulation()=0 | physx::PxGpuDispatcher | [pure virtual]
submitTask(PxTask &task)=0 | physx::PxGpuDispatcher | [pure virtual]
~PxGpuDispatcher() | physx::PxGpuDispatcher | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

physx::PxGpuTask Member List

This is the complete list of members for physx::PxGpuTask, including all inherited members.

addReference() | physx::PxTask | [inline, virtual]
finishBefore(PxTaskID taskID) | physx::PxTask | [inline]
getContextId() const | physx::PxBaseTask | [inline]
getName() const =0 | physx::PxBaseTask | [pure virtual]
getReference() const | physx::PxTask | [inline, virtual]
getTaskHint() const =0 | physx::PxGpuTask | [pure virtual]
getTaskID() const | physx::PxTask | [inline]
getTaskManager() const | physx::PxBaseTask | [inline]
launchInstance(CUstream stream, int kernelIndex)=0 | physx::PxGpuTask | [pure virtual]
mComp | physx::PxGpuTask | [protected]
mContextID | physx::PxBaseTask | [protected]
mPreSyncRequired | physx::PxTask | [protected]
mStreamIndex | physx::PxTask | [protected]
mTaskID | physx::PxTask | [protected]
mTm | physx::PxBaseTask | [protected]
PxBaseTask() | physx::PxBaseTask | [inline]
PxGpuTask() | physx::PxGpuTask | [inline]
PxGpuWorkerThread class | physx::PxTask | [friend]
PxTask() | physx::PxTask | [inline]
PxTaskMgr class | physx::PxTask | [friend]
release() | physx::PxGpuTask | [inline, virtual]
removeReference() | physx::PxTask | [inline, virtual]
requestSyncPoint() | physx::PxTask | [inline]
run()=0 | physx::PxBaseTask | [pure virtual]
setCompletionTask(PxBaseTask &task) | physx::PxGpuTask | [inline]
setContextId(PxU64 id) | physx::PxBaseTask | [inline]
startAfter(PxTaskID taskID) | physx::PxTask | [inline]
submitted() | physx::PxTask | [inline, virtual]
~PxBaseTask() | physx::PxBaseTask | [inline, virtual]
~PxTask() | physx::PxTask | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

physx::PxLightCpuTask Member List

This is the complete list of members for physx::PxLightCpuTask, including all inherited members.

addReference() | physx::PxLightCpuTask | [inline, virtual]
getContextId() const | physx::PxBaseTask | [inline]
getContinuation() const | physx::PxLightCpuTask | [inline]
getName() const =0 | physx::PxBaseTask | [pure virtual]
getReference() const | physx::PxLightCpuTask | [inline, virtual]
getTaskManager() const | physx::PxBaseTask | [inline]
mCont | physx::PxLightCpuTask | [protected]
mContextID | physx::PxBaseTask | [protected]
mRefCount | physx::PxLightCpuTask | [protected]
mTm | physx::PxBaseTask | [protected]
PxBaseTask() | physx::PxBaseTask | [inline]
PxLightCpuTask() | physx::PxLightCpuTask | [inline]
PxTaskMgr class | physx::PxLightCpuTask | [friend]
release() | physx::PxLightCpuTask | [inline, virtual]
removeReference() | physx::PxLightCpuTask | [inline, virtual]
run()=0 | physx::PxBaseTask | [pure virtual]
setContextId(PxU64 id) | physx::PxBaseTask | [inline]
setContinuation(PxTaskManager &tm, PxBaseTask *c) | physx::PxLightCpuTask | [inline]
setContinuation(PxBaseTask *c) | physx::PxLightCpuTask | [inline]
~PxBaseTask() | physx::PxBaseTask | [inline, virtual]
~PxLightCpuTask() | physx::PxLightCpuTask | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

physx::PxProfilerCallback Member List

This is the complete list of members for physx::PxProfilerCallback, including all inherited members.

zoneEnd(void *profilerData, const char *eventName, bool detached, uint64_t contextId)=0 | physx::PxProfilerCallback | [pure virtual]
zoneStart(const char *eventName, bool detached, uint64_t contextId)=0 | physx::PxProfilerCallback | [pure virtual]
~PxProfilerCallback() | physx::PxProfilerCallback | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

physx::PxProfileScoped Member List

This is the complete list of members for physx::PxProfileScoped, including all inherited members.

mCallback | physx::PxProfileScoped |
mContextId | physx::PxProfileScoped |
mDetached | physx::PxProfileScoped |
mEventName | physx::PxProfileScoped |
mProfilerData | physx::PxProfileScoped |
PxProfileScoped(const char *eventName, bool detached, uint64_t contextId) | physx::PxProfileScoped | [inline]
~PxProfileScoped() | physx::PxProfileScoped | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

physx::PxTask Member List

This is the complete list of members for physx::PxTask, including all inherited members.

addReference() | physx::PxTask | [inline, virtual]
finishBefore(PxTaskID taskID) | physx::PxTask | [inline]
getContextId() const | physx::PxBaseTask | [inline]
getName() const =0 | physx::PxBaseTask | [pure virtual]
getReference() const | physx::PxTask | [inline, virtual]
getTaskID() const | physx::PxTask | [inline]
getTaskManager() const | physx::PxBaseTask | [inline]
mContextID | physx::PxBaseTask | [protected]
mPreSyncRequired | physx::PxTask | [protected]
mStreamIndex | physx::PxTask | [protected]
mTaskID | physx::PxTask | [protected]
mTm | physx::PxBaseTask | [protected]
PxBaseTask() | physx::PxBaseTask | [inline]
PxGpuWorkerThread class | physx::PxTask | [friend]
PxTask() | physx::PxTask | [inline]
PxTaskMgr class | physx::PxTask | [friend]
release() | physx::PxTask | [inline, virtual]
removeReference() | physx::PxTask | [inline, virtual]
requestSyncPoint() | physx::PxTask | [inline]
run()=0 | physx::PxBaseTask | [pure virtual]
setContextId(PxU64 id) | physx::PxBaseTask | [inline]
startAfter(PxTaskID taskID) | physx::PxTask | [inline]
submitted() | physx::PxTask | [inline, virtual]
~PxBaseTask() | physx::PxBaseTask | [inline, virtual]
~PxTask() | physx::PxTask | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

physx::PxTaskManager Member List

This is the complete list of members for physx::PxTaskManager, including all inherited members.

createTaskManager(PxErrorCallback &errorCallback, PxCpuDispatcher *=0, PxGpuDispatcher *=0) | physx::PxTaskManager | [static]
getCpuDispatcher() const =0 | physx::PxTaskManager | [pure virtual]
getGpuDispatcher() const =0 | physx::PxTaskManager | [pure virtual]
getNamedTask(const char *name)=0 | physx::PxTaskManager | [pure virtual]
getTaskFromID(PxTaskID id)=0 | physx::PxTaskManager | [pure virtual]
PxBaseTask class | physx::PxTaskManager | [friend]
PxGpuWorkerThread class | physx::PxTaskManager | [friend]
PxLightCpuTask class | physx::PxTaskManager | [friend]
PxTask class | physx::PxTaskManager | [friend]
release()=0 | physx::PxTaskManager | [pure virtual]
resetDependencies()=0 | physx::PxTaskManager | [pure virtual]
setCpuDispatcher(PxCpuDispatcher &ref)=0 | physx::PxTaskManager | [pure virtual]
setGpuDispatcher(PxGpuDispatcher &ref)=0 | physx::PxTaskManager | [pure virtual]
startSimulation()=0 | physx::PxTaskManager | [pure virtual]
stopSimulation()=0 | physx::PxTaskManager | [pure virtual]
submitNamedTask(PxTask *task, const char *name, PxTaskType::Enum type=PxTaskType::TT_CPU)=0 | physx::PxTaskManager | [pure virtual]
submitUnnamedTask(PxTask &task, PxTaskType::Enum type=PxTaskType::TT_CPU)=0 | physx::PxTaskManager | [pure virtual]
taskCompleted(PxTask &task)=0 | physx::PxTaskManager | [pure virtual]
~PxTaskManager() | physx::PxTaskManager | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxActor Member List

This is the complete list of members for PxActor, including all inherited members.

getActorFlags() const =0 | PxActor | [pure virtual]
getAggregate() const =0 | PxActor | [pure virtual]
getBaseFlags() const | PxBase | [inline]
getClientBehaviorFlags() const =0 | PxActor | [pure virtual]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const =0 | PxBase | [pure virtual]
getDominanceGroup() const =0 | PxActor | [pure virtual]
getName() const =0 | PxActor | [pure virtual]
getOwnerClient() const =0 | PxActor | [pure virtual]
getScene() const =0 | PxActor | [pure virtual]
getType() const =0 | PxActor | [pure virtual]
getWorldBounds(float inflation=1.01f) const =0 | PxActor | [pure virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxActor | [inline, protected, virtual]
isReleasable() const | PxBase | [inline, virtual]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
PxActor(PxType concreteType, PxBaseFlags baseFlags) | PxActor | [inline, protected]
PxActor(PxBaseFlags baseFlags) | PxActor | [inline, protected]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
release()=0 | PxActor | [pure virtual]
setActorFlag(PxActorFlag::Enum flag, bool value)=0 | PxActor | [pure virtual]
setActorFlags(PxActorFlags inFlags)=0 | PxActor | [pure virtual]
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
setClientBehaviorFlags(PxActorClientBehaviorFlags)=0 | PxActor | [pure virtual]
setDominanceGroup(PxDominanceGroup dominanceGroup)=0 | PxActor | [pure virtual]
setName(const char *name)=0 | PxActor | [pure virtual]
setOwnerClient(PxClientID inClient)=0 | PxActor | [pure virtual]
typeMatch() const | PxBase | [inline, protected]
userData | PxActor |
~PxActor() | PxActor | [inline, protected, virtual]
~PxBase() | PxBase | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxAggregate Member List

This is the complete list of members for PxAggregate, including all inherited members.

addActor(PxActor &actor)=0 | PxAggregate | [pure virtual]
addArticulation(PxArticulation &articulation)=0 | PxAggregate | [pure virtual]
getActors(PxActor **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 | PxAggregate | [pure virtual]
getBaseFlags() const | PxBase | [inline]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const | PxAggregate | [inline, virtual]
getMaxNbActors() const =0 | PxAggregate | [pure virtual]
getNbActors() const =0 | PxAggregate | [pure virtual]
getScene()=0 | PxAggregate | [pure virtual]
getSelfCollision() const =0 | PxAggregate | [pure virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxAggregate | [inline, protected, virtual]
isReleasable() const | PxBase | [inline, virtual]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
PxAggregate(PxType concreteType, PxBaseFlags baseFlags) | PxAggregate | [inline, protected]
PxAggregate(PxBaseFlags baseFlags) | PxAggregate | [inline, protected]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
release()=0 | PxAggregate | [pure virtual]
removeActor(PxActor &actor)=0 | PxAggregate | [pure virtual]
removeArticulation(PxArticulation &articulation)=0 | PxAggregate | [pure virtual]
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
typeMatch() const | PxBase | [inline, protected]
~PxAggregate() | PxAggregate | [inline, protected, virtual]
~PxBase() | PxBase | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxAllocatorCallback Member List

This is the complete list of members for PxAllocatorCallback, including all inherited members.

allocate(size_t size, const char *typeName, const char *filename, int line)=0 | PxAllocatorCallback | [pure virtual]
deallocate(void *ptr)=0 | PxAllocatorCallback | [pure virtual]
~PxAllocatorCallback() | PxAllocatorCallback | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxArticulation Member List

This is the complete list of members for PxArticulation, including all inherited members.

applyImpulse(PxArticulationLink *link, const PxArticulationDriveCache &driveCache, const PxVec3 &linearImpulse, const PxVec3 &angularImpulse)=0 | PxArticulation | [pure virtual]
computeImpulseResponse(PxArticulationLink *link, PxVec3 &linearResponse, PxVec3 &angularResponse, const PxArticulationDriveCache &driveCache, const PxVec3 &linearImpulse, const PxVec3 &angularImpulse) const =0 | PxArticulation | [pure virtual]
createDriveCache(PxReal compliance, PxU32 driveIterations) const =0 | PxArticulation | [pure virtual]
createLink(PxArticulationLink *parent, const PxTransform &pose)=0 | PxArticulation | [pure virtual]
getAggregate() const =0 | PxArticulation | [pure virtual]
getBaseFlags() const | PxBase | [inline]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const | PxArticulation | [inline, virtual]
getExternalDriveIterations() const =0 | PxArticulation | [pure virtual]
getInternalDriveIterations() const =0 | PxArticulation | [pure virtual]
getLinks(PxArticulationLink **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 | PxArticulation | [pure virtual]
getMaxProjectionIterations() const =0 | PxArticulation | [pure virtual]
getName() const =0 | PxArticulation | [pure virtual]
getNbLinks() const =0 | PxArticulation | [pure virtual]
getScene() const =0 | PxArticulation | [pure virtual]
getSeparationTolerance() const =0 | PxArticulation | [pure virtual]
getSleepThreshold() const =0 | PxArticulation | [pure virtual]
getSolverIterationCounts(PxU32 &minPositionIters, PxU32 &minVelocityIters) const =0 | PxArticulation | [pure virtual]
getStabilizationThreshold() const =0 | PxArticulation | [pure virtual]
getWakeCounter() const =0 | PxArticulation | [pure virtual]
getWorldBounds(float inflation=1.01f) const =0 | PxArticulation | [pure virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxArticulation | [inline, protected, virtual]
isReleasable() const | PxBase | [inline, virtual]
isSleeping() const =0 | PxArticulation | [pure virtual]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
putToSleep()=0 | PxArticulation | [pure virtual]
PxArticulation(PxType concreteType, PxBaseFlags baseFlags) | PxArticulation | [inline, protected]
PxArticulation(PxBaseFlags baseFlags) | PxArticulation | [inline, protected]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
release()=0 | PxArticulation | [pure virtual]
releaseDriveCache(PxArticulationDriveCache &driveCache) const =0 | PxArticulation | [pure virtual]
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
setExternalDriveIterations(PxU32 iterations)=0 | PxArticulation | [pure virtual]
setInternalDriveIterations(PxU32 iterations)=0 | PxArticulation | [pure virtual]
setMaxProjectionIterations(PxU32 iterations)=0 | PxArticulation | [pure virtual]
setName(const char *name)=0 | PxArticulation | [pure virtual]
setSeparationTolerance(PxReal tolerance)=0 | PxArticulation | [pure virtual]
setSleepThreshold(PxReal threshold)=0 | PxArticulation | [pure virtual]
setSolverIterationCounts(PxU32 minPositionIters, PxU32 minVelocityIters=1)=0 | PxArticulation | [pure virtual]
setStabilizationThreshold(PxReal threshold)=0 | PxArticulation | [pure virtual]
setWakeCounter(PxReal wakeCounterValue)=0 | PxArticulation | [pure virtual]
typeMatch() const | PxBase | [inline, protected]
updateDriveCache(PxArticulationDriveCache &driveCache, PxReal compliance, PxU32 driveIterations) const =0 | PxArticulation | [pure virtual]
userData | PxArticulation |
wakeUp()=0 | PxArticulation | [pure virtual]
~PxArticulation() | PxArticulation | [inline, protected, virtual]
~PxBase() | PxBase | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxArticulationDriveCache Member List

This is the complete list of members for PxArticulationDriveCache, including all inherited members.

PxArticulationDriveCache() PxArticulationDriveCache [protected]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxArticulationJoint Member List

This is the complete list of members for PxArticulationJoint, including all inherited members.

getBaseFlags() const | PxBase | [inline]
getChildPose() const =0 | PxArticulationJoint | [pure virtual]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const | PxArticulationJoint | [inline, virtual]
getDamping() const =0 | PxArticulationJoint | [pure virtual]
getDriveType() const =0 | PxArticulationJoint | [pure virtual]
getExternalCompliance() const =0 | PxArticulationJoint | [pure virtual]
getInternalCompliance() const =0 | PxArticulationJoint | [pure virtual]
getParentPose() const =0 | PxArticulationJoint | [pure virtual]
getStiffness() const =0 | PxArticulationJoint | [pure virtual]
getSwingLimit(PxReal &zLimit, PxReal &yLimit) const =0 | PxArticulationJoint | [pure virtual]
getSwingLimitContactDistance() const =0 | PxArticulationJoint | [pure virtual]
getSwingLimitEnabled() const =0 | PxArticulationJoint | [pure virtual]
getTangentialDamping() const =0 | PxArticulationJoint | [pure virtual]
getTangentialStiffness() const =0 | PxArticulationJoint | [pure virtual]
getTargetOrientation() const =0 | PxArticulationJoint | [pure virtual]
getTargetVelocity() const =0 | PxArticulationJoint | [pure virtual]
getTwistLimit(PxReal &lower, PxReal &upper) const =0 | PxArticulationJoint | [pure virtual]
getTwistLimitContactDistance() const =0 | PxArticulationJoint | [pure virtual]
getTwistLimitEnabled() const =0 | PxArticulationJoint | [pure virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxArticulationJoint | [inline, protected, virtual]
isReleasable() const | PxBase | [inline, virtual]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
PxArticulationJoint(PxType concreteType, PxBaseFlags baseFlags) | PxArticulationJoint | [inline, protected]
PxArticulationJoint(PxBaseFlags baseFlags) | PxArticulationJoint | [inline, protected]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
release()=0 | PxBase | [pure virtual]
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
setChildPose(const PxTransform &pose)=0 | PxArticulationJoint | [pure virtual]
setDamping(PxReal damping)=0 | PxArticulationJoint | [pure virtual]
setDriveType(PxArticulationJointDriveType::Enum driveType)=0 | PxArticulationJoint | [pure virtual]
setExternalCompliance(PxReal compliance)=0 | PxArticulationJoint | [pure virtual]
setInternalCompliance(PxReal compliance)=0 | PxArticulationJoint | [pure virtual]
setParentPose(const PxTransform &pose)=0 | PxArticulationJoint | [pure virtual]
setStiffness(PxReal spring)=0 | PxArticulationJoint | [pure virtual]
setSwingLimit(PxReal zLimit, PxReal yLimit)=0 | PxArticulationJoint | [pure virtual]
setSwingLimitContactDistance(PxReal contactDistance)=0 | PxArticulationJoint | [pure virtual]
setSwingLimitEnabled(bool enabled)=0 | PxArticulationJoint | [pure virtual]
setTangentialDamping(PxReal damping)=0 | PxArticulationJoint | [pure virtual]
setTangentialStiffness(PxReal spring)=0 | PxArticulationJoint | [pure virtual]
setTargetOrientation(const PxQuat &orientation)=0 | PxArticulationJoint | [pure virtual]
setTargetVelocity(const PxVec3 &velocity)=0 | PxArticulationJoint | [pure virtual]
setTwistLimit(PxReal lower, PxReal upper)=0 | PxArticulationJoint | [pure virtual]
setTwistLimitContactDistance(PxReal contactDistance)=0 | PxArticulationJoint | [pure virtual]
setTwistLimitEnabled(bool enabled)=0 | PxArticulationJoint | [pure virtual]
typeMatch() const | PxBase | [inline, protected]
~PxArticulationJoint() | PxArticulationJoint | [inline, protected, virtual]
~PxBase() | PxBase | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxArticulationLink Member List

This is the complete list of members for PxArticulationLink, including all inherited members.

addForce(const PxVec3 &force, PxForceMode::Enum mode=PxForceMode::eFORCE, bool autowake=true)=0 | PxRigidBody | [pure virtual]
addTorque(const PxVec3 &torque, PxForceMode::Enum mode=PxForceMode::eFORCE, bool autowake=true)=0 | PxRigidBody | [pure virtual]
attachShape(PxShape &shape)=0 | PxRigidActor | [pure virtual]
clearForce(PxForceMode::Enum mode=PxForceMode::eFORCE)=0 | PxRigidBody | [pure virtual]
clearTorque(PxForceMode::Enum mode=PxForceMode::eFORCE)=0 | PxRigidBody | [pure virtual]
createShape(const PxGeometry &geometry, PxMaterial *const *materials, PxU16 materialCount, PxShapeFlags shapeFlags=PxShapeFlag::eVISUALIZATION|PxShapeFlag::eSCENE_QUERY_SHAPE|PxShapeFlag::eSIMULATION_SHAPE)=0 | PxRigidActor | [pure virtual]
createShape(const PxGeometry &geometry, const PxMaterial &material, PxShapeFlags shapeFlags=PxShapeFlag::eVISUALIZATION|PxShapeFlag::eSCENE_QUERY_SHAPE|PxShapeFlag::eSIMULATION_SHAPE) | PxRigidActor | [inline]
detachShape(PxShape &shape, bool wakeOnLostTouch=true)=0 | PxRigidActor | [pure virtual]
getActorFlags() const =0 | PxActor | [pure virtual]
getAggregate() const =0 | PxActor | [pure virtual]
getAngularVelocity() const =0 | PxRigidBody | [pure virtual]
getArticulation() const =0 | PxArticulationLink | [pure virtual]
getBaseFlags() const | PxBase | [inline]
getChildren(PxArticulationLink **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 | PxArticulationLink | [pure virtual]
getClientBehaviorFlags() const =0 | PxActor | [pure virtual]
getCMassLocalPose() const =0 | PxRigidBody | [pure virtual]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const | PxArticulationLink | [inline, virtual]
getConstraints(PxConstraint **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 | PxRigidActor | [pure virtual]
getDominanceGroup() const =0 | PxActor | [pure virtual]
getGlobalPose() const =0 | PxRigidActor | [pure virtual]
getInboundJoint() const =0 | PxArticulationLink | [pure virtual]
getInvMass() const =0 | PxRigidBody | [pure virtual]
getLinearVelocity() const =0 | PxRigidBody | [pure virtual]
getMass() const =0 | PxRigidBody | [pure virtual]
getMassSpaceInertiaTensor() const =0 | PxRigidBody | [pure virtual]
getMassSpaceInvInertiaTensor() const =0 | PxRigidBody | [pure virtual]
getMaxContactImpulse() const =0 | PxRigidBody | [pure virtual]
getMaxDepenetrationVelocity() const =0 | PxRigidBody | [pure virtual]
getMinCCDAdvanceCoefficient() const =0 | PxRigidBody | [pure virtual]
getName() const =0 | PxActor | [pure virtual]
getNbChildren() const =0 | PxArticulationLink | [pure virtual]
getNbConstraints() const =0 | PxRigidActor | [pure virtual]
getNbShapes() const =0 | PxRigidActor | [pure virtual]
getOwnerClient() const =0 | PxActor | [pure virtual]
getRigidBodyFlags() const =0 | PxRigidBody | [pure virtual]
getScene() const =0 | PxActor | [pure virtual]
getShapes(PxShape **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 | PxRigidActor | [pure virtual]
getType() const =0 | PxActor | [pure virtual]
getWorldBounds(float inflation=1.01f) const =0 | PxActor | [pure virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxArticulationLink | [inline, protected, virtual]
isReleasable() const | PxBase | [inline, virtual]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
PxActor(PxType concreteType, PxBaseFlags baseFlags) | PxActor | [inline, protected]
PxActor(PxBaseFlags baseFlags) | PxActor | [inline, protected]
PxArticulationLink(PxType concreteType, PxBaseFlags baseFlags) | PxArticulationLink | [inline, protected]
PxArticulationLink(PxBaseFlags baseFlags) | PxArticulationLink | [inline, protected]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxRigidActor(PxType concreteType, PxBaseFlags baseFlags) | PxRigidActor | [inline, protected]
PxRigidActor(PxBaseFlags baseFlags) | PxRigidActor | [inline, protected]
PxRigidBody(PxType concreteType, PxBaseFlags baseFlags) | PxRigidBody | [inline, protected]
PxRigidBody(PxBaseFlags baseFlags) | PxRigidBody | [inline, protected]
release()=0 | PxArticulationLink | [pure virtual]
setActorFlag(PxActorFlag::Enum flag, bool value)=0 | PxActor | [pure virtual]
setActorFlags(PxActorFlags inFlags)=0 | PxActor | [pure virtual]
setAngularVelocity(const PxVec3 &angVel, bool autowake=true)=0 | PxRigidBody | [pure virtual]
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
setClientBehaviorFlags(PxActorClientBehaviorFlags)=0 | PxActor | [pure virtual]
setCMassLocalPose(const PxTransform &pose)=0 | PxRigidBody | [pure virtual]
setDominanceGroup(PxDominanceGroup dominanceGroup)=0 | PxActor | [pure virtual]
setGlobalPose(const PxTransform &pose, bool autowake=true)=0 | PxRigidActor | [pure virtual]
setLinearVelocity(const PxVec3 &linVel, bool autowake=true)=0 | PxRigidBody | [pure virtual]
setMass(PxReal mass)=0 | PxRigidBody | [pure virtual]
setMassSpaceInertiaTensor(const PxVec3 &m)=0 | PxRigidBody | [pure virtual]
setMaxContactImpulse(PxReal maxImpulse)=0 | PxRigidBody | [pure virtual]
setMaxDepenetrationVelocity(PxReal biasClamp)=0 | PxRigidBody | [pure virtual]
setMinCCDAdvanceCoefficient(PxReal advanceCoefficient)=0 | PxRigidBody | [pure virtual]
setName(const char *name)=0 | PxActor | [pure virtual]
setOwnerClient(PxClientID inClient)=0 | PxActor | [pure virtual]
setRigidBodyFlag(PxRigidBodyFlag::Enum flag, bool value)=0 | PxRigidBody | [pure virtual]
setRigidBodyFlags(PxRigidBodyFlags inFlags)=0 | PxRigidBody | [pure virtual]
typeMatch() const | PxBase | [inline, protected]
userData | PxActor |
~PxActor() | PxActor | [inline, protected, virtual]
~PxArticulationLink() | PxArticulationLink | [inline, protected, virtual]
~PxBase() | PxBase | [inline, protected, virtual]
~PxRigidActor() | PxRigidActor | [inline, protected, virtual]
~PxRigidBody() | PxRigidBody | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxAssertHandler Member List

This is the complete list of members for PxAssertHandler, including all inherited members.

operator()(const char *exp, const char *file, int line, bool &ignore)=0 | PxAssertHandler | [pure virtual]
~PxAssertHandler() | PxAssertHandler | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxBase Member List

This is the complete list of members for PxBase, including all inherited members.

getBaseFlags() const | PxBase | [inline]
getBinaryMetaData_PxBase(PxOutputStream &stream) | PxBase | [friend]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const =0 | PxBase | [pure virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *superClass) const | PxBase | [inline, protected, virtual]
isReleasable() const | PxBase | [inline, virtual]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
release()=0 | PxBase | [pure virtual]
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
typeMatch() const | PxBase | [inline, protected]
~PxBase() | PxBase | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxBatchQuery Member List

This is the complete list of members for PxBatchQuery, including all inherited members.

execute()=0 | PxBatchQuery | [pure virtual]
getFilterShaderData() const =0 | PxBatchQuery | [pure virtual]
getFilterShaderDataSize() const =0 | PxBatchQuery | [pure virtual]
getOwnerClient() const =0 | PxBatchQuery | [pure virtual]
getPostFilterShader() const =0 | PxBatchQuery | [pure virtual]
getPreFilterShader() const =0 | PxBatchQuery | [pure virtual]
getUserMemory()=0 | PxBatchQuery | [pure virtual]
overlap(const PxGeometry &geometry, const PxTransform &pose, PxU16 maxTouchHits=0, const PxQueryFilterData &filterData=PxQueryFilterData(), void *userData=NULL, const PxQueryCache *cache=NULL)=0 | PxBatchQuery | [pure virtual]
raycast(const PxVec3 &origin, const PxVec3 &unitDir, PxReal distance=PX_MAX_F32, PxU16 maxTouchHits=0, PxHitFlags hitFlags=PxHitFlag::eDEFAULT, const PxQueryFilterData &filterData=PxQueryFilterData(), void *userData=NULL, const PxQueryCache *cache=NULL)=0 | PxBatchQuery | [pure virtual]
release()=0 | PxBatchQuery | [pure virtual]
setUserMemory(const PxBatchQueryMemory &)=0 | PxBatchQuery | [pure virtual]
sweep(const PxGeometry &geometry, const PxTransform &pose, const PxVec3 &unitDir, const PxReal distance, PxU16 maxTouchHits=0, PxHitFlags hitFlags=PxHitFlag::eDEFAULT, const PxQueryFilterData &filterData=PxQueryFilterData(), void *userData=NULL, const PxQueryCache *cache=NULL, const PxReal inflation=0.f)=0 | PxBatchQuery | [pure virtual]
~PxBatchQuery() | PxBatchQuery | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxBatchQueryDesc Member List

This is the complete list of members for PxBatchQueryDesc, including all inherited members.

filterShaderData PxBatchQueryDesc
filterShaderDataSize PxBatchQueryDesc
isValid() const | PxBatchQueryDesc
ownerClient PxBatchQueryDesc
postFilterShader PxBatchQueryDesc
preFilterShader PxBatchQueryDesc
PxBatchQueryDesc(PxU32 maxRaycastsPerExecute, PxU32 maxSweepsPerExecute, PxU32 maxOverlapsPerExecute) | PxBatchQueryDesc


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxBinaryConverter Member List

This is the complete list of members for PxBinaryConverter, including all inherited members.

compareMetaData() const =0 | PxBinaryConverter | [pure virtual]
convert(PxInputStream &srcStream, PxU32 srcSize, PxOutputStream &targetStream)=0 | PxBinaryConverter | [pure virtual]
PxBinaryConverter() | PxBinaryConverter | [inline, protected]
release()=0 | PxBinaryConverter | [pure virtual]
setMetaData(PxInputStream &srcMetaData, PxInputStream &dstMetaData)=0 | PxBinaryConverter | [pure virtual]
setReportMode(PxConverterReportMode::Enum mode)=0 | PxBinaryConverter | [pure virtual]
~PxBinaryConverter() | PxBinaryConverter | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxBitAndDataT< storageType, bitMask > Member List

This is the complete list of members for PxBitAndDataT< storageType, bitMask >, including all inherited members.

clearBit() | PxBitAndDataT< storageType, bitMask > | [inline]
isBitSet() const | PxBitAndDataT< storageType, bitMask > | [inline]
mData | PxBitAndDataT< storageType, bitMask > | [protected]
operator storageType() const | PxBitAndDataT< storageType, bitMask > | [inline]
PxBitAndDataT(const PxEMPTY) | PxBitAndDataT< storageType, bitMask > | [inline]
PxBitAndDataT() | PxBitAndDataT< storageType, bitMask > | [inline]
PxBitAndDataT(storageType data, bool bit=false) | PxBitAndDataT< storageType, bitMask > | [inline]
setBit() | PxBitAndDataT< storageType, bitMask > | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxBounds3 Member List

This is the complete list of members for PxBounds3, including all inherited members.

basisExtent(const PxVec3 &center, const PxMat33 &basis, const PxVec3 &extent) | PxBounds3 | [static]
boundsOfPoints(const PxVec3 &v0, const PxVec3 &v1) | PxBounds3 | [static]
centerExtents(const PxVec3 &center, const PxVec3 &extent) | PxBounds3 | [static]
contains(const PxVec3 &v) const | PxBounds3 |
empty() | PxBounds3 | [static]
fattenFast(float distance) | PxBounds3 |
fattenSafe(float distance) | PxBounds3 |
getCenter() const | PxBounds3 |
getCenter(uint32_t axis) const | PxBounds3 |
getDimensions() const | PxBounds3 |
getExtents(uint32_t axis) const | PxBounds3 |
getExtents() const | PxBounds3 |
include(const PxVec3 &v) | PxBounds3 |
include(const PxBounds3 &b) | PxBounds3 |
intersects(const PxBounds3 &b) const | PxBounds3 |
intersects1D(const PxBounds3 &a, uint32_t axis) const | PxBounds3 |
isEmpty() const | PxBounds3 |
isFinite() const | PxBounds3 |
isInside(const PxBounds3 &box) const | PxBounds3 |
isValid() const | PxBounds3 |
maximum | PxBounds3 |
minimum | PxBounds3 |
poseExtent(const PxTransform &pose, const PxVec3 &extent) | PxBounds3 | [static]
PxBounds3() | PxBounds3 | [inline]
PxBounds3(const PxVec3 &minimum, const PxVec3 &maximum) | PxBounds3 |
scaleFast(float scale) | PxBounds3 |
scaleSafe(float scale) | PxBounds3 |
setEmpty() | PxBounds3 |
setMaximal() | PxBounds3 |
transformFast(const PxMat33 &matrix, const PxBounds3 &bounds) | PxBounds3 | [static]
transformFast(const PxTransform &transform, const PxBounds3 &bounds) | PxBounds3 | [static]
transformSafe(const PxMat33 &matrix, const PxBounds3 &bounds) | PxBounds3 | [static]
transformSafe(const PxTransform &transform, const PxBounds3 &bounds) | PxBounds3 | [static]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxBoxController Member List

This is the complete list of members for PxBoxController, including all inherited members.

getActor() const =0 | PxController | [pure virtual]
getContactOffset() const =0 | PxController | [pure virtual]
getFootPosition() const =0 | PxController | [pure virtual]
getHalfForwardExtent() const =0 | PxBoxController | [pure virtual]
getHalfHeight() const =0 | PxBoxController | [pure virtual]
getHalfSideExtent() const =0 | PxBoxController | [pure virtual]
getNonWalkableMode() const =0 | PxController | [pure virtual]
getPosition() const =0 | PxController | [pure virtual]
getScene()=0 | PxController | [pure virtual]
getSlopeLimit() const =0 | PxController | [pure virtual]
getState(PxControllerState &state) const =0 | PxController | [pure virtual]
getStats(PxControllerStats &stats) const =0 | PxController | [pure virtual]
getStepOffset() const =0 | PxController | [pure virtual]
getType() const =0 | PxController | [pure virtual]
getUpDirection() const =0 | PxController | [pure virtual]
getUserData() const =0 | PxController | [pure virtual]
invalidateCache()=0 | PxController | [pure virtual]
move(const PxVec3 &disp, PxF32 minDist, PxF32 elapsedTime, const PxControllerFilters &filters, const PxObstacleContext *obstacles=NULL)=0 | PxController | [pure virtual]
PxBoxController() | PxBoxController | [inline, protected]
PxController() | PxController | [inline, protected]
release()=0 | PxController | [pure virtual]
resize(PxReal height)=0 | PxController | [pure virtual]
setContactOffset(PxF32 offset)=0 | PxController | [pure virtual]
setFootPosition(const PxExtendedVec3 &position)=0 | PxController | [pure virtual]
setHalfForwardExtent(PxF32 halfForwardExtent)=0 | PxBoxController | [pure virtual]
setHalfHeight(PxF32 halfHeight)=0 | PxBoxController | [pure virtual]
setHalfSideExtent(PxF32 halfSideExtent)=0 | PxBoxController | [pure virtual]
setNonWalkableMode(PxControllerNonWalkableMode::Enum flag)=0 | PxController | [pure virtual]
setPosition(const PxExtendedVec3 &position)=0 | PxController | [pure virtual]
setSlopeLimit(PxF32 slopeLimit)=0 | PxController | [pure virtual]
setStepOffset(const PxF32 offset)=0 | PxController | [pure virtual]
setUpDirection(const PxVec3 &up)=0 | PxController | [pure virtual]
setUserData(void *userData)=0 | PxController | [pure virtual]
~PxBoxController() | PxBoxController | [inline, protected, virtual]
~PxController() | PxController | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxBoxControllerDesc Member List

This is the complete list of members for PxBoxControllerDesc, including all inherited members.

behaviorCallback | PxControllerDesc |
contactOffset | PxControllerDesc |
copy(const PxBoxControllerDesc &) | PxBoxControllerDesc | [protected]
PxControllerDesc::copy(const PxControllerDesc &) | PxControllerDesc | [protected]
density | PxControllerDesc |
getType() const | PxControllerDesc | [inline]
halfForwardExtent | PxBoxControllerDesc |
halfHeight | PxBoxControllerDesc |
halfSideExtent | PxBoxControllerDesc |
invisibleWallHeight | PxControllerDesc |
isValid() const | PxBoxControllerDesc | [virtual]
material | PxControllerDesc |
maxJumpHeight | PxControllerDesc |
mType | PxControllerDesc | [protected]
nonWalkableMode | PxControllerDesc |
operator=(const PxBoxControllerDesc &) | PxBoxControllerDesc |
PxControllerDesc::operator=(const PxControllerDesc &) | PxControllerDesc | [protected]
position | PxControllerDesc |
PxBoxControllerDesc() | PxBoxControllerDesc |
PxBoxControllerDesc(const PxBoxControllerDesc &) | PxBoxControllerDesc |
PxControllerDesc(PxControllerShapeType::Enum) | PxControllerDesc | [protected]
PxControllerDesc(const PxControllerDesc &) | PxControllerDesc | [protected]
registerDeletionListener | PxControllerDesc |
reportCallback | PxControllerDesc |
scaleCoeff | PxControllerDesc |
setToDefault() | PxBoxControllerDesc | [virtual]
slopeLimit | PxControllerDesc |
stepOffset | PxControllerDesc |
upDirection | PxControllerDesc |
userData | PxControllerDesc |
volumeGrowth | PxControllerDesc |
~PxBoxControllerDesc() | PxBoxControllerDesc | [inline, virtual]
~PxControllerDesc() | PxControllerDesc | [protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxBoxGeometry Member List

This is the complete list of members for PxBoxGeometry, including all inherited members.

getType() const | PxGeometry | [inline]
halfExtents | PxBoxGeometry |
isValid() const | PxBoxGeometry |
mType | PxGeometry | [protected]
PxBoxGeometry() | PxBoxGeometry | [inline]
PxBoxGeometry(PxReal hx, PxReal hy, PxReal hz) | PxBoxGeometry | [inline]
PxBoxGeometry(PxVec3 halfExtents_) | PxBoxGeometry | [inline]
PxGeometry(PxGeometryType::Enum type) | PxGeometry | [inline, protected]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxBoxObstacle Member List

This is the complete list of members for PxBoxObstacle, including all inherited members.

getType() const | PxObstacle | [inline]
mHalfExtents | PxBoxObstacle |
mPos | PxObstacle |
mRot | PxObstacle |
mType | PxObstacle | [protected]
mUserData | PxObstacle |
PxBoxObstacle() | PxBoxObstacle | [inline]
PxObstacle() | PxObstacle | [inline, protected]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxBroadPhaseCallback Member List

This is the complete list of members for PxBroadPhaseCallback, including all inherited members.

onObjectOutOfBounds(PxShape &shape, PxActor &actor)=0 | PxBroadPhaseCallback | [pure virtual]
onObjectOutOfBounds(PxAggregate &aggregate)=0 | PxBroadPhaseCallback | [pure virtual]
~PxBroadPhaseCallback() | PxBroadPhaseCallback | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxBroadPhaseExt Member List

This is the complete list of members for PxBroadPhaseExt, including all inherited members.

createRegionsFromWorldBounds(PxBounds3 *regions, const PxBounds3 &globalBounds, PxU32 nbSubdiv, PxU32 upAxis=1) PxBroadPhaseExt [static]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxBVH33TriangleMesh Member List

This is the complete list of members for PxBVH33TriangleMesh, including all inherited members.

acquireReference()=0 | PxTriangleMesh | [pure virtual]
getBaseFlags() const | PxBase | [inline]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const =0 | PxBase | [pure virtual]
getLocalBounds() const =0 | PxTriangleMesh | [pure virtual]
getNbTriangles() const =0 | PxTriangleMesh | [pure virtual]
getNbVertices() const =0 | PxTriangleMesh | [pure virtual]
getReferenceCount() const =0 | PxTriangleMesh | [pure virtual]
getTriangleMaterialIndex(PxTriangleID triangleIndex) const =0 | PxTriangleMesh | [pure virtual]
getTriangleMeshFlags() const =0 | PxTriangleMesh | [pure virtual]
getTriangles() const =0 | PxTriangleMesh | [pure virtual]
getTrianglesRemap() const =0 | PxTriangleMesh | [pure virtual]
getVertices() const =0 | PxTriangleMesh | [pure virtual]
getVerticesForModification()=0 | PxTriangleMesh | [pure virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxBVH33TriangleMesh | [inline, protected, virtual]
isReleasable() const | PxBase | [inline, virtual]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBVH33TriangleMesh(PxType concreteType, PxBaseFlags baseFlags) | PxBVH33TriangleMesh | [inline, protected]
PxBVH33TriangleMesh(PxBaseFlags baseFlags) | PxBVH33TriangleMesh | [inline, protected]
PxTriangleMesh(PxType concreteType, PxBaseFlags baseFlags) | PxTriangleMesh | [inline, protected]
PxTriangleMesh(PxBaseFlags baseFlags) | PxTriangleMesh | [inline, protected]
refitBVH()=0 | PxTriangleMesh | [pure virtual]
release()=0 | PxTriangleMesh | [pure virtual]
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
typeMatch() const | PxBase | [inline, protected]
~PxBase() | PxBase | [inline, protected, virtual]
~PxBVH33TriangleMesh() | PxBVH33TriangleMesh | [inline, protected, virtual]
~PxTriangleMesh() | PxTriangleMesh | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxBVH34TriangleMesh Member List

This is the complete list of members for PxBVH34TriangleMesh, including all inherited members.

acquireReference()=0 | PxTriangleMesh | [pure virtual]
getBaseFlags() const | PxBase | [inline]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const =0 | PxBase | [pure virtual]
getLocalBounds() const =0 | PxTriangleMesh | [pure virtual]
getNbTriangles() const =0 | PxTriangleMesh | [pure virtual]
getNbVertices() const =0 | PxTriangleMesh | [pure virtual]
getReferenceCount() const =0 | PxTriangleMesh | [pure virtual]
getTriangleMaterialIndex(PxTriangleID triangleIndex) const =0 | PxTriangleMesh | [pure virtual]
getTriangleMeshFlags() const =0 | PxTriangleMesh | [pure virtual]
getTriangles() const =0 | PxTriangleMesh | [pure virtual]
getTrianglesRemap() const =0 | PxTriangleMesh | [pure virtual]
getVertices() const =0 | PxTriangleMesh | [pure virtual]
getVerticesForModification()=0 | PxTriangleMesh | [pure virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxBVH34TriangleMesh | [inline, protected, virtual]
isReleasable() const | PxBase | [inline, virtual]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBVH34TriangleMesh(PxType concreteType, PxBaseFlags baseFlags) | PxBVH34TriangleMesh | [inline, protected]
PxBVH34TriangleMesh(PxBaseFlags baseFlags) | PxBVH34TriangleMesh | [inline, protected]
PxTriangleMesh(PxType concreteType, PxBaseFlags baseFlags) | PxTriangleMesh | [inline, protected]
PxTriangleMesh(PxBaseFlags baseFlags) | PxTriangleMesh | [inline, protected]
refitBVH()=0 | PxTriangleMesh | [pure virtual]
release()=0 | PxTriangleMesh | [pure virtual]
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
typeMatch() const | PxBase | [inline, protected]
~PxBase() | PxBase | [inline, protected, virtual]
~PxBVH34TriangleMesh() | PxBVH34TriangleMesh | [inline, protected, virtual]
~PxTriangleMesh() | PxTriangleMesh | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxCapsuleController Member List

This is the complete list of members for PxCapsuleController, including all inherited members.

getActor() const =0 | PxController | [pure virtual]
getClimbingMode() const =0 | PxCapsuleController | [pure virtual]
getContactOffset() const =0 | PxController | [pure virtual]
getFootPosition() const =0 | PxController | [pure virtual]
getHeight() const =0 | PxCapsuleController | [pure virtual]
getNonWalkableMode() const =0 | PxController | [pure virtual]
getPosition() const =0 | PxController | [pure virtual]
getRadius() const =0 | PxCapsuleController | [pure virtual]
getScene()=0 | PxController | [pure virtual]
getSlopeLimit() const =0 | PxController | [pure virtual]
getState(PxControllerState &state) const =0 | PxController | [pure virtual]
getStats(PxControllerStats &stats) const =0 | PxController | [pure virtual]
getStepOffset() const =0 | PxController | [pure virtual]
getType() const =0 | PxController | [pure virtual]
getUpDirection() const =0 | PxController | [pure virtual]
getUserData() const =0 | PxController | [pure virtual]
invalidateCache()=0 | PxController | [pure virtual]
move(const PxVec3 &disp, PxF32 minDist, PxF32 elapsedTime, const PxControllerFilters &filters, const PxObstacleContext *obstacles=NULL)=0 | PxController | [pure virtual]
PxCapsuleController() | PxCapsuleController | [inline, protected]
PxController() | PxController | [inline, protected]
release()=0 | PxController | [pure virtual]
resize(PxReal height)=0 | PxController | [pure virtual]
setClimbingMode(PxCapsuleClimbingMode::Enum mode)=0 | PxCapsuleController | [pure virtual]
setContactOffset(PxF32 offset)=0 | PxController | [pure virtual]
setFootPosition(const PxExtendedVec3 &position)=0 | PxController | [pure virtual]
setHeight(PxF32 height)=0 | PxCapsuleController | [pure virtual]
setNonWalkableMode(PxControllerNonWalkableMode::Enum flag)=0 | PxController | [pure virtual]
setPosition(const PxExtendedVec3 &position)=0 | PxController | [pure virtual]
setRadius(PxF32 radius)=0 | PxCapsuleController | [pure virtual]
setSlopeLimit(PxF32 slopeLimit)=0 | PxController | [pure virtual]
setStepOffset(const PxF32 offset)=0 | PxController | [pure virtual]
setUpDirection(const PxVec3 &up)=0 | PxController | [pure virtual]
setUserData(void *userData)=0 | PxController | [pure virtual]
~PxCapsuleController() | PxCapsuleController | [inline, protected, virtual]
~PxController() | PxController | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxCapsuleControllerDesc Member List

This is the complete list of members for PxCapsuleControllerDesc, including all inherited members.

behaviorCallback | PxControllerDesc |
climbingMode | PxCapsuleControllerDesc |
contactOffset | PxControllerDesc |
copy(const PxCapsuleControllerDesc &) | PxCapsuleControllerDesc | [protected]
PxControllerDesc::copy(const PxControllerDesc &) | PxControllerDesc | [protected]
density | PxControllerDesc |
getType() const | PxControllerDesc | [inline]
height | PxCapsuleControllerDesc |
invisibleWallHeight | PxControllerDesc |
isValid() const | PxCapsuleControllerDesc | [virtual]
material | PxControllerDesc |
maxJumpHeight | PxControllerDesc |
mType | PxControllerDesc | [protected]
nonWalkableMode | PxControllerDesc |
operator=(const PxCapsuleControllerDesc &) | PxCapsuleControllerDesc |
PxControllerDesc::operator=(const PxControllerDesc &) | PxControllerDesc | [protected]
position | PxControllerDesc |
PxCapsuleControllerDesc() | PxCapsuleControllerDesc |
PxCapsuleControllerDesc(const PxCapsuleControllerDesc &) | PxCapsuleControllerDesc |
PxControllerDesc(PxControllerShapeType::Enum) | PxControllerDesc | [protected]
PxControllerDesc(const PxControllerDesc &) | PxControllerDesc | [protected]
radius | PxCapsuleControllerDesc |
registerDeletionListener | PxControllerDesc |
reportCallback | PxControllerDesc |
scaleCoeff | PxControllerDesc |
setToDefault() | PxCapsuleControllerDesc | [virtual]
slopeLimit | PxControllerDesc |
stepOffset | PxControllerDesc |
upDirection | PxControllerDesc |
userData | PxControllerDesc |
volumeGrowth | PxControllerDesc |
~PxCapsuleControllerDesc() | PxCapsuleControllerDesc | [inline, virtual]
~PxControllerDesc() | PxControllerDesc | [protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxCapsuleGeometry Member List

This is the complete list of members for PxCapsuleGeometry, including all inherited members.

getType() const | PxGeometry | [inline]
halfHeight PxCapsuleGeometry
isValid() const | PxCapsuleGeometry
mType | PxGeometry | [protected]
PxCapsuleGeometry() | PxCapsuleGeometry | [inline]
PxCapsuleGeometry(PxReal radius_, PxReal halfHeight_) | PxCapsuleGeometry | [inline]
PxGeometry(PxGeometryType::Enum type) | PxGeometry | [inline, protected]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxCapsuleObstacle Member List

This is the complete list of members for PxCapsuleObstacle, including all inherited members.

getType() const | PxObstacle | [inline]
mHalfHeight | PxCapsuleObstacle |
mPos | PxObstacle |
mRadius | PxCapsuleObstacle |
mRot | PxObstacle |
mType | PxObstacle | [protected]
mUserData | PxObstacle |
PxCapsuleObstacle() | PxCapsuleObstacle | [inline]
PxObstacle() | PxObstacle | [inline, protected]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxCCDContactModifyCallback Member List

This is the complete list of members for PxCCDContactModifyCallback, including all inherited members.

onCCDContactModify(PxContactModifyPair *const pairs, PxU32 count)=0 | PxCCDContactModifyCallback | [pure virtual]
~PxCCDContactModifyCallback() | PxCCDContactModifyCallback | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxCloth Member List

This is the complete list of members for PxCloth, including all inherited members.

addCollisionCapsule(PxU32 first, PxU32 second)=0 | PxCloth | [pure virtual]
addCollisionConvex(PxU32 mask)=0 | PxCloth | [pure virtual]
addCollisionPlane(const PxClothCollisionPlane &plane)=0 | PxCloth | [pure virtual]
addCollisionSphere(const PxClothCollisionSphere &sphere)=0 | PxCloth | [pure virtual]
addCollisionTriangle(const PxClothCollisionTriangle &triangle)=0 | PxCloth | [pure virtual]
clearInterpolation()=0 | PxCloth | [pure virtual]
getActorFlags() const =0 | PxActor | [pure virtual]
getAggregate() const =0 | PxActor | [pure virtual]
getAngularDragCoefficient() const =0 | PxCloth | [pure virtual]
getAngularInertiaScale() const =0 | PxCloth | [pure virtual]
getBaseFlags() const | PxBase | [inline]
getCentrifugalInertiaScale() const =0 | PxCloth | [pure virtual]
getClientBehaviorFlags() const =0 | PxActor | [pure virtual]
getClothFlags() const =0 | PxCloth | [pure virtual]
getCollisionData(PxClothCollisionSphere *spheresBuffer, PxU32 *capsulesBuffer, PxClothCollisionPlane *planesBuffer, PxU32 *convexesBuffer, PxClothCollisionTriangle *trianglesBuffer) const =0 | PxCloth | [pure virtual]
getCollisionMassScale() const =0 | PxCloth | [pure virtual]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const | PxCloth | [inline, virtual]
getContactOffset() const =0 | PxCloth | [pure virtual]
getDampingCoefficient() const =0 | PxCloth | [pure virtual]
getDominanceGroup() const =0 | PxActor | [pure virtual]
getExternalAcceleration() const =0 | PxCloth | [pure virtual]
getFabric() const =0 | PxCloth | [pure virtual]
getFrictionCoefficient() const =0 | PxCloth | [pure virtual]
getGlobalPose() const =0 | PxCloth | [pure virtual]
getLinearDragCoefficient() const =0 | PxCloth | [pure virtual]
getLinearInertiaScale() const =0 | PxCloth | [pure virtual]
getMotionConstraintConfig() const =0 | PxCloth | [pure virtual]
getMotionConstraints(PxClothParticleMotionConstraint *motionConstraintsBuffer) const =0 | PxCloth | [pure virtual]
getName() const =0 | PxActor | [pure virtual]
getNbCollisionCapsules() const =0 | PxCloth | [pure virtual]
getNbCollisionConvexes() const =0 | PxCloth | [pure virtual]
getNbCollisionPlanes() const =0 | PxCloth | [pure virtual]
getNbCollisionSpheres() const =0 | PxCloth | [pure virtual]
getNbCollisionTriangles() const =0 | PxCloth | [pure virtual]
getNbMotionConstraints() const =0 | PxCloth | [pure virtual]
getNbParticleAccelerations() const =0 | PxCloth | [pure virtual]
getNbParticles() const =0 | PxCloth | [pure virtual]
getNbRestPositions() const =0 | PxCloth | [pure virtual]
getNbSelfCollisionIndices() const =0 | PxCloth | [pure virtual]
getNbSeparationConstraints() const =0 | PxCloth | [pure virtual]
getNbVirtualParticles() const =0 | PxCloth | [pure virtual]
getNbVirtualParticleWeights() const =0 | PxCloth | [pure virtual]
getOwnerClient() const =0 | PxActor | [pure virtual]
getParticleAccelerations(PxVec4 *particleAccelerationsBuffer) const =0 | PxCloth | [pure virtual]
getPreviousTimeStep() const =0 | PxCloth | [pure virtual]
getRestOffset() const =0 | PxCloth | [pure virtual]
getRestPositions(PxVec4 *restPositions) const =0 | PxCloth | [pure virtual]
getScene() const =0 | PxActor | [pure virtual]
getSelfCollisionDistance() const =0 | PxCloth | [pure virtual]
getSelfCollisionIndices(PxU32 *indices) const =0 | PxCloth | [pure virtual]
getSelfCollisionStiffness() const =0 | PxCloth | [pure virtual]
getSeparationConstraints(PxClothParticleSeparationConstraint *separationConstraintsBuffer) const =0 | PxCloth | [pure virtual]
getSimulationFilterData() const =0 | PxCloth | [pure virtual]
getSleepLinearVelocity() const =0 | PxCloth | [pure virtual]
getSolverFrequency() const =0 | PxCloth | [pure virtual]
getStiffnessFrequency() const =0 | PxCloth | [pure virtual]
getStretchConfig(PxClothFabricPhaseType::Enum type) const =0 | PxCloth | [pure virtual]
getTetherConfig() const =0 | PxCloth | [pure virtual]
getType() const =0 | PxActor | [pure virtual]
getVirtualParticles(PxU32 *indicesBuffer) const =0 | PxCloth | [pure virtual]
getVirtualParticleWeights(PxVec3 *weightsBuffer) const =0 | PxCloth | [pure virtual]
getWakeCounter() const =0 | PxCloth | [pure virtual]
getWindDrag() const =0 | PxCloth | [pure virtual]
getWindLift() const =0 | PxCloth | [pure virtual]
getWindVelocity() const =0 | PxCloth | [pure virtual]
getWorldBounds(float inflation=1.01f) const =0 | PxCloth | [pure virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxCloth | [inline, protected, virtual]
isReleasable() const | PxBase | [inline, virtual]
isSleeping() const =0 | PxCloth | [pure virtual]
lockParticleData(PxDataAccessFlags flags)=0 | PxCloth | [pure virtual]
lockParticleData() const =0 | PxCloth | [pure virtual]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
putToSleep()=0 | PxCloth | [pure virtual]
PxActor(PxType concreteType, PxBaseFlags baseFlags) | PxActor | [inline, protected]
PxActor(PxBaseFlags baseFlags) | PxActor | [inline, protected]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxCloth(PxType concreteType, PxBaseFlags baseFlags) | PxCloth | [inline, protected]
PxCloth(PxBaseFlags baseFlags) | PxCloth | [inline, protected]
release()=0 | PxCloth | [pure virtual]
removeCollisionCapsule(PxU32 index)=0 | PxCloth | [pure virtual]
removeCollisionConvex(PxU32 index)=0 | PxCloth | [pure virtual]
removeCollisionPlane(PxU32 index)=0 | PxCloth | [pure virtual]
removeCollisionSphere(PxU32 index)=0 | PxCloth | [pure virtual]
removeCollisionTriangle(PxU32 index)=0 | PxCloth | [pure virtual]
setActorFlag(PxActorFlag::Enum flag, bool value)=0 | PxActor | [pure virtual]
setActorFlags(PxActorFlags inFlags)=0 | PxActor | [pure virtual]
setAngularDragCoefficient(PxVec3 dragCoefficient)=0 | PxCloth | [pure virtual]
setAngularInertiaScale(PxVec3 scale)=0 | PxCloth | [pure virtual]
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
setCentrifugalInertiaScale(PxVec3 scale)=0 | PxCloth | [pure virtual]
setClientBehaviorFlags(PxActorClientBehaviorFlags)=0 | PxActor | [pure virtual]
setClothFlag(PxClothFlag::Enum flag, bool value)=0 | PxCloth | [pure virtual]
setClothFlags(PxClothFlags inFlags)=0 | PxCloth | [pure virtual]
setCollisionMassScale(PxReal scalingCoefficient)=0 | PxCloth | [pure virtual]
setCollisionPlanes(const PxClothCollisionPlane *planesBuffer, PxU32 count)=0 | PxCloth | [pure virtual]
setCollisionSpheres(const PxClothCollisionSphere *spheresBuffer, PxU32 count)=0 | PxCloth | [pure virtual]
setCollisionTriangles(const PxClothCollisionTriangle *trianglesBuffer, PxU32 count)=0 | PxCloth | [pure virtual]
setContactOffset(PxReal offset)=0 | PxCloth | [pure virtual]
setDampingCoefficient(PxVec3 dampingCoefficient)=0 | PxCloth | [pure virtual]
setDominanceGroup(PxDominanceGroup dominanceGroup)=0 | PxActor | [pure virtual]
setDragCoefficient(PxReal scale)=0 | PxCloth | [pure virtual]
setExternalAcceleration(PxVec3 acceleration)=0 | PxCloth | [pure virtual]
setFrictionCoefficient(PxReal frictionCoefficient)=0 | PxCloth | [pure virtual]
setGlobalPose(const PxTransform &pose)=0 | PxCloth | [pure virtual]
setInertiaScale(PxReal scale)=0 | PxCloth | [pure virtual]
setLinearDragCoefficient(PxVec3 dragCoefficient)=0 | PxCloth | [pure virtual]
setLinearInertiaScale(PxVec3 scale)=0 | PxCloth | [pure virtual]
setMotionConstraintConfig(const PxClothMotionConstraintConfig &config)=0 | PxCloth | [pure virtual]
setMotionConstraints(const PxClothParticleMotionConstraint *motionConstraints)=0 | PxCloth | [pure virtual]
setName(const char *name)=0 | PxActor | [pure virtual]
setOwnerClient(PxClientID inClient)=0 | PxActor | [pure virtual]
setParticleAccelerations(const PxVec4 *particleAccelerations)=0 | PxCloth | [pure virtual]
setParticles(const PxClothParticle *currentParticles, const PxClothParticle *previousParticles)=0 | PxCloth | [pure virtual]
setRestOffset(PxReal offset)=0 | PxCloth | [pure virtual]
setRestPositions(const PxVec4 *restPositions)=0 | PxCloth | [pure virtual]
setSelfCollisionDistance(PxReal distance)=0 | PxCloth | [pure virtual]
setSelfCollisionIndices(const PxU32 *indices, PxU32 nbIndices)=0 | PxCloth | [pure virtual]
setSelfCollisionStiffness(PxReal stiffness)=0 | PxCloth | [pure virtual]
setSeparationConstraints(const PxClothParticleSeparationConstraint *separationConstraints)=0 | PxCloth | [pure virtual]
setSimulationFilterData(const PxFilterData &data)=0 | PxCloth | [pure virtual]
setSleepLinearVelocity(PxReal threshold)=0 | PxCloth | [pure virtual]
setSolverFrequency(PxReal frequency)=0 | PxCloth | [pure virtual]
setStiffnessFrequency(PxReal frequency)=0 | PxCloth | [pure virtual]
setStretchConfig(PxClothFabricPhaseType::Enum type, const PxClothStretchConfig &config)=0 | PxCloth | [pure virtual]
setTargetPose(const PxTransform &pose)=0 | PxCloth | [pure virtual]
setTetherConfig(const PxClothTetherConfig &config)=0 | PxCloth | [pure virtual]
setVirtualParticles(PxU32 numVirtualParticles, const PxU32 *indices, PxU32 numWeights, const PxVec3 *weights)=0 | PxCloth | [pure virtual]
setWakeCounter(PxReal wakeCounterValue)=0 | PxCloth | [pure virtual]
setWindDrag(PxReal)=0 | PxCloth | [pure virtual]
setWindLift(PxReal)=0 | PxCloth | [pure virtual]
setWindVelocity(PxVec3)=0 | PxCloth | [pure virtual]
typeMatch() const | PxBase | [inline, protected]
userData | PxActor |
wakeUp()=0 | PxCloth | [pure virtual]
~PxActor() | PxActor | [inline, protected, virtual]
~PxBase() | PxBase | [inline, protected, virtual]
~PxCloth() | PxCloth | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxClothFabric Member List

This is the complete list of members for PxClothFabric, including all inherited members.

acquireReference()=0 | PxClothFabric | [pure virtual]
getBaseFlags() const | PxBase | [inline]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const | PxClothFabric | [inline, virtual]
getNbParticleIndices() const =0 | PxClothFabric | [pure virtual]
getNbParticles() const =0 | PxClothFabric | [pure virtual]
getNbPhases() const =0 | PxClothFabric | [pure virtual]
getNbRestvalues() const =0 | PxClothFabric | [pure virtual]
getNbSets() const =0 | PxClothFabric | [pure virtual]
getNbTethers() const =0 | PxClothFabric | [pure virtual]
getParticleIndices(PxU32 *userParticleIndexBuffer, PxU32 bufferSize) const =0 | PxClothFabric | [pure virtual]
getPhases(PxClothFabricPhase *userPhaseBuffer, PxU32 bufferSize) const =0 | PxClothFabric | [pure virtual]
getReferenceCount() const =0 | PxClothFabric | [pure virtual]
getRestvalues(PxReal *userRestvalueBuffer, PxU32 bufferSize) const =0 | PxClothFabric | [pure virtual]
getSets(PxU32 *userSetBuffer, PxU32 bufferSize) const =0 | PxClothFabric | [pure virtual]
getTetherAnchors(PxU32 *userAnchorBuffer, PxU32 bufferSize) const =0 | PxClothFabric | [pure virtual]
getTetherLengths(PxReal *userLengthBuffer, PxU32 bufferSize) const =0 | PxClothFabric | [pure virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxClothFabric | [inline, protected, virtual]
isReleasable() const | PxBase | [inline, virtual]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxClothFabric(PxType concreteType, PxBaseFlags baseFlags) | PxClothFabric | [inline, protected]
PxClothFabric(PxBaseFlags baseFlags) | PxClothFabric | [inline, protected]
release()=0 | PxClothFabric | [pure virtual]
scaleRestlengths(PxReal scale)=0 | PxClothFabric | [pure virtual]
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
typeMatch() const | PxBase | [inline, protected]
~PxBase() | PxBase | [inline, protected, virtual]
~PxClothFabric() | PxClothFabric | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxClothFabricCooker Member List

This is the complete list of members for PxClothFabricCooker, including all inherited members.

getDescriptor() const | PxClothFabricCooker
mImpl | PxClothFabricCooker | [private]
PxClothFabricCooker(const PxClothMeshDesc &desc, const PxVec3 &gravity, bool useGeodesicTether=true) | PxClothFabricCooker
save(PxOutputStream &stream, bool platformMismatch) const | PxClothFabricCooker


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxClothFabricDesc Member List

This is the complete list of members for PxClothFabricDesc, including all inherited members.

indices | PxClothFabricDesc
isValid() const | PxClothFabricDesc
nbParticles | PxClothFabricDesc
nbPhases | PxClothFabricDesc
nbSets | PxClothFabricDesc
nbTethers | PxClothFabricDesc
nbTriangles | PxClothFabricDesc
phases | PxClothFabricDesc
PxClothFabricDesc() | PxClothFabricDesc
restvalues | PxClothFabricDesc
sets | PxClothFabricDesc
setToDefault() | PxClothFabricDesc
tetherAnchors | PxClothFabricDesc
tetherLengths | PxClothFabricDesc
triangles | PxClothFabricDesc


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxClothGeodesicTetherCooker Member List

This is the complete list of members for PxClothGeodesicTetherCooker, including all inherited members.

getCookerStatus() const | PxClothGeodesicTetherCooker
getNbTethersPerParticle() const | PxClothGeodesicTetherCooker
getTetherData(PxU32 *userTetherAnchors, PxReal *userTetherLengths) const | PxClothGeodesicTetherCooker
mImpl | PxClothGeodesicTetherCooker | [private]
PxClothGeodesicTetherCooker(const PxClothMeshDesc &desc) | PxClothGeodesicTetherCooker


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxClothMeshDesc Member List

This is the complete list of members for PxClothMeshDesc, including all inherited members.

flags | PxClothMeshDesc
invMasses | PxClothMeshDesc
isValid() const | PxClothMeshDesc
points | PxClothMeshDesc
PxClothMeshDesc() | PxClothMeshDesc
quads | PxClothMeshDesc
setToDefault() | PxClothMeshDesc
triangles | PxClothMeshDesc


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxClothMeshQuadifier Member List

This is the complete list of members for PxClothMeshQuadifier, including all inherited members.

getDescriptor() const | PxClothMeshQuadifier
mImpl | PxClothMeshQuadifier | [private]
PxClothMeshQuadifier(const PxClothMeshDesc &desc) | PxClothMeshQuadifier


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxClothSimpleTetherCooker Member List

This is the complete list of members for PxClothSimpleTetherCooker, including all inherited members.

getTetherData(PxU32 *userTetherAnchors, PxReal *userTetherLengths) const | PxClothSimpleTetherCooker
mImpl | PxClothSimpleTetherCooker | [private]
PxClothSimpleTetherCooker(const PxClothMeshDesc &desc) | PxClothSimpleTetherCooker


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxCollection Member List

This is the complete list of members for PxCollection, including all inherited members.

add(PxBase &object, PxSerialObjectId id=PX_SERIAL_OBJECT_ID_INVALID)=0 | PxCollection | [pure virtual]
add(PxCollection &collection)=0 | PxCollection | [pure virtual]
addId(PxBase &object, PxSerialObjectId id)=0 | PxCollection | [pure virtual]
contains(PxBase &object) const =0 | PxCollection | [pure virtual]
find(PxSerialObjectId id) const =0 | PxCollection | [pure virtual]
getId(const PxBase &object) const =0 | PxCollection | [pure virtual]
getIds(PxSerialObjectId *userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 | PxCollection | [pure virtual]
getNbIds() const =0 | PxCollection | [pure virtual]
getNbObjects() const =0 | PxCollection | [pure virtual]
getObject(PxU32 index) const =0 | PxCollection | [pure virtual]
getObjects(PxBase **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 | PxCollection | [pure virtual]
PxCollection() | PxCollection | [inline, protected]
release()=0 | PxCollection | [pure virtual]
remove(PxBase &object)=0 | PxCollection | [pure virtual]
remove(PxCollection &collection)=0 | PxCollection | [pure virtual]
removeId(PxSerialObjectId id)=0 | PxCollection | [pure virtual]
~PxCollection() | PxCollection | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxCollectionExt Member List

This is the complete list of members for PxCollectionExt, including all inherited members.

createCollection(PxPhysics &physics) | PxCollectionExt | [static]
createCollection(PxScene &scene) | PxCollectionExt | [static]
releaseObjects(PxCollection &collection, bool releaseExclusiveShapes=true) | PxCollectionExt | [static]
remove(PxCollection &collection, PxType concreteType, PxCollection *to=NULL) | PxCollectionExt | [static]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxConstraint Member List

This is the complete list of members for PxConstraint, including all inherited members.

getActors(PxRigidActor *&actor0, PxRigidActor *&actor1) const =0 | PxConstraint | [pure virtual]
getBaseFlags() const | PxBase | [inline]
getBreakForce(PxReal &linear, PxReal &angular) const =0 | PxConstraint | [pure virtual]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const | PxConstraint | [inline, virtual]
getExternalReference(PxU32 &typeID)=0 | PxConstraint | [pure virtual]
getFlags() const =0 | PxConstraint | [pure virtual]
getForce(PxVec3 &linear, PxVec3 &angular) const =0 | PxConstraint | [pure virtual]
getMinResponseThreshold() const =0 | PxConstraint | [pure virtual]
getScene() const =0 | PxConstraint | [pure virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxConstraint | [inline, protected, virtual]
isReleasable() const | PxBase | [inline, virtual]
isValid() const =0 | PxConstraint | [pure virtual]
markDirty()=0 | PxConstraint | [pure virtual]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxConstraint(PxType concreteType, PxBaseFlags baseFlags) | PxConstraint | [inline, protected]
PxConstraint(PxBaseFlags baseFlags) | PxConstraint | [inline, protected]
release()=0 | PxConstraint | [pure virtual]
setActors(PxRigidActor *actor0, PxRigidActor *actor1)=0 | PxConstraint | [pure virtual]
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
setBreakForce(PxReal linear, PxReal angular)=0 | PxConstraint | [pure virtual]
setConstraintFunctions(PxConstraintConnector &connector, const PxConstraintShaderTable &shaders)=0 | PxConstraint | [pure virtual]
setFlag(PxConstraintFlag::Enum flag, bool value)=0 | PxConstraint | [pure virtual]
setFlags(PxConstraintFlags flags)=0 | PxConstraint | [pure virtual]
setMinResponseThreshold(PxReal threshold)=0 | PxConstraint | [pure virtual]
typeMatch() const | PxBase | [inline, protected]
~PxBase() | PxBase | [inline, protected, virtual]
~PxConstraint() | PxConstraint | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxConstraintConnector Member List

This is the complete list of members for PxConstraintConnector, including all inherited members.

getConstantBlock() const =0 | PxConstraintConnector | [pure virtual]
getExternalReference(PxU32 &typeID)=0 | PxConstraintConnector | [pure virtual]
getPrep() const =0 | PxConstraintConnector | [pure virtual]
getSerializable()=0 | PxConstraintConnector | [pure virtual]
onComShift(PxU32 actor)=0 | PxConstraintConnector | [pure virtual]
onConstraintRelease()=0 | PxConstraintConnector | [pure virtual]
onOriginShift(const PxVec3 &shift)=0 | PxConstraintConnector | [pure virtual]
prepareData()=0 | PxConstraintConnector | [pure virtual]
updatePvdProperties(physx::pvdsdk::PvdDataStream &pvdConnection, const PxConstraint *c, PxPvdUpdateType::Enum updateType) const =0 | PxConstraintConnector | [pure virtual]
~PxConstraintConnector() | PxConstraintConnector | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxConstraintVisualizer Member List

This is the complete list of members for PxConstraintVisualizer, including all inherited members.

visualizeAngularLimit(const PxTransform &t0, PxReal lower, PxReal upper, bool active)=0 | PxConstraintVisualizer | [pure virtual]
visualizeDoubleCone(const PxTransform &t, PxReal angle, bool active)=0 | PxConstraintVisualizer | [pure virtual]
visualizeJointFrames(const PxTransform &parent, const PxTransform &child)=0 | PxConstraintVisualizer | [pure virtual]
visualizeLimitCone(const PxTransform &t, PxReal ySwing, PxReal zSwing, bool active)=0 | PxConstraintVisualizer | [pure virtual]
visualizeLine(const PxVec3 &p0, const PxVec3 &p1, PxU32 color)=0 | PxConstraintVisualizer | [pure virtual]
visualizeLinearLimit(const PxTransform &t0, const PxTransform &t1, PxReal value, bool active)=0 | PxConstraintVisualizer | [pure virtual]
~PxConstraintVisualizer() | PxConstraintVisualizer | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxContactModifyCallback Member List

This is the complete list of members for PxContactModifyCallback, including all inherited members.

onContactModify(PxContactModifyPair *const pairs, PxU32 count)=0 | PxContactModifyCallback | [pure virtual]
~PxContactModifyCallback() | PxContactModifyCallback | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxContactModifyPair Member List

This is the complete list of members for PxContactModifyPair, including all inherited members.

actor | PxContactModifyPair
contacts | PxContactModifyPair
shape | PxContactModifyPair
transform | PxContactModifyPair


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxContactRecorder Member List

This is the complete list of members for PxContactRecorder, including all inherited members.

recordContacts(const Gu::ContactPoint *contactPoints, const PxU32 nbContacts, const PxU32 index)=0 | PxContactRecorder | [pure virtual]
~PxContactRecorder() | PxContactRecorder | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxContactSet Member List

This is the complete list of members for PxContactSet, including all inherited members.

getDynamicFriction(PxU32 i) const | PxContactSet | [inline]
getInternalFaceIndex0(PxU32 i) | PxContactSet | [inline]
getInternalFaceIndex1(PxU32 i) | PxContactSet | [inline]
getInvInertiaScale0() const | PxContactSet | [inline]
getInvInertiaScale1() const | PxContactSet | [inline]
getInvMassScale0() const | PxContactSet | [inline]
getInvMassScale1() const | PxContactSet | [inline]
getMaxImpulse(PxU32 i) const | PxContactSet | [inline]
getNormal(PxU32 i) const | PxContactSet | [inline]
getPatch() const | PxContactSet | [inline, protected]
getPoint(PxU32 i) const | PxContactSet | [inline]
getRestitution(PxU32 i) const | PxContactSet | [inline]
getSeparation(PxU32 i) const | PxContactSet | [inline]
getStaticFriction(PxU32 i) const | PxContactSet | [inline]
getTargetVelocity(PxU32 i) const | PxContactSet | [inline]
ignore(PxU32 i) | PxContactSet | [inline]
mContacts | PxContactSet | [protected]
mCount | PxContactSet | [protected]
setDynamicFriction(PxU32 i, PxReal f) | PxContactSet | [inline]
setInvInertiaScale0(const PxReal scale) | PxContactSet | [inline]
setInvInertiaScale1(const PxReal scale) | PxContactSet | [inline]
setInvMassScale0(const PxReal scale) | PxContactSet | [inline]
setInvMassScale1(const PxReal scale) | PxContactSet | [inline]
setMaxImpulse(PxU32 i, PxReal s) | PxContactSet | [inline]
setNormal(PxU32 i, const PxVec3 &n) | PxContactSet | [inline]
setPoint(PxU32 i, const PxVec3 &p) | PxContactSet | [inline]
setRestitution(PxU32 i, PxReal r) | PxContactSet | [inline]
setSeparation(PxU32 i, PxReal s) | PxContactSet | [inline]
setStaticFriction(PxU32 i, PxReal f) | PxContactSet | [inline]
setTargetVelocity(PxU32 i, const PxVec3 &v) | PxContactSet | [inline]
size() const | PxContactSet | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxController Member List

This is the complete list of members for PxController, including all inherited members.

getActor() const =0 | PxController | [pure virtual]
getContactOffset() const =0 | PxController | [pure virtual]
getFootPosition() const =0 | PxController | [pure virtual]
getNonWalkableMode() const =0 | PxController | [pure virtual]
getPosition() const =0 | PxController | [pure virtual]
getScene()=0 | PxController | [pure virtual]
getSlopeLimit() const =0 | PxController | [pure virtual]
getState(PxControllerState &state) const =0 | PxController | [pure virtual]
getStats(PxControllerStats &stats) const =0 | PxController | [pure virtual]
getStepOffset() const =0 | PxController | [pure virtual]
getType() const =0 | PxController | [pure virtual]
getUpDirection() const =0 | PxController | [pure virtual]
getUserData() const =0 | PxController | [pure virtual]
invalidateCache()=0 | PxController | [pure virtual]
move(const PxVec3 &disp, PxF32 minDist, PxF32 elapsedTime, const PxControllerFilters &filters, const PxObstacleContext *obstacles=NULL)=0 | PxController | [pure virtual]
PxController() | PxController | [inline, protected]
release()=0 | PxController | [pure virtual]
resize(PxReal height)=0 | PxController | [pure virtual]
setContactOffset(PxF32 offset)=0 | PxController | [pure virtual]
setFootPosition(const PxExtendedVec3 &position)=0 | PxController | [pure virtual]
setNonWalkableMode(PxControllerNonWalkableMode::Enum flag)=0 | PxController | [pure virtual]
setPosition(const PxExtendedVec3 &position)=0 | PxController | [pure virtual]
setSlopeLimit(PxF32 slopeLimit)=0 | PxController | [pure virtual]
setStepOffset(const PxF32 offset)=0 | PxController | [pure virtual]
setUpDirection(const PxVec3 &up)=0 | PxController | [pure virtual]
setUserData(void *userData)=0 | PxController | [pure virtual]
~PxController() | PxController | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxControllerBehaviorCallback Member List

This is the complete list of members for PxControllerBehaviorCallback, including all inherited members.

getBehaviorFlags(const PxShape &shape, const PxActor &actor)=0 | PxControllerBehaviorCallback | [pure virtual]
getBehaviorFlags(const PxController &controller)=0 | PxControllerBehaviorCallback | [pure virtual]
getBehaviorFlags(const PxObstacle &obstacle)=0 | PxControllerBehaviorCallback | [pure virtual]
~PxControllerBehaviorCallback() | PxControllerBehaviorCallback | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxControllerDesc Member List

This is the complete list of members for PxControllerDesc, including all inherited members.

behaviorCallback | PxControllerDesc |
contactOffset | PxControllerDesc |
copy(const PxControllerDesc &) | PxControllerDesc | [protected]
density | PxControllerDesc |
getType() const | PxControllerDesc | [inline]
invisibleWallHeight | PxControllerDesc |
isValid() const | PxControllerDesc | [virtual]
material | PxControllerDesc |
maxJumpHeight | PxControllerDesc |
mType | PxControllerDesc | [protected]
nonWalkableMode | PxControllerDesc |
operator=(const PxControllerDesc &) | PxControllerDesc | [protected]
position | PxControllerDesc |
PxControllerDesc(PxControllerShapeType::Enum) | PxControllerDesc | [protected]
PxControllerDesc(const PxControllerDesc &) | PxControllerDesc | [protected]
registerDeletionListener | PxControllerDesc |
reportCallback | PxControllerDesc |
scaleCoeff | PxControllerDesc |
slopeLimit | PxControllerDesc |
stepOffset | PxControllerDesc |
upDirection | PxControllerDesc |
userData | PxControllerDesc |
volumeGrowth | PxControllerDesc |
~PxControllerDesc() | PxControllerDesc | [protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxControllerFilterCallback Member List

This is the complete list of members for PxControllerFilterCallback, including all inherited members.

filter(const PxController &a, const PxController &b)=0 | PxControllerFilterCallback | [pure virtual]
~PxControllerFilterCallback() | PxControllerFilterCallback | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxControllerFilters Member List

This is the complete list of members for PxControllerFilters, including all inherited members.

mCCTFilterCallback | PxControllerFilters |
mFilterCallback | PxControllerFilters |
mFilterData | PxControllerFilters |
mFilterFlags | PxControllerFilters |
PxControllerFilters(const PxFilterData *filterData=NULL, PxQueryFilterCallback *cb=NULL, PxControllerFilterCallback *cctFilterCb=NULL) | PxControllerFilters | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxControllerManager Member List

This is the complete list of members for PxControllerManager, including all inherited members.

computeInteractions(PxF32 elapsedTime, PxControllerFilterCallback *cctFilterCb=NULL)=0 | PxControllerManager | [pure virtual]
createController(const PxControllerDesc &desc)=0 | PxControllerManager | [pure virtual]
createObstacleContext()=0 | PxControllerManager | [pure virtual]
getController(PxU32 index)=0 | PxControllerManager | [pure virtual]
getNbControllers() const =0 | PxControllerManager | [pure virtual]
getNbObstacleContexts() const =0 | PxControllerManager | [pure virtual]
getObstacleContext(PxU32 index)=0 | PxControllerManager | [pure virtual]
getRenderBuffer()=0 | PxControllerManager | [pure virtual]
getScene() const =0 | PxControllerManager | [pure virtual]
purgeControllers()=0 | PxControllerManager | [pure virtual]
PxControllerManager() | PxControllerManager | [inline, protected]
release()=0 | PxControllerManager | [pure virtual]
setDebugRenderingFlags(PxControllerDebugRenderFlags flags)=0 | PxControllerManager | [pure virtual]
setOverlapRecoveryModule(bool flag)=0 | PxControllerManager | [pure virtual]
setPreciseSweeps(bool flag)=0 | PxControllerManager | [pure virtual]
setPreventVerticalSlidingAgainstCeiling(bool flag)=0 | PxControllerManager | [pure virtual]
setTessellation(bool flag, float maxEdgeLength)=0 | PxControllerManager | [pure virtual]
shiftOrigin(const PxVec3 &shift)=0 | PxControllerManager | [pure virtual]
~PxControllerManager() | PxControllerManager | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxConvexMesh Member List

This is the complete list of members for PxConvexMesh, including all inherited members.

acquireReference()=0 | PxConvexMesh | [pure virtual]
getBaseFlags() const | PxBase | [inline]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const | PxConvexMesh | [inline, virtual]
getIndexBuffer() const =0 | PxConvexMesh | [pure virtual]
getLocalBounds() const =0 | PxConvexMesh | [pure virtual]
getMassInformation(PxReal &mass, PxMat33 &localInertia, PxVec3 &localCenterOfMass) const =0 | PxConvexMesh | [pure virtual]
getNbPolygons() const =0 | PxConvexMesh | [pure virtual]
getNbVertices() const =0 | PxConvexMesh | [pure virtual]
getPolygonData(PxU32 index, PxHullPolygon &data) const =0 | PxConvexMesh | [pure virtual]
getReferenceCount() const =0 | PxConvexMesh | [pure virtual]
getVertices() const =0 | PxConvexMesh | [pure virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isGpuCompatible() const =0 | PxConvexMesh | [pure virtual]
isKindOf(const char *name) const | PxConvexMesh | [inline, protected, virtual]
isReleasable() const | PxBase | [inline, virtual]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxConvexMesh(PxType concreteType, PxBaseFlags baseFlags) | PxConvexMesh | [inline, protected]
PxConvexMesh(PxBaseFlags baseFlags) | PxConvexMesh | [inline, protected]
release()=0 | PxConvexMesh | [pure virtual]
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
typeMatch() const | PxBase | [inline, protected]
~PxBase() | PxBase | [inline, protected, virtual]
~PxConvexMesh() | PxConvexMesh | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxConvexMeshDesc Member List

This is the complete list of members for PxConvexMeshDesc, including all inherited members.

flags | PxConvexMeshDesc
indices | PxConvexMeshDesc
isValid() const | PxConvexMeshDesc
points | PxConvexMeshDesc
polygons | PxConvexMeshDesc
PxConvexMeshDesc() | PxConvexMeshDesc
quantizedCount | PxConvexMeshDesc
setToDefault() | PxConvexMeshDesc
vertexLimit | PxConvexMeshDesc


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxConvexMeshGeometry Member List

This is the complete list of members for PxConvexMeshGeometry, including all inherited members.

convexMesh PxConvexMeshGeometry
getType() const | PxGeometry | [inline]
isValid() const | PxConvexMeshGeometry
maxMargin PxConvexMeshGeometry
meshFlags PxConvexMeshGeometry
mType | PxGeometry | [protected]
paddingFromFlags PxConvexMeshGeometry
PxConvexMeshGeometry() | PxConvexMeshGeometry | [inline]
PxConvexMeshGeometry(PxConvexMesh *mesh, const PxMeshScale &scaling=PxMeshScale(), PxConvexMeshGeometryFlags flags=PxConvexMeshGeometryFlags(), float margin=3.4e38f) | PxConvexMeshGeometry | [inline]
PxGeometry(PxGeometryType::Enum type) | PxGeometry | [inline, protected]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxCooking Member List

This is the complete list of members for PxCooking, including all inherited members.

computeHullPolygons(const PxSimpleTriangleMesh &mesh, PxAllocatorCallback &inCallback, PxU32 &nbVerts, PxVec3 *&vertices, PxU32 &nbIndices, PxU32 *&indices, PxU32 &nbPolygons, PxHullPolygon *&hullPolygons) const =0 | PxCooking | [pure virtual]
cookConvexMesh(const PxConvexMeshDesc &desc, PxOutputStream &stream, PxConvexMeshCookingResult::Enum *condition=NULL) const =0 | PxCooking | [pure virtual]
cookHeightField(const PxHeightFieldDesc &desc, PxOutputStream &stream) const =0 | PxCooking | [pure virtual]
cookTriangleMesh(const PxTriangleMeshDesc &desc, PxOutputStream &stream, PxTriangleMeshCookingResult::Enum *condition=NULL) const =0 | PxCooking | [pure virtual]
createConvexMesh(const PxConvexMeshDesc &desc, PxPhysicsInsertionCallback &insertionCallback, PxConvexMeshCookingResult::Enum *condition=NULL) const =0 | PxCooking | [pure virtual]
createHeightField(const PxHeightFieldDesc &desc, PxPhysicsInsertionCallback &insertionCallback) const =0 | PxCooking | [pure virtual]
createTriangleMesh(const PxTriangleMeshDesc &desc, PxPhysicsInsertionCallback &insertionCallback, PxTriangleMeshCookingResult::Enum *condition=NULL) const =0 | PxCooking | [pure virtual]
getParams() const =0 | PxCooking | [pure virtual]
platformMismatch() const =0 | PxCooking | [pure virtual]
release()=0 | PxCooking | [pure virtual]
setParams(const PxCookingParams &params)=0 | PxCooking | [pure virtual]
validateConvexMesh(const PxConvexMeshDesc &desc) const =0 | PxCooking | [pure virtual]
validateTriangleMesh(const PxTriangleMeshDesc &desc) const =0 | PxCooking | [pure virtual]
~PxCooking() | PxCooking | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxD6Joint Member List

This is the complete list of members for PxD6Joint, including all inherited members.

getActors(PxRigidActor *&actor0, PxRigidActor *&actor1) const =0 | PxJoint | [pure virtual]
getBaseFlags() const | PxBase | [inline]
getBinaryMetaData(PxOutputStream &stream) | PxJoint | [static]
getBreakForce(PxReal &force, PxReal &torque) const =0 | PxJoint | [pure virtual]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const | PxD6Joint | [inline, virtual]
getConstraint() const =0 | PxJoint | [pure virtual]
getConstraintFlags() const =0 | PxJoint | [pure virtual]
getDrive(PxD6Drive::Enum index) const =0 | PxD6Joint | [pure virtual]
getDrivePosition() const =0 | PxD6Joint | [pure virtual]
getDriveVelocity(PxVec3 &linear, PxVec3 &angular) const =0 | PxD6Joint | [pure virtual]
getInvInertiaScale0() const =0 | PxJoint | [pure virtual]
getInvInertiaScale1() const =0 | PxJoint | [pure virtual]
getInvMassScale0() const =0 | PxJoint | [pure virtual]
getInvMassScale1() const =0 | PxJoint | [pure virtual]
getLinearLimit() const =0 | PxD6Joint | [pure virtual]
getLocalPose(PxJointActorIndex::Enum actor) const =0 | PxJoint | [pure virtual]
getMotion(PxD6Axis::Enum axis) const =0 | PxD6Joint | [pure virtual]
getName() const =0 | PxJoint | [pure virtual]
getProjectionAngularTolerance() const =0 | PxD6Joint | [pure virtual]
getProjectionLinearTolerance() const =0 | PxD6Joint | [pure virtual]
getRelativeAngularVelocity() const =0 | PxJoint | [pure virtual]
getRelativeLinearVelocity() const =0 | PxJoint | [pure virtual]
getRelativeTransform() const =0 | PxJoint | [pure virtual]
getScene() const =0 | PxJoint | [pure virtual]
getSwingLimit() const =0 | PxD6Joint | [pure virtual]
getSwingYAngle() const =0 | PxD6Joint | [pure virtual]
getSwingZAngle() const =0 | PxD6Joint | [pure virtual]
getTwist() const =0 | PxD6Joint | [pure virtual]
getTwistLimit() const =0 | PxD6Joint | [pure virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxD6Joint | [inline, protected, virtual]
isReleasable() const | PxBase | [inline, virtual]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxD6Joint(PxType concreteType, PxBaseFlags baseFlags) | PxD6Joint | [inline, protected]
PxD6Joint(PxBaseFlags baseFlags) | PxD6Joint | [inline, protected]
PxJoint(PxType concreteType, PxBaseFlags baseFlags) | PxJoint | [inline, protected]
PxJoint(PxBaseFlags baseFlags) | PxJoint | [inline, protected]
release()=0 | PxJoint | [pure virtual]
setActors(PxRigidActor *actor0, PxRigidActor *actor1)=0 | PxJoint | [pure virtual]
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
setBreakForce(PxReal force, PxReal torque)=0 | PxJoint | [pure virtual]
setConstraintFlag(PxConstraintFlag::Enum flag, bool value)=0 | PxJoint | [pure virtual]
setConstraintFlags(PxConstraintFlags flags)=0 | PxJoint | [pure virtual]
setDrive(PxD6Drive::Enum index, const PxD6JointDrive &drive)=0 | PxD6Joint | [pure virtual]
setDrivePosition(const PxTransform &pose)=0 | PxD6Joint | [pure virtual]
setDriveVelocity(const PxVec3 &linear, const PxVec3 &angular)=0 | PxD6Joint | [pure virtual]
setInvInertiaScale0(PxReal invInertiaScale)=0 | PxJoint | [pure virtual]
setInvInertiaScale1(PxReal invInertiaScale)=0 | PxJoint | [pure virtual]
setInvMassScale0(PxReal invMassScale)=0 | PxJoint | [pure virtual]
setInvMassScale1(PxReal invMassScale)=0 | PxJoint | [pure virtual]
setLinearLimit(const PxJointLinearLimit &limit)=0 | PxD6Joint | [pure virtual]
setLocalPose(PxJointActorIndex::Enum actor, const PxTransform &localPose)=0 | PxJoint | [pure virtual]
setMotion(PxD6Axis::Enum axis, PxD6Motion::Enum type)=0 | PxD6Joint | [pure virtual]
setName(const char *name)=0 | PxJoint | [pure virtual]
setProjectionAngularTolerance(PxReal tolerance)=0 | PxD6Joint | [pure virtual]
setProjectionLinearTolerance(PxReal tolerance)=0 | PxD6Joint | [pure virtual]
setSwingLimit(const PxJointLimitCone &limit)=0 | PxD6Joint | [pure virtual]
setTwistLimit(const PxJointAngularLimitPair &limit)=0 | PxD6Joint | [pure virtual]
typeMatch() const | PxBase | [inline, protected]
userData | PxJoint |
~PxBase() | PxBase | [inline, protected, virtual]
~PxJoint() | PxJoint | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxD6JointDrive Member List

This is the complete list of members for PxD6JointDrive, including all inherited members.

damping PxSpring
flags PxD6JointDrive
forceLimit PxD6JointDrive
isValid() const | PxD6JointDrive | [inline]
PxD6JointDrive() | PxD6JointDrive | [inline]
PxD6JointDrive(PxReal driveStiffness, PxReal driveDamping, PxReal driveForceLimit, bool isAcceleration=false) | PxD6JointDrive | [inline]
PxSpring(PxReal stiffness_, PxReal damping_) | PxSpring | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxDefaultAllocator Member List

This is the complete list of members for PxDefaultAllocator, including all inherited members.

allocate(size_t size, const char *, const char *, int) | PxDefaultAllocator | [inline, virtual]
deallocate(void *ptr) | PxDefaultAllocator | [inline, virtual]
~PxAllocatorCallback() | PxAllocatorCallback | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxDefaultCpuDispatcher Member List

This is the complete list of members for PxDefaultCpuDispatcher, including all inherited members.

getRunProfiled() const =0 | PxDefaultCpuDispatcher | [pure virtual]
release()=0 | PxDefaultCpuDispatcher | [pure virtual]
setRunProfiled(bool runProfiled)=0 | PxDefaultCpuDispatcher | [pure virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxDefaultErrorCallback Member List

This is the complete list of members for PxDefaultErrorCallback, including all inherited members.

PxDefaultErrorCallback() | PxDefaultErrorCallback |
reportError(PxErrorCode::Enum code, const char *message, const char *file, int line) | PxDefaultErrorCallback | [virtual]
~PxDefaultErrorCallback() | PxDefaultErrorCallback |
~PxErrorCallback() | PxErrorCallback | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxDefaultFileInputData Member List

This is the complete list of members for PxDefaultFileInputData, including all inherited members.

getLength() const | PxDefaultFileInputData | [virtual]
isValid() const | PxDefaultFileInputData |
mFile | PxDefaultFileInputData | [private]
mLength | PxDefaultFileInputData | [private]
PxDefaultFileInputData(const char *name) | PxDefaultFileInputData |
read(void *dest, PxU32 count) | PxDefaultFileInputData | [virtual]
seek(PxU32 pos) | PxDefaultFileInputData | [virtual]
tell() const | PxDefaultFileInputData | [virtual]
~PxDefaultFileInputData() | PxDefaultFileInputData | [virtual]
~PxInputData() | PxInputData | [inline, virtual]
~PxInputStream() | PxInputStream | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxDefaultFileOutputStream Member List

This is the complete list of members for PxDefaultFileOutputStream, including all inherited members.

isValid() | PxDefaultFileOutputStream | [virtual]
mFile | PxDefaultFileOutputStream | [private]
PxDefaultFileOutputStream(const char *name) | PxDefaultFileOutputStream |
write(const void *src, PxU32 count) | PxDefaultFileOutputStream | [virtual]
~PxDefaultFileOutputStream() | PxDefaultFileOutputStream | [virtual]
~PxOutputStream() | PxOutputStream | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxDefaultMemoryInputData Member List

This is the complete list of members for PxDefaultMemoryInputData, including all inherited members.

getLength() const | PxDefaultMemoryInputData | [virtual]
mData | PxDefaultMemoryInputData | [private]
mPos | PxDefaultMemoryInputData | [private]
mSize | PxDefaultMemoryInputData | [private]
PxDefaultMemoryInputData(PxU8 *data, PxU32 length) | PxDefaultMemoryInputData |
read(void *dest, PxU32 count) | PxDefaultMemoryInputData | [virtual]
seek(PxU32 pos) | PxDefaultMemoryInputData | [virtual]
tell() const | PxDefaultMemoryInputData | [virtual]
~PxInputData() | PxInputData | [inline, virtual]
~PxInputStream() | PxInputStream | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxDefaultMemoryOutputStream Member List

This is the complete list of members for PxDefaultMemoryOutputStream, including all inherited members.

getData() const | PxDefaultMemoryOutputStream | [inline, virtual]
getSize() const | PxDefaultMemoryOutputStream | [inline, virtual]
mAllocator | PxDefaultMemoryOutputStream | [private]
mCapacity | PxDefaultMemoryOutputStream | [private]
mData | PxDefaultMemoryOutputStream | [private]
mSize | PxDefaultMemoryOutputStream | [private]
operator=(const PxDefaultMemoryOutputStream &) | PxDefaultMemoryOutputStream | [private]
PxDefaultMemoryOutputStream(PxAllocatorCallback &allocator=PxGetFoundation().getAllocatorCallback()) | PxDefaultMemoryOutputStream |
PxDefaultMemoryOutputStream(const PxDefaultMemoryOutputStream &) | PxDefaultMemoryOutputStream | [private]
write(const void *src, PxU32 count) | PxDefaultMemoryOutputStream | [virtual]
~PxDefaultMemoryOutputStream() | PxDefaultMemoryOutputStream | [virtual]
~PxOutputStream() | PxOutputStream | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxDeletionListener Member List

This is the complete list of members for PxDeletionListener, including all inherited members.

onRelease(const PxBase *observed, void *userData, PxDeletionEventFlag::Enum deletionEvent)=0 | PxDeletionListener | [pure virtual]
PxDeletionListener() | PxDeletionListener | [inline, protected]
~PxDeletionListener() | PxDeletionListener | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxDeserializationContext Member List

This is the complete list of members for PxDeserializationContext, including all inherited members.

alignExtraData(PxU32 alignment=PX_SERIAL_ALIGN) | PxDeserializationContext | [inline]
getPhysXVersion() const =0 | PxDeserializationContext | [pure virtual]
mExtraDataAddress | PxDeserializationContext | [protected]
PxDeserializationContext() | PxDeserializationContext | [inline, protected]
readExtraData(PxU32 count=1) | PxDeserializationContext | [inline]
readExtraData(PxU32 count=1) | PxDeserializationContext | [inline]
readName(const char *&name) | PxDeserializationContext | [inline]
resolveReference(PxU32 kind, size_t reference) const =0 | PxDeserializationContext | [pure virtual]
translatePxBase(T *&base) | PxDeserializationContext | [inline]
~PxDeserializationContext() | PxDeserializationContext | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxDistanceJoint Member List

This is the complete list of members for PxDistanceJoint, including all inherited members.

getActors(PxRigidActor *&actor0, PxRigidActor *&actor1) const =0 | PxJoint | [pure virtual]
getBaseFlags() const | PxBase | [inline]
getBinaryMetaData(PxOutputStream &stream) | PxJoint | [static]
getBreakForce(PxReal &force, PxReal &torque) const =0 | PxJoint | [pure virtual]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const | PxDistanceJoint | [inline, virtual]
getConstraint() const =0 | PxJoint | [pure virtual]
getConstraintFlags() const =0 | PxJoint | [pure virtual]
getDamping() const =0 | PxDistanceJoint | [pure virtual]
getDistance() const =0 | PxDistanceJoint | [pure virtual]
getDistanceJointFlags(void) const =0 | PxDistanceJoint | [pure virtual]
getInvInertiaScale0() const =0 | PxJoint | [pure virtual]
getInvInertiaScale1() const =0 | PxJoint | [pure virtual]
getInvMassScale0() const =0 | PxJoint | [pure virtual]
getInvMassScale1() const =0 | PxJoint | [pure virtual]
getLocalPose(PxJointActorIndex::Enum actor) const =0 | PxJoint | [pure virtual]
getMaxDistance() const =0 | PxDistanceJoint | [pure virtual]
getMinDistance() const =0 | PxDistanceJoint | [pure virtual]
getName() const =0 | PxJoint | [pure virtual]
getRelativeAngularVelocity() const =0 | PxJoint | [pure virtual]
getRelativeLinearVelocity() const =0 | PxJoint | [pure virtual]
getRelativeTransform() const =0 | PxJoint | [pure virtual]
getScene() const =0 | PxJoint | [pure virtual]
getStiffness() const =0 | PxDistanceJoint | [pure virtual]
getTolerance() const =0 | PxDistanceJoint | [pure virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxDistanceJoint | [inline, protected, virtual]
isReleasable() const | PxBase | [inline, virtual]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxDistanceJoint(PxType concreteType, PxBaseFlags baseFlags) | PxDistanceJoint | [inline, protected]
PxDistanceJoint(PxBaseFlags baseFlags) | PxDistanceJoint | [inline, protected]
PxJoint(PxType concreteType, PxBaseFlags baseFlags) | PxJoint | [inline, protected]
PxJoint(PxBaseFlags baseFlags) | PxJoint | [inline, protected]
release()=0 | PxJoint | [pure virtual]
setActors(PxRigidActor *actor0, PxRigidActor *actor1)=0 | PxJoint | [pure virtual]
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
setBreakForce(PxReal force, PxReal torque)=0 | PxJoint | [pure virtual]
setConstraintFlag(PxConstraintFlag::Enum flag, bool value)=0 | PxJoint | [pure virtual]
setConstraintFlags(PxConstraintFlags flags)=0 | PxJoint | [pure virtual]
setDamping(PxReal damping)=0 | PxDistanceJoint | [pure virtual]
setDistanceJointFlag(PxDistanceJointFlag::Enum flag, bool value)=0 | PxDistanceJoint | [pure virtual]
setDistanceJointFlags(PxDistanceJointFlags flags)=0 | PxDistanceJoint | [pure virtual]
setInvInertiaScale0(PxReal invInertiaScale)=0 | PxJoint | [pure virtual]
setInvInertiaScale1(PxReal invInertiaScale)=0 | PxJoint | [pure virtual]
setInvMassScale0(PxReal invMassScale)=0 | PxJoint | [pure virtual]
setInvMassScale1(PxReal invMassScale)=0 | PxJoint | [pure virtual]
setLocalPose(PxJointActorIndex::Enum actor, const PxTransform &localPose)=0 | PxJoint | [pure virtual]
setMaxDistance(PxReal distance)=0 | PxDistanceJoint | [pure virtual]
setMinDistance(PxReal distance)=0 | PxDistanceJoint | [pure virtual]
setName(const char *name)=0 | PxJoint | [pure virtual]
setStiffness(PxReal stiffness)=0 | PxDistanceJoint | [pure virtual]
setTolerance(PxReal tolerance)=0 | PxDistanceJoint | [pure virtual]
typeMatch() const | PxBase | [inline, protected]
userData | PxJoint |
~PxBase() | PxBase | [inline, protected, virtual]
~PxJoint() | PxJoint | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxErrorCallback Member List

This is the complete list of members for PxErrorCallback, including all inherited members.

reportError(PxErrorCode::Enum code, const char *message, const char *file, int line)=0 | PxErrorCallback | [pure virtual]
~PxErrorCallback() | PxErrorCallback | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxFileBuf Member List

This is the complete list of members for PxFileBuf, including all inherited members.

close(void) | PxFileBuf | [inline, virtual]
ENDIAN_BIG enum value | PxFileBuf |
ENDIAN_LITTLE enum value | PxFileBuf |
ENDIAN_NONE enum value | PxFileBuf |
EndianMode enum name | PxFileBuf |
flush(void)=0 | PxFileBuf | [pure virtual]
getEndianMode(void) const | PxFileBuf | [inline]
getFileLength(void) const =0 | PxFileBuf | [pure virtual]
getOpenMode(void) const =0 | PxFileBuf | [pure virtual]
isBigEndian() | PxFileBuf | [inline, static]
isOpen(void) const | PxFileBuf | [inline]
isSeekable(void) const =0 | PxFileBuf | [pure virtual]
mEndianMode | PxFileBuf | [private]
mEndianSwap | PxFileBuf | [private]
OPEN_FILE_NOT_FOUND enum value | PxFileBuf |
OPEN_READ_ONLY enum value | PxFileBuf |
OPEN_READ_WRITE_EXISTING enum value | PxFileBuf |
OPEN_READ_WRITE_NEW enum value | PxFileBuf |
OPEN_WRITE_ONLY enum value | PxFileBuf |
OpenMode enum name | PxFileBuf |
peek(void *mem, uint32_t len)=0 | PxFileBuf | [pure virtual]
PxFileBuf(EndianMode mode=ENDIAN_LITTLE) | PxFileBuf | [inline]
read(void *mem, uint32_t len)=0 | PxFileBuf | [pure virtual]
readByte(void) | PxFileBuf | [inline]
readDouble(void) | PxFileBuf | [inline]
readDword(void) | PxFileBuf | [inline]
readFloat(void) | PxFileBuf | [inline]
readWord(void) | PxFileBuf | [inline]
release(void) | PxFileBuf | [inline]
SEEKABLE_NO enum value | PxFileBuf |
SEEKABLE_READ enum value | PxFileBuf |
SEEKABLE_READWRITE enum value | PxFileBuf |
SEEKABLE_WRITE enum value | PxFileBuf |
seekRead(uint32_t loc)=0 | PxFileBuf | [pure virtual]
SeekType enum name | PxFileBuf |
seekWrite(uint32_t loc)=0 | PxFileBuf | [pure virtual]
setEndianMode(EndianMode e) | PxFileBuf | [inline]
storeByte(uint8_t b) | PxFileBuf | [inline]
storeDouble(double v) | PxFileBuf | [inline]
storeDword(uint32_t v) | PxFileBuf | [inline]
storeFloat(float v) | PxFileBuf | [inline]
storeWord(uint16_t w) | PxFileBuf | [inline]
STREAM_SEEK_END | PxFileBuf | [static]
swap2Bytes(void *_data) const | PxFileBuf | [inline]
swap4Bytes(void *_data) const | PxFileBuf | [inline]
swap8Bytes(void *_data) const | PxFileBuf | [inline]
tellRead(void) const =0 | PxFileBuf | [pure virtual]
tellWrite(void) const =0 | PxFileBuf | [pure virtual]
write(const void *mem, uint32_t len)=0 | PxFileBuf | [pure virtual]
~PxFileBuf(void) | PxFileBuf | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxFixedJoint Member List

This is the complete list of members for PxFixedJoint, including all inherited members.

getActors(PxRigidActor *&actor0, PxRigidActor *&actor1) const =0 | PxJoint | [pure virtual]
getBaseFlags() const | PxBase | [inline]
getBinaryMetaData(PxOutputStream &stream) | PxJoint | [static]
getBreakForce(PxReal &force, PxReal &torque) const =0 | PxJoint | [pure virtual]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const | PxFixedJoint | [inline, virtual]
getConstraint() const =0 | PxJoint | [pure virtual]
getConstraintFlags() const =0 | PxJoint | [pure virtual]
getInvInertiaScale0() const =0 | PxJoint | [pure virtual]
getInvInertiaScale1() const =0 | PxJoint | [pure virtual]
getInvMassScale0() const =0 | PxJoint | [pure virtual]
getInvMassScale1() const =0 | PxJoint | [pure virtual]
getLocalPose(PxJointActorIndex::Enum actor) const =0 | PxJoint | [pure virtual]
getName() const =0 | PxJoint | [pure virtual]
getProjectionAngularTolerance() const =0 | PxFixedJoint | [pure virtual]
getProjectionLinearTolerance() const =0 | PxFixedJoint | [pure virtual]
getRelativeAngularVelocity() const =0 | PxJoint | [pure virtual]
getRelativeLinearVelocity() const =0 | PxJoint | [pure virtual]
getRelativeTransform() const =0 | PxJoint | [pure virtual]
getScene() const =0 | PxJoint | [pure virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxFixedJoint | [inline, protected, virtual]
isReleasable() const | PxBase | [inline, virtual]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxFixedJoint(PxType concreteType, PxBaseFlags baseFlags) | PxFixedJoint | [inline, protected]
PxFixedJoint(PxBaseFlags baseFlags) | PxFixedJoint | [inline, protected]
PxJoint(PxType concreteType, PxBaseFlags baseFlags) | PxJoint | [inline, protected]
PxJoint(PxBaseFlags baseFlags) | PxJoint | [inline, protected]
release()=0 | PxJoint | [pure virtual]
setActors(PxRigidActor *actor0, PxRigidActor *actor1)=0 | PxJoint | [pure virtual]
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
setBreakForce(PxReal force, PxReal torque)=0 | PxJoint | [pure virtual]
setConstraintFlag(PxConstraintFlag::Enum flag, bool value)=0 | PxJoint | [pure virtual]
setConstraintFlags(PxConstraintFlags flags)=0 | PxJoint | [pure virtual]
setInvInertiaScale0(PxReal invInertiaScale)=0 | PxJoint | [pure virtual]
setInvInertiaScale1(PxReal invInertiaScale)=0 | PxJoint | [pure virtual]
setInvMassScale0(PxReal invMassScale)=0 | PxJoint | [pure virtual]
setInvMassScale1(PxReal invMassScale)=0 | PxJoint | [pure virtual]
setLocalPose(PxJointActorIndex::Enum actor, const PxTransform &localPose)=0 | PxJoint | [pure virtual]
setName(const char *name)=0 | PxJoint | [pure virtual]
setProjectionAngularTolerance(PxReal tolerance)=0 | PxFixedJoint | [pure virtual]
setProjectionLinearTolerance(PxReal tolerance)=0 | PxFixedJoint | [pure virtual]
typeMatch() const | PxBase | [inline, protected]
userData | PxJoint |
~PxBase() | PxBase | [inline, protected, virtual]
~PxJoint() | PxJoint | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxFixedSizeLookupTable< NB_ELEMENTS > Member List

This is the complete list of members for PxFixedSizeLookupTable< NB_ELEMENTS >, including all inherited members.

addPair(const PxReal x, const PxReal y) | PxFixedSizeLookupTable< NB_ELEMENTS > | [inline]
clear() | PxFixedSizeLookupTable< NB_ELEMENTS > | [inline]
getNbDataPairs() const | PxFixedSizeLookupTable< NB_ELEMENTS > | [inline]
getX(const PxU32 i) const | PxFixedSizeLookupTable< NB_ELEMENTS > | [inline]
getY(const PxU32 i) const | PxFixedSizeLookupTable< NB_ELEMENTS > | [inline]
getYVal(const PxReal x) const | PxFixedSizeLookupTable< NB_ELEMENTS > | [inline]
mDataPairs | PxFixedSizeLookupTable< NB_ELEMENTS > |
mNbDataPairs | PxFixedSizeLookupTable< NB_ELEMENTS > |
mPad | PxFixedSizeLookupTable< NB_ELEMENTS > |
operator=(const PxFixedSizeLookupTable &src) | PxFixedSizeLookupTable< NB_ELEMENTS > | [inline]
PxFixedSizeLookupTable() | PxFixedSizeLookupTable< NB_ELEMENTS > | [inline]
PxFixedSizeLookupTable(const PxEMPTY) | PxFixedSizeLookupTable< NB_ELEMENTS > | [inline]
PxFixedSizeLookupTable(const PxReal *dataPairs, const PxU32 numDataPairs) | PxFixedSizeLookupTable< NB_ELEMENTS > | [inline]
PxFixedSizeLookupTable(const PxFixedSizeLookupTable &src) | PxFixedSizeLookupTable< NB_ELEMENTS > | [inline]
~PxFixedSizeLookupTable() | PxFixedSizeLookupTable< NB_ELEMENTS > | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxFlags< enumtype, storagetype > Member List

This is the complete list of members for PxFlags< enumtype, storagetype >, including all inherited members.

clear(enumtype e) | PxFlags< enumtype, storagetype > | [inline]
InternalType typedef | PxFlags< enumtype, storagetype > |
isSet(enumtype e) const | PxFlags< enumtype, storagetype > | [inline]
mBits | PxFlags< enumtype, storagetype > | [private]
operator bool(void) const | PxFlags< enumtype, storagetype > | [inline]
operator uint16_t(void) const | PxFlags< enumtype, storagetype > | [inline]
operator uint32_t(void) const | PxFlags< enumtype, storagetype > | [inline]
operator uint8_t(void) const | PxFlags< enumtype, storagetype > | [inline]
operator!=(enumtype e) const | PxFlags< enumtype, storagetype > | [inline]
operator!=(const PxFlags< enumtype, storagetype > &f) const | PxFlags< enumtype, storagetype > | [inline]
operator&(enumtype e) const | PxFlags< enumtype, storagetype > | [inline]
operator&(const PxFlags< enumtype, storagetype > &f) const | PxFlags< enumtype, storagetype > | [inline]
operator&(enumtype a, PxFlags< enumtype, storagetype > &b) | PxFlags< enumtype, storagetype > | [friend]
operator&=(enumtype e) | PxFlags< enumtype, storagetype > | [inline]
operator&=(const PxFlags< enumtype, storagetype > &f) | PxFlags< enumtype, storagetype > | [inline]
operator=(const PxFlags< enumtype, storagetype > &f) | PxFlags< enumtype, storagetype > | [inline]
operator=(enumtype e) | PxFlags< enumtype, storagetype > | [inline]
operator==(enumtype e) const | PxFlags< enumtype, storagetype > | [inline]
operator==(const PxFlags< enumtype, storagetype > &f) const | PxFlags< enumtype, storagetype > | [inline]
operator==(bool b) const | PxFlags< enumtype, storagetype > | [inline]
operator^(enumtype e) const | PxFlags< enumtype, storagetype > | [inline]
operator^(const PxFlags< enumtype, storagetype > &f) const | PxFlags< enumtype, storagetype > | [inline]
operator^=(enumtype e) | PxFlags< enumtype, storagetype > | [inline]
operator^=(const PxFlags< enumtype, storagetype > &f) | PxFlags< enumtype, storagetype > | [inline]
operator|(enumtype e) const | PxFlags< enumtype, storagetype > | [inline]
operator|(const PxFlags< enumtype, storagetype > &f) const | PxFlags< enumtype, storagetype > | [inline]
operator|=(enumtype e) | PxFlags< enumtype, storagetype > | [inline]
operator|=(const PxFlags< enumtype, storagetype > &f) | PxFlags< enumtype, storagetype > | [inline]
operator~(void) const | PxFlags< enumtype, storagetype > | [inline]
PxFlags(const PxEMPTY) | PxFlags< enumtype, storagetype > | [inline, explicit]
PxFlags(void) | PxFlags< enumtype, storagetype > | [inline]
PxFlags(enumtype e) | PxFlags< enumtype, storagetype > | [inline]
PxFlags(const PxFlags< enumtype, storagetype > &f) | PxFlags< enumtype, storagetype > | [inline]
PxFlags(storagetype b) | PxFlags< enumtype, storagetype > | [inline, explicit]
set(enumtype e) | PxFlags< enumtype, storagetype > | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxFoundation Member List

This is the complete list of members for PxFoundation, including all inherited members.

getAllocatorCallback()=0 | PxFoundation | [pure virtual]
getErrorCallback()=0 | PxFoundation | [pure virtual]
getErrorLevel() const =0 | PxFoundation | [pure virtual]
getReportAllocationNames() const =0 | PxFoundation | [pure virtual]
release()=0 | PxFoundation | [pure virtual]
setErrorLevel(PxErrorCode::Enum mask=PxErrorCode::eMASK_ALL)=0 | PxFoundation | [pure virtual]
setReportAllocationNames(bool value)=0 | PxFoundation | [pure virtual]
~PxFoundation() | PxFoundation | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxGeometry Member List

This is the complete list of members for PxGeometry, including all inherited members.

getType() const | PxGeometry | [inline]
mType | PxGeometry | [protected]
PxGeometry(PxGeometryType::Enum type) | PxGeometry | [inline, protected]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxGeometryHolder Member List

This is the complete list of members for PxGeometryHolder, including all inherited members.

any() | PxGeometryHolder | [inline]
any() const | PxGeometryHolder | [inline]
box | PxGeometryHolder |
box() | PxGeometryHolder | [inline]
box() const | PxGeometryHolder | [inline]
bytes | PxGeometryHolder | [private]
capsule | PxGeometryHolder |
capsule() | PxGeometryHolder | [inline]
capsule() const | PxGeometryHolder | [inline]
convex | PxGeometryHolder |
convexMesh() | PxGeometryHolder | [inline]
convexMesh() const | PxGeometryHolder | [inline]
geometry | PxGeometryHolder |
get() | PxGeometryHolder | [inline, private]
get() const | PxGeometryHolder | [inline, private]
getType() const | PxGeometryHolder | [inline]
heightfield | PxGeometryHolder |
heightField() | PxGeometryHolder | [inline]
heightField() const | PxGeometryHolder | [inline]
mesh | PxGeometryHolder |
plane | PxGeometryHolder |
plane() | PxGeometryHolder | [inline]
plane() const | PxGeometryHolder | [inline]
put(const PxGeometry &geometry) | PxGeometryHolder | [inline, private]
PxGeometryHolder() | PxGeometryHolder | [inline]
PxGeometryHolder(const PxGeometry &geometry) | PxGeometryHolder | [inline]
sphere | PxGeometryHolder |
sphere() | PxGeometryHolder | [inline]
sphere() const | PxGeometryHolder | [inline]
storeAny(const PxGeometry &geometry) | PxGeometryHolder | [inline]
triangleMesh() | PxGeometryHolder | [inline]
triangleMesh() const | PxGeometryHolder | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxGeometryQuery Member List

This is the complete list of members for PxGeometryQuery, including all inherited members.

computePenetration(PxVec3 &direction, PxF32 &depth, const PxGeometry &geom0, const PxTransform &pose0, const PxGeometry &geom1, const PxTransform &pose1) | PxGeometryQuery | [static]
getWorldBounds(const PxGeometry &geom, const PxTransform &pose, float inflation=1.01f) | PxGeometryQuery | [static]
isValid(const PxGeometry &geom) | PxGeometryQuery | [static]
overlap(const PxGeometry &geom0, const PxTransform &pose0, const PxGeometry &geom1, const PxTransform &pose1) | PxGeometryQuery | [static]
pointDistance(const PxVec3 &point, const PxGeometry &geom, const PxTransform &pose, PxVec3 *closestPoint=NULL) | PxGeometryQuery | [static]
raycast(const PxVec3 &origin, const PxVec3 &unitDir, const PxGeometry &geom, const PxTransform &pose, PxReal maxDist, PxHitFlags hitFlags, PxU32 maxHits, PxRaycastHit *PX_RESTRICT rayHits) | PxGeometryQuery | [static]
sweep(const PxVec3 &unitDir, const PxReal maxDist, const PxGeometry &geom0, const PxTransform &pose0, const PxGeometry &geom1, const PxTransform &pose1, PxSweepHit &sweepHit, PxHitFlags hitFlags=PxHitFlag::eDEFAULT, const PxReal inflation=0.f) | PxGeometryQuery | [static]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxGroupsMask Member List

This is the complete list of members for PxGroupsMask, including all inherited members.

bits0 | PxGroupsMask |
bits1 | PxGroupsMask |
bits2 | PxGroupsMask |
bits3 | PxGroupsMask |
PxGroupsMask() | PxGroupsMask | [inline]
~PxGroupsMask() | PxGroupsMask | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxHeightField Member List

This is the complete list of members for PxHeightField, including all inherited members.

acquireReference()=0 | PxHeightField | [pure virtual]
getBaseFlags() const | PxBase | [inline]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const | PxHeightField | [inline, virtual]
getConvexEdgeThreshold() const =0 | PxHeightField | [pure virtual]
getFlags() const =0 | PxHeightField | [pure virtual]
getFormat() const =0 | PxHeightField | [pure virtual]
getHeight(PxReal x, PxReal z) const =0 | PxHeightField | [pure virtual]
getNbColumns() const =0 | PxHeightField | [pure virtual]
getNbRows() const =0 | PxHeightField | [pure virtual]
getReferenceCount() const =0 | PxHeightField | [pure virtual]
getSample(PxU32 row, PxU32 column) const =0 | PxHeightField | [pure virtual]
getSampleStride() const =0 | PxHeightField | [pure virtual]
getThickness() const =0 | PxHeightField | [pure virtual]
getTimestamp() const =0 | PxHeightField | [pure virtual]
getTriangleMaterialIndex(PxTriangleID triangleIndex) const =0 | PxHeightField | [pure virtual]
getTriangleNormal(PxTriangleID triangleIndex) const =0 | PxHeightField | [pure virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxHeightField | [inline, protected, virtual]
isReleasable() const | PxBase | [inline, virtual]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
modifySamples(PxI32 startCol, PxI32 startRow, const PxHeightFieldDesc &subfieldDesc, bool shrinkBounds=false)=0 | PxHeightField | [pure virtual]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxHeightField(PxType concreteType, PxBaseFlags baseFlags) | PxHeightField | [inline, protected]
PxHeightField(PxBaseFlags baseFlags) | PxHeightField | [inline, protected]
release()=0 | PxHeightField | [pure virtual]
saveCells(void *destBuffer, PxU32 destBufferSize) const =0 | PxHeightField | [pure virtual]
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
typeMatch() const | PxBase | [inline, protected]
~PxBase() | PxBase | [inline, protected, virtual]
~PxHeightField() | PxHeightField | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxHeightFieldDesc Member List

This is the complete list of members for PxHeightFieldDesc, including all inherited members.

convexEdgeThreshold | PxHeightFieldDesc
flags | PxHeightFieldDesc
format | PxHeightFieldDesc
isValid() const | PxHeightFieldDesc
nbColumns | PxHeightFieldDesc
nbRows | PxHeightFieldDesc
PxHeightFieldDesc() | PxHeightFieldDesc
samples | PxHeightFieldDesc
setToDefault() | PxHeightFieldDesc
thickness | PxHeightFieldDesc


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxHeightFieldGeometry Member List

This is the complete list of members for PxHeightFieldGeometry, including all inherited members.

columnScale PxHeightFieldGeometry
getType() const | PxGeometry | [inline]
heightField PxHeightFieldGeometry
heightFieldFlags PxHeightFieldGeometry
heightScale PxHeightFieldGeometry
isValid() const | PxHeightFieldGeometry
mType | PxGeometry | [protected]
paddingFromFlags PxHeightFieldGeometry
PxGeometry(PxGeometryType::Enum type) | PxGeometry | [inline, protected]
PxHeightFieldGeometry() | PxHeightFieldGeometry | [inline]
PxHeightFieldGeometry(PxHeightField *hf, PxMeshGeometryFlags flags, PxReal heightScale_, PxReal rowScale_, PxReal columnScale_) | PxHeightFieldGeometry | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxInputData Member List

This is the complete list of members for PxInputData, including all inherited members.

getLength() const =0 | PxInputData | [pure virtual]
read(void *dest, uint32_t count)=0 | PxInputStream | [pure virtual]
seek(uint32_t offset)=0 | PxInputData | [pure virtual]
tell() const =0 | PxInputData | [pure virtual]
~PxInputData() | PxInputData | [inline, virtual]
~PxInputStream() | PxInputStream | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxInputStream Member List

This is the complete list of members for PxInputStream, including all inherited members.

read(void *dest, uint32_t count)=0 | PxInputStream | [pure virtual]
~PxInputStream() | PxInputStream | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxJoint Member List

This is the complete list of members for PxJoint, including all inherited members.

getActors(PxRigidActor *&actor0, PxRigidActor *&actor1) const =0 | PxJoint | [pure virtual]
getBaseFlags() const | PxBase | [inline]
getBinaryMetaData(PxOutputStream &stream) | PxJoint | [static]
getBreakForce(PxReal &force, PxReal &torque) const =0 | PxJoint | [pure virtual]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const =0 | PxBase | [pure virtual]
getConstraint() const =0 | PxJoint | [pure virtual]
getConstraintFlags() const =0 | PxJoint | [pure virtual]
getInvInertiaScale0() const =0 | PxJoint | [pure virtual]
getInvInertiaScale1() const =0 | PxJoint | [pure virtual]
getInvMassScale0() const =0 | PxJoint | [pure virtual]
getInvMassScale1() const =0 | PxJoint | [pure virtual]
getLocalPose(PxJointActorIndex::Enum actor) const =0 | PxJoint | [pure virtual]
getName() const =0 | PxJoint | [pure virtual]
getRelativeAngularVelocity() const =0 | PxJoint | [pure virtual]
getRelativeLinearVelocity() const =0 | PxJoint | [pure virtual]
getRelativeTransform() const =0 | PxJoint | [pure virtual]
getScene() const =0 | PxJoint | [pure virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxJoint | [inline, protected, virtual]
isReleasable() const | PxBase | [inline, virtual]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxJoint(PxType concreteType, PxBaseFlags baseFlags) | PxJoint | [inline, protected]
PxJoint(PxBaseFlags baseFlags) | PxJoint | [inline, protected]
release()=0 | PxJoint | [pure virtual]
setActors(PxRigidActor *actor0, PxRigidActor *actor1)=0 | PxJoint | [pure virtual]
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
setBreakForce(PxReal force, PxReal torque)=0 | PxJoint | [pure virtual]
setConstraintFlag(PxConstraintFlag::Enum flag, bool value)=0 | PxJoint | [pure virtual]
setConstraintFlags(PxConstraintFlags flags)=0 | PxJoint | [pure virtual]
setInvInertiaScale0(PxReal invInertiaScale)=0 | PxJoint | [pure virtual]
setInvInertiaScale1(PxReal invInertiaScale)=0 | PxJoint | [pure virtual]
setInvMassScale0(PxReal invMassScale)=0 | PxJoint | [pure virtual]
setInvMassScale1(PxReal invMassScale)=0 | PxJoint | [pure virtual]
setLocalPose(PxJointActorIndex::Enum actor, const PxTransform &localPose)=0 | PxJoint | [pure virtual]
setName(const char *name)=0 | PxJoint | [pure virtual]
typeMatch() const | PxBase | [inline, protected]
userData | PxJoint |
~PxBase() | PxBase | [inline, protected, virtual]
~PxJoint() | PxJoint | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxJointAngularLimitPair Member List

This is the complete list of members for PxJointAngularLimitPair, including all inherited members.

bounceThreshold | PxJointLimitParameters |
contactDistance | PxJointLimitParameters |
damping | PxJointLimitParameters |
isSoft() const | PxJointLimitParameters | [inline]
isValid() const | PxJointAngularLimitPair | [inline]
lower | PxJointAngularLimitPair |
PxJointAngularLimitPair(PxReal lowerLimit, PxReal upperLimit, PxReal contactDist=-1) | PxJointAngularLimitPair | [inline]
PxJointAngularLimitPair(PxReal lowerLimit, PxReal upperLimit, const PxSpring &spring) | PxJointAngularLimitPair | [inline]
PxJointLimitParameters() | PxJointLimitParameters | [inline]
restitution | PxJointLimitParameters |
stiffness | PxJointLimitParameters |
upper | PxJointAngularLimitPair |
~PxJointLimitParameters() | PxJointLimitParameters | [inline, protected]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxJointLimitCone Member List

This is the complete list of members for PxJointLimitCone, including all inherited members.

bounceThreshold | PxJointLimitParameters |
contactDistance | PxJointLimitParameters |
damping | PxJointLimitParameters |
isSoft() const | PxJointLimitParameters | [inline]
isValid() const | PxJointLimitCone | [inline]
PxJointLimitCone(PxReal yLimitAngle, PxReal zLimitAngle, PxReal contactDist=-1) | PxJointLimitCone | [inline]
PxJointLimitCone(PxReal yLimitAngle, PxReal zLimitAngle, const PxSpring &spring) | PxJointLimitCone | [inline]
PxJointLimitParameters() | PxJointLimitParameters | [inline]
restitution | PxJointLimitParameters |
stiffness | PxJointLimitParameters |
yAngle | PxJointLimitCone |
zAngle | PxJointLimitCone |
~PxJointLimitParameters() | PxJointLimitParameters | [inline, protected]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxJointLimitParameters Member List

This is the complete list of members for PxJointLimitParameters, including all inherited members.

bounceThreshold | PxJointLimitParameters |
contactDistance | PxJointLimitParameters |
damping | PxJointLimitParameters |
isSoft() const | PxJointLimitParameters | [inline]
isValid() const | PxJointLimitParameters | [inline]
PxJointLimitParameters() | PxJointLimitParameters | [inline]
restitution | PxJointLimitParameters |
stiffness | PxJointLimitParameters |
~PxJointLimitParameters() | PxJointLimitParameters | [inline, protected]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxJointLinearLimit Member List

This is the complete list of members for PxJointLinearLimit, including all inherited members.

bounceThreshold | PxJointLimitParameters |
contactDistance | PxJointLimitParameters |
damping | PxJointLimitParameters |
isSoft() const | PxJointLimitParameters | [inline]
isValid() const | PxJointLinearLimit | [inline]
PxJointLimitParameters() | PxJointLimitParameters | [inline]
PxJointLinearLimit(const PxTolerancesScale &scale, PxReal extent, PxReal contactDist=-1) | PxJointLinearLimit | [inline]
PxJointLinearLimit(PxReal extent, const PxSpring &spring) | PxJointLinearLimit | [inline]
restitution | PxJointLimitParameters |
stiffness | PxJointLimitParameters |
value | PxJointLinearLimit |
~PxJointLimitParameters() | PxJointLimitParameters | [inline, protected]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxJointLinearLimitPair Member List

This is the complete list of members for PxJointLinearLimitPair, including all inherited members.

bounceThreshold | PxJointLimitParameters |
contactDistance | PxJointLimitParameters |
damping | PxJointLimitParameters |
isSoft() const | PxJointLimitParameters | [inline]
isValid() const | PxJointLinearLimitPair | [inline]
lower | PxJointLinearLimitPair |
PxJointLimitParameters() | PxJointLimitParameters | [inline]
PxJointLinearLimitPair(const PxTolerancesScale &scale, PxReal lowerLimit, PxReal upperLimit, PxReal contactDist=-1) | PxJointLinearLimitPair | [inline]
PxJointLinearLimitPair(PxReal lowerLimit, PxReal upperLimit, const PxSpring &spring) | PxJointLinearLimitPair | [inline]
restitution | PxJointLimitParameters |
stiffness | PxJointLimitParameters |
upper | PxJointLinearLimitPair |
~PxJointLimitParameters() | PxJointLimitParameters | [inline, protected]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxLockedData Member List

This is the complete list of members for PxLockedData, including all inherited members.

getDataAccessFlags()=0 | PxLockedData | [pure virtual]
unlock()=0 | PxLockedData | [pure virtual]
~PxLockedData() | PxLockedData | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxMassProperties Member List

This is the complete list of members for PxMassProperties, including all inherited members.

centerOfMass | PxMassProperties |
getMassSpaceInertia(const PxMat33 &inertia, PxQuat &massFrame) | PxMassProperties | [inline, static]
inertiaTensor | PxMassProperties |
mass | PxMassProperties |
operator*(const PxReal scale) const | PxMassProperties | [inline]
PxMassProperties() | PxMassProperties | [inline]
PxMassProperties(const PxReal m, const PxMat33 &inertiaT, const PxVec3 &com) | PxMassProperties | [inline]
PxMassProperties(const PxGeometry &geometry) | PxMassProperties | [inline]
rotateInertia(const PxMat33 &inertia, const PxQuat &q) | PxMassProperties | [inline, static]
scaleInertia(const PxMat33 &inertia, const PxQuat &scaleRotation, const PxVec3 &scale) | PxMassProperties | [inline, static]
sum(const PxMassProperties *props, const PxTransform *transforms, const PxU32 count) | PxMassProperties | [inline, static]
translate(const PxVec3 &t) | PxMassProperties | [inline]
translateInertia(const PxMat33 &inertia, const PxReal mass, const PxVec3 &t) | PxMassProperties | [inline, static]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxMat33 Member List

This is the complete list of members for PxMat33, including all inherited members.

column0 | PxMat33 |
column1 | PxMat33 |
column2 | PxMat33 |
createDiagonal(const PxVec3 &d) | PxMat33 | [inline, static]
front() const | PxMat33 | [inline]
getDeterminant() const | PxMat33 | [inline]
getInverse() const | PxMat33 | [inline]
getTranspose() const | PxMat33 | [inline]
operator()(unsigned int row, unsigned int col) const | PxMat33 | [inline]
operator()(unsigned int row, unsigned int col) | PxMat33 | [inline]
operator*(float scalar) const | PxMat33 | [inline]
operator*(float, const PxMat33 &) | PxMat33 | [friend]
operator*(const PxVec3 &vec) const | PxMat33 | [inline]
operator*(const PxMat33 &other) const | PxMat33 | [inline]
operator*=(float scalar) | PxMat33 | [inline]
operator*=(const PxMat33 &other) | PxMat33 | [inline]
operator+(const PxMat33 &other) const | PxMat33 | [inline]
operator+=(const PxMat33 &other) | PxMat33 | [inline]
operator-() const | PxMat33 | [inline]
operator-(const PxMat33 &other) const | PxMat33 | [inline]
operator-=(const PxMat33 &other) | PxMat33 | [inline]
operator=(const PxMat33 &other) | PxMat33 | [inline]
operator==(const PxMat33 &m) const | PxMat33 | [inline]
operator[](unsigned int num) | PxMat33 | [inline]
operator[](unsigned int num) const | PxMat33 | [inline]
PxMat33() | PxMat33 | [inline]
PxMat33(PxIDENTITY r) | PxMat33 | [inline]
PxMat33(PxZERO r) | PxMat33 | [inline]
PxMat33(const PxVec3 &col0, const PxVec3 &col1, const PxVec3 &col2) | PxMat33 | [inline]
PxMat33(float r) | PxMat33 | [inline, explicit]
PxMat33(float values[]) | PxMat33 | [inline, explicit]
PxMat33(const PxQuat &q) | PxMat33 | [inline, explicit]
PxMat33(const PxMat33 &other) | PxMat33 | [inline]
transform(const PxVec3 &other) const | PxMat33 | [inline]
transformTranspose(const PxVec3 &other) const | PxMat33 | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxMat44 Member List

This is the complete list of members for PxMat44, including all inherited members.

column0 | PxMat44 |
column1 | PxMat44 |
column2 | PxMat44 |
column3 | PxMat44 |
front() const | PxMat44 | [inline]
getBasis(int num) const | PxMat44 | [inline]
getPosition() const | PxMat44 | [inline]
getTranspose() const | PxMat44 | [inline]
inverseRT(void) const | PxMat44 | [inline]
isFinite() const | PxMat44 | [inline]
operator()(unsigned int row, unsigned int col) const | PxMat44 | [inline]
operator()(unsigned int row, unsigned int col) | PxMat44 | [inline]
operator*(float scalar) const | PxMat44 | [inline]
operator*(float, const PxMat44 &) | PxMat44 | [friend]
operator*(const PxMat44 &other) const | PxMat44 | [inline]
operator*=(float scalar) | PxMat44 | [inline]
operator*=(const PxMat44 &other) | PxMat44 | [inline]
operator+(const PxMat44 &other) const | PxMat44 | [inline]
operator+=(const PxMat44 &other) | PxMat44 | [inline]
operator-() const | PxMat44 | [inline]
operator-(const PxMat44 &other) const | PxMat44 | [inline]
operator-=(const PxMat44 &other) | PxMat44 | [inline]
operator=(const PxMat44 &other) | PxMat44 | [inline]
operator==(const PxMat44 &m) const | PxMat44 | [inline]
operator[](unsigned int num) | PxMat44 | [inline]
operator[](unsigned int num) const | PxMat44 | [inline]
PxMat44() | PxMat44 | [inline]
PxMat44(PxIDENTITY r) | PxMat44 | [inline]
PxMat44(PxZERO r) | PxMat44 | [inline]
PxMat44(const PxVec4 &col0, const PxVec4 &col1, const PxVec4 &col2, const PxVec4 &col3) | PxMat44 | [inline]
PxMat44(float r) | PxMat44 | [inline, explicit]
PxMat44(const PxVec3 &col0, const PxVec3 &col1, const PxVec3 &col2, const PxVec3 &col3) | PxMat44 | [inline]
PxMat44(float values[]) | PxMat44 | [inline, explicit]
PxMat44(const PxQuat &q) | PxMat44 | [inline, explicit]
PxMat44(const PxVec4 &diagonal) | PxMat44 | [inline, explicit]
PxMat44(const PxMat33 &axes, const PxVec3 &position) | PxMat44 | [inline]
PxMat44(const PxTransform &t) | PxMat44 | [inline]
PxMat44(const PxMat44 &other) | PxMat44 | [inline]
rotate(const PxVec4 &other) const | PxMat44 | [inline]
rotate(const PxVec3 &other) const | PxMat44 | [inline]
scale(const PxVec4 &p) | PxMat44 | [inline]
setPosition(const PxVec3 &position) | PxMat44 | [inline]
transform(const PxVec4 &other) const | PxMat44 | [inline]
transform(const PxVec3 &other) const | PxMat44 | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxMaterial Member List

This is the complete list of members for PxMaterial, including all inherited members.

acquireReference()=0 | PxMaterial | [pure virtual]
getBaseFlags() const | PxBase | [inline]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const | PxMaterial | [inline, virtual]
getDynamicFriction() const =0 | PxMaterial | [pure virtual]
getFlags() const =0 | PxMaterial | [pure virtual]
getFrictionCombineMode() const =0 | PxMaterial | [pure virtual]
getReferenceCount() const =0 | PxMaterial | [pure virtual]
getRestitution() const =0 | PxMaterial | [pure virtual]
getRestitutionCombineMode() const =0 | PxMaterial | [pure virtual]
getStaticFriction() const =0 | PxMaterial | [pure virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxMaterial | [inline, protected, virtual]
isReleasable() const | PxBase | [inline, virtual]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxMaterial(PxType concreteType, PxBaseFlags baseFlags) | PxMaterial | [inline, protected]
PxMaterial(PxBaseFlags baseFlags) | PxMaterial | [inline, protected]
release()=0 | PxMaterial | [pure virtual]
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
setDynamicFriction(PxReal coef)=0 | PxMaterial | [pure virtual]
setFlag(PxMaterialFlag::Enum flag, bool)=0 | PxMaterial | [pure virtual]
setFlags(PxMaterialFlags inFlags)=0 | PxMaterial | [pure virtual]
setFrictionCombineMode(PxCombineMode::Enum combMode)=0 | PxMaterial | [pure virtual]
setRestitution(PxReal rest)=0 | PxMaterial | [pure virtual]
setRestitutionCombineMode(PxCombineMode::Enum combMode)=0 | PxMaterial | [pure virtual]
setStaticFriction(PxReal coef)=0 | PxMaterial | [pure virtual]
typeMatch() const | PxBase | [inline, protected]
userData | PxMaterial |
~PxBase() | PxBase | [inline, protected, virtual]
~PxMaterial() | PxMaterial | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxMeshOverlapUtil Member List

This is the complete list of members for PxMeshOverlapUtil, including all inherited members.

findOverlap(const PxGeometry &geom, const PxTransform &geomPose, const PxTriangleMeshGeometry &meshGeom, const PxTransform &meshPose) | PxMeshOverlapUtil
findOverlap(const PxGeometry &geom, const PxTransform &geomPose, const PxHeightFieldGeometry &hfGeom, const PxTransform &hfPose) | PxMeshOverlapUtil
getNbResults() const | PxMeshOverlapUtil | [inline]
getResults() const | PxMeshOverlapUtil | [inline]
mMaxNbResults | PxMeshOverlapUtil | [private]
mNbResults | PxMeshOverlapUtil | [private]
mResults | PxMeshOverlapUtil | [private]
mResultsMemory | PxMeshOverlapUtil | [private]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxMeshQuery Member List

This is the complete list of members for PxMeshQuery, including all inherited members.

findOverlapHeightField(const PxGeometry &geom, const PxTransform &geomPose, const PxHeightFieldGeometry &hfGeom, const PxTransform &hfPose, PxU32 *results, PxU32 maxResults, PxU32 startIndex, bool &overflow) | PxMeshQuery | [static]
findOverlapTriangleMesh(const PxGeometry &geom, const PxTransform &geomPose, const PxTriangleMeshGeometry &meshGeom, const PxTransform &meshPose, PxU32 *results, PxU32 maxResults, PxU32 startIndex, bool &overflow) | PxMeshQuery | [static]
getTriangle(const PxTriangleMeshGeometry &triGeom, const PxTransform &transform, PxTriangleID triangleIndex, PxTriangle &triangle, PxU32 *vertexIndices=NULL, PxU32 *adjacencyIndices=NULL) | PxMeshQuery | [static]
getTriangle(const PxHeightFieldGeometry &hfGeom, const PxTransform &transform, PxTriangleID triangleIndex, PxTriangle &triangle, PxU32 *vertexIndices=NULL, PxU32 *adjacencyIndices=NULL) | PxMeshQuery | [static]
sweep(const PxVec3 &unitDir, const PxReal distance, const PxGeometry &geom, const PxTransform &pose, PxU32 triangleCount, const PxTriangle *triangles, PxSweepHit &sweepHit, PxHitFlags hitFlags=PxHitFlag::eDEFAULT, const PxU32 *cachedIndex=NULL, const PxReal inflation=0.0f, bool doubleSided=false) | PxMeshQuery | [static]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxMeshScale Member List

This is the complete list of members for PxMeshScale, including all inherited members.

getInverse() const | PxMeshScale | [inline]
hasNegativeDeterminant() const | PxMeshScale | [inline]
isIdentity() const | PxMeshScale | [inline]
isValidForConvexMesh() const | PxMeshScale | [inline]
isValidForTriangleMesh() const | PxMeshScale | [inline]
PxMeshScale() | PxMeshScale | [inline]
PxMeshScale(PxReal r) | PxMeshScale | [inline, explicit]
PxMeshScale(const PxVec3 &s) | PxMeshScale | [inline]
PxMeshScale(const PxVec3 &s, const PxQuat &r) | PxMeshScale | [inline]
rotation | PxMeshScale |
scale | PxMeshScale |
toMat33() const | PxMeshScale | [inline]
transform(const PxVec3 &v) const | PxMeshScale | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxMidphaseDesc Member List

This is the complete list of members for PxMidphaseDesc, including all inherited members.

getType() const | PxMidphaseDesc | [inline]
isValid() const | PxMidphaseDesc | [inline]
mBVH33Desc | PxMidphaseDesc |
mBVH34Desc | PxMidphaseDesc |
mType | PxMidphaseDesc | [protected]
operator=(PxMeshMidPhase::Enum descType) | PxMidphaseDesc | [inline]
PxMidphaseDesc() | PxMidphaseDesc | [inline]
setToDefault(PxMeshMidPhase::Enum type) | PxMidphaseDesc | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxObstacle Member List

This is the complete list of members for PxObstacle, including all inherited members.

getType() const | PxObstacle | [inline]
mPos | PxObstacle |
mRot | PxObstacle |
mType | PxObstacle | [protected]
mUserData | PxObstacle |
PxObstacle() | PxObstacle | [inline, protected]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxObstacleContext Member List

This is the complete list of members for PxObstacleContext, including all inherited members.

addObstacle(const PxObstacle &obstacle)=0 | PxObstacleContext | [pure virtual]
getControllerManager() const =0 | PxObstacleContext | [pure virtual]
getNbObstacles() const =0 | PxObstacleContext | [pure virtual]
getObstacle(PxU32 i) const =0 | PxObstacleContext | [pure virtual]
getObstacleByHandle(ObstacleHandle handle) const =0 | PxObstacleContext | [pure virtual]
PxObstacleContext() | PxObstacleContext | [inline]
release()=0 | PxObstacleContext | [pure virtual]
removeObstacle(ObstacleHandle handle)=0 | PxObstacleContext | [pure virtual]
updateObstacle(ObstacleHandle handle, const PxObstacle &obstacle)=0 | PxObstacleContext | [pure virtual]
~PxObstacleContext() | PxObstacleContext | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxOutputStream Member List

This is the complete list of members for PxOutputStream, including all inherited members.

write(const void *src, uint32_t count)=0 | PxOutputStream | [pure virtual]
~PxOutputStream() | PxOutputStream | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxParticleBase Member List

This is the complete list of members for PxParticleBase, including all inherited members.

addForces(PxU32 numParticles, const PxStrideIterator< const PxU32 > &indexBuffer, const PxStrideIterator< const PxVec3 > &forceBuffer, PxForceMode::Enum forceMode)=0 | PxParticleBase | [pure virtual]
createParticles(const PxParticleCreationData &creationData)=0 | PxParticleBase | [pure virtual]
getActorFlags() const =0 | PxActor | [pure virtual]
getAggregate() const =0 | PxActor | [pure virtual]
getBaseFlags() const | PxBase | [inline]
getClientBehaviorFlags() const =0 | PxActor | [pure virtual]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const =0 | PxBase | [pure virtual]
getContactOffset() const =0 | PxParticleBase | [pure virtual]
getDamping() const =0 | PxParticleBase | [pure virtual]
getDominanceGroup() const =0 | PxActor | [pure virtual]
getDynamicFriction() const =0 | PxParticleBase | [pure virtual]
getExternalAcceleration() const =0 | PxParticleBase | [pure virtual]
getGridSize() const =0 | PxParticleBase | [pure virtual]
getMaxMotionDistance() const =0 | PxParticleBase | [pure virtual]
getMaxParticles() const =0 | PxParticleBase | [pure virtual]
getName() const =0 | PxActor | [pure virtual]
getOwnerClient() const =0 | PxActor | [pure virtual]
getParticleBaseFlags() const =0 | PxParticleBase | [pure virtual]
getParticleMass() const =0 | PxParticleBase | [pure virtual]
getParticleReadDataFlags() const =0 | PxParticleBase | [pure virtual]
getProjectionPlane(PxVec3 &normal, PxReal &distance) const =0 | PxParticleBase | [pure virtual]
getRestitution() const =0 | PxParticleBase | [pure virtual]
getRestOffset() const =0 | PxParticleBase | [pure virtual]
getScene() const =0 | PxActor | [pure virtual]
getSimulationFilterData() const =0 | PxParticleBase | [pure virtual]
getStaticFriction() const =0 | PxParticleBase | [pure virtual]
getType() const =0 | PxActor | [pure virtual]
getWorldBounds(float inflation=1.01f) const =0 | PxActor | [pure virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxParticleBase | [inline, protected, virtual]
isReleasable() const | PxBase | [inline, virtual]
lockParticleReadData(PxDataAccessFlags flags)=0 | PxParticleBase | [pure virtual]
lockParticleReadData()=0 | PxParticleBase | [pure virtual]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
PxActor(PxType concreteType, PxBaseFlags baseFlags) | PxActor | [inline, protected]
PxActor(PxBaseFlags baseFlags) | PxActor | [inline, protected]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxParticleBase(PxType concreteType, PxBaseFlags baseFlags) | PxParticleBase | [inline, protected]
PxParticleBase(PxBaseFlags baseFlags) | PxParticleBase | [inline, protected]
release()=0 | PxActor | [pure virtual]
releaseParticles(PxU32 numParticles, const PxStrideIterator< const PxU32 > &indexBuffer)=0 | PxParticleBase | [pure virtual]
releaseParticles()=0 | PxParticleBase | [pure virtual]
setActorFlag(PxActorFlag::Enum flag, bool value)=0 | PxActor | [pure virtual]
setActorFlags(PxActorFlags inFlags)=0 | PxActor | [pure virtual]
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
setClientBehaviorFlags(PxActorClientBehaviorFlags)=0 | PxActor | [pure virtual]
setContactOffset(PxReal contactOffset)=0 | PxParticleBase | [pure virtual]
setDamping(PxReal damp)=0 | PxParticleBase | [pure virtual]
setDominanceGroup(PxDominanceGroup dominanceGroup)=0 | PxActor | [pure virtual]
setDynamicFriction(PxReal friction)=0 | PxParticleBase | [pure virtual]
setExternalAcceleration(const PxVec3 &acceleration)=0 | PxParticleBase | [pure virtual]
setGridSize(PxReal gridSize)=0 | PxParticleBase | [pure virtual]
setMaxMotionDistance(PxReal distance)=0 | PxParticleBase | [pure virtual]
setName(const char *name)=0 | PxActor | [pure virtual]
setOwnerClient(PxClientID inClient)=0 | PxActor | [pure virtual]
setParticleBaseFlag(PxParticleBaseFlag::Enum flag, bool val)=0 | PxParticleBase | [pure virtual]
setParticleMass(PxReal mass)=0 | PxParticleBase | [pure virtual]
setParticleReadDataFlag(PxParticleReadDataFlag::Enum flag, bool val)=0 | PxParticleBase | [pure virtual]
setPositions(PxU32 numParticles, const PxStrideIterator< const PxU32 > &indexBuffer, const PxStrideIterator< const PxVec3 > &positionBuffer)=0 | PxParticleBase | [pure virtual]
setProjectionPlane(const PxVec3 &normal, PxReal distance)=0 | PxParticleBase | [pure virtual]
setRestitution(PxReal rest)=0 | PxParticleBase | [pure virtual]
setRestOffset(PxReal restOffset)=0 | PxParticleBase | [pure virtual]
setRestOffsets(PxU32 numParticles, const PxStrideIterator< const PxU32 > &indexBuffer, const PxStrideIterator< const PxF32 > &restOffsetBuffer)=0 | PxParticleBase | [pure virtual]
setSimulationFilterData(const PxFilterData &data)=0 | PxParticleBase | [pure virtual]
setStaticFriction(PxReal friction)=0 | PxParticleBase | [pure virtual]
setVelocities(PxU32 numParticles, const PxStrideIterator< const PxU32 > &indexBuffer, const PxStrideIterator< const PxVec3 > &velocityBuffer)=0 | PxParticleBase | [pure virtual]
typeMatch() const | PxBase | [inline, protected]
userData | PxActor |
~PxActor() | PxActor | [inline, protected, virtual]
~PxBase() | PxBase | [inline, protected, virtual]
~PxParticleBase() | PxParticleBase | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxParticleCreationData Member List

This is the complete list of members for PxParticleCreationData, including all inherited members.

flagBuffer | PxParticleCreationData
indexBuffer | PxParticleCreationData
isValid() const | PxParticleCreationData
numParticles | PxParticleCreationData
positionBuffer | PxParticleCreationData
PxParticleCreationData() | PxParticleCreationData
restOffsetBuffer | PxParticleCreationData
setToDefault() | PxParticleCreationData
velocityBuffer | PxParticleCreationData


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxParticleExt Member List

This is the complete list of members for PxParticleExt, including all inherited members.

buildBoundsHash(PxU32 *sortedParticleIndices, ParticleBounds *particleBounds, const PxStrideIterator< const PxVec3 > &positionBuffer, const PxU32 validParticleRange, const PxU32 *validParticleBitmap, const PxU32 hashSize, const PxU32 maxBounds, const PxReal gridSpacing) | PxParticleExt | [static]
createIndexPool(PxU32 maxParticles) | PxParticleExt | [static]
createIndexPool(PxU32 maxParticles, PxU32 validParticleRange, const PxU32 *validParticleBitmap) | PxParticleExt | [static]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxParticleExt::PxParticleExt::IndexPool Member List

This is the complete list of members for PxParticleExt::PxParticleExt::IndexPool, including all inherited members.

allocateIndices(PxU32 num, const PxStrideIterator< PxU32 > &indexBuffer)=0 | PxParticleExt::PxParticleExt::IndexPool | [pure virtual]
freeIndices(PxU32 num, const PxStrideIterator< const PxU32 > &indexBuffer)=0 | PxParticleExt::PxParticleExt::IndexPool | [pure virtual]
freeIndices()=0 | PxParticleExt::PxParticleExt::IndexPool | [pure virtual]
release()=0 | PxParticleExt::PxParticleExt::IndexPool | [pure virtual]
~IndexPool() | PxParticleExt::PxParticleExt::IndexPool | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxParticleFluid Member List

This is the complete list of members for PxParticleFluid, including all inherited members.

addForces(PxU32 numParticles, const PxStrideIterator< const PxU32 > &indexBuffer, const PxStrideIterator< const PxVec3 > &forceBuffer, PxForceMode::Enum forceMode)=0 | PxParticleBase | [pure virtual]
createParticles(const PxParticleCreationData &creationData)=0 | PxParticleBase | [pure virtual]
getActorFlags() const =0 | PxActor | [pure virtual]
getAggregate() const =0 | PxActor | [pure virtual]
getBaseFlags() const | PxBase | [inline]
getClientBehaviorFlags() const =0 | PxActor | [pure virtual]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const | PxParticleFluid | [inline, virtual]
getContactOffset() const =0 | PxParticleBase | [pure virtual]
getDamping() const =0 | PxParticleBase | [pure virtual]
getDominanceGroup() const =0 | PxActor | [pure virtual]
getDynamicFriction() const =0 | PxParticleBase | [pure virtual]
getExternalAcceleration() const =0 | PxParticleBase | [pure virtual]
getGridSize() const =0 | PxParticleBase | [pure virtual]
getMaxMotionDistance() const =0 | PxParticleBase | [pure virtual]
getMaxParticles() const =0 | PxParticleBase | [pure virtual]
getName() const =0 | PxActor | [pure virtual]
getOwnerClient() const =0 | PxActor | [pure virtual]
getParticleBaseFlags() const =0 | PxParticleBase | [pure virtual]
getParticleMass() const =0 | PxParticleBase | [pure virtual]
getParticleReadDataFlags() const =0 | PxParticleBase | [pure virtual]
getProjectionPlane(PxVec3 &normal, PxReal &distance) const =0 | PxParticleBase | [pure virtual]
getRestitution() const =0 | PxParticleBase | [pure virtual]
getRestOffset() const =0 | PxParticleBase | [pure virtual]
getRestParticleDistance() const =0 | PxParticleFluid | [pure virtual]
getScene() const =0 | PxActor | [pure virtual]
getSimulationFilterData() const =0 | PxParticleBase | [pure virtual]
getStaticFriction() const =0 | PxParticleBase | [pure virtual]
getStiffness() const =0 | PxParticleFluid | [pure virtual]
getType() const =0 | PxActor | [pure virtual]
getViscosity() const =0 | PxParticleFluid | [pure virtual]
getWorldBounds(float inflation=1.01f) const =0 | PxActor | [pure virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxParticleFluid | [inline, protected, virtual]
isReleasable() const | PxBase | [inline, virtual]
lockParticleFluidReadData(PxDataAccessFlags flags)=0 | PxParticleFluid | [pure virtual]
lockParticleFluidReadData()=0 | PxParticleFluid | [pure virtual]
lockParticleReadData(PxDataAccessFlags flags)=0 | PxParticleBase | [pure virtual]
lockParticleReadData()=0 | PxParticleBase | [pure virtual]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
PxActor(PxType concreteType, PxBaseFlags baseFlags) | PxActor | [inline, protected]
PxActor(PxBaseFlags baseFlags) | PxActor | [inline, protected]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxParticleBase(PxType concreteType, PxBaseFlags baseFlags) | PxParticleBase | [inline, protected]
PxParticleBase(PxBaseFlags baseFlags) | PxParticleBase | [inline, protected]
PxParticleFluid(PxType concreteType, PxBaseFlags baseFlags) | PxParticleFluid | [inline, protected]
PxParticleFluid(PxBaseFlags baseFlags) | PxParticleFluid | [inline, protected]
release()=0 | PxActor | [pure virtual]
releaseParticles(PxU32 numParticles, const PxStrideIterator< const PxU32 > &indexBuffer)=0 | PxParticleBase | [pure virtual]
releaseParticles()=0 | PxParticleBase | [pure virtual]
setActorFlag(PxActorFlag::Enum flag, bool value)=0 | PxActor | [pure virtual]
setActorFlags(PxActorFlags inFlags)=0 | PxActor | [pure virtual]
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
setClientBehaviorFlags(PxActorClientBehaviorFlags)=0 | PxActor | [pure virtual]
setContactOffset(PxReal contactOffset)=0 | PxParticleBase | [pure virtual]
setDamping(PxReal damp)=0 | PxParticleBase | [pure virtual]
setDominanceGroup(PxDominanceGroup dominanceGroup)=0 | PxActor | [pure virtual]
setDynamicFriction(PxReal friction)=0 | PxParticleBase | [pure virtual]
setExternalAcceleration(const PxVec3 &acceleration)=0 | PxParticleBase | [pure virtual]
setGridSize(PxReal gridSize)=0 | PxParticleBase | [pure virtual]
setMaxMotionDistance(PxReal distance)=0 | PxParticleBase | [pure virtual]
setName(const char *name)=0 | PxActor | [pure virtual]
setOwnerClient(PxClientID inClient)=0 | PxActor | [pure virtual]
setParticleBaseFlag(PxParticleBaseFlag::Enum flag, bool val)=0 | PxParticleBase | [pure virtual]
setParticleMass(PxReal mass)=0 | PxParticleBase | [pure virtual]
setParticleReadDataFlag(PxParticleReadDataFlag::Enum flag, bool val)=0 | PxParticleBase | [pure virtual]
setPositions(PxU32 numParticles, const PxStrideIterator< const PxU32 > &indexBuffer, const PxStrideIterator< const PxVec3 > &positionBuffer)=0 | PxParticleBase | [pure virtual]
setProjectionPlane(const PxVec3 &normal, PxReal distance)=0 | PxParticleBase | [pure virtual]
setRestitution(PxReal rest)=0 | PxParticleBase | [pure virtual]
setRestOffset(PxReal restOffset)=0 | PxParticleBase | [pure virtual]
setRestOffsets(PxU32 numParticles, const PxStrideIterator< const PxU32 > &indexBuffer, const PxStrideIterator< const PxF32 > &restOffsetBuffer)=0 | PxParticleBase | [pure virtual]
setRestParticleDistance(PxReal restParticleDistance)=0 | PxParticleFluid | [pure virtual]
setSimulationFilterData(const PxFilterData &data)=0 | PxParticleBase | [pure virtual]
setStaticFriction(PxReal friction)=0 | PxParticleBase | [pure virtual]
setStiffness(PxReal stiffness)=0 | PxParticleFluid | [pure virtual]
setVelocities(PxU32 numParticles, const PxStrideIterator< const PxU32 > &indexBuffer, const PxStrideIterator< const PxVec3 > &velocityBuffer)=0 | PxParticleBase | [pure virtual]
setViscosity(PxReal viscosity)=0 | PxParticleFluid | [pure virtual]
typeMatch() const | PxBase | [inline, protected]
userData | PxActor |
~PxActor() | PxActor | [inline, protected, virtual]
~PxBase() | PxBase | [inline, protected, virtual]
~PxParticleBase() | PxParticleBase | [inline, protected, virtual]
~PxParticleFluid() | PxParticleFluid | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxParticleFluidReadData Member List

This is the complete list of members for PxParticleFluidReadData, including all inherited members.

collisionNormalBuffer | PxParticleReadData |
collisionVelocityBuffer | PxParticleReadData |
densityBuffer | PxParticleFluidReadData |
flagsBuffer | PxParticleReadData |
getDataAccessFlags()=0 | PxParticleReadData | [pure virtual]
nbValidParticles | PxParticleReadData |
positionBuffer | PxParticleReadData |
restOffsetBuffer | PxParticleReadData |
unlock()=0 | PxParticleReadData | [pure virtual]
validParticleBitmap | PxParticleReadData |
validParticleRange | PxParticleReadData |
velocityBuffer | PxParticleReadData |
~PxLockedData() | PxLockedData | [inline, virtual]
~PxParticleFluidReadData() | PxParticleFluidReadData | [inline, virtual]
~PxParticleReadData() | PxParticleReadData | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxParticleReadData Member List

This is the complete list of members for PxParticleReadData, including all inherited members.

collisionNormalBuffer | PxParticleReadData |
collisionVelocityBuffer | PxParticleReadData |
flagsBuffer | PxParticleReadData |
getDataAccessFlags()=0 | PxParticleReadData | [pure virtual]
nbValidParticles | PxParticleReadData |
positionBuffer | PxParticleReadData |
restOffsetBuffer | PxParticleReadData |
unlock()=0 | PxParticleReadData | [pure virtual]
validParticleBitmap | PxParticleReadData |
validParticleRange | PxParticleReadData |
velocityBuffer | PxParticleReadData |
~PxLockedData() | PxLockedData | [inline, virtual]
~PxParticleReadData() | PxParticleReadData | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxParticleSystem Member List

This is the complete list of members for PxParticleSystem, including all inherited members.

addForces(PxU32 numParticles, const PxStrideIterator< const PxU32 > &indexBuffer, const PxStrideIterator< const PxVec3 > &forceBuffer, PxForceMode::Enum forceMode)=0 | PxParticleBase | [pure virtual]
createParticles(const PxParticleCreationData &creationData)=0 | PxParticleBase | [pure virtual]
getActorFlags() const =0 | PxActor | [pure virtual]
getAggregate() const =0 | PxActor | [pure virtual]
getBaseFlags() const | PxBase | [inline]
getClientBehaviorFlags() const =0 | PxActor | [pure virtual]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const | PxParticleSystem | [inline, virtual]
getContactOffset() const =0 | PxParticleBase | [pure virtual]
getDamping() const =0 | PxParticleBase | [pure virtual]
getDominanceGroup() const =0 | PxActor | [pure virtual]
getDynamicFriction() const =0 | PxParticleBase | [pure virtual]
getExternalAcceleration() const =0 | PxParticleBase | [pure virtual]
getGridSize() const =0 | PxParticleBase | [pure virtual]
getMaxMotionDistance() const =0 | PxParticleBase | [pure virtual]
getMaxParticles() const =0 | PxParticleBase | [pure virtual]
getName() const =0 | PxActor | [pure virtual]
getOwnerClient() const =0 | PxActor | [pure virtual]
getParticleBaseFlags() const =0 | PxParticleBase | [pure virtual]
getParticleMass() const =0 | PxParticleBase | [pure virtual]
getParticleReadDataFlags() const =0 | PxParticleBase | [pure virtual]
getProjectionPlane(PxVec3 &normal, PxReal &distance) const =0 | PxParticleBase | [pure virtual]
getRestitution() const =0 | PxParticleBase | [pure virtual]
getRestOffset() const =0 | PxParticleBase | [pure virtual]
getScene() const =0 | PxActor | [pure virtual]
getSimulationFilterData() const =0 | PxParticleBase | [pure virtual]
getStaticFriction() const =0 | PxParticleBase | [pure virtual]
getType() const =0 | PxActor | [pure virtual]
getWorldBounds(float inflation=1.01f) const =0 | PxActor | [pure virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxParticleSystem | [inline, protected, virtual]
isReleasable() const | PxBase | [inline, virtual]
lockParticleReadData(PxDataAccessFlags flags)=0 | PxParticleBase | [pure virtual]
lockParticleReadData()=0 | PxParticleBase | [pure virtual]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
PxActor(PxType concreteType, PxBaseFlags baseFlags) | PxActor | [inline, protected]
PxActor(PxBaseFlags baseFlags) | PxActor | [inline, protected]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxParticleBase(PxType concreteType, PxBaseFlags baseFlags) | PxParticleBase | [inline, protected]
PxParticleBase(PxBaseFlags baseFlags) | PxParticleBase | [inline, protected]
PxParticleSystem(PxType concreteType, PxBaseFlags baseFlags) | PxParticleSystem | [inline, protected]
PxParticleSystem(PxBaseFlags baseFlags) | PxParticleSystem | [inline, protected]
release()=0 | PxActor | [pure virtual]
releaseParticles(PxU32 numParticles, const PxStrideIterator< const PxU32 > &indexBuffer)=0 | PxParticleBase | [pure virtual]
releaseParticles()=0 | PxParticleBase | [pure virtual]
setActorFlag(PxActorFlag::Enum flag, bool value)=0 | PxActor | [pure virtual]
setActorFlags(PxActorFlags inFlags)=0 | PxActor | [pure virtual]
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
setClientBehaviorFlags(PxActorClientBehaviorFlags)=0 | PxActor | [pure virtual]
setContactOffset(PxReal contactOffset)=0 | PxParticleBase | [pure virtual]
setDamping(PxReal damp)=0 | PxParticleBase | [pure virtual]
setDominanceGroup(PxDominanceGroup dominanceGroup)=0 | PxActor | [pure virtual]
setDynamicFriction(PxReal friction)=0 | PxParticleBase | [pure virtual]
setExternalAcceleration(const PxVec3 &acceleration)=0 | PxParticleBase | [pure virtual]
setGridSize(PxReal gridSize)=0 | PxParticleBase | [pure virtual]
setMaxMotionDistance(PxReal distance)=0 | PxParticleBase | [pure virtual]
setName(const char *name)=0 | PxActor | [pure virtual]
setOwnerClient(PxClientID inClient)=0 | PxActor | [pure virtual]
setParticleBaseFlag(PxParticleBaseFlag::Enum flag, bool val)=0 | PxParticleBase | [pure virtual]
setParticleMass(PxReal mass)=0 | PxParticleBase | [pure virtual]
setParticleReadDataFlag(PxParticleReadDataFlag::Enum flag, bool val)=0 | PxParticleBase | [pure virtual]
setPositions(PxU32 numParticles, const PxStrideIterator< const PxU32 > &indexBuffer, const PxStrideIterator< const PxVec3 > &positionBuffer)=0 | PxParticleBase | [pure virtual]
setProjectionPlane(const PxVec3 &normal, PxReal distance)=0 | PxParticleBase | [pure virtual]
setRestitution(PxReal rest)=0 | PxParticleBase | [pure virtual]
setRestOffset(PxReal restOffset)=0 | PxParticleBase | [pure virtual]
setRestOffsets(PxU32 numParticles, const PxStrideIterator< const PxU32 > &indexBuffer, const PxStrideIterator< const PxF32 > &restOffsetBuffer)=0 | PxParticleBase | [pure virtual]
setSimulationFilterData(const PxFilterData &data)=0 | PxParticleBase | [pure virtual]
setStaticFriction(PxReal friction)=0 | PxParticleBase | [pure virtual]
setVelocities(PxU32 numParticles, const PxStrideIterator< const PxU32 > &indexBuffer, const PxStrideIterator< const PxVec3 > &velocityBuffer)=0 | PxParticleBase | [pure virtual]
typeMatch() const | PxBase | [inline, protected]
userData | PxActor |
~PxActor() | PxActor | [inline, protected, virtual]
~PxBase() | PxBase | [inline, protected, virtual]
~PxParticleBase() | PxParticleBase | [inline, protected, virtual]
~PxParticleSystem() | PxParticleSystem | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxPhysics Member List

This is the complete list of members for PxPhysics, including all inherited members.

createAggregate(PxU32 maxSize, bool enableSelfCollision)=0 | PxPhysics | [pure virtual]
createArticulation()=0 | PxPhysics | [pure virtual]
createCloth(const PxTransform &globalPose, PxClothFabric &fabric, const PxClothParticle *particles, PxClothFlags flags)=0 | PxPhysics | [pure virtual]
createClothFabric(PxInputStream &stream)=0 | PxPhysics | [pure virtual]
createClothFabric(const PxClothFabricDesc &desc)=0 | PxPhysics | [pure virtual]
createConstraint(PxRigidActor *actor0, PxRigidActor *actor1, PxConstraintConnector &connector, const PxConstraintShaderTable &shaders, PxU32 dataSize)=0 | PxPhysics | [pure virtual]
createConvexMesh(PxInputStream &stream)=0 | PxPhysics | [pure virtual]
createHeightField(PxInputStream &stream)=0 | PxPhysics | [pure virtual]
createMaterial(PxReal staticFriction, PxReal dynamicFriction, PxReal restitution)=0 | PxPhysics | [pure virtual]
createParticleFluid(PxU32 maxParticles, bool perParticleRestOffset=false)=0 | PxPhysics | [pure virtual]
createParticleSystem(PxU32 maxParticles, bool perParticleRestOffset=false)=0 | PxPhysics | [pure virtual]
createPruningStructure(PxRigidActor *const *actors, PxU32 nbActors)=0 | PxPhysics | [pure virtual]
createRigidDynamic(const PxTransform &pose)=0 | PxPhysics | [pure virtual]
createRigidStatic(const PxTransform &pose)=0 | PxPhysics | [pure virtual]
createScene(const PxSceneDesc &sceneDesc)=0 | PxPhysics | [pure virtual]
createShape(const PxGeometry &geometry, const PxMaterial &material, bool isExclusive=false, PxShapeFlags shapeFlags=PxShapeFlag::eVISUALIZATION|PxShapeFlag::eSCENE_QUERY_SHAPE|PxShapeFlag::eSIMULATION_SHAPE) | PxPhysics | [inline]
createShape(const PxGeometry &geometry, PxMaterial *const *materials, PxU16 materialCount, bool isExclusive=false, PxShapeFlags shapeFlags=PxShapeFlag::eVISUALIZATION|PxShapeFlag::eSCENE_QUERY_SHAPE|PxShapeFlag::eSIMULATION_SHAPE)=0 | PxPhysics | [pure virtual]
createTriangleMesh(PxInputStream &stream)=0 | PxPhysics | [pure virtual]
getClothFabrics(PxClothFabric **userBuffer, PxU32 bufferSize) const =0 | PxPhysics | [pure virtual]
getConvexMeshes(PxConvexMesh **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 | PxPhysics | [pure virtual]
getFoundation()=0 | PxPhysics | [pure virtual]
getHeightFields(PxHeightField **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 | PxPhysics | [pure virtual]
getMaterials(PxMaterial **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 | PxPhysics | [pure virtual]
getNbClothFabrics() const =0 | PxPhysics | [pure virtual]
getNbConvexMeshes() const =0 | PxPhysics | [pure virtual]
getNbHeightFields() const =0 | PxPhysics | [pure virtual]
getNbMaterials() const =0 | PxPhysics | [pure virtual]
getNbScenes() const =0 | PxPhysics | [pure virtual]
getNbShapes() const =0 | PxPhysics | [pure virtual]
getNbTriangleMeshes() const =0 | PxPhysics | [pure virtual]
getPhysicsInsertionCallback()=0 | PxPhysics | [pure virtual]
getScenes(PxScene **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 | PxPhysics | [pure virtual]
getShapes(PxShape **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 | PxPhysics | [pure virtual]
getTolerancesScale() const =0 | PxPhysics | [pure virtual]
getTriangleMeshes(PxTriangleMesh **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 | PxPhysics | [pure virtual]
registerDeletionListener(PxDeletionListener &observer, const PxDeletionEventFlags &deletionEvents, bool restrictedObjectSet=false)=0 | PxPhysics | [pure virtual]
registerDeletionListenerObjects(PxDeletionListener &observer, const PxBase *const *observables, PxU32 observableCount)=0 | PxPhysics | [pure virtual]
release()=0 | PxPhysics | [pure virtual]
unregisterDeletionListener(PxDeletionListener &observer)=0 | PxPhysics | [pure virtual]
unregisterDeletionListenerObjects(PxDeletionListener &observer, const PxBase *const *observables, PxU32 observableCount)=0 | PxPhysics | [pure virtual]
~PxPhysics() | PxPhysics | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxPhysicsInsertionCallback Member List

This is the complete list of members for PxPhysicsInsertionCallback, including all inherited members.

buildObjectFromData(PxConcreteType::Enum type, void *data)=0 | PxPhysicsInsertionCallback | [pure virtual]
PxPhysicsInsertionCallback() | PxPhysicsInsertionCallback | [inline]
~PxPhysicsInsertionCallback() | PxPhysicsInsertionCallback | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxPlane Member List

This is the complete list of members for PxPlane, including all inherited members.

contains(const PxVec3 &p) const | PxPlane | [inline]
d | PxPlane |
distance(const PxVec3 &p) const | PxPlane | [inline]
n | PxPlane |
normalize() | PxPlane | [inline]
operator==(const PxPlane &p) const | PxPlane | [inline]
pointInPlane() const | PxPlane | [inline]
project(const PxVec3 &p) const | PxPlane | [inline]
PxPlane() | PxPlane | [inline]
PxPlane(float nx, float ny, float nz, float distance) | PxPlane | [inline]
PxPlane(const PxVec3 &normal, float distance) | PxPlane | [inline]
PxPlane(const PxVec3 &point, const PxVec3 &normal) | PxPlane | [inline]
PxPlane(const PxVec3 &p0, const PxVec3 &p1, const PxVec3 &p2) | PxPlane | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxPlaneGeometry Member List

This is the complete list of members for PxPlaneGeometry, including all inherited members.

getType() const | PxGeometry | [inline]
isValid() const | PxPlaneGeometry |
mType | PxGeometry | [protected]
PxGeometry(PxGeometryType::Enum type) | PxGeometry | [inline, protected]
PxPlaneGeometry() | PxPlaneGeometry | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxPrismaticJoint Member List

This is the complete list of members for PxPrismaticJoint, including all inherited members.

getActors(PxRigidActor *&actor0, PxRigidActor *&actor1) const =0 | PxJoint | [pure virtual]
getBaseFlags() const | PxBase | [inline]
getBinaryMetaData(PxOutputStream &stream) | PxJoint | [static]
getBreakForce(PxReal &force, PxReal &torque) const =0 | PxJoint | [pure virtual]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const | PxPrismaticJoint | [inline, virtual]
getConstraint() const =0 | PxJoint | [pure virtual]
getConstraintFlags() const =0 | PxJoint | [pure virtual]
getInvInertiaScale0() const =0 | PxJoint | [pure virtual]
getInvInertiaScale1() const =0 | PxJoint | [pure virtual]
getInvMassScale0() const =0 | PxJoint | [pure virtual]
getInvMassScale1() const =0 | PxJoint | [pure virtual]
getLimit() const =0 | PxPrismaticJoint | [pure virtual]
getLocalPose(PxJointActorIndex::Enum actor) const =0 | PxJoint | [pure virtual]
getName() const =0 | PxJoint | [pure virtual]
getPosition() const =0 | PxPrismaticJoint | [pure virtual]
getPrismaticJointFlags(void) const =0 | PxPrismaticJoint | [pure virtual]
getProjectionAngularTolerance() const =0 | PxPrismaticJoint | [pure virtual]
getProjectionLinearTolerance() const =0 | PxPrismaticJoint | [pure virtual]
getRelativeAngularVelocity() const =0 | PxJoint | [pure virtual]
getRelativeLinearVelocity() const =0 | PxJoint | [pure virtual]
getRelativeTransform() const =0 | PxJoint | [pure virtual]
getScene() const =0 | PxJoint | [pure virtual]
getVelocity() const =0 | PxPrismaticJoint | [pure virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxPrismaticJoint | [inline, protected, virtual]
isReleasable() const | PxBase | [inline, virtual]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxJoint(PxType concreteType, PxBaseFlags baseFlags) | PxJoint | [inline, protected]
PxJoint(PxBaseFlags baseFlags) | PxJoint | [inline, protected]
PxPrismaticJoint(PxType concreteType, PxBaseFlags baseFlags) | PxPrismaticJoint | [inline, protected]
PxPrismaticJoint(PxBaseFlags baseFlags) | PxPrismaticJoint | [inline, protected]
release()=0 | PxJoint | [pure virtual]
setActors(PxRigidActor *actor0, PxRigidActor *actor1)=0 | PxJoint | [pure virtual]
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
setBreakForce(PxReal force, PxReal torque)=0 | PxJoint | [pure virtual]
setConstraintFlag(PxConstraintFlag::Enum flag, bool value)=0 | PxJoint | [pure virtual]
setConstraintFlags(PxConstraintFlags flags)=0 | PxJoint | [pure virtual]
setInvInertiaScale0(PxReal invInertiaScale)=0 | PxJoint | [pure virtual]
setInvInertiaScale1(PxReal invInertiaScale)=0 | PxJoint | [pure virtual]
setInvMassScale0(PxReal invMassScale)=0 | PxJoint | [pure virtual]
setInvMassScale1(PxReal invMassScale)=0 | PxJoint | [pure virtual]
setLimit(const PxJointLinearLimitPair &)=0 | PxPrismaticJoint | [pure virtual]
setLocalPose(PxJointActorIndex::Enum actor, const PxTransform &localPose)=0 | PxJoint | [pure virtual]
setName(const char *name)=0 | PxJoint | [pure virtual]
setPrismaticJointFlag(PxPrismaticJointFlag::Enum flag, bool value)=0 | PxPrismaticJoint | [pure virtual]
setPrismaticJointFlags(PxPrismaticJointFlags flags)=0 | PxPrismaticJoint | [pure virtual]
setProjectionAngularTolerance(PxReal tolerance)=0 | PxPrismaticJoint | [pure virtual]
setProjectionLinearTolerance(PxReal tolerance)=0 | PxPrismaticJoint | [pure virtual]
typeMatch() const | PxBase | [inline, protected]
userData | PxJoint |
~PxBase() | PxBase | [inline, protected, virtual]
~PxJoint() | PxJoint | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxProcessPxBaseCallback Member List

This is the complete list of members for PxProcessPxBaseCallback, including all inherited members.

process(PxBase &)=0 | PxProcessPxBaseCallback | [pure virtual]
~PxProcessPxBaseCallback() | PxProcessPxBaseCallback | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxPruningStructure Member List

This is the complete list of members for PxPruningStructure, including all inherited members.

getBaseFlags() const | PxBase | [inline]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const | PxPruningStructure | [inline, virtual]
getNbRigidActors() const =0 | PxPruningStructure | [pure virtual]
getRigidActors(PxRigidActor **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 | PxPruningStructure | [pure virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxPruningStructure | [inline, protected, virtual]
isReleasable() const | PxBase | [inline, virtual]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxPruningStructure(PxType concreteType, PxBaseFlags baseFlags) | PxPruningStructure | [inline, protected]
PxPruningStructure(PxBaseFlags baseFlags) | PxPruningStructure | [inline, protected]
release()=0 | PxPruningStructure | [pure virtual]
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
typeMatch() const | PxBase | [inline, protected]
~PxBase() | PxBase | [inline, protected, virtual]
~PxPruningStructure() | PxPruningStructure | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxPvd Member List

This is the complete list of members for PxPvd, including all inherited members.

connect(PxPvdTransport &transport, PxPvdInstrumentationFlags flags)=0 | PxPvd | [pure virtual]
disconnect()=0 | PxPvd | [pure virtual]
getInstrumentationFlags()=0 | PxPvd | [pure virtual]
getTransport()=0 | PxPvd | [pure virtual]
isConnected(bool useCachedStatus=true)=0 | PxPvd | [pure virtual]
release()=0 | PxPvd | [pure virtual]
zoneEnd(void *profilerData, const char *eventName, bool detached, uint64_t contextId)=0 | physx::PxProfilerCallback | [pure virtual]
zoneStart(const char *eventName, bool detached, uint64_t contextId)=0 | physx::PxProfilerCallback | [pure virtual]
~PxProfilerCallback() | physx::PxProfilerCallback | [inline, protected, virtual]
~PxPvd() | PxPvd | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxPvdSceneClient Member List

This is the complete list of members for PxPvdSceneClient, including all inherited members.

drawLines(const physx::pvdsdk::PvdDebugLine *lines, PxU32 count)=0 | PxPvdSceneClient | [pure virtual]
drawPoints(const physx::pvdsdk::PvdDebugPoint *points, PxU32 count)=0 | PxPvdSceneClient | [pure virtual]
drawText(const physx::pvdsdk::PvdDebugText &text)=0 | PxPvdSceneClient | [pure virtual]
drawTriangles(const physx::pvdsdk::PvdDebugTriangle *triangles, PxU32 count)=0 | PxPvdSceneClient | [pure virtual]
getClientInternal()=0 | PxPvdSceneClient | [pure virtual]
getScenePvdFlags() const =0 | PxPvdSceneClient | [pure virtual]
setScenePvdFlag(PxPvdSceneFlag::Enum flag, bool value)=0 | PxPvdSceneClient | [pure virtual]
setScenePvdFlags(PxPvdSceneFlags flags)=0 | PxPvdSceneClient | [pure virtual]
updateCamera(const char *name, const PxVec3 &origin, const PxVec3 &up, const PxVec3 &target)=0 | PxPvdSceneClient | [pure virtual]
~PxPvdSceneClient() | PxPvdSceneClient | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxPvdTransport Member List

This is the complete list of members for PxPvdTransport, including all inherited members.

connect()=0 | PxPvdTransport | [pure virtual]
disconnect()=0 | PxPvdTransport | [pure virtual]
flush()=0 | PxPvdTransport | [pure virtual]
getWrittenDataSize()=0 | PxPvdTransport | [pure virtual]
isConnected()=0 | PxPvdTransport | [pure virtual]
lock()=0 | PxPvdTransport | [pure virtual]
release()=0 | PxPvdTransport | [pure virtual]
unlock()=0 | PxPvdTransport | [pure virtual]
write(const uint8_t *inBytes, uint32_t inLength)=0 | PxPvdTransport | [pure virtual]
~PxPvdTransport() | PxPvdTransport | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxQuat Member List

This is the complete list of members for PxQuat, including all inherited members.

dot(const PxQuat &v) const | PxQuat | [inline]
getAngle() const | PxQuat | [inline]
getAngle(const PxQuat &q) const | PxQuat | [inline]
getBasisVector0() const | PxQuat | [inline]
getBasisVector1() const | PxQuat | [inline]
getBasisVector2() const | PxQuat | [inline]
getConjugate() const | PxQuat | [inline]
getImaginaryPart() const | PxQuat | [inline]
getNormalized() const | PxQuat | [inline]
isFinite() const | PxQuat | [inline]
isIdentity() const | PxQuat | [inline]
isSane() const | PxQuat | [inline]
isUnit() const | PxQuat | [inline]
magnitude() const | PxQuat | [inline]
magnitudeSquared() const | PxQuat | [inline]
normalize() | PxQuat | [inline]
operator*(const PxQuat &q) const | PxQuat | [inline]
operator*(float r) const | PxQuat | [inline]
operator*=(const PxQuat &q) | PxQuat | [inline]
operator*=(const float s) | PxQuat | [inline]
operator+(const PxQuat &q) const | PxQuat | [inline]
operator+=(const PxQuat &q) | PxQuat | [inline]
operator-() const | PxQuat | [inline]
operator-(const PxQuat &q) const | PxQuat | [inline]
operator-=(const PxQuat &q) | PxQuat | [inline]
operator=(const PxQuat &p) | PxQuat | [inline]
operator==(const PxQuat &q) const | PxQuat | [inline]
PxQuat() | PxQuat | [inline]
PxQuat(PxIDENTITY r) | PxQuat | [inline]
PxQuat(float r) | PxQuat | [inline, explicit]
PxQuat(float nx, float ny, float nz, float nw) | PxQuat | [inline]
PxQuat(float angleRadians, const PxVec3 &unitAxis) | PxQuat | [inline]
PxQuat(const PxQuat &v) | PxQuat | [inline]
PxQuat(const PxMat33 &m) | PxQuat | [explicit]
rotate(const PxVec3 &v) const | PxQuat | [inline]
rotateInv(const PxVec3 &v) const | PxQuat | [inline]
toRadiansAndUnitAxis(float &angle, PxVec3 &axis) const | PxQuat | [inline]
w | PxQuat |
x | PxQuat |
y | PxQuat |
z | PxQuat |


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxQueryFilterCallback Member List

This is the complete list of members for PxQueryFilterCallback, including all inherited members.

postFilter(const PxFilterData &filterData, const PxQueryHit &hit)=0 | PxQueryFilterCallback | [pure virtual]
preFilter(const PxFilterData &filterData, const PxShape *shape, const PxRigidActor *actor, PxHitFlags &queryFlags)=0 | PxQueryFilterCallback | [pure virtual]
~PxQueryFilterCallback() | PxQueryFilterCallback | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxRenderBuffer Member List

This is the complete list of members for PxRenderBuffer, including all inherited members.

append(const PxRenderBuffer &other)=0 | PxRenderBuffer | [pure virtual]
clear()=0 | PxRenderBuffer | [pure virtual]
getLines() const =0 | PxRenderBuffer | [pure virtual]
getNbLines() const =0 | PxRenderBuffer | [pure virtual]
getNbPoints() const =0 | PxRenderBuffer | [pure virtual]
getNbTexts() const =0 | PxRenderBuffer | [pure virtual]
getNbTriangles() const =0 | PxRenderBuffer | [pure virtual]
getPoints() const =0 | PxRenderBuffer | [pure virtual]
getTexts() const =0 | PxRenderBuffer | [pure virtual]
getTriangles() const =0 | PxRenderBuffer | [pure virtual]
~PxRenderBuffer() | PxRenderBuffer | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxRepXSerializer Member List

This is the complete list of members for PxRepXSerializer, including all inherited members.

fileToObject(XmlReader &inReader, XmlMemoryAllocator &inAllocator, PxRepXInstantiationArgs &inArgs, PxCollection *inCollection)=0 | PxRepXSerializer | [pure virtual]
getTypeName()=0 | PxRepXSerializer | [pure virtual]
objectToFile(const PxRepXObject &inLiveObject, PxCollection *inCollection, XmlWriter &inWriter, MemoryBuffer &inTempBuffer, PxRepXInstantiationArgs &inArgs)=0 | PxRepXSerializer | [pure virtual]
~PxRepXSerializer() | PxRepXSerializer | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxRevoluteJoint Member List

This is the complete list of members for PxRevoluteJoint, including all inherited members.

getActors(PxRigidActor *&actor0, PxRigidActor *&actor1) const =0 | PxJoint | [pure virtual]
getAngle() const =0 | PxRevoluteJoint | [pure virtual]
getBaseFlags() const | PxBase | [inline]
getBinaryMetaData(PxOutputStream &stream) | PxJoint | [static]
getBreakForce(PxReal &force, PxReal &torque) const =0 | PxJoint | [pure virtual]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const | PxRevoluteJoint | [inline, virtual]
getConstraint() const =0 | PxJoint | [pure virtual]
getConstraintFlags() const =0 | PxJoint | [pure virtual]
getDriveForceLimit() const =0 | PxRevoluteJoint | [pure virtual]
getDriveGearRatio() const =0 | PxRevoluteJoint | [pure virtual]
getDriveVelocity() const =0 | PxRevoluteJoint | [pure virtual]
getInvInertiaScale0() const =0 | PxJoint | [pure virtual]
getInvInertiaScale1() const =0 | PxJoint | [pure virtual]
getInvMassScale0() const =0 | PxJoint | [pure virtual]
getInvMassScale1() const =0 | PxJoint | [pure virtual]
getLimit() const =0 | PxRevoluteJoint | [pure virtual]
getLocalPose(PxJointActorIndex::Enum actor) const =0 | PxJoint | [pure virtual]
getName() const =0 | PxJoint | [pure virtual]
getProjectionAngularTolerance() const =0 | PxRevoluteJoint | [pure virtual]
getProjectionLinearTolerance() const =0 | PxRevoluteJoint | [pure virtual]
getRelativeAngularVelocity() const =0 | PxJoint | [pure virtual]
getRelativeLinearVelocity() const =0 | PxJoint | [pure virtual]
getRelativeTransform() const =0 | PxJoint | [pure virtual]
getRevoluteJointFlags(void) const =0 | PxRevoluteJoint | [pure virtual]
getScene() const =0 | PxJoint | [pure virtual]
getVelocity() const =0 | PxRevoluteJoint | [pure virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxRevoluteJoint | [inline, protected, virtual]
isReleasable() const | PxBase | [inline, virtual]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxJoint(PxType concreteType, PxBaseFlags baseFlags) | PxJoint | [inline, protected]
PxJoint(PxBaseFlags baseFlags) | PxJoint | [inline, protected]
PxRevoluteJoint(PxType concreteType, PxBaseFlags baseFlags) | PxRevoluteJoint | [inline, protected]
PxRevoluteJoint(PxBaseFlags baseFlags) | PxRevoluteJoint | [inline, protected]
release()=0 | PxJoint | [pure virtual]
setActors(PxRigidActor *actor0, PxRigidActor *actor1)=0 | PxJoint | [pure virtual]
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
setBreakForce(PxReal force, PxReal torque)=0 | PxJoint | [pure virtual]
setConstraintFlag(PxConstraintFlag::Enum flag, bool value)=0 | PxJoint | [pure virtual]
setConstraintFlags(PxConstraintFlags flags)=0 | PxJoint | [pure virtual]
setDriveForceLimit(PxReal limit)=0 | PxRevoluteJoint | [pure virtual]
setDriveGearRatio(PxReal ratio)=0 | PxRevoluteJoint | [pure virtual]
setDriveVelocity(PxReal velocity)=0 | PxRevoluteJoint | [pure virtual]
setInvInertiaScale0(PxReal invInertiaScale)=0 | PxJoint | [pure virtual]
setInvInertiaScale1(PxReal invInertiaScale)=0 | PxJoint | [pure virtual]
setInvMassScale0(PxReal invMassScale)=0 | PxJoint | [pure virtual]
setInvMassScale1(PxReal invMassScale)=0 | PxJoint | [pure virtual]
setLimit(const PxJointAngularLimitPair &limits)=0 | PxRevoluteJoint | [pure virtual]
setLocalPose(PxJointActorIndex::Enum actor, const PxTransform &localPose)=0 | PxJoint | [pure virtual]
setName(const char *name)=0 | PxJoint | [pure virtual]
setProjectionAngularTolerance(PxReal tolerance)=0 | PxRevoluteJoint | [pure virtual]
setProjectionLinearTolerance(PxReal tolerance)=0 | PxRevoluteJoint | [pure virtual]
setRevoluteJointFlag(PxRevoluteJointFlag::Enum flag, bool value)=0 | PxRevoluteJoint | [pure virtual]
setRevoluteJointFlags(PxRevoluteJointFlags flags)=0 | PxRevoluteJoint | [pure virtual]
typeMatch() const | PxBase | [inline, protected]
userData | PxJoint |
~PxBase() | PxBase | [inline, protected, virtual]
~PxJoint() | PxJoint | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxRigidActor Member List

This is the complete list of members for PxRigidActor, including all inherited members.

attachShape(PxShape &shape)=0 | PxRigidActor | [pure virtual]
createShape(const PxGeometry &geometry, PxMaterial *const *materials, PxU16 materialCount, PxShapeFlags shapeFlags=PxShapeFlag::eVISUALIZATION|PxShapeFlag::eSCENE_QUERY_SHAPE|PxShapeFlag::eSIMULATION_SHAPE)=0 | PxRigidActor | [pure virtual]
createShape(const PxGeometry &geometry, const PxMaterial &material, PxShapeFlags shapeFlags=PxShapeFlag::eVISUALIZATION|PxShapeFlag::eSCENE_QUERY_SHAPE|PxShapeFlag::eSIMULATION_SHAPE) | PxRigidActor | [inline]
detachShape(PxShape &shape, bool wakeOnLostTouch=true)=0 | PxRigidActor | [pure virtual]
getActorFlags() const =0 | PxActor | [pure virtual]
getAggregate() const =0 | PxActor | [pure virtual]
getBaseFlags() const | PxBase | [inline]
getClientBehaviorFlags() const =0 | PxActor | [pure virtual]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const =0 | PxBase | [pure virtual]
getConstraints(PxConstraint **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 | PxRigidActor | [pure virtual]
getDominanceGroup() const =0 | PxActor | [pure virtual]
getGlobalPose() const =0 | PxRigidActor | [pure virtual]
getName() const =0 | PxActor | [pure virtual]
getNbConstraints() const =0 | PxRigidActor | [pure virtual]
getNbShapes() const =0 | PxRigidActor | [pure virtual]
getOwnerClient() const =0 | PxActor | [pure virtual]
getScene() const =0 | PxActor | [pure virtual]
getShapes(PxShape **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 | PxRigidActor | [pure virtual]
getType() const =0 | PxActor | [pure virtual]
getWorldBounds(float inflation=1.01f) const =0 | PxActor | [pure virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxRigidActor | [inline, protected, virtual]
isReleasable() const | PxBase | [inline, virtual]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
PxActor(PxType concreteType, PxBaseFlags baseFlags) | PxActor | [inline, protected]
PxActor(PxBaseFlags baseFlags) | PxActor | [inline, protected]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxRigidActor(PxType concreteType, PxBaseFlags baseFlags) | PxRigidActor | [inline, protected]
PxRigidActor(PxBaseFlags baseFlags) | PxRigidActor | [inline, protected]
release()=0 | PxRigidActor | [pure virtual]
setActorFlag(PxActorFlag::Enum flag, bool value)=0 | PxActor | [pure virtual]
setActorFlags(PxActorFlags inFlags)=0 | PxActor | [pure virtual]
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
setClientBehaviorFlags(PxActorClientBehaviorFlags)=0 | PxActor | [pure virtual]
setDominanceGroup(PxDominanceGroup dominanceGroup)=0 | PxActor | [pure virtual]
setGlobalPose(const PxTransform &pose, bool autowake=true)=0 | PxRigidActor | [pure virtual]
setName(const char *name)=0 | PxActor | [pure virtual]
setOwnerClient(PxClientID inClient)=0 | PxActor | [pure virtual]
typeMatch() const | PxBase | [inline, protected]
userData | PxActor |
~PxActor() | PxActor | [inline, protected, virtual]
~PxBase() | PxBase | [inline, protected, virtual]
~PxRigidActor() | PxRigidActor | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxRigidActorExt Member List

This is the complete list of members for PxRigidActorExt, including all inherited members.

createExclusiveShape(PxRigidActor &actor, const PxGeometry &geometry, PxMaterial *const *materials, PxU16 materialCount, PxShapeFlags shapeFlags=PxShapeFlag::eVISUALIZATION|PxShapeFlag::eSCENE_QUERY_SHAPE|PxShapeFlag::eSIMULATION_SHAPE) | PxRigidActorExt | [inline, static]
createExclusiveShape(PxRigidActor &actor, const PxGeometry &geometry, const PxMaterial &material, PxShapeFlags shapeFlags=PxShapeFlag::eVISUALIZATION|PxShapeFlag::eSCENE_QUERY_SHAPE|PxShapeFlag::eSIMULATION_SHAPE) | PxRigidActorExt | [inline, static]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxRigidBody Member List

This is the complete list of members for PxRigidBody, including all inherited members.

addForce(const PxVec3 &force, PxForceMode::Enum mode=PxForceMode::eFORCE, bool autowake=true)=0 | PxRigidBody | [pure virtual]
addTorque(const PxVec3 &torque, PxForceMode::Enum mode=PxForceMode::eFORCE, bool autowake=true)=0 | PxRigidBody | [pure virtual]
attachShape(PxShape &shape)=0 | PxRigidActor | [pure virtual]
clearForce(PxForceMode::Enum mode=PxForceMode::eFORCE)=0 | PxRigidBody | [pure virtual]
clearTorque(PxForceMode::Enum mode=PxForceMode::eFORCE)=0 | PxRigidBody | [pure virtual]
createShape(const PxGeometry &geometry, PxMaterial *const *materials, PxU16 materialCount, PxShapeFlags shapeFlags=PxShapeFlag::eVISUALIZATION|PxShapeFlag::eSCENE_QUERY_SHAPE|PxShapeFlag::eSIMULATION_SHAPE)=0 | PxRigidActor | [pure virtual]
createShape(const PxGeometry &geometry, const PxMaterial &material, PxShapeFlags shapeFlags=PxShapeFlag::eVISUALIZATION|PxShapeFlag::eSCENE_QUERY_SHAPE|PxShapeFlag::eSIMULATION_SHAPE) | PxRigidActor | [inline]
detachShape(PxShape &shape, bool wakeOnLostTouch=true)=0 | PxRigidActor | [pure virtual]
getActorFlags() const =0 | PxActor | [pure virtual]
getAggregate() const =0 | PxActor | [pure virtual]
getAngularVelocity() const =0 | PxRigidBody | [pure virtual]
getBaseFlags() const | PxBase | [inline]
getClientBehaviorFlags() const =0 | PxActor | [pure virtual]
getCMassLocalPose() const =0 | PxRigidBody | [pure virtual]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const =0 | PxBase | [pure virtual]
getConstraints(PxConstraint **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 | PxRigidActor | [pure virtual]
getDominanceGroup() const =0 | PxActor | [pure virtual]
getGlobalPose() const =0 | PxRigidActor | [pure virtual]
getInvMass() const =0 | PxRigidBody | [pure virtual]
getLinearVelocity() const =0 | PxRigidBody | [pure virtual]
getMass() const =0 | PxRigidBody | [pure virtual]
getMassSpaceInertiaTensor() const =0 | PxRigidBody | [pure virtual]
getMassSpaceInvInertiaTensor() const =0 | PxRigidBody | [pure virtual]
getMaxContactImpulse() const =0 | PxRigidBody | [pure virtual]
getMaxDepenetrationVelocity() const =0 | PxRigidBody | [pure virtual]
getMinCCDAdvanceCoefficient() const =0 | PxRigidBody | [pure virtual]
getName() const =0 | PxActor | [pure virtual]
getNbConstraints() const =0 | PxRigidActor | [pure virtual]
getNbShapes() const =0 | PxRigidActor | [pure virtual]
getOwnerClient() const =0 | PxActor | [pure virtual]
getRigidBodyFlags() const =0 | PxRigidBody | [pure virtual]
getScene() const =0 | PxActor | [pure virtual]
getShapes(PxShape **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 | PxRigidActor | [pure virtual]
getType() const =0 | PxActor | [pure virtual]
getWorldBounds(float inflation=1.01f) const =0 | PxActor | [pure virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxRigidBody | [inline, protected, virtual]
isReleasable() const | PxBase | [inline, virtual]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
PxActor(PxType concreteType, PxBaseFlags baseFlags) | PxActor | [inline, protected]
PxActor(PxBaseFlags baseFlags) | PxActor | [inline, protected]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxRigidActor(PxType concreteType, PxBaseFlags baseFlags) | PxRigidActor | [inline, protected]
PxRigidActor(PxBaseFlags baseFlags) | PxRigidActor | [inline, protected]
PxRigidBody(PxType concreteType, PxBaseFlags baseFlags) | PxRigidBody | [inline, protected]
PxRigidBody(PxBaseFlags baseFlags) | PxRigidBody | [inline, protected]
release()=0 | PxRigidActor | [pure virtual]
setActorFlag(PxActorFlag::Enum flag, bool value)=0 | PxActor | [pure virtual]
setActorFlags(PxActorFlags inFlags)=0 | PxActor | [pure virtual]
setAngularVelocity(const PxVec3 &angVel, bool autowake=true)=0 | PxRigidBody | [pure virtual]
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
setClientBehaviorFlags(PxActorClientBehaviorFlags)=0 | PxActor | [pure virtual]
setCMassLocalPose(const PxTransform &pose)=0 | PxRigidBody | [pure virtual]
setDominanceGroup(PxDominanceGroup dominanceGroup)=0 | PxActor | [pure virtual]
setGlobalPose(const PxTransform &pose, bool autowake=true)=0 | PxRigidActor | [pure virtual]
setLinearVelocity(const PxVec3 &linVel, bool autowake=true)=0 | PxRigidBody | [pure virtual]
setMass(PxReal mass)=0 | PxRigidBody | [pure virtual]
setMassSpaceInertiaTensor(const PxVec3 &m)=0 | PxRigidBody | [pure virtual]
setMaxContactImpulse(PxReal maxImpulse)=0 | PxRigidBody | [pure virtual]
setMaxDepenetrationVelocity(PxReal biasClamp)=0 | PxRigidBody | [pure virtual]
setMinCCDAdvanceCoefficient(PxReal advanceCoefficient)=0 | PxRigidBody | [pure virtual]
setName(const char *name)=0 | PxActor | [pure virtual]
setOwnerClient(PxClientID inClient)=0 | PxActor | [pure virtual]
setRigidBodyFlag(PxRigidBodyFlag::Enum flag, bool value)=0 | PxRigidBody | [pure virtual]
setRigidBodyFlags(PxRigidBodyFlags inFlags)=0 | PxRigidBody | [pure virtual]
typeMatch() const | PxBase | [inline, protected]
userData | PxActor |
~PxActor() | PxActor | [inline, protected, virtual]
~PxBase() | PxBase | [inline, protected, virtual]
~PxRigidActor() | PxRigidActor | [inline, protected, virtual]
~PxRigidBody() | PxRigidBody | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxRigidBodyExt Member List

This is the complete list of members for PxRigidBodyExt, including all inherited members.

addForceAtLocalPos(PxRigidBody &body, const PxVec3 &force, const PxVec3 &pos, PxForceMode::Enum mode=PxForceMode::eFORCE, bool wakeup=true) | PxRigidBodyExt | [static]
addForceAtPos(PxRigidBody &body, const PxVec3 &force, const PxVec3 &pos, PxForceMode::Enum mode=PxForceMode::eFORCE, bool wakeup=true) | PxRigidBodyExt | [static]
addLocalForceAtLocalPos(PxRigidBody &body, const PxVec3 &force, const PxVec3 &pos, PxForceMode::Enum mode=PxForceMode::eFORCE, bool wakeup=true) | PxRigidBodyExt | [static]
addLocalForceAtPos(PxRigidBody &body, const PxVec3 &force, const PxVec3 &pos, PxForceMode::Enum mode=PxForceMode::eFORCE, bool wakeup=true) | PxRigidBodyExt | [static]
computeLinearAngularImpulse(const PxRigidBody &body, const PxTransform &globalPose, const PxVec3 &point, const PxVec3 &impulse, const PxReal invMassScale, const PxReal invInertiaScale, PxVec3 &linearImpulse, PxVec3 &angularImpulse) | PxRigidBodyExt | [static]
computeMassPropertiesFromShapes(const PxShape *const *shapes, PxU32 shapeCount) | PxRigidBodyExt | [static]
computeVelocityDeltaFromImpulse(const PxRigidBody &body, const PxVec3 &impulsiveForce, const PxVec3 &impulsiveTorque, PxVec3 &deltaLinearVelocity, PxVec3 &deltaAngularVelocity) | PxRigidBodyExt | [static]
computeVelocityDeltaFromImpulse(const PxRigidBody &body, const PxTransform &globalPose, const PxVec3 &point, const PxVec3 &impulse, const PxReal invMassScale, const PxReal invInertiaScale, PxVec3 &deltaLinearVelocity, PxVec3 &deltaAngularVelocity) | PxRigidBodyExt | [static]
getLocalVelocityAtLocalPos(const PxRigidBody &body, const PxVec3 &pos) | PxRigidBodyExt | [static]
getVelocityAtOffset(const PxRigidBody &body, const PxVec3 &pos) | PxRigidBodyExt | [static]
getVelocityAtPos(const PxRigidBody &body, const PxVec3 &pos) | PxRigidBodyExt | [static]
linearSweepMultiple(PxRigidBody &body, PxScene &scene, const PxVec3 &unitDir, const PxReal distance, PxHitFlags outputFlags, PxSweepHit *touchHitBuffer, PxU32 *touchHitShapeIndices, PxU32 touchHitBufferSize, PxSweepHit &block, PxI32 &blockingShapeIndex, bool &overflow, const PxQueryFilterData &filterData=PxQueryFilterData(), PxQueryFilterCallback *filterCall=NULL, const PxQueryCache *cache=NULL, const PxReal inflation=0.0f) | PxRigidBodyExt | [static]
linearSweepSingle(PxRigidBody &body, PxScene &scene, const PxVec3 &unitDir, const PxReal distance, PxHitFlags outputFlags, PxSweepHit &closestHit, PxU32 &shapeIndex, const PxQueryFilterData &filterData=PxQueryFilterData(), PxQueryFilterCallback *filterCall=NULL, const PxQueryCache *cache=NULL, const PxReal inflation=0.0f) | PxRigidBodyExt | [static]
setMassAndUpdateInertia(PxRigidBody &body, const PxReal *shapeMasses, PxU32 shapeMassCount, const PxVec3 *massLocalPose=NULL, bool includeNonSimShapes=false) | PxRigidBodyExt | [static]
setMassAndUpdateInertia(PxRigidBody &body, PxReal mass, const PxVec3 *massLocalPose=NULL, bool includeNonSimShapes=false) | PxRigidBodyExt | [static]
updateMassAndInertia(PxRigidBody &body, const PxReal *shapeDensities, PxU32 shapeDensityCount, const PxVec3 *massLocalPose=NULL, bool includeNonSimShapes=false) | PxRigidBodyExt | [static]
updateMassAndInertia(PxRigidBody &body, PxReal density, const PxVec3 *massLocalPose=NULL, bool includeNonSimShapes=false) | PxRigidBodyExt | [static]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxRigidDynamic Member List

This is the complete list of members for PxRigidDynamic, including all inherited members.

addForce(const PxVec3 &force, PxForceMode::Enum mode=PxForceMode::eFORCE, bool autowake=true)=0 | PxRigidBody | [pure virtual]
addTorque(const PxVec3 &torque, PxForceMode::Enum mode=PxForceMode::eFORCE, bool autowake=true)=0 | PxRigidBody | [pure virtual]
attachShape(PxShape &shape)=0 | PxRigidActor | [pure virtual]
clearForce(PxForceMode::Enum mode=PxForceMode::eFORCE)=0 | PxRigidBody | [pure virtual]
clearTorque(PxForceMode::Enum mode=PxForceMode::eFORCE)=0 | PxRigidBody | [pure virtual]
createShape(const PxGeometry &geometry, PxMaterial *const *materials, PxU16 materialCount, PxShapeFlags shapeFlags=PxShapeFlag::eVISUALIZATION|PxShapeFlag::eSCENE_QUERY_SHAPE|PxShapeFlag::eSIMULATION_SHAPE)=0 | PxRigidActor | [pure virtual]
createShape(const PxGeometry &geometry, const PxMaterial &material, PxShapeFlags shapeFlags=PxShapeFlag::eVISUALIZATION|PxShapeFlag::eSCENE_QUERY_SHAPE|PxShapeFlag::eSIMULATION_SHAPE) | PxRigidActor | [inline]
detachShape(PxShape &shape, bool wakeOnLostTouch=true)=0 | PxRigidActor | [pure virtual]
getActorFlags() const =0 | PxActor | [pure virtual]
getAggregate() const =0 | PxActor | [pure virtual]
getAngularDamping() const =0 | PxRigidDynamic | [pure virtual]
getAngularVelocity() const =0 | PxRigidBody | [pure virtual]
getBaseFlags() const | PxBase | [inline]
getClientBehaviorFlags() const =0 | PxActor | [pure virtual]
getCMassLocalPose() const =0 | PxRigidBody | [pure virtual]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const | PxRigidDynamic | [inline, virtual]
getConstraints(PxConstraint **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 | PxRigidActor | [pure virtual]
getContactReportThreshold() const =0 | PxRigidDynamic | [pure virtual]
getDominanceGroup() const =0 | PxActor | [pure virtual]
getGlobalPose() const =0 | PxRigidActor | [pure virtual]
getInvMass() const =0 | PxRigidBody | [pure virtual]
getKinematicTarget(PxTransform &target) const =0 | PxRigidDynamic | [pure virtual]
getLinearDamping() const =0 | PxRigidDynamic | [pure virtual]
getLinearVelocity() const =0 | PxRigidBody | [pure virtual]
getMass() const =0 | PxRigidBody | [pure virtual]
getMassSpaceInertiaTensor() const =0 | PxRigidBody | [pure virtual]
getMassSpaceInvInertiaTensor() const =0 | PxRigidBody | [pure virtual]
getMaxAngularVelocity() const =0 | PxRigidDynamic | [pure virtual]
getMaxContactImpulse() const =0 | PxRigidBody | [pure virtual]
getMaxDepenetrationVelocity() const =0 | PxRigidBody | [pure virtual]
getMinCCDAdvanceCoefficient() const =0 | PxRigidBody | [pure virtual]
getName() const =0 | PxActor | [pure virtual]
getNbConstraints() const =0 | PxRigidActor | [pure virtual]
getNbShapes() const =0 | PxRigidActor | [pure virtual]
getOwnerClient() const =0 | PxActor | [pure virtual]
getRigidBodyFlags() const =0 | PxRigidBody | [pure virtual]
getRigidDynamicLockFlags() const =0 | PxRigidDynamic | [pure virtual]
getScene() const =0 | PxActor | [pure virtual]
getShapes(PxShape **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 | PxRigidActor | [pure virtual]
getSleepThreshold() const =0 | PxRigidDynamic | [pure virtual]
getSolverIterationCounts(PxU32 &minPositionIters, PxU32 &minVelocityIters) const =0 | PxRigidDynamic | [pure virtual]
getStabilizationThreshold() const =0 | PxRigidDynamic | [pure virtual]
getType() const =0 | PxActor | [pure virtual]
getWakeCounter() const =0 | PxRigidDynamic | [pure virtual]
getWorldBounds(float inflation=1.01f) const =0 | PxActor | [pure virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxRigidDynamic | [inline, protected, virtual]
isReleasable() const | PxBase | [inline, virtual]
isSleeping() const =0 | PxRigidDynamic | [pure virtual]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
putToSleep()=0 | PxRigidDynamic | [pure virtual]
PxActor(PxType concreteType, PxBaseFlags baseFlags) | PxActor | [inline, protected]
PxActor(PxBaseFlags baseFlags) | PxActor | [inline, protected]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxRigidActor(PxType concreteType, PxBaseFlags baseFlags) | PxRigidActor | [inline, protected]
PxRigidActor(PxBaseFlags baseFlags) | PxRigidActor | [inline, protected]
PxRigidBody(PxType concreteType, PxBaseFlags baseFlags) | PxRigidBody | [inline, protected]
PxRigidBody(PxBaseFlags baseFlags) | PxRigidBody | [inline, protected]
PxRigidDynamic(PxType concreteType, PxBaseFlags baseFlags) | PxRigidDynamic | [inline, protected]
PxRigidDynamic(PxBaseFlags baseFlags) | PxRigidDynamic | [inline, protected]
release()=0 | PxRigidActor | [pure virtual]
setActorFlag(PxActorFlag::Enum flag, bool value)=0 | PxActor | [pure virtual]
setActorFlags(PxActorFlags inFlags)=0 | PxActor | [pure virtual]
setAngularDamping(PxReal angDamp)=0 | PxRigidDynamic | [pure virtual]
setAngularVelocity(const PxVec3 &angVel, bool autowake=true)=0 | PxRigidBody | [pure virtual]
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
setClientBehaviorFlags(PxActorClientBehaviorFlags)=0 | PxActor | [pure virtual]
setCMassLocalPose(const PxTransform &pose)=0 | PxRigidBody | [pure virtual]
setContactReportThreshold(PxReal threshold)=0 | PxRigidDynamic | [pure virtual]
setDominanceGroup(PxDominanceGroup dominanceGroup)=0 | PxActor | [pure virtual]
setGlobalPose(const PxTransform &pose, bool autowake=true)=0 | PxRigidActor | [pure virtual]
setKinematicTarget(const PxTransform &destination)=0 | PxRigidDynamic | [pure virtual]
setLinearDamping(PxReal linDamp)=0 | PxRigidDynamic | [pure virtual]
setLinearVelocity(const PxVec3 &linVel, bool autowake=true)=0 | PxRigidBody | [pure virtual]
setMass(PxReal mass)=0 | PxRigidBody | [pure virtual]
setMassSpaceInertiaTensor(const PxVec3 &m)=0 | PxRigidBody | [pure virtual]
setMaxAngularVelocity(PxReal maxAngVel)=0 | PxRigidDynamic | [pure virtual]
setMaxContactImpulse(PxReal maxImpulse)=0 | PxRigidBody | [pure virtual]
setMaxDepenetrationVelocity(PxReal biasClamp)=0 | PxRigidBody | [pure virtual]
setMinCCDAdvanceCoefficient(PxReal advanceCoefficient)=0 | PxRigidBody | [pure virtual]
setName(const char *name)=0 | PxActor | [pure virtual]
setOwnerClient(PxClientID inClient)=0 | PxActor | [pure virtual]
setRigidBodyFlag(PxRigidBodyFlag::Enum flag, bool value)=0 | PxRigidBody | [pure virtual]
setRigidBodyFlags(PxRigidBodyFlags inFlags)=0 | PxRigidBody | [pure virtual]
setRigidDynamicLockFlag(PxRigidDynamicLockFlag::Enum flag, bool value)=0 | PxRigidDynamic | [pure virtual]
setRigidDynamicLockFlags(PxRigidDynamicLockFlags flags)=0 | PxRigidDynamic | [pure virtual]
setSleepThreshold(PxReal threshold)=0 | PxRigidDynamic | [pure virtual]
setSolverIterationCounts(PxU32 minPositionIters, PxU32 minVelocityIters=1)=0 | PxRigidDynamic | [pure virtual]
setStabilizationThreshold(PxReal threshold)=0 | PxRigidDynamic | [pure virtual]
setWakeCounter(PxReal wakeCounterValue)=0 | PxRigidDynamic | [pure virtual]
typeMatch() const | PxBase | [inline, protected]
userData | PxActor |
wakeUp()=0 | PxRigidDynamic | [pure virtual]
~PxActor() | PxActor | [inline, protected, virtual]
~PxBase() | PxBase | [inline, protected, virtual]
~PxRigidActor() | PxRigidActor | [inline, protected, virtual]
~PxRigidBody() | PxRigidBody | [inline, protected, virtual]
~PxRigidDynamic() | PxRigidDynamic | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxRigidStatic Member List

This is the complete list of members for PxRigidStatic, including all inherited members.

attachShape(PxShape &shape)=0 | PxRigidActor | [pure virtual]
createShape(const PxGeometry &geometry, PxMaterial *const *materials, PxU16 materialCount, PxShapeFlags shapeFlags=PxShapeFlag::eVISUALIZATION|PxShapeFlag::eSCENE_QUERY_SHAPE|PxShapeFlag::eSIMULATION_SHAPE)=0 | PxRigidActor | [pure virtual]
createShape(const PxGeometry &geometry, const PxMaterial &material, PxShapeFlags shapeFlags=PxShapeFlag::eVISUALIZATION|PxShapeFlag::eSCENE_QUERY_SHAPE|PxShapeFlag::eSIMULATION_SHAPE) | PxRigidActor | [inline]
detachShape(PxShape &shape, bool wakeOnLostTouch=true)=0 | PxRigidActor | [pure virtual]
getActorFlags() const =0 | PxActor | [pure virtual]
getAggregate() const =0 | PxActor | [pure virtual]
getBaseFlags() const | PxBase | [inline]
getClientBehaviorFlags() const =0 | PxActor | [pure virtual]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const | PxRigidStatic | [inline, virtual]
getConstraints(PxConstraint **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 | PxRigidActor | [pure virtual]
getDominanceGroup() const =0 | PxActor | [pure virtual]
getGlobalPose() const =0 | PxRigidActor | [pure virtual]
getName() const =0 | PxActor | [pure virtual]
getNbConstraints() const =0 | PxRigidActor | [pure virtual]
getNbShapes() const =0 | PxRigidActor | [pure virtual]
getOwnerClient() const =0 | PxActor | [pure virtual]
getScene() const =0 | PxActor | [pure virtual]
getShapes(PxShape **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 | PxRigidActor | [pure virtual]
getType() const =0 | PxActor | [pure virtual]
getWorldBounds(float inflation=1.01f) const =0 | PxActor | [pure virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxRigidStatic | [inline, protected, virtual]
isReleasable() const | PxBase | [inline, virtual]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
PxActor(PxType concreteType, PxBaseFlags baseFlags) | PxActor | [inline, protected]
PxActor(PxBaseFlags baseFlags) | PxActor | [inline, protected]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxRigidActor(PxType concreteType, PxBaseFlags baseFlags) | PxRigidActor | [inline, protected]
PxRigidActor(PxBaseFlags baseFlags) | PxRigidActor | [inline, protected]
PxRigidStatic(PxType concreteType, PxBaseFlags baseFlags) | PxRigidStatic | [inline, protected]
PxRigidStatic(PxBaseFlags baseFlags) | PxRigidStatic | [inline, protected]
release()=0 | PxRigidActor | [pure virtual]
setActorFlag(PxActorFlag::Enum flag, bool value)=0 | PxActor | [pure virtual]
setActorFlags(PxActorFlags inFlags)=0 | PxActor | [pure virtual]
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
setClientBehaviorFlags(PxActorClientBehaviorFlags)=0 | PxActor | [pure virtual]
setDominanceGroup(PxDominanceGroup dominanceGroup)=0 | PxActor | [pure virtual]
setGlobalPose(const PxTransform &pose, bool autowake=true)=0 | PxRigidActor | [pure virtual]
setName(const char *name)=0 | PxActor | [pure virtual]
setOwnerClient(PxClientID inClient)=0 | PxActor | [pure virtual]
typeMatch() const | PxBase | [inline, protected]
userData | PxActor |
~PxActor() | PxActor | [inline, protected, virtual]
~PxBase() | PxBase | [inline, protected, virtual]
~PxRigidActor() | PxRigidActor | [inline, protected, virtual]
~PxRigidStatic() | PxRigidStatic | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxScene Member List

This is the complete list of members for PxScene, including all inherited members.

addActor(PxActor &actor)=0 | PxScene | [pure virtual]
addActors(PxActor *const *actors, PxU32 nbActors)=0 | PxScene | [pure virtual]
addActors(const PxPruningStructure &pruningStructure)=0 | PxScene | [pure virtual]
addAggregate(PxAggregate &aggregate)=0 | PxScene | [pure virtual]
addArticulation(PxArticulation &articulation)=0 | PxScene | [pure virtual]
addBroadPhaseRegion(const PxBroadPhaseRegion &region, bool populateRegion=false)=0 | PxScene | [pure virtual]
addCollection(const PxCollection &collection)=0 | PxScene | [pure virtual]
advance(physx::PxBaseTask *completionTask=0)=0 | PxScene | [pure virtual]
checkQueries(bool block=false)=0 | PxScene | [pure virtual]
checkResults(bool block=false)=0 | PxScene | [pure virtual]
collide(PxReal elapsedTime, physx::PxBaseTask *completionTask=0, void *scratchMemBlock=0, PxU32 scratchMemBlockSize=0, bool controlSimulation=true)=0 | PxScene | [pure virtual]
createBatchQuery(const PxBatchQueryDesc &desc)=0 | PxScene | [pure virtual]
createClient()=0 | PxScene | [pure virtual]
createVolumeCache(PxU32 maxStaticShapes=32, PxU32 maxDynamicShapes=8)=0 | PxScene | [pure virtual]
fetchCollision(bool block=false)=0 | PxScene | [pure virtual]
fetchQueries(bool block=false)=0 | PxScene | [pure virtual]
fetchResults(bool block=false, PxU32 *errorState=0)=0 | PxScene | [pure virtual]
fetchResultsFinish(PxU32 *errorState=0)=0 | PxScene | [pure virtual]
fetchResultsStart(const PxContactPairHeader *&contactPairs, PxU32 &nbContactPairs, bool block=false)=0 | PxScene | [pure virtual]
flushQueryUpdates()=0 | PxScene | [pure virtual]
flushSimulation(bool sendPendingReports=false)=0 | PxScene | [pure virtual]
forceDynamicTreeRebuild(bool rebuildStaticStructure, bool rebuildDynamicStructure)=0 | PxScene | [pure virtual]
getActiveActors(PxU32 &nbActorsOut, PX_DEPRECATED PxClientID client=PX_DEFAULT_CLIENT)=0 | PxScene | [pure virtual]
getActiveTransforms(PxU32 &nbTransformsOut, PxClientID client=PX_DEFAULT_CLIENT)=0 | PxScene | [pure virtual]
getActors(PxActorTypeFlags types, PxActor **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 | PxScene | [pure virtual]
getAggregates(PxAggregate **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 | PxScene | [pure virtual]
getArticulations(PxArticulation **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 | PxScene | [pure virtual]
getBounceThresholdVelocity() const =0 | PxScene | [pure virtual]
getBroadPhaseCallback(PX_DEPRECATED PxClientID client=PX_DEFAULT_CLIENT) const =0 | PxScene | [pure virtual]
getBroadPhaseCaps(PxBroadPhaseCaps &caps) const =0 | PxScene | [pure virtual]
getBroadPhaseRegions(PxBroadPhaseRegionInfo *userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 | PxScene | [pure virtual]
getBroadPhaseType() const =0 | PxScene | [pure virtual]
getCCDContactModifyCallback() const =0 | PxScene | [pure virtual]
getCCDMaxPasses() const =0 | PxScene | [pure virtual]
getClientBehaviorFlags(PxClientID client) const =0 | PxScene | [pure virtual]
getClothInterCollisionDistance() const =0 | PxScene | [pure virtual]
getClothInterCollisionNbIterations() const =0 | PxScene | [pure virtual]
getClothInterCollisionStiffness() const =0 | PxScene | [pure virtual]
getConstraints(PxConstraint **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 | PxScene | [pure virtual]
getContactModifyCallback() const =0 | PxScene | [pure virtual]
getContactReportStreamBufferSize() const =0 | PxScene | [pure virtual]
getCpuDispatcher() const =0 | PxScene | [pure virtual]
getDominanceGroupPair(PxDominanceGroup group1, PxDominanceGroup group2) const =0 | PxScene | [pure virtual]
getDynamicStructure() const =0 | PxScene | [pure virtual]
getDynamicTreeRebuildRateHint() const =0 | PxScene | [pure virtual]
getFilterCallback() const =0 | PxScene | [pure virtual]
getFilterShader() const =0 | PxScene | [pure virtual]
getFilterShaderData() const =0 | PxScene | [pure virtual]
getFilterShaderDataSize() const =0 | PxScene | [pure virtual]
getFlags() const =0 | PxScene | [pure virtual]
getFrictionOffsetThreshold() const =0 | PxScene | [pure virtual]
getFrictionType() const =0 | PxScene | [pure virtual]
getGpuDispatcher() const =0 | PxScene | [pure virtual]
getGravity() const =0 | PxScene | [pure virtual]
getLimits() const =0 | PxScene | [pure virtual]
getMaxNbContactDataBlocksUsed() const =0 | PxScene | [pure virtual]
getNbActors(PxActorTypeFlags types) const =0 | PxScene | [pure virtual]
getNbAggregates() const =0 | PxScene | [pure virtual]
getNbArticulations() const =0 | PxScene | [pure virtual]
getNbBroadPhaseRegions() const =0 | PxScene | [pure virtual]
getNbConstraints() const =0 | PxScene | [pure virtual]
getNbContactDataBlocksUsed() const =0 | PxScene | [pure virtual]
getPhysics()=0 | PxScene | [pure virtual]
getRenderBuffer()=0 | PxScene | [pure virtual]
getScenePvdClient()=0 | PxScene | [pure virtual]
getSceneQueryStaticTimestamp() const =0 | PxScene | [pure virtual]
getSceneQueryUpdateMode() const =0 | PxScene | [pure virtual]
getSimulationEventCallback(PX_DEPRECATED PxClientID client=PX_DEFAULT_CLIENT) const =0 | PxScene | [pure virtual]
getSimulationStatistics(PxSimulationStatistics &stats) const =0 | PxScene | [pure virtual]
getSolverBatchSize() const =0 | PxScene | [pure virtual]
getStaticStructure() const =0 | PxScene | [pure virtual]
getTaskManager() const =0 | PxScene | [pure virtual]
getTimestamp() const =0 | PxScene | [pure virtual]
getVisualizationCullingBox() const =0 | PxScene | [pure virtual]
getVisualizationParameter(PxVisualizationParameter::Enum paramEnum) const =0 | PxScene | [pure virtual]
getWakeCounterResetValue() const =0 | PxScene | [pure virtual]
lockRead(const char *file=NULL, PxU32 line=0)=0 | PxScene | [pure virtual]
lockWrite(const char *file=NULL, PxU32 line=0)=0 | PxScene | [pure virtual]
overlap(const PxGeometry &geometry, const PxTransform &pose, PxOverlapCallback &hitCall, const PxQueryFilterData &filterData=PxQueryFilterData(), PxQueryFilterCallback *filterCall=NULL) const =0 | PxScene | [pure virtual]
processCallbacks(physx::PxBaseTask *continuation)=0 | PxScene | [pure virtual]
PxScene() | PxScene | [inline, protected]
raycast(const PxVec3 &origin, const PxVec3 &unitDir, const PxReal distance, PxRaycastCallback &hitCall, PxHitFlags hitFlags=PxHitFlags(PxHitFlag::eDEFAULT), const PxQueryFilterData &filterData=PxQueryFilterData(), PxQueryFilterCallback *filterCall=NULL, const PxQueryCache *cache=NULL) const =0 | PxScene | [pure virtual]
release()=0 | PxScene | [pure virtual]
removeActor(PxActor &actor, bool wakeOnLostTouch=true)=0 | PxScene | [pure virtual]
removeActors(PxActor *const *actors, PxU32 nbActors, bool wakeOnLostTouch=true)=0 | PxScene | [pure virtual]
removeAggregate(PxAggregate &aggregate, bool wakeOnLostTouch=true)=0 | PxScene | [pure virtual]
removeArticulation(PxArticulation &articulation, bool wakeOnLostTouch=true)=0 | PxScene | [pure virtual]
removeBroadPhaseRegion(PxU32 handle)=0 | PxScene | [pure virtual]
resetFiltering(PxActor &actor)=0 | PxScene | [pure virtual]
resetFiltering(PxRigidActor &actor, PxShape *const *shapes, PxU32 shapeCount)=0 | PxScene | [pure virtual]
sceneQueriesUpdate(physx::PxBaseTask *completionTask=NULL, bool controlSimulation=true)=0 | PxScene | [pure virtual]
setBounceThresholdVelocity(const PxReal t)=0 | PxScene | [pure virtual]
setBroadPhaseCallback(PxBroadPhaseCallback *callback, PX_DEPRECATED PxClientID client=PX_DEFAULT_CLIENT)=0 | PxScene | [pure virtual]
setCCDContactModifyCallback(PxCCDContactModifyCallback *callback)=0 | PxScene | [pure virtual]
setCCDMaxPasses(PxU32 ccdMaxPasses)=0 | PxScene | [pure virtual]
setClientBehaviorFlags(PxClientID client, PxClientBehaviorFlags clientBehaviorFlags)=0 | PxScene | [pure virtual]
setClothInterCollisionDistance(PxF32 distance)=0 | PxScene | [pure virtual]
setClothInterCollisionNbIterations(PxU32 nbIterations)=0 | PxScene | [pure virtual]
setClothInterCollisionStiffness(PxF32 stiffness)=0 | PxScene | [pure virtual]
setContactModifyCallback(PxContactModifyCallback *callback)=0 | PxScene | [pure virtual]
setDominanceGroupPair(PxDominanceGroup group1, PxDominanceGroup group2, const PxDominanceGroupPair &dominance)=0 | PxScene | [pure virtual]
setDynamicTreeRebuildRateHint(PxU32 dynamicTreeRebuildRateHint)=0 | PxScene | [pure virtual]
setFilterShaderData(const void *data, PxU32 dataSize)=0 | PxScene | [pure virtual]
setFlag(PxSceneFlag::Enum flag, bool value)=0 | PxScene | [pure virtual]
setFrictionType(PxFrictionType::Enum frictionType)=0 | PxScene | [pure virtual]
setGravity(const PxVec3 &vec)=0 | PxScene | [pure virtual]
setLimits(const PxSceneLimits &limits)=0 | PxScene | [pure virtual]
setNbContactDataBlocks(PxU32 numBlocks)=0 | PxScene | [pure virtual]
setSceneQueryUpdateMode(PxSceneQueryUpdateMode::Enum updateMode)=0 | PxScene | [pure virtual]
setSimulationEventCallback(PxSimulationEventCallback *callback, PX_DEPRECATED PxClientID client=PX_DEFAULT_CLIENT)=0 | PxScene | [pure virtual]
setSolverBatchSize(PxU32 solverBatchSize)=0 | PxScene | [pure virtual]
setVisualizationCullingBox(const PxBounds3 &box)=0 | PxScene | [pure virtual]
setVisualizationParameter(PxVisualizationParameter::Enum param, PxReal value)=0 | PxScene | [pure virtual]
shiftOrigin(const PxVec3 &shift)=0 | PxScene | [pure virtual]
simulate(PxReal elapsedTime, physx::PxBaseTask *completionTask=NULL, void *scratchMemBlock=0, PxU32 scratchMemBlockSize=0, bool controlSimulation=true)=0 | PxScene | [pure virtual]
sweep(const PxGeometry &geometry, const PxTransform &pose, const PxVec3 &unitDir, const PxReal distance, PxSweepCallback &hitCall, PxHitFlags hitFlags=PxHitFlags(PxHitFlag::eDEFAULT), const PxQueryFilterData &filterData=PxQueryFilterData(), PxQueryFilterCallback *filterCall=NULL, const PxQueryCache *cache=NULL, const PxReal inflation=0.f) const =0 | PxScene | [pure virtual]
unlockRead()=0 | PxScene | [pure virtual]
unlockWrite()=0 | PxScene | [pure virtual]
userData | PxScene |
~PxScene() | PxScene | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxSceneDesc Member List

This is the complete list of members for PxSceneDesc, including all inherited members.

bounceThresholdVelocity | PxSceneDesc
broadPhaseCallback | PxSceneDesc
broadPhaseType | PxSceneDesc
ccdContactModifyCallback | PxSceneDesc
ccdMaxPasses | PxSceneDesc
ccdMaxSeparation | PxSceneDesc
contactModifyCallback | PxSceneDesc
contactReportStreamBufferSize | PxSceneDesc
cpuDispatcher | PxSceneDesc
dynamicStructure | PxSceneDesc
dynamicTreeRebuildRateHint | PxSceneDesc
filterCallback | PxSceneDesc
filterShader | PxSceneDesc
filterShaderData | PxSceneDesc
filterShaderDataSize | PxSceneDesc
flags | PxSceneDesc
frictionOffsetThreshold | PxSceneDesc
frictionType | PxSceneDesc
gpuComputeVersion | PxSceneDesc
gpuDispatcher | PxSceneDesc
gpuDynamicsConfig | PxSceneDesc
gpuMaxNumPartitions | PxSceneDesc
gravity | PxSceneDesc
isValid() const | PxSceneDesc
kineKineFilteringMode | PxSceneDesc
limits | PxSceneDesc
maxBiasCoefficient | PxSceneDesc
maxNbContactDataBlocks | PxSceneDesc
nbContactDataBlocks | PxSceneDesc
PxSceneDesc(const PxTolerancesScale &scale) | PxSceneDesc
sanityBounds | PxSceneDesc
sceneQueryUpdateMode | PxSceneDesc
setToDefault(const PxTolerancesScale &scale) | PxSceneDesc
simulationEventCallback | PxSceneDesc
solverBatchSize | PxSceneDesc
solverOffsetSlop | PxSceneDesc
staticKineFilteringMode | PxSceneDesc
staticStructure | PxSceneDesc
userData | PxSceneDesc
wakeCounterResetValue | PxSceneDesc


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxSceneLimits Member List

This is the complete list of members for PxSceneLimits, including all inherited members.

isValid() const | PxSceneLimits
maxNbActors | PxSceneLimits
maxNbAggregates | PxSceneLimits
maxNbBodies | PxSceneLimits
maxNbBroadPhaseOverlaps | PxSceneLimits
maxNbConstraints | PxSceneLimits
maxNbDynamicShapes | PxSceneLimits
maxNbObjectsPerRegion | PxSceneLimits
maxNbRegions | PxSceneLimits
maxNbStaticShapes | PxSceneLimits
PxSceneLimits() | PxSceneLimits
setToDefault() | PxSceneLimits


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxSceneQueryExt Member List

This is the complete list of members for PxSceneQueryExt, including all inherited members.

overlapAny(const PxScene &scene, const PxGeometry &geometry, const PxTransform &pose, PxOverlapHit &hit, const PxSceneQueryFilterData &filterData=PxSceneQueryFilterData(), PxSceneQueryFilterCallback *filterCall=NULL, PX_DEPRECATED PxClientID queryClient=PX_DEFAULT_CLIENT) | PxSceneQueryExt | [static]
overlapMultiple(const PxScene &scene, const PxGeometry &geometry, const PxTransform &pose, PxOverlapHit *hitBuffer, PxU32 hitBufferSize, const PxSceneQueryFilterData &filterData=PxSceneQueryFilterData(), PxSceneQueryFilterCallback *filterCall=NULL, PX_DEPRECATED PxClientID queryClient=PX_DEFAULT_CLIENT) | PxSceneQueryExt | [static]
raycastAny(const PxScene &scene, const PxVec3 &origin, const PxVec3 &unitDir, const PxReal distance, PxSceneQueryHit &hit, const PxSceneQueryFilterData &filterData=PxSceneQueryFilterData(), PxSceneQueryFilterCallback *filterCall=NULL, const PxSceneQueryCache *cache=NULL, PX_DEPRECATED PxClientID queryClient=PX_DEFAULT_CLIENT) | PxSceneQueryExt | [static]
raycastMultiple(const PxScene &scene, const PxVec3 &origin, const PxVec3 &unitDir, const PxReal distance, PxSceneQueryFlags outputFlags, PxRaycastHit *hitBuffer, PxU32 hitBufferSize, bool &blockingHit, const PxSceneQueryFilterData &filterData=PxSceneQueryFilterData(), PxSceneQueryFilterCallback *filterCall=NULL, const PxSceneQueryCache *cache=NULL, PX_DEPRECATED PxClientID queryClient=PX_DEFAULT_CLIENT) | PxSceneQueryExt | [static]
raycastSingle(const PxScene &scene, const PxVec3 &origin, const PxVec3 &unitDir, const PxReal distance, PxSceneQueryFlags outputFlags, PxRaycastHit &hit, const PxSceneQueryFilterData &filterData=PxSceneQueryFilterData(), PxSceneQueryFilterCallback *filterCall=NULL, const PxSceneQueryCache *cache=NULL, PX_DEPRECATED PxClientID queryClient=PX_DEFAULT_CLIENT) | PxSceneQueryExt | [static]
sweepAny(const PxScene &scene, const PxGeometry &geometry, const PxTransform &pose, const PxVec3 &unitDir, const PxReal distance, PxSceneQueryFlags queryFlags, PxSceneQueryHit &hit, const PxSceneQueryFilterData &filterData=PxSceneQueryFilterData(), PxSceneQueryFilterCallback *filterCall=NULL, const PxSceneQueryCache *cache=NULL, PX_DEPRECATED PxClientID queryClient=PX_DEFAULT_CLIENT, PxReal inflation=0.0f) | PxSceneQueryExt | [static]
sweepMultiple(const PxScene &scene, const PxGeometry &geometry, const PxTransform &pose, const PxVec3 &unitDir, const PxReal distance, PxSceneQueryFlags outputFlags, PxSweepHit *hitBuffer, PxU32 hitBufferSize, bool &blockingHit, const PxSceneQueryFilterData &filterData=PxSceneQueryFilterData(), PxSceneQueryFilterCallback *filterCall=NULL, const PxSceneQueryCache *cache=NULL, PX_DEPRECATED PxClientID queryClient=PX_DEFAULT_CLIENT, PxReal inflation=0.0f) | PxSceneQueryExt | [static]
sweepSingle(const PxScene &scene, const PxGeometry &geometry, const PxTransform &pose, const PxVec3 &unitDir, const PxReal distance, PxSceneQueryFlags outputFlags, PxSweepHit &hit, const PxSceneQueryFilterData &filterData=PxSceneQueryFilterData(), PxSceneQueryFilterCallback *filterCall=NULL, const PxSceneQueryCache *cache=NULL, PX_DEPRECATED PxClientID queryClient=PX_DEFAULT_CLIENT, PxReal inflation=0.0f) | PxSceneQueryExt | [static]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxSceneReadLock Member List

This is the complete list of members for PxSceneReadLock, including all inherited members.

mScene | PxSceneReadLock | [private]
operator=(const PxSceneReadLock &) | PxSceneReadLock | [private]
PxSceneReadLock(const PxSceneReadLock &) | PxSceneReadLock | [private]
PxSceneReadLock(PxScene &scene, const char *file=NULL, PxU32 line=0) | PxSceneReadLock | [inline]
~PxSceneReadLock() | PxSceneReadLock | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxSceneWriteLock Member List

This is the complete list of members for PxSceneWriteLock, including all inherited members.

mScene | PxSceneWriteLock | [private]
operator=(const PxSceneWriteLock &) | PxSceneWriteLock | [private]
PxSceneWriteLock(const PxSceneWriteLock &) | PxSceneWriteLock | [private]
PxSceneWriteLock(PxScene &scene, const char *file=NULL, PxU32 line=0) | PxSceneWriteLock | [inline]
~PxSceneWriteLock() | PxSceneWriteLock | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxSerialization Member List

This is the complete list of members for PxSerialization, including all inherited members.

complete(PxCollection &collection, PxSerializationRegistry &sr, const PxCollection *exceptFor=NULL, bool followJoints=false) | PxSerialization | [static]
createBinaryConverter() | PxSerialization | [static]
createCollectionFromBinary(void *memBlock, PxSerializationRegistry &sr, const PxCollection *externalRefs=NULL) | PxSerialization | [static]
createCollectionFromXml(PxInputData &inputData, PxCooking &cooking, PxSerializationRegistry &sr, const PxCollection *externalRefs=NULL, PxStringTable *stringTable=NULL, PxXmlMiscParameter *outArgs=NULL) | PxSerialization | [static]
createSerializationRegistry(PxPhysics &physics) | PxSerialization | [static]
createSerialObjectIds(PxCollection &collection, const PxSerialObjectId base) | PxSerialization | [static]
dumpBinaryMetaData(PxOutputStream &outputStream, PxSerializationRegistry &sr) | PxSerialization | [static]
isSerializable(PxCollection &collection, PxSerializationRegistry &sr, const PxCollection *externalReferences=NULL) | PxSerialization | [static]
serializeCollectionToBinary(PxOutputStream &outputStream, PxCollection &collection, PxSerializationRegistry &sr, const PxCollection *externalRefs=NULL, bool exportNames=false) | PxSerialization | [static]
serializeCollectionToXml(PxOutputStream &outputStream, PxCollection &collection, PxSerializationRegistry &sr, PxCooking *cooking=NULL, const PxCollection *externalRefs=NULL, PxXmlMiscParameter *inArgs=NULL) | PxSerialization | [static]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxSerializationContext Member List

This is the complete list of members for PxSerializationContext, including all inherited members.

alignData(PxU32 alignment=PX_SERIAL_ALIGN)=0 | PxSerializationContext | [pure virtual]
getCollection() const =0 | PxSerializationContext | [pure virtual]
PxSerializationContext() | PxSerializationContext | [inline, protected]
registerReference(PxBase &base, PxU32 kind, size_t reference)=0 | PxSerializationContext | [pure virtual]
writeData(const void *data, PxU32 size)=0 | PxSerializationContext | [pure virtual]
writeName(const char *name)=0 | PxSerializationContext | [pure virtual]
~PxSerializationContext() | PxSerializationContext | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxSerializationRegistry Member List

This is the complete list of members for PxSerializationRegistry, including all inherited members.

getRepXSerializer(const char *typeName) const =0 | PxSerializationRegistry | [pure virtual]
getSerializer(PxType type) const =0 | PxSerializationRegistry | [pure virtual]
registerBinaryMetaDataCallback(PxBinaryMetaDataCallback callback)=0 | PxSerializationRegistry | [pure virtual]
registerRepXSerializer(PxType type, PxRepXSerializer &serializer)=0 | PxSerializationRegistry | [pure virtual]
registerSerializer(PxType type, PxSerializer &serializer)=0 | PxSerializationRegistry | [pure virtual]
release()=0 | PxSerializationRegistry | [pure virtual]
unregisterRepXSerializer(PxType type)=0 | PxSerializationRegistry | [pure virtual]
unregisterSerializer(PxType type)=0 | PxSerializationRegistry | [pure virtual]
~PxSerializationRegistry() | PxSerializationRegistry | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxSerializer Member List

This is the complete list of members for PxSerializer, including all inherited members.

createObject(PxU8 *&address, PxDeserializationContext &context) const =0 | PxSerializer | [pure virtual]
exportData(PxBase &, PxSerializationContext &) const =0 | PxSerializer | [pure virtual]
exportExtraData(PxBase &, PxSerializationContext &) const =0 | PxSerializer | [pure virtual]
getClassSize() const =0 | PxSerializer | [pure virtual]
getConcreteTypeName() const =0 | PxSerializer | [pure virtual]
isSubordinate() const =0 | PxSerializer | [pure virtual]
registerReferences(PxBase &obj, PxSerializationContext &s) const =0 | PxSerializer | [pure virtual]
requiresObjects(PxBase &, PxProcessPxBaseCallback &) const =0 | PxSerializer | [pure virtual]
~PxSerializer() | PxSerializer | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxSerializerDefaultAdapter< T > Member List

This is the complete list of members for PxSerializerDefaultAdapter< T >, including all inherited members.

createObject(PxU8 *&address, PxDeserializationContext &context) const | PxSerializerDefaultAdapter< T > | [inline, virtual]
exportData(PxBase &obj, PxSerializationContext &s) const | PxSerializerDefaultAdapter< T > | [inline, virtual]
exportExtraData(PxBase &obj, PxSerializationContext &s) const | PxSerializerDefaultAdapter< T > | [inline, virtual]
getClassSize() const | PxSerializerDefaultAdapter< T > | [inline, virtual]
getConcreteTypeName() const | PxSerializerDefaultAdapter< T > | [inline, virtual]
isSubordinate() const | PxSerializerDefaultAdapter< T > | [inline, virtual]
mTypeName | PxSerializerDefaultAdapter< T > | [private]
PxSerializerDefaultAdapter(const char *name) | PxSerializerDefaultAdapter< T > | [inline]
registerReferences(PxBase &obj, PxSerializationContext &s) const | PxSerializerDefaultAdapter< T > | [inline, virtual]
requiresObjects(PxBase &obj, PxProcessPxBaseCallback &c) const | PxSerializerDefaultAdapter< T > | [inline, virtual]
~PxSerializer() | PxSerializer | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxShape Member List

This is the complete list of members for PxShape, including all inherited members.

acquireReference()=0 | PxShape | [pure virtual]
getActor() const =0 | PxShape | [pure virtual]
getBaseFlags() const | PxBase | [inline]
getBoxGeometry(PxBoxGeometry &geometry) const =0 | PxShape | [pure virtual]
getCapsuleGeometry(PxCapsuleGeometry &geometry) const =0 | PxShape | [pure virtual]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const | PxShape | [inline, virtual]
getContactOffset() const =0 | PxShape | [pure virtual]
getConvexMeshGeometry(PxConvexMeshGeometry &geometry) const =0 | PxShape | [pure virtual]
getFlags() const =0 | PxShape | [pure virtual]
getGeometry() const =0 | PxShape | [pure virtual]
getGeometryType() const =0 | PxShape | [pure virtual]
getHeightFieldGeometry(PxHeightFieldGeometry &geometry) const =0 | PxShape | [pure virtual]
getLocalPose() const =0 | PxShape | [pure virtual]
getMaterialFromInternalFaceIndex(PxU32 faceIndex) const =0 | PxShape | [pure virtual]
getMaterials(PxMaterial **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 | PxShape | [pure virtual]
getName() const =0 | PxShape | [pure virtual]
getNbMaterials() const =0 | PxShape | [pure virtual]
getPlaneGeometry(PxPlaneGeometry &geometry) const =0 | PxShape | [pure virtual]
getQueryFilterData() const =0 | PxShape | [pure virtual]
getRestOffset() const =0 | PxShape | [pure virtual]
getSimulationFilterData() const =0 | PxShape | [pure virtual]
getSphereGeometry(PxSphereGeometry &geometry) const =0 | PxShape | [pure virtual]
getTriangleMeshGeometry(PxTriangleMeshGeometry &geometry) const =0 | PxShape | [pure virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isExclusive() const =0 | PxShape | [pure virtual]
isKindOf(const char *name) const | PxShape | [inline, protected, virtual]
isReleasable() const | PxBase | [inline, virtual]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxShape(PxBaseFlags baseFlags) | PxShape | [inline, protected]
PxShape(PxType concreteType, PxBaseFlags baseFlags) | PxShape | [inline, protected]
release()=0 | PxShape | [pure virtual]
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
setContactOffset(PxReal contactOffset)=0 | PxShape | [pure virtual]
setFlag(PxShapeFlag::Enum flag, bool value)=0 | PxShape | [pure virtual]
setFlags(PxShapeFlags inFlags)=0 | PxShape | [pure virtual]
setGeometry(const PxGeometry &geometry)=0 | PxShape | [pure virtual]
setLocalPose(const PxTransform &pose)=0 | PxShape | [pure virtual]
setMaterials(PxMaterial *const *materials, PxU16 materialCount)=0 | PxShape | [pure virtual]
setName(const char *name)=0 | PxShape | [pure virtual]
setQueryFilterData(const PxFilterData &data)=0 | PxShape | [pure virtual]
setRestOffset(PxReal restOffset)=0 | PxShape | [pure virtual]
setSimulationFilterData(const PxFilterData &data)=0 | PxShape | [pure virtual]
typeMatch() const | PxBase | [inline, protected]
userData | PxShape |
~PxBase() | PxBase | [inline, protected, virtual]
~PxShape() | PxShape | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxShapeExt Member List

This is the complete list of members for PxShapeExt, including all inherited members.

getGlobalPose(const PxShape &shape, const PxRigidActor &actor) | PxShapeExt | [inline, static]
getWorldBounds(const PxShape &shape, const PxRigidActor &actor, float inflation=1.01f) | PxShapeExt | [inline, static]
overlap(const PxShape &shape, const PxRigidActor &actor, const PxGeometry &otherGeom, const PxTransform &otherGeomPose) | PxShapeExt | [inline, static]
raycast(const PxShape &shape, const PxRigidActor &actor, const PxVec3 &rayOrigin, const PxVec3 &rayDir, PxReal maxDist, PxHitFlags hitFlags, PxU32 maxHits, PxRaycastHit *rayHits) | PxShapeExt | [inline, static]
sweep(const PxShape &shape, const PxRigidActor &actor, const PxVec3 &unitDir, const PxReal distance, const PxGeometry &otherGeom, const PxTransform &otherGeomPose, PxSweepHit &sweepHit, PxHitFlags hitFlags) | PxShapeExt | [inline, static]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxSimpleTriangleMesh Member List

This is the complete list of members for PxSimpleTriangleMesh, including all inherited members.

flags | PxSimpleTriangleMesh
isValid() const | PxSimpleTriangleMesh
points | PxSimpleTriangleMesh
PxSimpleTriangleMesh() | PxSimpleTriangleMesh
setToDefault() | PxSimpleTriangleMesh
triangles | PxSimpleTriangleMesh


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxSimulationEventCallback Member List

This is the complete list of members for PxSimulationEventCallback, including all inherited members.

onAdvance(const PxRigidBody *const *bodyBuffer, const PxTransform *poseBuffer, const PxU32 count)=0 | PxSimulationEventCallback | [pure virtual]
onConstraintBreak(PxConstraintInfo *constraints, PxU32 count)=0 | PxSimulationEventCallback | [pure virtual]
onContact(const PxContactPairHeader &pairHeader, const PxContactPair *pairs, PxU32 nbPairs)=0 | PxSimulationEventCallback | [pure virtual]
onSleep(PxActor **actors, PxU32 count)=0 | PxSimulationEventCallback | [pure virtual]
onTrigger(PxTriggerPair *pairs, PxU32 count)=0 | PxSimulationEventCallback | [pure virtual]
onWake(PxActor **actors, PxU32 count)=0 | PxSimulationEventCallback | [pure virtual]
~PxSimulationEventCallback() | PxSimulationEventCallback | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxSimulationFilterCallback Member List

This is the complete list of members for PxSimulationFilterCallback, including all inherited members.

pairFound(PxU32 pairID, PxFilterObjectAttributes attributes0, PxFilterData filterData0, const PxActor *a0, const PxShape *s0, PxFilterObjectAttributes attributes1, PxFilterData filterData1, const PxActor *a1, const PxShape *s1, PxPairFlags &pairFlags)=0 | PxSimulationFilterCallback | [pure virtual]
pairLost(PxU32 pairID, PxFilterObjectAttributes attributes0, PxFilterData filterData0, PxFilterObjectAttributes attributes1, PxFilterData filterData1, bool objectRemoved)=0 | PxSimulationFilterCallback | [pure virtual]
statusChange(PxU32 &pairID, PxPairFlags &pairFlags, PxFilterFlags &filterFlags)=0 | PxSimulationFilterCallback | [pure virtual]
~PxSimulationFilterCallback() | PxSimulationFilterCallback | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxSimulationStatistics Member List

This is the complete list of members for PxSimulationStatistics, including all inherited members.

compressedContactSize | PxSimulationStatistics |
eCCD_PAIRS enum value | PxSimulationStatistics |
eDISCRETE_CONTACT_PAIRS enum value | PxSimulationStatistics |
eMODIFIED_CONTACT_PAIRS enum value | PxSimulationStatistics |
eRIGID_BODY enum value | PxSimulationStatistics |
eTRIGGER_PAIRS enum value | PxSimulationStatistics |
eVOLUME_COUNT enum value | PxSimulationStatistics |
getNbBroadPhaseAdds(VolumeType type) const | PxSimulationStatistics | [inline]
getNbBroadPhaseRemoves(VolumeType type) const | PxSimulationStatistics | [inline]
getRbPairStats(RbPairStatsType pairType, PxGeometryType::Enum g0, PxGeometryType::Enum g1) const | PxSimulationStatistics | [inline]
nbActiveConstraints | PxSimulationStatistics |
nbActiveDynamicBodies | PxSimulationStatistics |
nbActiveKinematicBodies | PxSimulationStatistics |
nbAggregates | PxSimulationStatistics |
nbArticulations | PxSimulationStatistics |
nbAxisSolverConstraints | PxSimulationStatistics |
nbBroadPhaseAdds | PxSimulationStatistics |
nbBroadPhaseRemoves | PxSimulationStatistics |
nbCCDPairs | PxSimulationStatistics |
nbDiscreteContactPairs | PxSimulationStatistics |
nbDiscreteContactPairsTotal | PxSimulationStatistics |
nbDiscreteContactPairsWithCacheHits | PxSimulationStatistics |
nbDiscreteContactPairsWithContacts | PxSimulationStatistics |
nbDynamicBodies | PxSimulationStatistics |
nbLostPairs | PxSimulationStatistics |
nbLostTouches | PxSimulationStatistics |
nbModifiedContactPairs | PxSimulationStatistics |
nbNewPairs | PxSimulationStatistics |
nbNewTouches | PxSimulationStatistics |
nbPartitions | PxSimulationStatistics |
nbShapes | PxSimulationStatistics |
nbStaticBodies | PxSimulationStatistics |
nbTriggerPairs | PxSimulationStatistics |
particlesGpuMeshCacheHitrate | PxSimulationStatistics |
particlesGpuMeshCacheSize | PxSimulationStatistics |
particlesGpuMeshCacheUsed | PxSimulationStatistics |
peakConstraintMemory | PxSimulationStatistics |
PX_DEPRECATED enum value | PxSimulationStatistics |
PxSimulationStatistics() | PxSimulationStatistics | [inline]
RbPairStatsType enum name | PxSimulationStatistics |
requiredContactConstraintMemory | PxSimulationStatistics |
VolumeType enum name | PxSimulationStatistics |


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxSpatialIndex Member List

This is the complete list of members for PxSpatialIndex, including all inherited members.

flush()=0 | PxSpatialIndex | [pure virtual]
insert(PxSpatialIndexItem &item, const PxBounds3 &bounds)=0 | PxSpatialIndex | [pure virtual]
overlap(const PxBounds3 &aabb, PxSpatialOverlapCallback &callback) const =0 | PxSpatialIndex | [pure virtual]
raycast(const PxVec3 &origin, const PxVec3 &unitDir, PxReal maxDist, PxSpatialLocationCallback &callback) const =0 | PxSpatialIndex | [pure virtual]
rebuildFull()=0 | PxSpatialIndex | [pure virtual]
rebuildStep()=0 | PxSpatialIndex | [pure virtual]
release()=0 | PxSpatialIndex | [pure virtual]
remove(PxSpatialIndexItemId id)=0 | PxSpatialIndex | [pure virtual]
setIncrementalRebuildRate(PxU32 rate)=0 | PxSpatialIndex | [pure virtual]
sweep(const PxBounds3 &aabb, const PxVec3 &unitDir, PxReal maxDist, PxSpatialLocationCallback &callback) const =0 | PxSpatialIndex | [pure virtual]
update(PxSpatialIndexItemId id, const PxBounds3 &bounds)=0 | PxSpatialIndex | [pure virtual]
~PxSpatialIndex() | PxSpatialIndex | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxSphereGeometry Member List

This is the complete list of members for PxSphereGeometry, including all inherited members.

getType() const | PxGeometry | [inline]
isValid() const | PxSphereGeometry
mType | PxGeometry | [protected]
PxGeometry(PxGeometryType::Enum type) | PxGeometry | [inline, protected]
PxSphereGeometry() | PxSphereGeometry | [inline]
PxSphereGeometry(PxReal ir) | PxSphereGeometry | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxSphericalJoint Member List

This is the complete list of members for PxSphericalJoint, including all inherited members.

getActors(PxRigidActor *&actor0, PxRigidActor *&actor1) const =0 | PxJoint | [pure virtual]
getBaseFlags() const | PxBase | [inline]
getBinaryMetaData(PxOutputStream &stream) | PxJoint | [static]
getBreakForce(PxReal &force, PxReal &torque) const =0 | PxJoint | [pure virtual]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const | PxSphericalJoint | [inline, virtual]
getConstraint() const =0 | PxJoint | [pure virtual]
getConstraintFlags() const =0 | PxJoint | [pure virtual]
getInvInertiaScale0() const =0 | PxJoint | [pure virtual]
getInvInertiaScale1() const =0 | PxJoint | [pure virtual]
getInvMassScale0() const =0 | PxJoint | [pure virtual]
getInvMassScale1() const =0 | PxJoint | [pure virtual]
getLimitCone() const =0 | PxSphericalJoint | [pure virtual]
getLocalPose(PxJointActorIndex::Enum actor) const =0 | PxJoint | [pure virtual]
getName() const =0 | PxJoint | [pure virtual]
getProjectionLinearTolerance() const =0 | PxSphericalJoint | [pure virtual]
getRelativeAngularVelocity() const =0 | PxJoint | [pure virtual]
getRelativeLinearVelocity() const =0 | PxJoint | [pure virtual]
getRelativeTransform() const =0 | PxJoint | [pure virtual]
getScene() const =0 | PxJoint | [pure virtual]
getSphericalJointFlags(void) const =0 | PxSphericalJoint | [pure virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxSphericalJoint | [inline, protected, virtual]
isReleasable() const | PxBase | [inline, virtual]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxJoint(PxType concreteType, PxBaseFlags baseFlags) | PxJoint | [inline, protected]
PxJoint(PxBaseFlags baseFlags) | PxJoint | [inline, protected]
PxSphericalJoint(PxType concreteType, PxBaseFlags baseFlags) | PxSphericalJoint | [inline, protected]
PxSphericalJoint(PxBaseFlags baseFlags) | PxSphericalJoint | [inline, protected]
release()=0 | PxJoint | [pure virtual]
setActors(PxRigidActor *actor0, PxRigidActor *actor1)=0 | PxJoint | [pure virtual]
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
setBreakForce(PxReal force, PxReal torque)=0 | PxJoint | [pure virtual]
setConstraintFlag(PxConstraintFlag::Enum flag, bool value)=0 | PxJoint | [pure virtual]
setConstraintFlags(PxConstraintFlags flags)=0 | PxJoint | [pure virtual]
setInvInertiaScale0(PxReal invInertiaScale)=0 | PxJoint | [pure virtual]
setInvInertiaScale1(PxReal invInertiaScale)=0 | PxJoint | [pure virtual]
setInvMassScale0(PxReal invMassScale)=0 | PxJoint | [pure virtual]
setInvMassScale1(PxReal invMassScale)=0 | PxJoint | [pure virtual]
setLimitCone(const PxJointLimitCone &limit)=0 | PxSphericalJoint | [pure virtual]
setLocalPose(PxJointActorIndex::Enum actor, const PxTransform &localPose)=0 | PxJoint | [pure virtual]
setName(const char *name)=0 | PxJoint | [pure virtual]
setProjectionLinearTolerance(PxReal tolerance)=0 | PxSphericalJoint | [pure virtual]
setSphericalJointFlag(PxSphericalJointFlag::Enum flag, bool value)=0 | PxSphericalJoint | [pure virtual]
setSphericalJointFlags(PxSphericalJointFlags flags)=0 | PxSphericalJoint | [pure virtual]
typeMatch() const | PxBase | [inline, protected]
userData | PxJoint |
~PxBase() | PxBase | [inline, protected, virtual]
~PxJoint() | PxJoint | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxSpring Member List

This is the complete list of members for PxSpring, including all inherited members.

damping PxSpring
PxSpring(PxReal stiffness_, PxReal damping_) PxSpring [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxStrideIterator< T > Member List

This is the complete list of members for PxStrideIterator< T >, including all inherited members.

byteAdd(T *ptr, PxU32 bytes) | PxStrideIterator< T > | [inline, private, static]
byteSub(T *ptr, PxU32 bytes) | PxStrideIterator< T > | [inline, private, static]
isCompatible(const PxStrideIterator &other) const | PxStrideIterator< T > | [inline, private]
mPtr | PxStrideIterator< T > | [private]
mStride | PxStrideIterator< T > | [private]
operator!=(const PxStrideIterator &other) const | PxStrideIterator< T > | [inline]
operator*() const | PxStrideIterator< T > | [inline]
operator+(unsigned int i) const | PxStrideIterator< T > | [inline]
operator++() | PxStrideIterator< T > | [inline]
operator++(int) | PxStrideIterator< T > | [inline]
operator+=(unsigned int i) | PxStrideIterator< T > | [inline]
operator-(unsigned int i) const | PxStrideIterator< T > | [inline]
operator-(const PxStrideIterator &other) const | PxStrideIterator< T > | [inline]
operator--() | PxStrideIterator< T > | [inline]
operator--(int) | PxStrideIterator< T > | [inline]
operator-=(unsigned int i) | PxStrideIterator< T > | [inline]
operator->() const | PxStrideIterator< T > | [inline]
operator<(const PxStrideIterator &other) const | PxStrideIterator< T > | [inline]
operator<=(const PxStrideIterator &other) const | PxStrideIterator< T > | [inline]
operator==(const PxStrideIterator &other) const | PxStrideIterator< T > | [inline]
operator>(const PxStrideIterator &other) const | PxStrideIterator< T > | [inline]
operator>=(const PxStrideIterator &other) const | PxStrideIterator< T > | [inline]
operator[](unsigned int i) const | PxStrideIterator< T > | [inline]
ptr() const | PxStrideIterator< T > | [inline]
PxStrideIterator(T *ptr=NULL, PxU32 stride=sizeof(T)) | PxStrideIterator< T > | [inline, explicit]
PxStrideIterator(const PxStrideIterator< typename StripConst< T >::Type > &strideIterator) | PxStrideIterator< T > | [inline]
stride() const | PxStrideIterator< T > | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxStringTable Member List

This is the complete list of members for PxStringTable, including all inherited members.

allocateStr(const char *inSrc)=0 | PxStringTable | [pure virtual]
release()=0 | PxStringTable | [pure virtual]
~PxStringTable() | PxStringTable | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxStringTableExt Member List

This is the complete list of members for PxStringTableExt, including all inherited members.

createStringTable(physx::PxAllocatorCallback &inAllocator) PxStringTableExt [static]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxTolerancesScale Member List

This is the complete list of members for PxTolerancesScale, including all inherited members.

isValid() const | PxTolerancesScale
length | PxTolerancesScale
mass | PxTolerancesScale
PxTolerancesScale() | PxTolerancesScale
speed | PxTolerancesScale


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxTransform Member List

This is the complete list of members for PxTransform, including all inherited members.

getInverse() const | PxTransform | [inline]
getNormalized() const | PxTransform | [inline]
inverseTransform(const PxPlane &plane) const | PxTransform | [inline]
isFinite() const | PxTransform | [inline]
isSane() const | PxTransform | [inline]
isValid() const | PxTransform | [inline]
operator*(const PxTransform &x) const | PxTransform | [inline]
operator*=(PxTransform &other) | PxTransform | [inline]
operator==(const PxTransform &t) const | PxTransform | [inline]
p | PxTransform |
PxTransform() | PxTransform | [inline]
PxTransform(const PxVec3 &position) | PxTransform | [inline, explicit]
PxTransform(PxIDENTITY r) | PxTransform | [inline, explicit]
PxTransform(const PxQuat &orientation) | PxTransform | [inline, explicit]
PxTransform(float x, float y, float z, PxQuat aQ=PxQuat(PxIdentity)) | PxTransform | [inline]
PxTransform(const PxVec3 &p0, const PxQuat &q0) | PxTransform | [inline]
PxTransform(const PxMat44 &m) | PxTransform | [explicit]
q | PxTransform |
rotate(const PxVec3 &input) const | PxTransform | [inline]
rotateInv(const PxVec3 &input) const | PxTransform | [inline]
transform(const PxVec3 &input) const | PxTransform | [inline]
transform(const PxTransform &src) const | PxTransform | [inline]
transform(const PxPlane &plane) const | PxTransform | [inline]
transformInv(const PxVec3 &input) const | PxTransform | [inline]
transformInv(const PxTransform &src) const | PxTransform | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxTriangle Member List

This is the complete list of members for PxTriangle, including all inherited members.

area() const | PxTriangle | [inline]
denormalizedNormal(PxVec3 &_normal) const | PxTriangle | [inline]
normal(PxVec3 &_normal) const | PxTriangle | [inline]
operator=(const PxTriangle &triangle) | PxTriangle | [inline]
pointFromUV(PxReal u, PxReal v) const | PxTriangle | [inline]
PxTriangle() | PxTriangle | [inline]
PxTriangle(const PxVec3 &p0, const PxVec3 &p1, const PxVec3 &p2) | PxTriangle | [inline]
PxTriangle(const PxTriangle &triangle) | PxTriangle | [inline]
verts | PxTriangle |
~PxTriangle() | PxTriangle | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxTriangleMesh Member List

This is the complete list of members for PxTriangleMesh, including all inherited members.

acquireReference()=0 | PxTriangleMesh | [pure virtual]
getBaseFlags() const | PxBase | [inline]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const =0 | PxBase | [pure virtual]
getLocalBounds() const =0 | PxTriangleMesh | [pure virtual]
getNbTriangles() const =0 | PxTriangleMesh | [pure virtual]
getNbVertices() const =0 | PxTriangleMesh | [pure virtual]
getReferenceCount() const =0 | PxTriangleMesh | [pure virtual]
getTriangleMaterialIndex(PxTriangleID triangleIndex) const =0 | PxTriangleMesh | [pure virtual]
getTriangleMeshFlags() const =0 | PxTriangleMesh | [pure virtual]
getTriangles() const =0 | PxTriangleMesh | [pure virtual]
getTrianglesRemap() const =0 | PxTriangleMesh | [pure virtual]
getVertices() const =0 | PxTriangleMesh | [pure virtual]
getVerticesForModification()=0 | PxTriangleMesh | [pure virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxTriangleMesh | [inline, protected, virtual]
isReleasable() const | PxBase | [inline, virtual]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxTriangleMesh(PxType concreteType, PxBaseFlags baseFlags) | PxTriangleMesh | [inline, protected]
PxTriangleMesh(PxBaseFlags baseFlags) | PxTriangleMesh | [inline, protected]
refitBVH()=0 | PxTriangleMesh | [pure virtual]
release()=0 | PxTriangleMesh | [pure virtual]
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
typeMatch() const | PxBase | [inline, protected]
~PxBase() | PxBase | [inline, protected, virtual]
~PxTriangleMesh() | PxTriangleMesh | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxTriangleMeshDesc Member List

This is the complete list of members for PxTriangleMeshDesc, including all inherited members.

flags | PxSimpleTriangleMesh
isValid() const | PxTriangleMeshDesc
materialIndices | PxTriangleMeshDesc
points | PxSimpleTriangleMesh
PxSimpleTriangleMesh() | PxSimpleTriangleMesh
PxTriangleMeshDesc() | PxTriangleMeshDesc
setToDefault() | PxTriangleMeshDesc
triangles | PxSimpleTriangleMesh


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxTriangleMeshGeometry Member List

This is the complete list of members for PxTriangleMeshGeometry, including all inherited members.

getType() const | PxGeometry | [inline]
isValid() const | PxTriangleMeshGeometry
meshFlags PxTriangleMeshGeometry
mType | PxGeometry | [protected]
paddingFromFlags PxTriangleMeshGeometry
PxGeometry(PxGeometryType::Enum type) | PxGeometry | [inline, protected]
PxTriangleMeshGeometry() | PxTriangleMeshGeometry | [inline]
PxTriangleMeshGeometry(PxTriangleMesh *mesh, const PxMeshScale &scaling=PxMeshScale(), PxMeshGeometryFlags flags=PxMeshGeometryFlags()) | PxTriangleMeshGeometry | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxUserControllerHitReport Member List

This is the complete list of members for PxUserControllerHitReport, including all inherited members.

onControllerHit(const PxControllersHit &hit)=0 | PxUserControllerHitReport | [pure virtual]
onObstacleHit(const PxControllerObstacleHit &hit)=0 | PxUserControllerHitReport | [pure virtual]
onShapeHit(const PxControllerShapeHit &hit)=0 | PxUserControllerHitReport | [pure virtual]
~PxUserControllerHitReport() | PxUserControllerHitReport | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVec2 Member List

This is the complete list of members for PxVec2, including all inherited members.

dot(const PxVec2 &v) const | PxVec2 | [inline]
getNormalized() const | PxVec2 | [inline]
isFinite() const | PxVec2 | [inline]
isNormalized() const | PxVec2 | [inline]
isZero() const | PxVec2 | [inline]
magnitude() const | PxVec2 | [inline]
magnitudeSquared() const | PxVec2 | [inline]
maxElement() const | PxVec2 | [inline]
maximum(const PxVec2 &v) const | PxVec2 | [inline]
minElement() const | PxVec2 | [inline]
minimum(const PxVec2 &v) const | PxVec2 | [inline]
multiply(const PxVec2 &a) const | PxVec2 | [inline]
normalize() | PxVec2 | [inline]
operator!=(const PxVec2 &v) const | PxVec2 | [inline]
operator*(float f) const | PxVec2 | [inline]
operator*=(float f) | PxVec2 | [inline]
operator+(const PxVec2 &v) const | PxVec2 | [inline]
operator+=(const PxVec2 &v) | PxVec2 | [inline]
operator-() const | PxVec2 | [inline]
operator-(const PxVec2 &v) const | PxVec2 | [inline]
operator-=(const PxVec2 &v) | PxVec2 | [inline]
operator/(float f) const | PxVec2 | [inline]
operator/=(float f) | PxVec2 | [inline]
operator=(const PxVec2 &p) | PxVec2 | [inline]
operator==(const PxVec2 &v) const | PxVec2 | [inline]
operator[](int index) | PxVec2 | [inline]
operator[](int index) const | PxVec2 | [inline]
PxVec2() | PxVec2 | [inline]
PxVec2(PxZERO r) | PxVec2 | [inline]
PxVec2(float a) | PxVec2 | [inline, explicit]
PxVec2(float nx, float ny) | PxVec2 | [inline]
PxVec2(const PxVec2 &v) | PxVec2 | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVec3 Member List

This is the complete list of members for PxVec3, including all inherited members.

abs() const | PxVec3 | [inline]
cross(const PxVec3 &v) const | PxVec3 | [inline]
dot(const PxVec3 &v) const | PxVec3 | [inline]
getNormalized() const | PxVec3 | [inline]
isFinite() const | PxVec3 | [inline]
isNormalized() const | PxVec3 | [inline]
isZero() const | PxVec3 | [inline]
magnitude() const | PxVec3 | [inline]
magnitudeSquared() const | PxVec3 | [inline]
maxElement() const | PxVec3 | [inline]
maximum(const PxVec3 &v) const | PxVec3 | [inline]
minElement() const | PxVec3 | [inline]
minimum(const PxVec3 &v) const | PxVec3 | [inline]
multiply(const PxVec3 &a) const | PxVec3 | [inline]
normalize() | PxVec3 | [inline]
normalizeFast() | PxVec3 | [inline]
normalizeSafe() | PxVec3 | [inline]
operator!=(const PxVec3 &v) const | PxVec3 | [inline]
operator*(float f) const | PxVec3 | [inline]
operator*=(float f) | PxVec3 | [inline]
operator+(const PxVec3 &v) const | PxVec3 | [inline]
operator+=(const PxVec3 &v) | PxVec3 | [inline]
operator-() const | PxVec3 | [inline]
operator-(const PxVec3 &v) const | PxVec3 | [inline]
operator-=(const PxVec3 &v) | PxVec3 | [inline]
operator/(float f) const | PxVec3 | [inline]
operator/=(float f) | PxVec3 | [inline]
operator=(const PxVec3 &p) | PxVec3 | [inline]
operator==(const PxVec3 &v) const | PxVec3 | [inline]
operator[](unsigned int index) | PxVec3 | [inline]
operator[](unsigned int index) const | PxVec3 | [inline]
PxVec3() | PxVec3 | [inline]
PxVec3(PxZERO r) | PxVec3 | [inline]
PxVec3(float a) | PxVec3 | [inline, explicit]
PxVec3(float nx, float ny, float nz) | PxVec3 | [inline]
PxVec3(const PxVec3 &v) | PxVec3 | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVec4 Member List

This is the complete list of members for PxVec4, including all inherited members.

dot(const PxVec4 &v) const | PxVec4 | [inline]
getNormalized() const | PxVec4 | [inline]
getXYZ() const | PxVec4 | [inline]
isFinite() const | PxVec4 | [inline]
isNormalized() const | PxVec4 | [inline]
isZero() const | PxVec4 | [inline]
magnitude() const | PxVec4 | [inline]
magnitudeSquared() const | PxVec4 | [inline]
maximum(const PxVec4 &v) const | PxVec4 | [inline]
minimum(const PxVec4 &v) const | PxVec4 | [inline]
multiply(const PxVec4 &a) const | PxVec4 | [inline]
normalize() | PxVec4 | [inline]
operator!=(const PxVec4 &v) const | PxVec4 | [inline]
operator*(float f) const | PxVec4 | [inline]
operator*=(float f) | PxVec4 | [inline]
operator+(const PxVec4 &v) const | PxVec4 | [inline]
operator+=(const PxVec4 &v) | PxVec4 | [inline]
operator-() const | PxVec4 | [inline]
operator-(const PxVec4 &v) const | PxVec4 | [inline]
operator-=(const PxVec4 &v) | PxVec4 | [inline]
operator/(float f) const | PxVec4 | [inline]
operator/=(float f) | PxVec4 | [inline]
operator=(const PxVec4 &p) | PxVec4 | [inline]
operator==(const PxVec4 &v) const | PxVec4 | [inline]
operator[](unsigned int index) | PxVec4 | [inline]
operator[](unsigned int index) const | PxVec4 | [inline]
PxVec4() | PxVec4 | [inline]
PxVec4(PxZERO r) | PxVec4 | [inline]
PxVec4(float a) | PxVec4 | [inline, explicit]
PxVec4(float nx, float ny, float nz, float nw) | PxVec4 | [inline]
PxVec4(const PxVec3 &v, float nw) | PxVec4 | [inline]
PxVec4(const float v[]) | PxVec4 | [inline, explicit]
PxVec4(const PxVec4 &v) | PxVec4 | [inline]
setZero() | PxVec4 | [inline]
w | PxVec4 |
x | PxVec4 |
y | PxVec4 |
z | PxVec4 |


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleAckermannGeometryData Member List

This is the complete list of members for PxVehicleAckermannGeometryData, including all inherited members.

isValid() const | PxVehicleAckermannGeometryData | [private]
mAccuracy | PxVehicleAckermannGeometryData |
mAxleSeparation | PxVehicleAckermannGeometryData |
mFrontWidth | PxVehicleAckermannGeometryData |
mRearWidth | PxVehicleAckermannGeometryData |
PxVehicleAckermannGeometryData() | PxVehicleAckermannGeometryData | [inline]
PxVehicleAckermannGeometryData(const PxEMPTY) | PxVehicleAckermannGeometryData | [inline]
PxVehicleDriveSimData4W class | PxVehicleAckermannGeometryData | [friend]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleAntiRollBarData Member List

This is the complete list of members for PxVehicleAntiRollBarData, including all inherited members.

isValid() const | PxVehicleAntiRollBarData | [private]
mPad | PxVehicleAntiRollBarData | [private]
mStiffness | PxVehicleAntiRollBarData |
mWheel0 | PxVehicleAntiRollBarData |
mWheel1 | PxVehicleAntiRollBarData |
PxVehicleAntiRollBarData() | PxVehicleAntiRollBarData | [inline]
PxVehicleWheelsSimData class | PxVehicleAntiRollBarData | [friend]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleAutoBoxData Member List

This is the complete list of members for PxVehicleAutoBoxData, including all inherited members.

getDownRatios(PxVehicleGearsData::Enum a) const | PxVehicleAutoBoxData | [inline]
getLatency() const | PxVehicleAutoBoxData | [inline]
getUpRatios(PxVehicleGearsData::Enum a) const | PxVehicleAutoBoxData | [inline]
isValid() const | PxVehicleAutoBoxData | [private]
mDownRatios | PxVehicleAutoBoxData |
mUpRatios | PxVehicleAutoBoxData |
PxVehicleAutoBoxData() | PxVehicleAutoBoxData | [inline]
PxVehicleAutoBoxData(const PxEMPTY) | PxVehicleAutoBoxData | [inline]
PxVehicleDriveSimData class | PxVehicleAutoBoxData | [friend]
setDownRatios(PxVehicleGearsData::Enum a, PxReal ratio) | PxVehicleAutoBoxData | [inline]
setLatency(const PxReal latency) | PxVehicleAutoBoxData | [inline]
setUpRatios(PxVehicleGearsData::Enum a, PxReal ratio) | PxVehicleAutoBoxData | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleChassisData Member List

This is the complete list of members for PxVehicleChassisData, including all inherited members.

isValid() const | PxVehicleChassisData | [private]
mCMOffset | PxVehicleChassisData |
mMass | PxVehicleChassisData |
mMOI | PxVehicleChassisData |
pad | PxVehicleChassisData | [private]
PxVehicleChassisData() | PxVehicleChassisData | [inline]
PxVehicleDriveSimData4W class | PxVehicleChassisData | [friend]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleClutchData Member List

This is the complete list of members for PxVehicleClutchData, including all inherited members.

isValid() const | PxVehicleClutchData | [private]
mAccuracyMode | PxVehicleClutchData |
mEstimateIterations | PxVehicleClutchData |
mPad | PxVehicleClutchData | [private]
mStrength | PxVehicleClutchData |
PxVehicleClutchData() | PxVehicleClutchData | [inline]
PxVehicleClutchData(const PxEMPTY) | PxVehicleClutchData | [inline]
PxVehicleDriveSimData class | PxVehicleClutchData | [friend]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleCopyDynamicsMap Member List

This is the complete list of members for PxVehicleCopyDynamicsMap, including all inherited members.

PxVehicleCopyDynamicsMap() PxVehicleCopyDynamicsMap [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleDifferential4WData Member List

This is the complete list of members for PxVehicleDifferential4WData, including all inherited members.

eDIFF_TYPE_LS_4WD enum value | PxVehicleDifferential4WData |
eDIFF_TYPE_LS_FRONTWD enum value | PxVehicleDifferential4WData |
eDIFF_TYPE_LS_REARWD enum value | PxVehicleDifferential4WData |
eDIFF_TYPE_OPEN_4WD enum value | PxVehicleDifferential4WData |
eDIFF_TYPE_OPEN_FRONTWD enum value | PxVehicleDifferential4WData |
eDIFF_TYPE_OPEN_REARWD enum value | PxVehicleDifferential4WData |
eMAX_NB_DIFF_TYPES enum value | PxVehicleDifferential4WData |
Enum enum name | PxVehicleDifferential4WData |
isValid() const | PxVehicleDifferential4WData | [private]
mCentreBias | PxVehicleDifferential4WData |
mFrontBias | PxVehicleDifferential4WData |
mFrontLeftRightSplit | PxVehicleDifferential4WData |
mFrontRearSplit | PxVehicleDifferential4WData |
mPad | PxVehicleDifferential4WData | [private]
mRearBias | PxVehicleDifferential4WData |
mRearLeftRightSplit | PxVehicleDifferential4WData |
mType | PxVehicleDifferential4WData |
PxVehicleDifferential4WData() | PxVehicleDifferential4WData | [inline]
PxVehicleDifferential4WData(const PxEMPTY) | PxVehicleDifferential4WData | [inline]
PxVehicleDriveSimData4W class | PxVehicleDifferential4WData | [friend]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleDifferentialNWData Member List

This is the complete list of members for PxVehicleDifferentialNWData, including all inherited members.

getDrivenWheelStatus() const | PxVehicleDifferentialNWData |
getIsDrivenWheel(const PxU32 wheelId) const | PxVehicleDifferentialNWData |
isValid() const | PxVehicleDifferentialNWData | [private]
mBitmapBuffer | PxVehicleDifferentialNWData | [private]
mInvNbDrivenWheels | PxVehicleDifferentialNWData | [private]
mNbDrivenWheels | PxVehicleDifferentialNWData | [private]
mPad | PxVehicleDifferentialNWData | [private]
PxVehicleDifferentialNWData() | PxVehicleDifferentialNWData | [inline]
PxVehicleDifferentialNWData(const PxEMPTY) | PxVehicleDifferentialNWData | [inline]
PxVehicleDriveSimDataNW class | PxVehicleDifferentialNWData | [friend]
PxVehicleUpdate class | PxVehicleDifferentialNWData | [friend]
setDrivenWheel(const PxU32 wheelId, const bool drivenState) | PxVehicleDifferentialNWData |
setDrivenWheelStatus(PxU32 status) | PxVehicleDifferentialNWData |


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleDrivableSurfaceToTireFrictionPairs Member List

This is the complete list of members for PxVehicleDrivableSurfaceToTireFrictionPairs, including all inherited members.

allocate(const PxU32 maxNbTireTypes, const PxU32 maxNbSurfaceTypes) | PxVehicleDrivableSurfaceToTireFrictionPairs | [static]
eMAX_NB_SURFACE_TYPES enum value | PxVehicleDrivableSurfaceToTireFrictionPairs |
getMaxNbSurfaceTypes() const | PxVehicleDrivableSurfaceToTireFrictionPairs | [inline]
getMaxNbTireTypes() const | PxVehicleDrivableSurfaceToTireFrictionPairs | [inline]
getTypePairFriction(const PxU32 surfaceType, const PxU32 tireType) const | PxVehicleDrivableSurfaceToTireFrictionPairs |
mDrivableSurfaceMaterials | PxVehicleDrivableSurfaceToTireFrictionPairs | [private]
mDrivableSurfaceTypes | PxVehicleDrivableSurfaceToTireFrictionPairs | [private]
mMaxNbSurfaceTypes | PxVehicleDrivableSurfaceToTireFrictionPairs | [private]
mMaxNbTireTypes | PxVehicleDrivableSurfaceToTireFrictionPairs | [private]
mNbSurfaceTypes | PxVehicleDrivableSurfaceToTireFrictionPairs | [private]
mNbTireTypes | PxVehicleDrivableSurfaceToTireFrictionPairs | [private]
mPad | PxVehicleDrivableSurfaceToTireFrictionPairs | [private]
mPairs | PxVehicleDrivableSurfaceToTireFrictionPairs | [private]
PxVehicleDrivableSurfaceToTireFrictionPairs() | PxVehicleDrivableSurfaceToTireFrictionPairs | [inline, private]
release() | PxVehicleDrivableSurfaceToTireFrictionPairs |
setTypePairFriction(const PxU32 surfaceType, const PxU32 tireType, const PxReal value) | PxVehicleDrivableSurfaceToTireFrictionPairs |
setup(const PxU32 nbTireTypes, const PxU32 nbSurfaceTypes, const PxMaterial **drivableSurfaceMaterials, const PxVehicleDrivableSurfaceType *drivableSurfaceTypes) | PxVehicleDrivableSurfaceToTireFrictionPairs |
VehicleSurfaceTypeHashTable class | PxVehicleDrivableSurfaceToTireFrictionPairs | [friend]
~PxVehicleDrivableSurfaceToTireFrictionPairs() | PxVehicleDrivableSurfaceToTireFrictionPairs | [inline, private]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleDrive4W Member List

This is the complete list of members for PxVehicleDrive4W, including all inherited members.

allocate(const PxU32 nbWheels) | PxVehicleDrive4W | [static]
computeByteSize(const PxU32 numWheels) | PxVehicleDrive | [protected, static]
computeForwardSpeed() const | PxVehicleWheels |
computeSidewaysSpeed() const | PxVehicleWheels |
create(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxVehicleDriveSimData4W &driveData, const PxU32 nbNonDrivenWheels) | PxVehicleDrive4W | [static]
createObject(PxU8 *&address, PxDeserializationContext &context) | PxVehicleDrive4W | [static]
exportExtraData(PxSerializationContext &) | PxVehicleWheels | [virtual]
free() | PxVehicleDrive4W |
getBaseFlags() const | PxBase | [inline]
getBinaryMetaData(PxOutputStream &stream) | PxVehicleDrive4W | [static]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const | PxVehicleDrive4W | [inline, virtual]
getNbNonDrivenWheels() const | PxVehicleWheels | [inline]
getRigidDynamicActor() | PxVehicleWheels | [inline]
getRigidDynamicActor() const | PxVehicleWheels | [inline]
getVehicleType() const | PxVehicleWheels | [inline]
importExtraData(PxDeserializationContext &) | PxVehicleWheels |
init(const PxU32 numWheels) | PxVehicleDrive | [protected, virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxVehicleDrive4W | [inline, protected, virtual]
isReleasable() const | PxBase | [inline, virtual]
isValid() const | PxVehicleDrive4W | [private]
mActor | PxVehicleWheels | [protected]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
mDriveDynData | PxVehicleDrive |
mDriveSimData | PxVehicleDrive4W |
mPad0 | PxVehicleWheels | [protected]
mType | PxVehicleWheels | [protected]
mWheelsDynData | PxVehicleWheels |
mWheelsSimData | PxVehicleWheels |
patchupPointers(const PxU32 nbWheels, PxVehicleDrive *vehDrive, PxU8 *ptr) | PxVehicleDrive | [protected, static]
PxVehicleWheels::patchupPointers(const PxU32 nbWheels, PxVehicleWheels *vehWheels, PxU8 *ptr) | PxVehicleWheels | [protected, static]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxVehicleConstraintShader class | PxVehicleWheels | [friend]
PxVehicleDrive(PxBaseFlags baseFlags) | PxVehicleDrive | [inline]
PxVehicleDrive(PxType concreteType, PxBaseFlags baseFlags) | PxVehicleDrive | [inline, protected]
PxVehicleDrive4W() | PxVehicleDrive4W | [protected]
PxVehicleDrive4W(PxBaseFlags baseFlags) | PxVehicleDrive4W | [inline]
PxVehicleUpdate class | PxVehicleDrive4W | [friend]
PxVehicleWheels(PxType concreteType, PxBaseFlags baseFlags) | PxVehicleWheels | [inline]
PxVehicleWheels(PxBaseFlags baseFlags) | PxVehicleWheels | [inline]
release() | PxVehicleWheels | [inline, virtual]
requiresObjects(PxProcessPxBaseCallback &c) | PxVehicleWheels | [virtual]
resolveReferences(PxDeserializationContext &) | PxVehicleWheels |
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
setToRestState() | PxVehicleDrive4W |
setup(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxVehicleDriveSimData4W &driveData, const PxU32 nbNonDrivenWheels) | PxVehicleDrive4W |
PxVehicleDrive::setup(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxU32 nbDrivenWheels, const PxU32 nbNonDrivenWheels) | PxVehicleDrive | [protected]
typeMatch() const | PxBase | [inline, protected]
~PxBase() | PxBase | [inline, protected, virtual]
~PxVehicleDrive() | PxVehicleDrive | [inline, protected]
~PxVehicleDrive4W() | PxVehicleDrive4W | [inline, protected]
~PxVehicleWheels() | PxVehicleWheels | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleDrive4WRawInputData Member List

This is the complete list of members for PxVehicleDrive4WRawInputData, including all inherited members.

getAnalogAccel() const | PxVehicleDrive4WRawInputData | [inline]
getAnalogBrake() const | PxVehicleDrive4WRawInputData | [inline]
getAnalogHandbrake() const | PxVehicleDrive4WRawInputData | [inline]
getAnalogSteer() const | PxVehicleDrive4WRawInputData | [inline]
getDigitalAccel() const | PxVehicleDrive4WRawInputData | [inline]
getDigitalBrake() const | PxVehicleDrive4WRawInputData | [inline]
getDigitalHandbrake() const | PxVehicleDrive4WRawInputData | [inline]
getDigitalSteerLeft() const | PxVehicleDrive4WRawInputData | [inline]
getDigitalSteerRight() const | PxVehicleDrive4WRawInputData | [inline]
getGearDown() const | PxVehicleDrive4WRawInputData | [inline]
getGearUp() const | PxVehicleDrive4WRawInputData | [inline]
mGearDown | PxVehicleDrive4WRawInputData | [private]
mGearUp | PxVehicleDrive4WRawInputData | [private]
mRawAnalogInputs | PxVehicleDrive4WRawInputData | [private]
mRawDigitalInputs | PxVehicleDrive4WRawInputData | [private]
PxVehicleDrive4WRawInputData() | PxVehicleDrive4WRawInputData | [inline]
setAnalogAccel(const PxReal accel) | PxVehicleDrive4WRawInputData | [inline]
setAnalogBrake(const PxReal brake) | PxVehicleDrive4WRawInputData | [inline]
setAnalogHandbrake(const PxReal handbrake) | PxVehicleDrive4WRawInputData | [inline]
setAnalogSteer(const PxReal steer) | PxVehicleDrive4WRawInputData | [inline]
setDigitalAccel(const bool accelKeyPressed) | PxVehicleDrive4WRawInputData | [inline]
setDigitalBrake(const bool brakeKeyPressed) | PxVehicleDrive4WRawInputData | [inline]
setDigitalHandbrake(const bool handbrakeKeyPressed) | PxVehicleDrive4WRawInputData | [inline]
setDigitalSteerLeft(const bool steerLeftKeyPressed) | PxVehicleDrive4WRawInputData | [inline]
setDigitalSteerRight(const bool steerRightKeyPressed) | PxVehicleDrive4WRawInputData | [inline]
setGearDown(const bool gearDownKeyPressed) | PxVehicleDrive4WRawInputData | [inline]
setGearUp(const bool gearUpKeyPressed) | PxVehicleDrive4WRawInputData | [inline]
~PxVehicleDrive4WRawInputData() | PxVehicleDrive4WRawInputData | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleDrive Member List

This is the complete list of members for PxVehicleDrive, including all inherited members.

computeByteSize(const PxU32 numWheels) | PxVehicleDrive | [protected, static]
computeForwardSpeed() const | PxVehicleWheels |
computeSidewaysSpeed() const | PxVehicleWheels |
exportExtraData(PxSerializationContext &) | PxVehicleWheels | [virtual]
free() | PxVehicleDrive | [protected]
getBaseFlags() const | PxBase | [inline]
getBinaryMetaData(PxOutputStream &stream) | PxVehicleDrive | [static]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const | PxVehicleDrive | [inline, virtual]
getNbNonDrivenWheels() const | PxVehicleWheels | [inline]
getRigidDynamicActor() | PxVehicleWheels | [inline]
getRigidDynamicActor() const | PxVehicleWheels | [inline]
getVehicleType() const | PxVehicleWheels | [inline]
importExtraData(PxDeserializationContext &) | PxVehicleWheels |
init(const PxU32 numWheels) | PxVehicleDrive | [protected, virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxVehicleDrive | [inline, protected, virtual]
isReleasable() const | PxBase | [inline, virtual]
isValid() const | PxVehicleDrive | [protected]
mActor | PxVehicleWheels | [protected]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
mDriveDynData | PxVehicleDrive |
mPad0 | PxVehicleWheels | [protected]
mType | PxVehicleWheels | [protected]
mWheelsDynData | PxVehicleWheels |
mWheelsSimData | PxVehicleWheels |
patchupPointers(const PxU32 nbWheels, PxVehicleDrive *vehDrive, PxU8 *ptr) | PxVehicleDrive | [protected, static]
PxVehicleWheels::patchupPointers(const PxU32 nbWheels, PxVehicleWheels *vehWheels, PxU8 *ptr) | PxVehicleWheels | [protected, static]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxVehicleConstraintShader class | PxVehicleWheels | [friend]
PxVehicleDrive(PxBaseFlags baseFlags) | PxVehicleDrive | [inline]
PxVehicleDrive(PxType concreteType, PxBaseFlags baseFlags) | PxVehicleDrive | [inline, protected]
PxVehicleUpdate class | PxVehicleDrive | [friend]
PxVehicleWheels(PxType concreteType, PxBaseFlags baseFlags) | PxVehicleWheels | [inline]
PxVehicleWheels(PxBaseFlags baseFlags) | PxVehicleWheels | [inline]
release() | PxVehicleWheels | [inline, virtual]
requiresObjects(PxProcessPxBaseCallback &c) | PxVehicleWheels | [virtual]
resolveReferences(PxDeserializationContext &) | PxVehicleWheels |
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
setToRestState() | PxVehicleDrive | [protected]
setup(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxU32 nbDrivenWheels, const PxU32 nbNonDrivenWheels) | PxVehicleDrive | [protected]
typeMatch() const | PxBase | [inline, protected]
~PxBase() | PxBase | [inline, protected, virtual]
~PxVehicleDrive() | PxVehicleDrive | [inline, protected]
~PxVehicleWheels() | PxVehicleWheels | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleDriveDynData Member List

This is the complete list of members for PxVehicleDriveDynData, including all inherited members.

eMAX_NB_ANALOG_INPUTS enum value | PxVehicleDriveDynData |
forceGearChange(const PxU32 targetGear) | PxVehicleDriveDynData | [inline]
getAnalogInput(const PxU32 type) const | PxVehicleDriveDynData |
getAutoBoxSwitchTime() const | PxVehicleDriveDynData | [inline]
getCurrentGear() const | PxVehicleDriveDynData | [inline]
getEngineRotationSpeed() const | PxVehicleDriveDynData | [inline]
getGearChange() const | PxVehicleDriveDynData | [inline]
getGearDown() const | PxVehicleDriveDynData | [inline]
getGearSwitchTime() const | PxVehicleDriveDynData | [inline]
getGearUp() const | PxVehicleDriveDynData | [inline]
getNbAnalogInput() const | PxVehicleDriveDynData | [inline]
getTargetGear() const | PxVehicleDriveDynData | [inline]
getUseAutoGears() const | PxVehicleDriveDynData | [inline]
isValid() const | PxVehicleDriveDynData | [private]
mAutoBoxSwitchTime | PxVehicleDriveDynData |
mControlAnalogVals | PxVehicleDriveDynData |
mCurrentGear | PxVehicleDriveDynData |
mEnginespeed | PxVehicleDriveDynData |
mGearDownPressed | PxVehicleDriveDynData |
mGearSwitchTime | PxVehicleDriveDynData |
mGearUpPressed | PxVehicleDriveDynData |
mPad | PxVehicleDriveDynData | [private]
mTargetGear | PxVehicleDriveDynData |
mUseAutoGears | PxVehicleDriveDynData |
PxVehicleDrive class | PxVehicleDriveDynData | [friend]
PxVehicleDriveDynData() | PxVehicleDriveDynData |
PxVehicleDriveDynData(const PxEMPTY) | PxVehicleDriveDynData | [inline]
setAnalogInput(const PxU32 type, const PxReal analogVal) | PxVehicleDriveDynData |
setAutoBoxSwitchTime(const PxReal autoBoxSwitchTime) | PxVehicleDriveDynData | [inline]
setCurrentGear(PxU32 currentGear) | PxVehicleDriveDynData | [inline]
setEngineRotationSpeed(const PxF32 speed) | PxVehicleDriveDynData | [inline]
setGearChange(const PxU32 gearChange) | PxVehicleDriveDynData | [inline]
setGearDown(const bool digitalVal) | PxVehicleDriveDynData | [inline]
setGearSwitchTime(const PxReal switchTime) | PxVehicleDriveDynData | [inline]
setGearUp(const bool digitalVal) | PxVehicleDriveDynData | [inline]
setTargetGear(PxU32 targetGear) | PxVehicleDriveDynData | [inline]
setToRestState() | PxVehicleDriveDynData |
setUseAutoGears(const bool useAutoGears) | PxVehicleDriveDynData | [inline]
startGearChange(const PxU32 targetGear) | PxVehicleDriveDynData | [inline]
toggleAutoGears() | PxVehicleDriveDynData | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleDriveNW Member List

This is the complete list of members for PxVehicleDriveNW, including all inherited members.

allocate(const PxU32 nbWheels) | PxVehicleDriveNW | [static]
computeByteSize(const PxU32 numWheels) | PxVehicleDrive | [protected, static]
computeForwardSpeed() const | PxVehicleWheels |
computeSidewaysSpeed() const | PxVehicleWheels |
create(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxVehicleDriveSimDataNW &driveData, const PxU32 nbWheels) | PxVehicleDriveNW | [static]
createObject(PxU8 *&address, PxDeserializationContext &context) | PxVehicleDriveNW | [static]
exportExtraData(PxSerializationContext &) | PxVehicleWheels | [virtual]
free() | PxVehicleDriveNW |
getBaseFlags() const | PxBase | [inline]
getBinaryMetaData(PxOutputStream &stream) | PxVehicleDriveNW | [static]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const | PxVehicleDriveNW | [inline, virtual]
getNbNonDrivenWheels() const | PxVehicleWheels | [inline]
getRigidDynamicActor() | PxVehicleWheels | [inline]
getRigidDynamicActor() const | PxVehicleWheels | [inline]
getVehicleType() const | PxVehicleWheels | [inline]
importExtraData(PxDeserializationContext &) | PxVehicleWheels |
init(const PxU32 numWheels) | PxVehicleDrive | [protected, virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxVehicleDriveNW | [inline, virtual]
isReleasable() const | PxBase | [inline, virtual]
isValid() const | PxVehicleDriveNW | [private]
mActor | PxVehicleWheels | [protected]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
mDriveDynData | PxVehicleDrive |
mDriveSimData | PxVehicleDriveNW |
mPad0 | PxVehicleWheels | [protected]
mType | PxVehicleWheels | [protected]
mWheelsDynData | PxVehicleWheels |
mWheelsSimData | PxVehicleWheels |
patchupPointers(const PxU32 nbWheels, PxVehicleDrive *vehDrive, PxU8 *ptr) | PxVehicleDrive | [protected, static]
PxVehicleWheels::patchupPointers(const PxU32 nbWheels, PxVehicleWheels *vehWheels, PxU8 *ptr) | PxVehicleWheels | [protected, static]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxVehicleConstraintShader class | PxVehicleWheels | [friend]
PxVehicleDrive(PxBaseFlags baseFlags) | PxVehicleDrive | [inline]
PxVehicleDrive(PxType concreteType, PxBaseFlags baseFlags) | PxVehicleDrive | [inline, protected]
PxVehicleDriveNW(PxBaseFlags baseFlags) | PxVehicleDriveNW | [inline]
PxVehicleDriveNW() | PxVehicleDriveNW |
PxVehicleUpdate class | PxVehicleDriveNW | [friend]
PxVehicleWheels(PxType concreteType, PxBaseFlags baseFlags) | PxVehicleWheels | [inline]
PxVehicleWheels(PxBaseFlags baseFlags) | PxVehicleWheels | [inline]
release() | PxVehicleWheels | [inline, virtual]
requiresObjects(PxProcessPxBaseCallback &c) | PxVehicleWheels | [virtual]
resolveReferences(PxDeserializationContext &) | PxVehicleWheels |
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
setToRestState() | PxVehicleDriveNW |
setup(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxVehicleDriveSimDataNW &driveData, const PxU32 nbWheels) | PxVehicleDriveNW |
PxVehicleDrive::setup(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxU32 nbDrivenWheels, const PxU32 nbNonDrivenWheels) | PxVehicleDrive | [protected]
typeMatch() const | PxBase | [inline, protected]
~PxBase() | PxBase | [inline, protected, virtual]
~PxVehicleDrive() | PxVehicleDrive | [inline, protected]
~PxVehicleDriveNW() | PxVehicleDriveNW | [inline]
~PxVehicleWheels() | PxVehicleWheels | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleDriveNWRawInputData Member List

This is the complete list of members for PxVehicleDriveNWRawInputData, including all inherited members.

getAnalogAccel() const | PxVehicleDrive4WRawInputData | [inline]
getAnalogBrake() const | PxVehicleDrive4WRawInputData | [inline]
getAnalogHandbrake() const | PxVehicleDrive4WRawInputData | [inline]
getAnalogSteer() const | PxVehicleDrive4WRawInputData | [inline]
getDigitalAccel() const | PxVehicleDrive4WRawInputData | [inline]
getDigitalBrake() const | PxVehicleDrive4WRawInputData | [inline]
getDigitalHandbrake() const | PxVehicleDrive4WRawInputData | [inline]
getDigitalSteerLeft() const | PxVehicleDrive4WRawInputData | [inline]
getDigitalSteerRight() const | PxVehicleDrive4WRawInputData | [inline]
getGearDown() const | PxVehicleDrive4WRawInputData | [inline]
getGearUp() const | PxVehicleDrive4WRawInputData | [inline]
PxVehicleDrive4WRawInputData() | PxVehicleDrive4WRawInputData | [inline]
PxVehicleDriveNWRawInputData() | PxVehicleDriveNWRawInputData | [inline]
setAnalogAccel(const PxReal accel) | PxVehicleDrive4WRawInputData | [inline]
setAnalogBrake(const PxReal brake) | PxVehicleDrive4WRawInputData | [inline]
setAnalogHandbrake(const PxReal handbrake) | PxVehicleDrive4WRawInputData | [inline]
setAnalogSteer(const PxReal steer) | PxVehicleDrive4WRawInputData | [inline]
setDigitalAccel(const bool accelKeyPressed) | PxVehicleDrive4WRawInputData | [inline]
setDigitalBrake(const bool brakeKeyPressed) | PxVehicleDrive4WRawInputData | [inline]
setDigitalHandbrake(const bool handbrakeKeyPressed) | PxVehicleDrive4WRawInputData | [inline]
setDigitalSteerLeft(const bool steerLeftKeyPressed) | PxVehicleDrive4WRawInputData | [inline]
setDigitalSteerRight(const bool steerRightKeyPressed) | PxVehicleDrive4WRawInputData | [inline]
setGearDown(const bool gearDownKeyPressed) | PxVehicleDrive4WRawInputData | [inline]
setGearUp(const bool gearUpKeyPressed) | PxVehicleDrive4WRawInputData | [inline]
~PxVehicleDrive4WRawInputData() | PxVehicleDrive4WRawInputData | [inline, virtual]
~PxVehicleDriveNWRawInputData() | PxVehicleDriveNWRawInputData | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleDriveSimData4W Member List

This is the complete list of members for PxVehicleDriveSimData4W, including all inherited members.

getAckermannGeometryData() const | PxVehicleDriveSimData4W | [inline]
getAutoBoxData() const | PxVehicleDriveSimData | [inline]
getBinaryMetaData(PxOutputStream &stream) | PxVehicleDriveSimData4W | [static]
getClutchData() const | PxVehicleDriveSimData | [inline]
getDiffData() const | PxVehicleDriveSimData4W | [inline]
getEngineData() const | PxVehicleDriveSimData | [inline]
getGearsData() const | PxVehicleDriveSimData | [inline]
isValid() const | PxVehicleDriveSimData4W | [private]
mAckermannGeometry | PxVehicleDriveSimData4W | [private]
mAutoBox | PxVehicleDriveSimData | [protected]
mClutch | PxVehicleDriveSimData | [protected]
mDiff | PxVehicleDriveSimData4W | [private]
mEngine | PxVehicleDriveSimData | [protected]
mGears | PxVehicleDriveSimData | [protected]
PxVehicleDrive4W class | PxVehicleDriveSimData4W | [friend]
PxVehicleDriveSimData() | PxVehicleDriveSimData | [inline]
PxVehicleDriveSimData(const PxEMPTY) | PxVehicleDriveSimData | [inline]
PxVehicleDriveSimData4W() | PxVehicleDriveSimData4W | [inline]
PxVehicleDriveSimData4W(const PxEMPTY) | PxVehicleDriveSimData4W | [inline]
PxVehicleDriveTank class | PxVehicleDriveSimData | [friend]
setAckermannGeometryData(const PxVehicleAckermannGeometryData &ackermannData) | PxVehicleDriveSimData4W |
setAutoBoxData(const PxVehicleAutoBoxData &autobox) | PxVehicleDriveSimData |
setClutchData(const PxVehicleClutchData &clutch) | PxVehicleDriveSimData |
setDiffData(const PxVehicleDifferential4WData &diff) | PxVehicleDriveSimData4W |
setEngineData(const PxVehicleEngineData &engine) | PxVehicleDriveSimData |
setGearsData(const PxVehicleGearsData &gears) | PxVehicleDriveSimData |


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleDriveSimData Member List

This is the complete list of members for PxVehicleDriveSimData, including all inherited members.

getAutoBoxData() const | PxVehicleDriveSimData | [inline]
getBinaryMetaData(PxOutputStream &stream) | PxVehicleDriveSimData | [static]
getClutchData() const | PxVehicleDriveSimData | [inline]
getEngineData() const | PxVehicleDriveSimData | [inline]
getGearsData() const | PxVehicleDriveSimData | [inline]
isValid() const | PxVehicleDriveSimData | [protected]
mAutoBox | PxVehicleDriveSimData | [protected]
mClutch | PxVehicleDriveSimData | [protected]
mEngine | PxVehicleDriveSimData | [protected]
mGears | PxVehicleDriveSimData | [protected]
PxVehicleDriveSimData() | PxVehicleDriveSimData | [inline]
PxVehicleDriveSimData(const PxEMPTY) | PxVehicleDriveSimData | [inline]
PxVehicleDriveTank class | PxVehicleDriveSimData | [friend]
setAutoBoxData(const PxVehicleAutoBoxData &autobox) | PxVehicleDriveSimData |
setClutchData(const PxVehicleClutchData &clutch) | PxVehicleDriveSimData |
setEngineData(const PxVehicleEngineData &engine) | PxVehicleDriveSimData |
setGearsData(const PxVehicleGearsData &gears) | PxVehicleDriveSimData |


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleDriveSimDataNW Member List

This is the complete list of members for PxVehicleDriveSimDataNW, including all inherited members.

getAutoBoxData() const | PxVehicleDriveSimData | [inline]
getBinaryMetaData(PxOutputStream &stream) | PxVehicleDriveSimDataNW | [static]
getClutchData() const | PxVehicleDriveSimData | [inline]
getDiffData() const | PxVehicleDriveSimDataNW | [inline]
getEngineData() const | PxVehicleDriveSimData | [inline]
getGearsData() const | PxVehicleDriveSimData | [inline]
isValid() const | PxVehicleDriveSimDataNW | [private]
mAutoBox | PxVehicleDriveSimData | [protected]
mClutch | PxVehicleDriveSimData | [protected]
mDiff | PxVehicleDriveSimDataNW | [private]
mEngine | PxVehicleDriveSimData | [protected]
mGears | PxVehicleDriveSimData | [protected]
PxVehicleDriveNW class | PxVehicleDriveSimDataNW | [friend]
PxVehicleDriveSimData() | PxVehicleDriveSimData | [inline]
PxVehicleDriveSimData(const PxEMPTY) | PxVehicleDriveSimData | [inline]
PxVehicleDriveSimDataNW() | PxVehicleDriveSimDataNW | [inline]
PxVehicleDriveSimDataNW(const PxEMPTY) | PxVehicleDriveSimDataNW | [inline]
PxVehicleDriveTank class | PxVehicleDriveSimData | [friend]
setAutoBoxData(const PxVehicleAutoBoxData &autobox) | PxVehicleDriveSimData |
setClutchData(const PxVehicleClutchData &clutch) | PxVehicleDriveSimData |
setDiffData(const PxVehicleDifferentialNWData &diff) | PxVehicleDriveSimDataNW |
setEngineData(const PxVehicleEngineData &engine) | PxVehicleDriveSimData |
setGearsData(const PxVehicleGearsData &gears) | PxVehicleDriveSimData |


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleDriveTank Member List

This is the complete list of members for PxVehicleDriveTank, including all inherited members.

allocate(const PxU32 nbWheels) | PxVehicleDriveTank | [static]
computeByteSize(const PxU32 numWheels) | PxVehicleDrive | [protected, static]
computeForwardSpeed() const | PxVehicleWheels |
computeSidewaysSpeed() const | PxVehicleWheels |
create(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxVehicleDriveSimData &driveData, const PxU32 nbDrivenWheels) | PxVehicleDriveTank | [static]
createObject(PxU8 *&address, PxDeserializationContext &context) | PxVehicleDriveTank | [static]
exportExtraData(PxSerializationContext &) | PxVehicleWheels | [virtual]
free() | PxVehicleDriveTank |
getBaseFlags() const | PxBase | [inline]
getBinaryMetaData(PxOutputStream &stream) | PxVehicleDriveTank | [static]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const | PxVehicleDriveTank | [inline, virtual]
getDriveModel() const | PxVehicleDriveTank | [inline]
getNbNonDrivenWheels() const | PxVehicleWheels | [inline]
getRigidDynamicActor() | PxVehicleWheels | [inline]
getRigidDynamicActor() const | PxVehicleWheels | [inline]
getVehicleType() const | PxVehicleWheels | [inline]
importExtraData(PxDeserializationContext &) | PxVehicleWheels |
init(const PxU32 numWheels) | PxVehicleDrive | [protected, virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxVehicleDriveTank | [inline, virtual]
isReleasable() const | PxBase | [inline, virtual]
isValid() const | PxVehicleDriveTank | [private]
mActor | PxVehicleWheels | [protected]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
mDriveDynData | PxVehicleDrive |
mDriveModel | PxVehicleDriveTank | [private]
mDriveSimData | PxVehicleDriveTank |
mPad | PxVehicleDriveTank | [private]
mPad0 | PxVehicleWheels | [protected]
mType | PxVehicleWheels | [protected]
mWheelsDynData | PxVehicleWheels |
mWheelsSimData | PxVehicleWheels |
patchupPointers(const PxU32 nbWheels, PxVehicleDrive *vehDrive, PxU8 *ptr) | PxVehicleDrive | [protected, static]
PxVehicleWheels::patchupPointers(const PxU32 nbWheels, PxVehicleWheels *vehWheels, PxU8 *ptr) | PxVehicleWheels | [protected, static]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxVehicleConstraintShader class | PxVehicleWheels | [friend]
PxVehicleDrive(PxBaseFlags baseFlags) | PxVehicleDrive | [inline]
PxVehicleDrive(PxType concreteType, PxBaseFlags baseFlags) | PxVehicleDrive | [inline, protected]
PxVehicleDriveTank(PxBaseFlags baseFlags) | PxVehicleDriveTank | [inline]
PxVehicleDriveTank() | PxVehicleDriveTank | [protected]
PxVehicleUpdate class | PxVehicleDriveTank | [friend]
PxVehicleWheels(PxType concreteType, PxBaseFlags baseFlags) | PxVehicleWheels | [inline]
PxVehicleWheels(PxBaseFlags baseFlags) | PxVehicleWheels | [inline]
release() | PxVehicleWheels | [inline, virtual]
requiresObjects(PxProcessPxBaseCallback &c) | PxVehicleWheels | [virtual]
resolveReferences(PxDeserializationContext &) | PxVehicleWheels |
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
setDriveModel(const PxVehicleDriveTankControlModel::Enum driveModel) | PxVehicleDriveTank | [inline]
setToRestState() | PxVehicleDriveTank |
setup(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxVehicleDriveSimData &driveData, const PxU32 nbDrivenWheels) | PxVehicleDriveTank |
PxVehicleDrive::setup(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxU32 nbDrivenWheels, const PxU32 nbNonDrivenWheels) | PxVehicleDrive | [protected]
typeMatch() const | PxBase | [inline, protected]
~PxBase() | PxBase | [inline, protected, virtual]
~PxVehicleDrive() | PxVehicleDrive | [inline, protected]
~PxVehicleDriveTank() | PxVehicleDriveTank | [inline, protected]
~PxVehicleWheels() | PxVehicleWheels | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleDriveTankRawInputData Member List

This is the complete list of members for PxVehicleDriveTankRawInputData, including all inherited members.

getAnalogAccel() const | PxVehicleDriveTankRawInputData | [inline]
getAnalogLeftBrake() const | PxVehicleDriveTankRawInputData | [inline]
getAnalogLeftThrust() const | PxVehicleDriveTankRawInputData | [inline]
getAnalogRightBrake() const | PxVehicleDriveTankRawInputData | [inline]
getAnalogRightThrust() const | PxVehicleDriveTankRawInputData | [inline]
getDigitalAccel() const | PxVehicleDriveTankRawInputData | [inline]
getDigitalLeftBrake() const | PxVehicleDriveTankRawInputData | [inline]
getDigitalLeftThrust() const | PxVehicleDriveTankRawInputData | [inline]
getDigitalRightBrake() const | PxVehicleDriveTankRawInputData | [inline]
getDigitalRightThrust() const | PxVehicleDriveTankRawInputData | [inline]
getDriveModel() const | PxVehicleDriveTankRawInputData | [inline]
getGearDown() const | PxVehicleDriveTankRawInputData | [inline]
getGearUp() const | PxVehicleDriveTankRawInputData | [inline]
mGearDown | PxVehicleDriveTankRawInputData | [private]
mGearUp | PxVehicleDriveTankRawInputData | [private]
mMode | PxVehicleDriveTankRawInputData | [private]
mRawAnalogInputs | PxVehicleDriveTankRawInputData | [private]
mRawDigitalInputs | PxVehicleDriveTankRawInputData | [private]
PxVehicleDriveTankRawInputData(const PxVehicleDriveTankControlModel::Enum mode) | PxVehicleDriveTankRawInputData | [inline]
setAnalogAccel(const PxF32 accel) | PxVehicleDriveTankRawInputData | [inline]
setAnalogLeftBrake(const PxF32 leftBrake) | PxVehicleDriveTankRawInputData | [inline]
setAnalogLeftThrust(const PxF32 leftThrust) | PxVehicleDriveTankRawInputData | [inline]
setAnalogRightBrake(const PxF32 rightBrake) | PxVehicleDriveTankRawInputData | [inline]
setAnalogRightThrust(const PxF32 rightThrust) | PxVehicleDriveTankRawInputData | [inline]
setDigitalAccel(const bool b) | PxVehicleDriveTankRawInputData | [inline]
setDigitalLeftBrake(const bool b) | PxVehicleDriveTankRawInputData | [inline]
setDigitalLeftThrust(const bool b) | PxVehicleDriveTankRawInputData | [inline]
setDigitalRightBrake(const bool b) | PxVehicleDriveTankRawInputData | [inline]
setDigitalRightThrust(const bool b) | PxVehicleDriveTankRawInputData | [inline]
setGearDown(const bool gearDown) | PxVehicleDriveTankRawInputData | [inline]
setGearUp(const bool gearUp) | PxVehicleDriveTankRawInputData | [inline]
~PxVehicleDriveTankRawInputData() | PxVehicleDriveTankRawInputData | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleEngineData Member List

This is the complete list of members for PxVehicleEngineData, including all inherited members.

eMAX_NB_ENGINE_TORQUE_CURVE_ENTRIES enum value | PxVehicleEngineData |
getRecipMaxOmega() const | PxVehicleEngineData | [inline]
getRecipMOI() const | PxVehicleEngineData | [inline]
isValid() const | PxVehicleEngineData | [private]
mDampingRateFullThrottle | PxVehicleEngineData |
mDampingRateZeroThrottleClutchDisengaged | PxVehicleEngineData |
mDampingRateZeroThrottleClutchEngaged | PxVehicleEngineData |
mMaxOmega | PxVehicleEngineData |
mMOI | PxVehicleEngineData |
mPeakTorque | PxVehicleEngineData |
mRecipMaxOmega | PxVehicleEngineData | [private]
mRecipMOI | PxVehicleEngineData | [private]
mTorqueCurve | PxVehicleEngineData |
PxVehicleDriveSimData class | PxVehicleEngineData | [friend]
PxVehicleEngineData() | PxVehicleEngineData | [inline]
PxVehicleEngineData(const PxEMPTY) | PxVehicleEngineData | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleGearsData Member List

This is the complete list of members for PxVehicleGearsData, including all inherited members.

eEIGHTEENTH enum value | PxVehicleGearsData |
eEIGHTH enum value | PxVehicleGearsData |
eELEVENTH enum value | PxVehicleGearsData |
eFIFTEENTH enum value | PxVehicleGearsData |
eFIFTH enum value | PxVehicleGearsData |
eFIRST enum value | PxVehicleGearsData |
eFOURTEENTH enum value | PxVehicleGearsData |
eFOURTH enum value | PxVehicleGearsData |
eGEARSRATIO_COUNT enum value | PxVehicleGearsData |
eNEUTRAL enum value | PxVehicleGearsData |
eNINETEENTH enum value | PxVehicleGearsData |
eNINTH enum value | PxVehicleGearsData |
Enum enum name | PxVehicleGearsData |
eREVERSE enum value | PxVehicleGearsData |
eSECOND enum value | PxVehicleGearsData |
eSEVENTEENTH enum value | PxVehicleGearsData |
eSEVENTH enum value | PxVehicleGearsData |
eSIXTEENTH enum value | PxVehicleGearsData |
eSIXTH enum value | PxVehicleGearsData |
eTENTH enum value | PxVehicleGearsData |
eTHIRD enum value | PxVehicleGearsData |
eTHIRTEENTH enum value | PxVehicleGearsData |
eTHIRTIETH enum value | PxVehicleGearsData |
eTWELFTH enum value | PxVehicleGearsData |
eTWENTIETH enum value | PxVehicleGearsData |
eTWENTYEIGHTH enum value | PxVehicleGearsData |
eTWENTYFIFTH enum value | PxVehicleGearsData |
eTWENTYFIRST enum value | PxVehicleGearsData |
eTWENTYFOURTH enum value | PxVehicleGearsData |
eTWENTYNINTH enum value | PxVehicleGearsData |
eTWENTYSECOND enum value | PxVehicleGearsData |
eTWENTYSEVENTH enum value | PxVehicleGearsData |
eTWENTYSIXTH enum value | PxVehicleGearsData |
eTWENTYTHIRD enum value | PxVehicleGearsData |
getGearRatio(PxVehicleGearsData::Enum a) const | PxVehicleGearsData | [inline]
isValid() const | PxVehicleGearsData | [private]
mFinalRatio | PxVehicleGearsData |
mNbRatios | PxVehicleGearsData |
mPad | PxVehicleGearsData | [private]
mRatios | PxVehicleGearsData |
mSwitchTime | PxVehicleGearsData |
PxVehicleDriveSimData class | PxVehicleGearsData | [friend]
PxVehicleGearsData() | PxVehicleGearsData | [inline]
PxVehicleGearsData(const PxEMPTY) | PxVehicleGearsData | [inline]
setGearRatio(PxVehicleGearsData::Enum a, PxReal ratio) | PxVehicleGearsData | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleNoDrive Member List

This is the complete list of members for PxVehicleNoDrive, including all inherited members.

allocate(const PxU32 nbWheels) | PxVehicleNoDrive | [static]
computeByteSize(const PxU32 nbWheels) | PxVehicleWheels | [protected, static]
computeForwardSpeed() const | PxVehicleWheels |
computeSidewaysSpeed() const | PxVehicleWheels |
create(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData) | PxVehicleNoDrive | [static]
createObject(PxU8 *&address, PxDeserializationContext &context) | PxVehicleNoDrive | [static]
exportExtraData(PxSerializationContext &) | PxVehicleNoDrive | [virtual]
free() | PxVehicleNoDrive |
getBaseFlags() const | PxBase | [inline]
getBinaryMetaData(PxOutputStream &stream) | PxVehicleNoDrive | [static]
getBrakeTorque(const PxU32 id) const | PxVehicleNoDrive |
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const | PxVehicleNoDrive | [inline, virtual]
getDriveTorque(const PxU32 id) const | PxVehicleNoDrive |
getNbBrakeTorque() const | PxVehicleNoDrive | [inline]
getNbDriveTorque() const | PxVehicleNoDrive | [inline]
getNbNonDrivenWheels() const | PxVehicleWheels | [inline]
getNbSteerAngle() const | PxVehicleNoDrive | [inline]
getRigidDynamicActor() | PxVehicleWheels | [inline]
getRigidDynamicActor() const | PxVehicleWheels | [inline]
getSteerAngle(const PxU32 id) const | PxVehicleNoDrive |
getVehicleType() const | PxVehicleWheels | [inline]
importExtraData(PxDeserializationContext &) | PxVehicleNoDrive |
init(const PxU32 numWheels) | PxVehicleWheels | [protected, virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxVehicleNoDrive | [inline, virtual]
isReleasable() const | PxBase | [inline, virtual]
isValid() const | PxVehicleNoDrive | [private]
mActor | PxVehicleWheels | [protected]
mBaseFlags | PxBase | [protected]
mBrakeTorques | PxVehicleNoDrive | [private]
mConcreteType | PxBase | [protected]
mDriveTorques | PxVehicleNoDrive | [private]
mPad | PxVehicleNoDrive | [private]
mPad0 | PxVehicleWheels | [protected]
mSteerAngles | PxVehicleNoDrive | [private]
mType | PxVehicleWheels | [protected]
mWheelsDynData | PxVehicleWheels |
mWheelsSimData | PxVehicleWheels |
patchupPointers(const PxU32 nbWheels, PxVehicleWheels *vehWheels, PxU8 *ptr) | PxVehicleWheels | [protected, static]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxVehicleConstraintShader class | PxVehicleWheels | [friend]
PxVehicleNoDrive(PxBaseFlags baseFlags) | PxVehicleNoDrive | [inline]
PxVehicleNoDrive() | PxVehicleNoDrive | [protected]
PxVehicleUpdate class | PxVehicleNoDrive | [friend]
PxVehicleWheels(PxType concreteType, PxBaseFlags baseFlags) | PxVehicleWheels | [inline]
PxVehicleWheels(PxBaseFlags baseFlags) | PxVehicleWheels | [inline]
release() | PxVehicleWheels | [inline, virtual]
requiresObjects(PxProcessPxBaseCallback &c) | PxVehicleWheels | [virtual]
resolveReferences(PxDeserializationContext &) | PxVehicleWheels |
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
setBrakeTorque(const PxU32 id, const PxReal brakeTorque) | PxVehicleNoDrive |
setDriveTorque(const PxU32 id, const PxReal driveTorque) | PxVehicleNoDrive |
setSteerAngle(const PxU32 id, const PxReal steerAngle) | PxVehicleNoDrive |
setToRestState() | PxVehicleNoDrive |
setup(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData) | PxVehicleNoDrive |
PxVehicleWheels::setup(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxU32 nbDrivenWheels, const PxU32 nbNonDrivenWheels) | PxVehicleWheels | [protected]
typeMatch() const | PxBase | [inline, protected]
~PxBase() | PxBase | [inline, protected, virtual]
~PxVehicleNoDrive() | PxVehicleNoDrive | [inline, protected]
~PxVehicleWheels() | PxVehicleWheels | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleSuspensionData Member List

This is the complete list of members for PxVehicleSuspensionData, including all inherited members.

getRecipMaxCompression() const | PxVehicleSuspensionData | [inline]
getRecipMaxDroop() const | PxVehicleSuspensionData | [inline]
isValid() const | PxVehicleSuspensionData | [private]
mCamberAtMaxCompression | PxVehicleSuspensionData |
mCamberAtMaxDroop | PxVehicleSuspensionData |
mCamberAtRest | PxVehicleSuspensionData |
mMaxCompression | PxVehicleSuspensionData |
mMaxDroop | PxVehicleSuspensionData |
mPad | PxVehicleSuspensionData | [private]
mRecipMaxCompression | PxVehicleSuspensionData | [private]
mRecipMaxDroop | PxVehicleSuspensionData | [private]
mSpringDamperRate | PxVehicleSuspensionData |
mSpringStrength | PxVehicleSuspensionData |
mSprungMass | PxVehicleSuspensionData |
PxVehicleSuspensionData() | PxVehicleSuspensionData | [inline]
PxVehicleWheels4SimData class | PxVehicleSuspensionData | [friend]
setMassAndPreserveNaturalFrequency(const PxReal newSprungMass) | PxVehicleSuspensionData | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleTireData Member List

This is the complete list of members for PxVehicleTireData, including all inherited members.

getFrictionVsSlipGraphRecipx1Minusx0() const | PxVehicleTireData | [inline]
getFrictionVsSlipGraphRecipx2Minusx1() const | PxVehicleTireData | [inline]
getRecipLongitudinalStiffnessPerUnitGravity() const | PxVehicleTireData | [inline]
isValid() const | PxVehicleTireData | [private]
mCamberStiffnessPerUnitGravity | PxVehicleTireData |
mFrictionVsSlipGraph | PxVehicleTireData |
mFrictionVsSlipGraphRecipx1Minusx0 | PxVehicleTireData | [private]
mFrictionVsSlipGraphRecipx2Minusx1 | PxVehicleTireData | [private]
mLatStiffX | PxVehicleTireData |
mLatStiffY | PxVehicleTireData |
mLongitudinalStiffnessPerUnitGravity | PxVehicleTireData |
mPad | PxVehicleTireData | [private]
mRecipLongitudinalStiffnessPerUnitGravity | PxVehicleTireData | [private]
mType | PxVehicleTireData |
PxVehicleTireData() | PxVehicleTireData | [inline]
PxVehicleWheels4SimData class | PxVehicleTireData | [friend]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleTireLoadFilterData Member List

This is the complete list of members for PxVehicleTireLoadFilterData, including all inherited members.

getDenominator() const | PxVehicleTireLoadFilterData | [inline]
isValid() const | PxVehicleTireLoadFilterData | [private]
mDenominator | PxVehicleTireLoadFilterData | [private]
mMaxFilteredNormalisedLoad | PxVehicleTireLoadFilterData |
mMaxNormalisedLoad | PxVehicleTireLoadFilterData |
mMinFilteredNormalisedLoad | PxVehicleTireLoadFilterData |
mMinNormalisedLoad | PxVehicleTireLoadFilterData |
mPad | PxVehicleTireLoadFilterData | [private]
PxVehicleTireLoadFilterData() | PxVehicleTireLoadFilterData | [inline]
PxVehicleTireLoadFilterData(const PxEMPTY) | PxVehicleTireLoadFilterData | [inline]
PxVehicleWheelsSimData class | PxVehicleTireLoadFilterData | [friend]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleWheelData Member List

This is the complete list of members for PxVehicleWheelData, including all inherited members.

getRecipMOI() const | PxVehicleWheelData | [inline]
getRecipRadius() const | PxVehicleWheelData | [inline]
isValid() const | PxVehicleWheelData | [private]
mDampingRate | PxVehicleWheelData |
mMass | PxVehicleWheelData |
mMaxBrakeTorque | PxVehicleWheelData |
mMaxHandBrakeTorque | PxVehicleWheelData |
mMaxSteer | PxVehicleWheelData |
mMOI | PxVehicleWheelData |
mPad | PxVehicleWheelData | [private]
mRadius | PxVehicleWheelData |
mRecipMOI | PxVehicleWheelData | [private]
mRecipRadius | PxVehicleWheelData | [private]
mToeAngle | PxVehicleWheelData |
mWidth | PxVehicleWheelData |
PxVehicleWheelData() | PxVehicleWheelData | [inline]
PxVehicleWheels4SimData class | PxVehicleWheelData | [friend]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleWheels Member List

This is the complete list of members for PxVehicleWheels, including all inherited members.

computeByteSize(const PxU32 nbWheels) | PxVehicleWheels | [protected, static]
computeForwardSpeed() const | PxVehicleWheels |
computeSidewaysSpeed() const | PxVehicleWheels |
exportExtraData(PxSerializationContext &) | PxVehicleWheels | [virtual]
free() | PxVehicleWheels | [protected]
getBaseFlags() const | PxBase | [inline]
getBinaryMetaData(PxOutputStream &stream) | PxVehicleWheels | [static]
getConcreteType() const | PxBase | [inline]
getConcreteTypeName() const | PxVehicleWheels | [inline, virtual]
getNbNonDrivenWheels() const | PxVehicleWheels | [inline]
getRigidDynamicActor() | PxVehicleWheels | [inline]
getRigidDynamicActor() const | PxVehicleWheels | [inline]
getVehicleType() const | PxVehicleWheels | [inline]
importExtraData(PxDeserializationContext &) | PxVehicleWheels |
init(const PxU32 numWheels) | PxVehicleWheels | [protected, virtual]
is() | PxBase | [inline]
is() const | PxBase | [inline]
isKindOf(const char *name) const | PxVehicleWheels | [inline, virtual]
isReleasable() const | PxBase | [inline, virtual]
isValid() const | PxVehicleWheels | [protected]
mActor | PxVehicleWheels | [protected]
mBaseFlags | PxBase | [protected]
mConcreteType | PxBase | [protected]
mNbNonDrivenWheels | PxVehicleWheels | [private]
mOnConstraintReleaseCounter | PxVehicleWheels | [private]
mPad0 | PxVehicleWheels | [protected]
mType | PxVehicleWheels | [protected]
mWheelsDynData | PxVehicleWheels |
mWheelsSimData | PxVehicleWheels |
patchupPointers(const PxU32 nbWheels, PxVehicleWheels *vehWheels, PxU8 *ptr) | PxVehicleWheels | [protected, static]
PxBase(PxType concreteType, PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxBase(PxBaseFlags baseFlags) | PxBase | [inline, protected]
PxVehicleConstraintShader class | PxVehicleWheels | [friend]
PxVehicleUpdate class | PxVehicleWheels | [friend]
PxVehicleWheels(PxType concreteType, PxBaseFlags baseFlags) | PxVehicleWheels | [inline]
PxVehicleWheels(PxBaseFlags baseFlags) | PxVehicleWheels | [inline]
release() | PxVehicleWheels | [inline, virtual]
requiresObjects(PxProcessPxBaseCallback &c) | PxVehicleWheels | [virtual]
resolveReferences(PxDeserializationContext &) | PxVehicleWheels |
setBaseFlag(PxBaseFlag::Enum flag, bool value) | PxBase | [inline]
setBaseFlags(PxBaseFlags inFlags) | PxBase | [inline]
setToRestState() | PxVehicleWheels | [protected]
setup(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxU32 nbDrivenWheels, const PxU32 nbNonDrivenWheels) | PxVehicleWheels | [protected]
typeMatch() const | PxBase | [inline, protected]
~PxBase() | PxBase | [inline, protected, virtual]
~PxVehicleWheels() | PxVehicleWheels | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleWheelsDynData Member List

This is the complete list of members for PxVehicleWheelsDynData, including all inherited members.

computeByteSize(const PxU32 numWheels) | PxVehicleWheelsDynData | [private, static]
copy(const PxVehicleWheelsDynData &src, const PxU32 srcWheel, const PxU32 trgWheel) | PxVehicleWheelsDynData |
getBinaryMetaData(PxOutputStream &stream) | PxVehicleWheelsDynData | [static]
getNbWheelRotationAngle() const | PxVehicleWheelsDynData | [inline]
getNbWheelRotationSpeed() const | PxVehicleWheelsDynData | [inline]
getTireForceShaderData(const PxU32 tireId) const | PxVehicleWheelsDynData |
getUserData(const PxU32 tireIdx) const | PxVehicleWheelsDynData |
getWheel4DynData() const | PxVehicleWheelsDynData | [inline]
getWheelRotationAngle(const PxU32 wheelIdx) const | PxVehicleWheelsDynData |
getWheelRotationSpeed(const PxU32 wheelIdx) const | PxVehicleWheelsDynData |
isValid() const | PxVehicleWheelsDynData | [private]
mNbActiveWheels | PxVehicleWheelsDynData | [private]
mNbWheels4 | PxVehicleWheelsDynData | [private]
mPad | PxVehicleWheelsDynData | [private]
mTireForceCalculators | PxVehicleWheelsDynData | [private]
mUserDatas | PxVehicleWheelsDynData | [private]
mWheels4DynData | PxVehicleWheelsDynData | [private]
patchUpPointers(const PxU32 numWheels, PxVehicleWheelsDynData *dynData, PxU8 *ptr) | PxVehicleWheelsDynData | [private, static]
PxVehicleDrive4W class | PxVehicleWheelsDynData | [friend]
PxVehicleDriveTank class | PxVehicleWheelsDynData | [friend]
PxVehicleUpdate class | PxVehicleWheelsDynData | [friend]
PxVehicleWheels class | PxVehicleWheelsDynData | [friend]
PxVehicleWheelsDynData() | PxVehicleWheelsDynData | [inline]
PxVehicleWheelsDynData(const PxU32 numWheels) | PxVehicleWheelsDynData | [private]
setTireForceShaderData(const PxU32 tireId, const void *tireForceShaderData) | PxVehicleWheelsDynData |
setTireForceShaderFunction(PxVehicleComputeTireForce tireForceShaderFn) | PxVehicleWheelsDynData |
setToRestState() | PxVehicleWheelsDynData |
setUserData(const PxU32 tireIdx, void *userData) | PxVehicleWheelsDynData |
setWheelRotationAngle(const PxU32 wheelIdx, const PxReal angle) | PxVehicleWheelsDynData |
setWheelRotationSpeed(const PxU32 wheelIdx, const PxReal speed) | PxVehicleWheelsDynData |
~PxVehicleWheelsDynData() | PxVehicleWheelsDynData | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleWheelsSimData Member List

This is the complete list of members for PxVehicleWheelsSimData, including all inherited members.

addAntiRollBarData(const PxVehicleAntiRollBarData &antiRoll) | PxVehicleWheelsSimData |
allocate(const PxU32 nbWheels) | PxVehicleWheelsSimData | [static]
computeByteSize(const PxU32 numWheels) | PxVehicleWheelsSimData | [private, static]
copy(const PxVehicleWheelsSimData &src, const PxU32 srcWheel, const PxU32 trgWheel) | PxVehicleWheelsSimData |
disableWheel(const PxU32 wheel) | PxVehicleWheelsSimData |
enableWheel(const PxU32 wheel) | PxVehicleWheelsSimData |
free() | PxVehicleWheelsSimData |
getAntiRollBarData(const PxU32 antiRollId) const | PxVehicleWheelsSimData |
getBinaryMetaData(PxOutputStream &stream) | PxVehicleWheelsSimData | [static]
getHighForwardSpeedSubStepCount() const | PxVehicleWheelsSimData | [inline]
getIsWheelDisabled(const PxU32 wheel) const | PxVehicleWheelsSimData |
getLowForwardSpeedSubStepCount() const | PxVehicleWheelsSimData | [inline]
getMinLongSlipDenominator() const | PxVehicleWheelsSimData | [inline]
getNbAntiRollBarData() const | PxVehicleWheelsSimData | [inline]
getNbAntiRollBars() const | PxVehicleWheelsSimData | [inline]
getNbAntiRollBars4() const | PxVehicleWheelsSimData | [inline]
getNbSceneQueryFilterData() const | PxVehicleWheelsSimData | [inline]
getNbSuspensionData() const | PxVehicleWheelsSimData | [inline]
getNbSuspForceAppPointOffset() const | PxVehicleWheelsSimData | [inline]
getNbSuspTravelDirection() const | PxVehicleWheelsSimData | [inline]
getNbTireData() const | PxVehicleWheelsSimData | [inline]
getNbTireForceAppPointOffset() const | PxVehicleWheelsSimData | [inline]
getNbWheelCentreOffset() const | PxVehicleWheelsSimData | [inline]
getNbWheelData() const | PxVehicleWheelsSimData | [inline]
getNbWheelEnabledState() const | PxVehicleWheelsSimData | [inline]
getNbWheels() const | PxVehicleWheelsSimData | [inline]
getNbWheels4() const | PxVehicleWheelsSimData | [inline]
getNbWheelShapeMapping() const | PxVehicleWheelsSimData | [inline]
getSceneQueryFilterData(const PxU32 suspId) const | PxVehicleWheelsSimData |
getSuspensionData(const PxU32 id) const | PxVehicleWheelsSimData |
getSuspForceAppPointOffset(const PxU32 id) const | PxVehicleWheelsSimData |
getSuspTravelDirection(const PxU32 id) const | PxVehicleWheelsSimData |
getThresholdLongSpeed() const | PxVehicleWheelsSimData | [inline]
getTireData(const PxU32 id) const | PxVehicleWheelsSimData |
getTireForceAppPointOffset(const PxU32 id) const | PxVehicleWheelsSimData |
getTireLoadFilterData() const | PxVehicleWheelsSimData | [inline]
getWheelCentreOffset(const PxU32 id) const | PxVehicleWheelsSimData |
getWheelData(const PxU32 id) const | PxVehicleWheelsSimData |
getWheelEnabledState(const PxU32 wheel) const | PxVehicleWheelsSimData | [inline]
getWheelShapeMapping(const PxU32 wheelId) const | PxVehicleWheelsSimData |
isValid() const | PxVehicleWheelsSimData | [private]
mActiveWheelsBitmapBuffer | PxVehicleWheelsSimData | [private]
mAntiRollBars | PxVehicleWheelsSimData | [private]
mHighForwardSpeedSubStepCount | PxVehicleWheelsSimData | [private]
mLowForwardSpeedSubStepCount | PxVehicleWheelsSimData | [private]
mMinLongSlipDenominator | PxVehicleWheelsSimData | [private]
mNbActiveAntiRollBars | PxVehicleWheelsSimData | [private]
mNbActiveWheels | PxVehicleWheelsSimData | [private]
mNbAntiRollBars4 | PxVehicleWheelsSimData | [private]
mNbWheels4 | PxVehicleWheelsSimData | [private]
mNormalisedLoadFilter | PxVehicleWheelsSimData | [private]
mPad | PxVehicleWheelsSimData | [private]
mThresholdLongitudinalSpeed | PxVehicleWheelsSimData | [private]
mWheels4SimData | PxVehicleWheelsSimData | [private]
operator=(const PxVehicleWheelsSimData &src) | PxVehicleWheelsSimData |
patchUpPointers(const PxU32 numWheels, PxVehicleWheelsSimData *simData, PxU8 *ptrIn) | PxVehicleWheelsSimData | [private, static]
PxVehicleDrive4W class | PxVehicleWheelsSimData | [friend]
PxVehicleDriveTank class | PxVehicleWheelsSimData | [friend]
PxVehicleNoDrive class | PxVehicleWheelsSimData | [friend]
PxVehicleUpdate class | PxVehicleWheelsSimData | [friend]
PxVehicleWheels class | PxVehicleWheelsSimData | [friend]
PxVehicleWheelsSimData(const PxU32 numWheels) | PxVehicleWheelsSimData | [private]
PxVehicleWheelsSimData(const PxEMPTY) | PxVehicleWheelsSimData | [inline]
PxVehicleWheelsSimData() | PxVehicleWheelsSimData | [inline]
setAntiRollBarData(const PxU32 id, const PxVehicleAntiRollBarData &antiRoll) | PxVehicleWheelsSimData |
setChassisMass(const PxF32 chassisMass) | PxVehicleWheelsSimData |
setHighForwardSpeedSubStepCount(const PxU32 f) | PxVehicleWheelsSimData | [inline]
setLowForwardSpeedSubStepCount(const PxU32 f) | PxVehicleWheelsSimData | [inline]
setMinLongSlipDenominator(const PxReal minLongSlipDenominator) | PxVehicleWheelsSimData |
setSceneQueryFilterData(const PxU32 suspId, const PxFilterData &sqFilterData) | PxVehicleWheelsSimData |
setSubStepCount(const PxReal thresholdLongitudinalSpeed, const PxU32 lowForwardSpeedSubStepCount, const PxU32 highForwardSpeedSubStepCount) | PxVehicleWheelsSimData |
setSuspensionData(const PxU32 id, const PxVehicleSuspensionData &susp) | PxVehicleWheelsSimData |
setSuspForceAppPointOffset(const PxU32 id, const PxVec3 &offset) | PxVehicleWheelsSimData |
setSuspTravelDirection(const PxU32 id, const PxVec3 &dir) | PxVehicleWheelsSimData |
setThresholdLongSpeed(const PxF32 f) | PxVehicleWheelsSimData | [inline]
setTireData(const PxU32 id, const PxVehicleTireData &tire) | PxVehicleWheelsSimData |
setTireForceAppPointOffset(const PxU32 id, const PxVec3 &offset) | PxVehicleWheelsSimData |
setTireLoadFilterData(const PxVehicleTireLoadFilterData &tireLoadFilter) | PxVehicleWheelsSimData |
setWheelCentreOffset(const PxU32 id, const PxVec3 &offset) | PxVehicleWheelsSimData |
setWheelData(const PxU32 id, const PxVehicleWheelData &wheel) | PxVehicleWheelsSimData |
setWheelEnabledState(const PxU32 wheel, const bool state) | PxVehicleWheelsSimData | [inline]
setWheelShapeMapping(const PxU32 wheelId, const PxI32 shapeId) | PxVehicleWheelsSimData |
~PxVehicleWheelsSimData() | PxVehicleWheelsSimData | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVolumeCache Member List

This is the complete list of members for PxVolumeCache, including all inherited members.

fill(const PxGeometry &cacheVolume, const PxTransform &pose)=0 | PxVolumeCache | [pure virtual]
FILL_OK enum value | PxVolumeCache |
FILL_OUT_OF_MEMORY enum value | PxVolumeCache |
FILL_OVER_MAX_COUNT enum value | PxVolumeCache |
FILL_UNSUPPORTED_GEOMETRY_TYPE enum value | PxVolumeCache |
FillStatus enum name | PxVolumeCache |
forEach(Iterator &iter)=0 | PxVolumeCache | [pure virtual]
getCacheVolume(PxGeometryHolder &resultVolume, PxTransform &resultPose)=0 | PxVolumeCache | [pure virtual]
getMaxNbDynamicShapes()=0 | PxVolumeCache | [pure virtual]
getMaxNbStaticShapes()=0 | PxVolumeCache | [pure virtual]
getNbCachedShapes()=0 | PxVolumeCache | [pure virtual]
invalidate()=0 | PxVolumeCache | [pure virtual]
isValid() const =0 | PxVolumeCache | [pure virtual]
overlap(const PxGeometry &geometry, const PxTransform &pose, PxOverlapCallback &hitCall, const PxQueryFilterData &filterData=PxQueryFilterData(), PxQueryFilterCallback *filterCall=NULL) const =0 | PxVolumeCache | [pure virtual]
raycast(const PxVec3 &origin, const PxVec3 &unitDir, const PxReal distance, PxRaycastCallback &hitCall, PxHitFlags hitFlags=PxHitFlags(PxHitFlag::eDEFAULT), const PxQueryFilterData &filterData=PxQueryFilterData(), PxQueryFilterCallback *filterCall=NULL) const =0 | PxVolumeCache | [pure virtual]
release()=0 | PxVolumeCache | [pure virtual]
setMaxNbDynamicShapes(PxU32 maxCount)=0 | PxVolumeCache | [pure virtual]
setMaxNbStaticShapes(PxU32 maxCount)=0 | PxVolumeCache | [pure virtual]
sweep(const PxGeometry &geometry, const PxTransform &pose, const PxVec3 &unitDir, const PxReal distance, PxSweepCallback &hitCall, PxHitFlags hitFlags=PxHitFlag::eDEFAULT, const PxQueryFilterData &filterData=PxQueryFilterData(), PxQueryFilterCallback *filterCall=NULL, const PxReal inflation=0.f) const =0 | PxVolumeCache | [pure virtual]
~PxVolumeCache() | PxVolumeCache | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

RaycastCCDManager Member List

This is the complete list of members for RaycastCCDManager, including all inherited members.

doRaycastCCD(bool doDynamicDynamicCCD) | RaycastCCDManager
mImpl | RaycastCCDManager | [private]
RaycastCCDManager(PxScene *scene) | RaycastCCDManager
registerRaycastCCDObject(PxRigidDynamic *actor, PxShape *shape) | RaycastCCDManager


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z
  • ~
Here is a list of all class members with links to the classes they belong to:

- k -

  • Kernel : physx::PxGpuTaskHint
  • kineKineFilteringMode : PxSceneDesc


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z
  • ~
Here is a list of all class members with links to the classes they belong to:

- l -

  • lateralSlip : PxWheelQueryResult
  • launchCopyKernel() : physx::PxGpuDispatcher
  • launchInstance() : physx::PxGpuTask
  • length : PxControllerHit , PxTolerancesScale
  • limits : PxSceneDesc
  • linear0 : PxConstraintInvMassScale , Px1DConstraint
  • linear1 : Px1DConstraint , PxConstraintInvMassScale
  • linearDamping : PxRigidBodyData
  • linearMomentumChange : PxVehicleConcurrentUpdateData
  • linearSweepMultiple() : PxRigidBodyExt
  • linearSweepSingle() : PxRigidBodyExt
  • linearVelocity : PxContactPairVelocity
  • localPose : PxWheelQueryResult , PxVehicleWheelConcurrentUpdateData
  • lock() : PxPvdTransport
  • lockParticleData() : PxCloth
  • lockParticleFluidReadData() : PxParticleFluid
  • lockParticleReadData() : PxParticleBase
  • lockRead() : PxScene
  • lockWrite() : PxScene
  • longitudinalSlip : PxWheelQueryResult
  • lower : PxJointAngularLimitPair , PxJointLinearLimitPair


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z
  • ~
Here is a list of all class members with links to the classes they belong to:

- m -

  • mAccuracy : PxVehicleAckermannGeometryData
  • mAccuracyMode : PxVehicleClutchData
  • mAckermannGeometry : PxVehicleDriveSimData4W
  • mActiveWheelsBitmapBuffer : PxVehicleWheelsSimData
  • mActor : PxVehicleWheels
  • magnitude() : PxVec2 , PxVec3 , PxVec4 , PxExtendedVec3 , PxQuat
  • magnitudeSquared() : PxExtendedVec3 , PxQuat , PxVec2 , PxVec3 , PxVec4
  • mAllocator : PxDefaultMemoryOutputStream
  • mAntiRollBars : PxVehicleWheelsSimData
  • markDirty() : PxConstraint
  • mass : PxTolerancesScale , PxMassProperties
  • material : PxControllerDesc
  • materialFlags : PxContactPatch , PxModifiableContact
  • materialIndex0 : PxContactPatch , PxModifiableContact , PxHeightFieldSample
  • materialIndex1 : PxContactPatch , PxModifiableContact , PxHeightFieldSample
  • materialIndices : PxTriangleMeshDesc
  • mAutoBox : PxVehicleDriveSimData
  • mAutoBoxSwitchTime : PxVehicleDriveDynData
  • maxAngularVelocitySq : PxRigidBodyData
  • maxBiasCoefficient : PxSceneDesc
  • maxContactImpulse : PxRigidBodyData
  • maxDepenetrationVelocity : PxRigidBodyData
  • maxElement() : PxVec2 , PxVec3
  • maxImpulse : Px1DConstraint , PxExtendedContact
  • maximum : PxBounds3 , PxExtendedVec3 , PxVec2 , PxVec3 , PxVec4
  • maxJumpHeight : PxControllerDesc
  • mAxleSeparation : PxVehicleAckermannGeometryData
  • maxLinearVelocitySq : PxRigidBodyData
  • maxMargin : PxConvexMeshGeometry
  • maxNbActors : PxSceneLimits
  • maxNbAggregates : PxSceneLimits
  • maxNbBodies : PxSceneLimits
  • maxNbBroadPhaseOverlaps : PxSceneLimits
  • maxNbConstraints : PxSceneLimits
  • maxNbContactDataBlocks : PxSceneDesc
  • maxNbDynamicShapes : PxSceneLimits
  • maxNbObjects : PxBroadPhaseCaps
  • maxNbObjectsPerRegion : PxSceneLimits
  • maxNbRegions : PxBroadPhaseCaps , PxSceneLimits
  • maxNbStaticShapes : PxSceneLimits
  • maxNbTouches : PxHitCallback< HitType >
  • mBaseFlags : PxBase
  • mBitmapBuffer : PxVehicleDifferentialNWData
  • mBits : PxFlags< enumtype, storagetype >
  • mBrakeTorques : PxVehicleNoDrive
  • mBVH33Desc : PxMidphaseDesc
  • mBVH34Desc : PxMidphaseDesc
  • mCallback : physx::PxProfileScoped
  • mCamberAtMaxCompression : PxVehicleSuspensionData
  • mCamberAtMaxDroop : PxVehicleSuspensionData
  • mCamberAtRest : PxVehicleSuspensionData
  • mCamberStiffnessPerUnitGravity : PxVehicleTireData
  • mCapacity : PxDefaultMemoryOutputStream
  • mCCTFilterCallback : PxControllerFilters
  • mCentreBias : PxVehicleDifferential4WData
  • mClutch : PxVehicleDriveSimData
  • mCMOffset : PxVehicleChassisData
  • mComp : physx::PxGpuTask
  • mConcreteType : PxBase
  • mCont : physx::PxLightCpuTask
  • mContacts : PxContactSet
  • mContextId : physx::PxProfileScoped
  • mContextID : physx::PxBaseTask
  • mControlAnalogVals : PxVehicleDriveDynData
  • mCount : PxContactSet
  • mCurrentGear : PxVehicleDriveDynData
  • mDampingRate : PxVehicleWheelData
  • mDampingRateFullThrottle : PxVehicleEngineData
  • mDampingRateZeroThrottleClutchDisengaged : PxVehicleEngineData
  • mDampingRateZeroThrottleClutchEngaged : PxVehicleEngineData
  • mData : PxDefaultMemoryOutputStream , PxDefaultMemoryInputData , PxBitAndDataT< storageType, bitMask >
  • mDataPairs : PxFixedSizeLookupTable< NB_ELEMENTS >
  • mDenominator : PxVehicleTireLoadFilterData
  • mDetached : physx::PxProfileScoped
  • mDiff : PxVehicleDriveSimData4W , PxVehicleDriveSimDataNW
  • mDownRatios : PxVehicleAutoBoxData
  • mDrivableSurfaceMaterials : PxVehicleDrivableSurfaceToTireFrictionPairs
  • mDrivableSurfaceTypes : PxVehicleDrivableSurfaceToTireFrictionPairs
  • mDriveDynData : PxVehicleDrive
  • mDriveModel : PxVehicleDriveTank
  • mDriveSimData : PxVehicleDrive4W , PxVehicleDriveNW , PxVehicleDriveTank
  • mDriveTorques : PxVehicleNoDrive
  • mEndianMode : PxFileBuf
  • mEndianSwap : PxFileBuf
  • mEngine : PxVehicleDriveSimData
  • mEnginespeed : PxVehicleDriveDynData
  • mesh : PxGeometryHolder
  • meshCookingHint : PxBVH33MidphaseDesc , PxCookingParams
  • meshFlags : PxConvexMeshGeometry , PxTriangleMeshGeometry
  • meshPreprocessParams : PxCookingParams
  • meshSizePerformanceTradeOff : PxBVH33MidphaseDesc , PxCookingParams
  • meshWeldTolerance : PxCookingParams
  • mEstimateIterations : PxVehicleClutchData
  • mEventName : physx::PxProfileScoped
  • mExtraDataAddress : PxDeserializationContext
  • mFallRates : PxVehicleKeySmoothingData , PxVehiclePadSmoothingData
  • mFile : PxDefaultFileInputData , PxDefaultFileOutputStream
  • mFilterCallback : PxControllerFilters
  • mFilterData : PxControllerFilters
  • mFilterFlags : PxControllerFilters
  • mFinalRatio : PxVehicleGearsData
  • mFrictionVsSlipGraph : PxVehicleTireData
  • mFrictionVsSlipGraphRecipx1Minusx0 : PxVehicleTireData
  • mFrictionVsSlipGraphRecipx2Minusx1 : PxVehicleTireData
  • mFrontBias : PxVehicleDifferential4WData
  • mFrontLeftRightSplit : PxVehicleDifferential4WData
  • mFrontRearSplit : PxVehicleDifferential4WData
  • mFrontWidth : PxVehicleAckermannGeometryData
  • mGearDown : PxVehicleDrive4WRawInputData , PxVehicleDriveTankRawInputData
  • mGearDownPressed : PxVehicleDriveDynData
  • mGears : PxVehicleDriveSimData
  • mGearSwitchTime : PxVehicleDriveDynData
  • mGearUp : PxVehicleDrive4WRawInputData , PxVehicleDriveTankRawInputData
  • mGearUpPressed : PxVehicleDriveDynData
  • mHalfExtents : PxBoxObstacle
  • mHalfHeight : PxCapsuleObstacle
  • mHighForwardSpeedSubStepCount : PxVehicleWheelsSimData
  • midphaseDesc : PxCookingParams
  • mImpl : PxClothFabricCooker , PxClothMeshQuadifier , PxClothSimpleTetherCooker , PxClothGeodesicTetherCooker , RaycastCCDManager
  • mIndexBase : PxHullPolygon
  • minElement() : PxVec3 , PxVec2
  • minImpulse : Px1DConstraint
  • minimum : PxBounds3 , PxExtendedVec3 , PxVec2 , PxVec3 , PxVec4
  • mInvInertiaScale0 : PxMassModificationProps
  • mInvInertiaScale1 : PxMassModificationProps
  • mInvMassScale0 : PxMassModificationProps
  • mInvMassScale1 : PxMassModificationProps
  • mInvNbDrivenWheels : PxVehicleDifferentialNWData
  • mLatStiffX : PxVehicleTireData
  • mLatStiffY : PxVehicleTireData
  • mLength : PxDefaultFileInputData
  • mLongitudinalStiffnessPerUnitGravity : PxVehicleTireData
  • mLowForwardSpeedSubStepCount : PxVehicleWheelsSimData
  • mMass : PxVehicleChassisData , PxVehicleWheelData
  • mMaxBrakeTorque : PxVehicleWheelData
  • mMaxCompression : PxVehicleSuspensionData
  • mMaxDroop : PxVehicleSuspensionData
  • mMaxFilteredNormalisedLoad : PxVehicleTireLoadFilterData
  • mMaxHandBrakeTorque : PxVehicleWheelData
  • mMaxNbResults : PxMeshOverlapUtil
  • mMaxNbSurfaceTypes : PxVehicleDrivableSurfaceToTireFrictionPairs
  • mMaxNbTireTypes : PxVehicleDrivableSurfaceToTireFrictionPairs
  • mMaxNormalisedLoad : PxVehicleTireLoadFilterData
  • mMaxOmega : PxVehicleEngineData
  • mMaxSteer : PxVehicleWheelData
  • mMinFilteredNormalisedLoad : PxVehicleTireLoadFilterData
  • mMinLongSlipDenominator : PxVehicleWheelsSimData
  • mMinNormalisedLoad : PxVehicleTireLoadFilterData
  • mMode : PxVehicleDriveTankRawInputData
  • mMOI : PxVehicleChassisData , PxVehicleEngineData , PxVehicleWheelData
  • mNbActiveAntiRollBars : PxVehicleWheelsSimData
  • mNbActiveWheels : PxVehicleWheelsSimData , PxVehicleWheelsDynData
  • mNbAntiRollBars4 : PxVehicleWheelsSimData
  • mNbDataPairs : PxFixedSizeLookupTable< NB_ELEMENTS >
  • mNbDrivenWheels : PxVehicleDifferentialNWData
  • mNbNonDrivenWheels : PxVehicleWheels
  • mNbRatios : PxVehicleGearsData
  • mNbResults : PxMeshOverlapUtil
  • mNbSurfaceTypes : PxVehicleDrivableSurfaceToTireFrictionPairs
  • mNbTireTypes : PxVehicleDrivableSurfaceToTireFrictionPairs
  • mNbVerts : PxHullPolygon
  • mNbWheels4 : PxVehicleWheelsSimData , PxVehicleWheelsDynData
  • mNormalisedLoadFilter : PxVehicleWheelsSimData
  • modifySamples() : PxHeightField
  • mods : Px1DConstraint
  • mOnConstraintReleaseCounter : PxVehicleWheels
  • move() : PxController
  • mPad : PxVehicleAntiRollBarData , PxVehicleNoDrive , PxVehicleWheelsSimData , PxFixedSizeLookupTable< NB_ELEMENTS > , PxVehicleWheelData , PxVehicleDifferential4WData , PxVehicleWheelsDynData , PxVehicleGearsData , PxVehicleDifferentialNWData , PxVehicleTireLoadFilterData , PxVehicleTireData , PxVehicleDriveDynData , PxVehicleDriveTank , PxVehicleDrivableSurfaceToTireFrictionPairs , PxVehicleSuspensionData , PxVehicleClutchData
  • mPad0 : PxVehicleWheels
  • mPadding : PxPadding< TNumBytes >
  • mPairs : PxVehicleDrivableSurfaceToTireFrictionPairs
  • mPeakTorque : PxVehicleEngineData
  • mPlane : PxHullPolygon
  • mPos : PxDefaultMemoryInputData , PxObstacle
  • mPreSyncRequired : physx::PxTask
  • mProfilerData : physx::PxProfileScoped
  • mPtr : PxStrideIterator< T >
  • mRadius : PxCapsuleObstacle , PxVehicleWheelData
  • mRatios : PxVehicleGearsData
  • mRawAnalogInputs : PxVehicleDriveTankRawInputData , PxVehicleDrive4WRawInputData
  • mRawDigitalInputs : PxVehicleDriveTankRawInputData , PxVehicleDrive4WRawInputData
  • mRearBias : PxVehicleDifferential4WData
  • mRearLeftRightSplit : PxVehicleDifferential4WData
  • mRearWidth : PxVehicleAckermannGeometryData
  • mRecipLongitudinalStiffnessPerUnitGravity : PxVehicleTireData
  • mRecipMaxCompression : PxVehicleSuspensionData
  • mRecipMaxDroop : PxVehicleSuspensionData
  • mRecipMaxOmega : PxVehicleEngineData
  • mRecipMOI : PxVehicleWheelData , PxVehicleEngineData
  • mRecipRadius : PxVehicleWheelData
  • mRefCount : physx::PxLightCpuTask
  • mResults : PxMeshOverlapUtil
  • mResultsMemory : PxMeshOverlapUtil
  • mRiseRates : PxVehiclePadSmoothingData , PxVehicleKeySmoothingData
  • mRot : PxObstacle
  • mScene : PxSceneReadLock , PxSceneWriteLock
  • mSize : PxDefaultMemoryOutputStream , PxDefaultMemoryInputData
  • mSpringDamperRate : PxVehicleSuspensionData
  • mSpringStrength : PxVehicleSuspensionData
  • mSprungMass : PxVehicleSuspensionData
  • mSteerAngles : PxVehicleNoDrive
  • mStiffness : PxVehicleAntiRollBarData
  • mStreamFormat : PxContactStreamIterator
  • mStreamIndex : physx::PxTask
  • mStrength : PxVehicleClutchData
  • mStride : PxStrideIterator< T >
  • mSwitchTime : PxVehicleGearsData
  • mTargetGear : PxVehicleDriveDynData
  • mTaskID : physx::PxTask
  • mThresholdLongitudinalSpeed : PxVehicleWheelsSimData
  • mTireForceCalculators : PxVehicleWheelsDynData
  • mTm : physx::PxBaseTask
  • mToeAngle : PxVehicleWheelData
  • mTorqueCurve : PxVehicleEngineData
  • mType : PxMidphaseDesc , PxGeometry , PxVehicleDrivableSurfaceType , PxVehicleTireData , PxObstacle , PxControllerDesc , PxVehicleDifferential4WData , PxVehicleWheels
  • mTypeName : PxSerializerDefaultAdapter< T >
  • multiply() : PxVec2 , PxVec3 , PxVec4
  • mUpRatios : PxVehicleAutoBoxData
  • mUseAutoGears : PxVehicleDriveDynData
  • mUserData : PxObstacle
  • mUserDatas : PxVehicleWheelsDynData
  • mWheel0 : PxVehicleAntiRollBarData
  • mWheel1 : PxVehicleAntiRollBarData
  • mWheels4DynData : PxVehicleWheelsDynData
  • mWheels4SimData : PxVehicleWheelsSimData
  • mWheelsDynData : PxVehicleWheels
  • mWheelsSimData : PxVehicleWheels
  • mWidth : PxVehicleWheelData


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z
  • ~
Here is a list of all class members with links to the classes they belong to:

- n -

  • n : PxPlane
  • name : PxMetaDataEntry
  • nbActiveConstraints : PxSimulationStatistics
  • nbActiveDynamicBodies : PxSimulationStatistics
  • nbActiveKinematicBodies : PxSimulationStatistics
  • nbAggregates : PxSimulationStatistics
  • nbArticulations : PxSimulationStatistics
  • nbAxisSolverConstraints : PxSimulationStatistics
  • nbBroadPhaseAdds : PxSimulationStatistics
  • nbBroadPhaseRemoves : PxSimulationStatistics
  • nbCCDPairs : PxSimulationStatistics
  • nbColumns : PxHeightFieldDesc
  • nbConcurrentWheelUpdates : PxVehicleConcurrentUpdateData
  • nbContactDataBlocks : PxSceneDesc
  • nbContacts : PxContactPatch
  • nbDiscreteContactPairs : PxSimulationStatistics
  • nbDiscreteContactPairsTotal : PxSimulationStatistics
  • nbDiscreteContactPairsWithCacheHits : PxSimulationStatistics
  • nbDiscreteContactPairsWithContacts : PxSimulationStatistics
  • nbDynamicBodies : PxSimulationStatistics
  • nbDynamicObjects : PxBroadPhaseRegionInfo
  • nbFullUpdates : PxControllerStats
  • nbIterations : PxControllerStats
  • nbLostPairs : PxSimulationStatistics
  • nbLostTouches : PxSimulationStatistics
  • nbModifiedContactPairs : PxSimulationStatistics
  • nbNewPairs : PxSimulationStatistics
  • nbNewTouches : PxSimulationStatistics
  • nbPairs : PxContactPairHeader
  • nbPartialUpdates : PxControllerStats
  • nbParticles : PxClothFabricDesc
  • nbPartitions : PxSimulationStatistics
  • nbPhases : PxClothFabricDesc
  • nbRows : PxHeightFieldDesc
  • nbSets : PxClothFabricDesc
  • nbShapes : PxSimulationStatistics
  • nbStaticBodies : PxSimulationStatistics
  • nbStaticObjects : PxBroadPhaseRegionInfo
  • nbTessellation : PxControllerStats
  • nbTethers : PxClothFabricDesc
  • nbTouches : PxBatchQueryResult< HitType > , PxHitCallback< HitType >
  • nbTriangles : PxClothFabricDesc
  • nbTriggerPairs : PxSimulationStatistics
  • nbValidParticles : PxParticleReadData
  • nbWheelQueryResults : PxVehicleWheelQueryResult
  • needsPredefinedBounds : PxBroadPhaseCaps
  • nextContact() : PxContactStreamIterator
  • nextContactIndex : PxContactStreamIterator
  • nextItemSet() : PxContactPairExtraDataIterator
  • nextPatch() : PxContactStreamIterator
  • nextPatchIndex : PxContactStreamIterator
  • nonWalkableMode : PxControllerDesc
  • normal : PxContactPairPoint , PxLocationHit , PxClothCollisionPlane , PxTriangle
  • normalize() : PxQuat , PxVec4 , PxVec2 , PxPlane , PxVec3 , PxExtendedVec3
  • normalizeFast() : PxVec3
  • normalizeSafe() : PxVec3
  • NUM_GPU_TASK_HINTS : physx::PxGpuTaskHint
  • numParticles : PxParticleCreationData , PxParticleExt::PxParticleExt::ParticleBounds
  • numTrisPerLeaf : PxBVH34MidphaseDesc


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z
  • ~
Here is a list of all class members with links to the classes they belong to:

- o -

  • objectToFile() : PxRepXSerializer
  • offset : PxMetaDataEntry
  • offsetSize : PxMetaDataEntry
  • onAdvance() : PxSimulationEventCallback
  • onCCDContactModify() : PxCCDContactModifyCallback
  • onComShift() : PxConstraintConnector
  • onConstraintBreak() : PxSimulationEventCallback
  • onConstraintRelease() : PxConstraintConnector
  • onContact() : PxSimulationEventCallback
  • onContactModify() : PxContactModifyCallback
  • onControllerHit() : PxUserControllerHitReport
  • onHit() : PxSpatialOverlapCallback , PxSpatialLocationCallback
  • onObjectOutOfBounds() : PxBroadPhaseCallback
  • onObstacleHit() : PxUserControllerHitReport
  • onOriginShift() : PxConstraintConnector
  • onRelease() : PxDeletionListener
  • onShapeHit() : PxUserControllerHitReport
  • onSleep() : PxSimulationEventCallback
  • onTrigger() : PxSimulationEventCallback
  • onWake() : PxSimulationEventCallback
  • OPEN_FILE_NOT_FOUND : PxFileBuf
  • OPEN_READ_ONLY : PxFileBuf
  • OPEN_READ_WRITE_EXISTING : PxFileBuf
  • OPEN_READ_WRITE_NEW : PxFileBuf
  • OPEN_WRITE_ONLY : PxFileBuf
  • OpenMode : PxFileBuf
  • operator bool() : PxFlags< enumtype, storagetype >
  • operator storageType() : PxBitAndDataT< storageType, bitMask >
  • operator uint16_t() : PxFlags< enumtype, storagetype >
  • operator uint32_t() : PxFlags< enumtype, storagetype >
  • operator uint8_t() : PxFlags< enumtype, storagetype >
  • operator!=() : PxFilterData , PxFlags< enumtype, storagetype > , PxStrideIterator< T > , PxVec2 , PxVec3 , PxVec4
  • operator&() : PxFlags< enumtype, storagetype >
  • operator&=() : PxFlags< enumtype, storagetype >
  • operator()() : PxAssertHandler , PxMat33 , PxMat44
  • operator*() : PxVec3 , PxVec4 , PxMassProperties , PxMat33 , PxMat44 , PxQuat , PxStrideIterator< T > , PxTransform , PxVec2
  • operator*=() : PxExtendedVec3 , PxMat33 , PxMat44 , PxQuat , PxTransform , PxVec2 , PxVec3 , PxVec4
  • operator+() : PxExtendedVec3 , PxMat33 , PxMat44 , PxQuat , PxStrideIterator< T > , PxVec2 , PxVec3 , PxVec4
  • operator++() : PxStrideIterator< T >
  • operator+=() : PxExtendedVec3 , PxMat33 , PxMat44 , PxQuat , PxStrideIterator< T > , PxVec2 , PxVec3 , PxVec4
  • operator-() : PxVec4 , PxExtendedVec3 , PxVec2 , PxExtendedVec3 , PxMat33 , PxMat44 , PxQuat , PxStrideIterator< T > , PxVec2 , PxVec3 , PxVec4
  • operator--() : PxStrideIterator< T >
  • operator-=() : PxStrideIterator< T > , PxExtendedVec3 , PxMat33 , PxMat44 , PxQuat , PxVec2 , PxVec3 , PxVec4
  • operator->() : PxStrideIterator< T >
  • operator/() : PxVec2 , PxVec3 , PxVec4
  • operator/=() : PxVec2 , PxVec3 , PxVec4
  • operator<() : PxStrideIterator< T >
  • operator<=() : PxStrideIterator< T >
  • operator=() : PxBoxControllerDesc , PxFilterData , PxMidphaseDesc , PxSceneReadLock , PxSceneWriteLock , PxCapsuleControllerDesc , PxControllerDesc , PxFixedSizeLookupTable< NB_ELEMENTS > , PxDefaultMemoryOutputStream , PxFlags< enumtype, storagetype > , PxMat33 , PxQuat , PxVec4 , PxVehicleWheelsSimData , PxMat44 , PxRepXInstantiationArgs , PxVec2 , PxVec3 , PxTriangle
  • operator==() : PxFlags< enumtype, storagetype > , PxPlane , PxFilterData , PxFlags< enumtype, storagetype > , PxMat33 , PxStrideIterator< T > , PxTransform , PxVec4 , PxVec3 , PxMat44 , PxFlags< enumtype, storagetype > , PxVec2 , PxQuat
  • operator>() : PxStrideIterator< T >
  • operator>=() : PxStrideIterator< T >
  • operator[]() : PxMat33 , PxExtendedVec3 , PxVec3 , PxStrideIterator< T > , PxMat44 , PxExtendedVec3 , PxVec3 , PxVec2 , PxMat33 , PxVec4 , PxMat44
  • operator^() : PxFlags< enumtype, storagetype >
  • operator^=() : PxFlags< enumtype, storagetype >
  • operator|() : PxFlags< enumtype, storagetype >
  • operator|=() : PxFlags< enumtype, storagetype >
  • operator~() : PxFlags< enumtype, storagetype >
  • other : PxControllersHit
  • otherActor : PxTriggerPair
  • otherShape : PxTriggerPair
  • overlap : PxBroadPhaseRegionInfo , PxGeometryQuery , PxBatchQuery , PxVolumeCache , PxSpatialIndex , PxShapeExt , PxScene
  • overlapAny() : PxSceneQueryExt
  • overlapMultiple() : PxSceneQueryExt
  • overlapResultBufferSize : PxBatchQueryMemory
  • overlapTouchBufferSize : PxBatchQueryMemory
  • ownerClient : PxBatchQueryDesc


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z
  • ~
Here is a list of all class members with links to the classes they belong to:

- z -

  • z : PxExtendedVec3 , PxQuat , PxVec4 , PxVec3
  • zAngle : PxJointLimitCone
  • zero : PxContactStreamIterator
  • zoneEnd() : physx::PxProfilerCallback
  • zoneStart() : physx::PxProfilerCallback


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z
  • ~
Here is a list of all class members with links to the classes they belong to:

- ~ -

  • ~IndexPool() : PxParticleExt::PxParticleExt::IndexPool
  • ~Iterator() : PxVolumeCache::PxVolumeCache::Iterator
  • ~PxActor() : PxActor
  • ~PxAggregate() : PxAggregate
  • ~PxAllocatorCallback() : PxAllocatorCallback
  • ~PxArticulation() : PxArticulation
  • ~PxArticulationJoint() : PxArticulationJoint
  • ~PxArticulationLink() : PxArticulationLink
  • ~PxAssertHandler() : PxAssertHandler
  • ~PxBase() : PxBase
  • ~PxBaseTask() : physx::PxBaseTask
  • ~PxBatchQuery() : PxBatchQuery
  • ~PxBinaryConverter() : PxBinaryConverter
  • ~PxBoxController() : PxBoxController
  • ~PxBoxControllerDesc() : PxBoxControllerDesc
  • ~PxBroadPhaseCallback() : PxBroadPhaseCallback
  • ~PxBVH33TriangleMesh() : PxBVH33TriangleMesh
  • ~PxBVH34TriangleMesh() : PxBVH34TriangleMesh
  • ~PxCapsuleController() : PxCapsuleController
  • ~PxCapsuleControllerDesc() : PxCapsuleControllerDesc
  • ~PxCCDContactModifyCallback() : PxCCDContactModifyCallback
  • ~PxCloth() : PxCloth
  • ~PxClothFabric() : PxClothFabric
  • ~PxClothFabricCooker() : PxClothFabricCooker
  • ~PxClothGeodesicTetherCooker() : PxClothGeodesicTetherCooker
  • ~PxClothMeshQuadifier() : PxClothMeshQuadifier
  • ~PxClothSimpleTetherCooker() : PxClothSimpleTetherCooker
  • ~PxCollection() : PxCollection
  • ~PxConstraint() : PxConstraint
  • ~PxConstraintConnector() : PxConstraintConnector
  • ~PxConstraintVisualizer() : PxConstraintVisualizer
  • ~PxContactModifyCallback() : PxContactModifyCallback
  • ~PxContactRecorder() : PxContactRecorder
  • ~PxController() : PxController
  • ~PxControllerBehaviorCallback() : PxControllerBehaviorCallback
  • ~PxControllerDesc() : PxControllerDesc
  • ~PxControllerFilterCallback() : PxControllerFilterCallback
  • ~PxControllerManager() : PxControllerManager
  • ~PxConvexMesh() : PxConvexMesh
  • ~PxCooking() : PxCooking
  • ~PxCpuDispatcher() : physx::PxCpuDispatcher
  • ~PxDefaultErrorCallback() : PxDefaultErrorCallback
  • ~PxDefaultFileInputData() : PxDefaultFileInputData
  • ~PxDefaultFileOutputStream() : PxDefaultFileOutputStream
  • ~PxDefaultMemoryOutputStream() : PxDefaultMemoryOutputStream
  • ~PxDeletionListener() : PxDeletionListener
  • ~PxDeserializationContext() : PxDeserializationContext
  • ~PxErrorCallback() : PxErrorCallback
  • ~PxFileBuf() : PxFileBuf
  • ~PxFixedSizeLookupTable() : PxFixedSizeLookupTable< NB_ELEMENTS >
  • ~PxFoundation() : PxFoundation
  • ~PxGpuDispatcher() : physx::PxGpuDispatcher
  • ~PxGroupsMask() : PxGroupsMask
  • ~PxHeightField() : PxHeightField
  • ~PxHitBuffer() : PxHitBuffer< HitType >
  • ~PxHitCallback() : PxHitCallback< HitType >
  • ~PxInputData() : PxInputData
  • ~PxInputStream() : PxInputStream
  • ~PxJoint() : PxJoint
  • ~PxJointLimitParameters() : PxJointLimitParameters
  • ~PxLightCpuTask() : physx::PxLightCpuTask
  • ~PxLockedData() : PxLockedData
  • ~PxMaterial() : PxMaterial
  • ~PxMeshOverlapUtil() : PxMeshOverlapUtil
  • ~PxObstacleContext() : PxObstacleContext
  • ~PxOutputStream() : PxOutputStream
  • ~PxParticleBase() : PxParticleBase
  • ~PxParticleFluid() : PxParticleFluid
  • ~PxParticleFluidReadData() : PxParticleFluidReadData
  • ~PxParticleReadData() : PxParticleReadData
  • ~PxParticleSystem() : PxParticleSystem
  • ~PxPhysics() : PxPhysics
  • ~PxPhysicsInsertionCallback() : PxPhysicsInsertionCallback
  • ~PxProcessPxBaseCallback() : PxProcessPxBaseCallback
  • ~PxProfilerCallback() : physx::PxProfilerCallback
  • ~PxProfileScoped() : physx::PxProfileScoped
  • ~PxPruningStructure() : PxPruningStructure
  • ~PxPvd() : PxPvd
  • ~PxPvdSceneClient() : PxPvdSceneClient
  • ~PxPvdTransport() : PxPvdTransport
  • ~PxQueryFilterCallback() : PxQueryFilterCallback
  • ~PxRenderBuffer() : PxRenderBuffer
  • ~PxRepXSerializer() : PxRepXSerializer
  • ~PxRigidActor() : PxRigidActor
  • ~PxRigidBody() : PxRigidBody
  • ~PxRigidDynamic() : PxRigidDynamic
  • ~PxRigidStatic() : PxRigidStatic
  • ~PxScene() : PxScene
  • ~PxSceneReadLock() : PxSceneReadLock
  • ~PxSceneWriteLock() : PxSceneWriteLock
  • ~PxSerializationContext() : PxSerializationContext
  • ~PxSerializationRegistry() : PxSerializationRegistry
  • ~PxSerializer() : PxSerializer
  • ~PxShape() : PxShape
  • ~PxSimulationEventCallback() : PxSimulationEventCallback
  • ~PxSimulationFilterCallback() : PxSimulationFilterCallback
  • ~PxSpatialIndex() : PxSpatialIndex
  • ~PxSpatialLocationCallback() : PxSpatialLocationCallback
  • ~PxSpatialOverlapCallback() : PxSpatialOverlapCallback
  • ~PxStringTable() : PxStringTable
  • ~PxTask() : physx::PxTask
  • ~PxTaskManager() : physx::PxTaskManager
  • ~PxTriangle() : PxTriangle
  • ~PxTriangleMesh() : PxTriangleMesh
  • ~PxUserControllerHitReport() : PxUserControllerHitReport
  • ~PxVehicleDrivableSurfaceToTireFrictionPairs() : PxVehicleDrivableSurfaceToTireFrictionPairs
  • ~PxVehicleDrive() : PxVehicleDrive
  • ~PxVehicleDrive4W() : PxVehicleDrive4W
  • ~PxVehicleDrive4WRawInputData() : PxVehicleDrive4WRawInputData
  • ~PxVehicleDriveNW() : PxVehicleDriveNW
  • ~PxVehicleDriveNWRawInputData() : PxVehicleDriveNWRawInputData
  • ~PxVehicleDriveTank() : PxVehicleDriveTank
  • ~PxVehicleDriveTankRawInputData() : PxVehicleDriveTankRawInputData
  • ~PxVehicleNoDrive() : PxVehicleNoDrive
  • ~PxVehicleWheels() : PxVehicleWheels
  • ~PxVehicleWheelsDynData() : PxVehicleWheelsDynData
  • ~PxVehicleWheelsSimData() : PxVehicleWheelsSimData
  • ~PxVolumeCache() : PxVolumeCache
  • ~RaycastCCDManager() : RaycastCCDManager


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z
  • ~
Here is a list of all class members with links to the classes they belong to:

- a -

  • a : PxPackValidation
  • abs() : PxVec3
  • acquireReference() : PxShape , PxTriangleMesh , PxClothFabric , PxMaterial , PxConvexMesh , PxHeightField
  • active : PxBroadPhaseRegionInfo
  • actor : PxContactModifyPair , PxActorShape , PxActiveTransform , PxQueryCache , PxControllerShapeHit
  • actor2World : PxActiveTransform
  • actors : PxContactPairHeader
  • add() : PxCollection
  • addActor() : PxAggregate , PxScene
  • addActors() : PxScene
  • addAggregate() : PxScene
  • addAntiRollBarData() : PxVehicleWheelsSimData
  • addArticulation() : PxAggregate , PxScene
  • addBroadPhaseRegion() : PxScene
  • addCollection() : PxScene
  • addCollisionCapsule() : PxCloth
  • addCollisionConvex() : PxCloth
  • addCollisionPlane() : PxCloth
  • addCollisionSphere() : PxCloth
  • addCollisionTriangle() : PxCloth
  • addCompletionPrereq() : physx::PxGpuDispatcher
  • addForce() : PxRigidBody
  • addForceAtLocalPos() : PxRigidBodyExt
  • addForceAtPos() : PxRigidBodyExt
  • addForces() : PxParticleBase
  • addId() : PxCollection
  • addLocalForceAtLocalPos() : PxRigidBodyExt
  • addLocalForceAtPos() : PxRigidBodyExt
  • addObstacle() : PxObstacleContext
  • addPair() : PxFixedSizeLookupTable< NB_ELEMENTS >
  • addPostLaunchDependent() : physx::PxGpuDispatcher
  • addPreLaunchDependent() : physx::PxGpuDispatcher
  • addReference()
: physx::PxTask
, physx::PxBaseTask
, physx::PxLightCpuTask
  • addTorque() : PxRigidBody
  • advance() : PxScene
  • advanceToIndex() : PxContactStreamIterator
  • alignData() : PxSerializationContext
  • alignExtraData() : PxDeserializationContext
  • alignment : PxMetaDataEntry
  • allocate() : PxVehicleNoDrive , PxVehicleWheelsSimData , PxAllocatorCallback , PxVehicleDriveTank , PxVehicleDrivableSurfaceToTireFrictionPairs , PxDefaultAllocator , PxVehicleDrive4W , PxVehicleDriveNW
  • allocateIndices() : PxParticleExt::PxParticleExt::IndexPool
  • allocateStr() : PxStringTable
  • angular0 : PxConstraintInvMassScale , Px1DConstraint
  • angular1 : PxConstraintInvMassScale , Px1DConstraint
  • angularDamping : PxRigidBodyData
  • angularMomentumChange : PxVehicleConcurrentUpdateData
  • angularVelocity : PxContactPairVelocity , PxRigidBodyData
  • any() : PxGeometryHolder
  • append() : PxRenderBuffer
  • applyImpulse() : PxArticulation
  • area() : PxTriangle
  • areaTestEpsilon : PxCookingParams
  • at() : PxStridedData
  • attachShape() : PxRigidActor


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z
  • ~
Here is a list of all class members with links to the classes they belong to:

- b -

  • basisExtent() : PxBounds3
  • behaviorCallback : PxControllerDesc
  • bias : PxClothMotionConstraintConfig
  • bits0 : PxGroupsMask
  • bits1 : PxGroupsMask
  • bits2 : PxGroupsMask
  • bits3 : PxGroupsMask
  • block : PxBatchQueryResult< HitType > , PxHitCallback< HitType >
  • body2World : PxRigidBodyData
  • bounce : Px1DConstraint
  • bounceThreshold : PxJointLimitParameters
  • bounceThresholdVelocity : PxSceneDesc
  • bounds : PxBroadPhaseRegion , PxParticleExt::PxParticleExt::ParticleBounds
  • boundsOfPoints() : PxBounds3
  • box : PxGeometryHolder
  • broadPhaseCallback : PxSceneDesc
  • broadPhaseType : PxSceneDesc
  • bufferContacts() : PxContactPair
  • buildBoundsHash() : PxParticleExt
  • buildGPUData : PxCookingParams
  • buildObjectFromData() : PxPhysicsInsertionCallback
  • buildTriangleAdjacencies : PxCookingParams
  • byteAdd() : PxStrideIterator< T >
  • bytes : PxGeometryHolder
  • byteSub() : PxStrideIterator< T >


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z
  • ~
Here is a list of all class members with links to the classes they belong to:

- c -

  • capsule : PxGeometryHolder
  • ccdContactModifyCallback : PxSceneDesc
  • ccdMaxPasses : PxSceneDesc
  • ccdMaxSeparation : PxSceneDesc
  • centerExtents() : PxBounds3
  • centerOfMass : PxMassProperties
  • checkQueries() : PxScene
  • checkResults() : PxScene
  • clear() : PxFixedSizeLookupTable< NB_ELEMENTS > , PxRenderBuffer , PxFlags< enumtype, storagetype >
  • clearBit() : PxBitAndDataT< storageType, bitMask >
  • clearDataPtrs() : PxContactPairExtraDataIterator
  • clearForce() : PxRigidBody
  • clearInterpolation() : PxCloth
  • clearTessFlag() : PxHeightFieldSample
  • clearTorque() : PxRigidBody
  • clientId : PxQueryFilterData
  • climbingMode : PxCapsuleControllerDesc
  • close() : PxFileBuf
  • collide() : PxScene
  • collisionFlags : PxControllerState
  • collisionNormalBuffer : PxParticleReadData
  • collisionVelocityBuffer : PxParticleReadData
  • color : PxDebugPoint , PxDebugText
  • color0 : PxDebugLine , PxDebugTriangle
  • color1 : PxDebugTriangle , PxDebugLine
  • color2 : PxDebugTriangle
  • column0 : PxMat33 , PxMat44
  • column1 : PxMat33 , PxMat44
  • column2 : PxMat33 , PxMat44
  • column3 : PxMat44
  • columnScale : PxHeightFieldGeometry
  • compareMetaData() : PxBinaryConverter
  • complete() : PxSerialization
  • compressedContactSize : PxSimulationStatistics
  • compressionLimit : PxClothStretchConfig
  • computeByteSize() : PxVehicleDrive , PxVehicleWheelsSimData , PxVehicleWheelsDynData , PxVehicleWheels
  • computeForwardSpeed() : PxVehicleWheels
  • computeHullPolygons() : PxCooking
  • computeImpulseResponse() : PxArticulation
  • computeInteractions() : PxControllerManager
  • computeLinearAngularImpulse() : PxRigidBodyExt
  • computeMassPropertiesFromShapes() : PxRigidBodyExt
  • computePenetration() : PxGeometryQuery
  • computeSidewaysSpeed() : PxVehicleWheels
  • computeVelocityDeltaFromImpulse() : PxRigidBodyExt
  • concurrentWheelUpdates : PxVehicleConcurrentUpdateData
  • connect() : PxPvd , PxPvdTransport
  • constraint : PxConstraintInfo
  • constraintBufferCapacity : PxgDynamicsMemoryConfig
  • contact : PxContact , PxContactStreamIterator
  • contactBufferCapacity : PxgDynamicsMemoryConfig
  • contactCount : PxContactPair
  • contactDistance : PxJointLimitParameters
  • contactImpulses : PxContactPair
  • contactModifyCallback : PxSceneDesc
  • contactOffset : PxControllerDesc
  • contactPairIndex : PxContactPairExtraDataIterator
  • contactPatches : PxContactPair
  • contactPatchHeaderSize : PxContactStreamIterator
  • contactPoints : PxContactPair
  • contactPointSize : PxContactStreamIterator
  • contactReportStreamBufferSize : PxSceneDesc
  • contacts : PxContactModifyPair
  • contactStreamSize : PxgDynamicsMemoryConfig , PxContactPair
  • contains() : PxCollection , PxBounds3 , PxPlane
  • controller : PxControllerHit
  • convert() : PxBinaryConverter
  • convex : PxGeometryHolder
  • convexEdgeThreshold : PxHeightFieldDesc
  • convexMesh() : PxGeometryHolder , PxConvexMeshGeometry , PxGeometryHolder
  • convexMeshCookingType : PxCookingParams
  • cookConvexMesh() : PxCooking
  • cooker : PxRepXInstantiationArgs
  • cookHeightField() : PxCooking
  • cookTriangleMesh() : PxCooking
  • copy() : PxBoxControllerDesc , PxCapsuleControllerDesc , PxControllerDesc , PxVehicleWheelsSimData , PxVehicleWheelsDynData
  • count : PxMetaDataEntry , PxBoundedData
  • COUNT : PxJointActorIndex
  • cpuDispatcher : PxSceneDesc
  • create() : PxVehicleDriveNW , PxVehicleDrive4W , PxVehicleDriveTank , PxVehicleNoDrive
  • CREATE_INSTANCE : PxPvdUpdateType
  • createAggregate() : PxPhysics
  • createArticulation() : PxPhysics
  • createBatchQuery() : PxScene
  • createBinaryConverter() : PxSerialization
  • createClient() : PxScene
  • createCloth() : PxPhysics
  • createClothFabric() : PxPhysics
  • createCollection() : PxCollectionExt
  • createCollectionFromBinary() : PxSerialization
  • createCollectionFromXml() : PxSerialization
  • createConstraint() : PxPhysics
  • createController() : PxControllerManager
  • createConvexMesh() : PxCooking , PxPhysics
  • createDiagonal() : PxMat33
  • createDriveCache() : PxArticulation
  • createExclusiveShape() : PxRigidActorExt
  • createHeightField() : PxCooking , PxPhysics
  • createIndexPool() : PxParticleExt
  • createLink() : PxArticulation
  • createMaterial() : PxPhysics
  • createObject() : PxVehicleDriveTank , PxSerializerDefaultAdapter< T > , PxSerializer , PxVehicleNoDrive , PxVehicleDriveNW , PxVehicleDrive4W
  • createObstacleContext() : PxControllerManager
  • createParticleFluid() : PxPhysics
  • createParticles() : PxParticleBase
  • createParticleSystem() : PxPhysics
  • createPruningStructure() : PxPhysics
  • createRegionsFromWorldBounds() : PxBroadPhaseExt
  • createRigidDynamic() : PxPhysics
  • createRigidStatic() : PxPhysics
  • createScene() : PxPhysics
  • createSerializationRegistry() : PxSerialization
  • createSerialObjectIds() : PxSerialization
  • createShape() : PxPhysics , PxRigidActor , PxPhysics , PxRigidActor
  • createStringTable() : PxStringTableExt
  • createTaskManager() : physx::PxTaskManager
  • createTriangleMesh() : PxCooking , PxPhysics
  • createVolumeCache() : PxScene
  • cross() : PxExtendedVec3 , PxVec3
  • currPtr : PxContactPairExtraDataIterator


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z
  • ~
Here is a list of all class members with links to the classes they belong to:

- d -

  • d : PxPlane
  • damping : Px1DConstraint , PxJointLimitParameters , PxSpring
  • data : PxQueryFilterData , PxStridedData , PxTypedStridedData< TDataType >
  • deallocate() : PxDefaultAllocator , PxAllocatorCallback
  • deltaXP : PxControllerState
  • denormalizedNormal() : PxTriangle
  • density : PxControllerDesc
  • densityBuffer : PxParticleFluidReadData
  • detachShape() : PxRigidActor
  • DeviceToHost : physx::PxGpuTaskHint
  • dir : PxControllerHit
  • disableWheel() : PxVehicleWheelsSimData
  • disconnect() : PxPvd , PxPvdTransport
  • distance : PxLocationHit , PxClothCollisionPlane , PxPlane
  • distanceSquared() : PxExtendedVec3
  • dominance0 : PxDominanceGroupPair
  • dominance1 : PxDominanceGroupPair
  • doRaycastCCD() : RaycastCCDManager
  • dot() : PxVec2 , PxVec4 , PxVec3 , PxExtendedVec3 , PxQuat
  • drawLines() : PxPvdSceneClient
  • drawPoints() : PxPvdSceneClient
  • drawText() : PxPvdSceneClient
  • drawTriangles() : PxPvdSceneClient
  • dumpBinaryMetaData() : PxSerialization
  • dynamicFriction : PxModifiableContact , PxContactPatch
  • dynamicStructure : PxSceneDesc
  • dynamicTreeRebuildRateHint : PxSceneDesc


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z
  • ~
Here is a list of all class members with links to the classes they belong to:

- e -

  • e0TH_VERTEX_SHARED : PxHeightFieldTessFlag
  • e16_BIT_INDICES : PxConvexFlag , PxTriangleMeshFlag , PxMeshFlag
  • e1ST_FROM_FRONT_LEFT : PxVehicleDriveTankWheelOrder
  • e1ST_FROM_FRONT_RIGHT : PxVehicleDriveTankWheelOrder
  • e2ND_FROM_FRONT_LEFT : PxVehicleDriveTankWheelOrder
  • e2ND_FROM_FRONT_RIGHT : PxVehicleDriveTankWheelOrder
  • e3RD_FROM_FRONT_LEFT : PxVehicleDriveTankWheelOrder
  • e3RD_FROM_FRONT_RIGHT : PxVehicleDriveTankWheelOrder
  • e4TH_FROM_FRONT_LEFT : PxVehicleDriveTankWheelOrder
  • e4TH_FROM_FRONT_RIGHT : PxVehicleDriveTankWheelOrder
  • e5TH_FROM_FRONT_LEFT : PxVehicleDriveTankWheelOrder
  • e5TH_FROM_FRONT_RIGHT : PxVehicleDriveTankWheelOrder
  • e6TH_FROM_FRONT_LEFT : PxVehicleDriveTankWheelOrder
  • e6TH_FROM_FRONT_RIGHT : PxVehicleDriveTankWheelOrder
  • e7TH_FROM_FRONT_LEFT : PxVehicleDriveTankWheelOrder
  • e7TH_FROM_FRONT_RIGHT : PxVehicleDriveTankWheelOrder
  • e8TH_FROM_FRONT_LEFT : PxVehicleDriveTankWheelOrder
  • e8TH_FROM_FRONT_RIGHT : PxVehicleDriveTankWheelOrder
  • e9TH_FROM_FRONT_LEFT : PxVehicleDriveTankWheelOrder
  • e9TH_FROM_FRONT_RIGHT : PxVehicleDriveTankWheelOrder
  • eABORT : PxErrorCode
  • eACCELERATION : PxForceMode , PxD6JointDriveFlag , PxVehicleUpdateMode
  • eACCELERATION1 : PxConstraintSolveHint
  • eACCELERATION2 : PxConstraintSolveHint
  • eACCELERATION3 : PxConstraintSolveHint
  • eACCELERATION_SPRING : Px1DConstraintFlag
  • eACTOR0 : PxJointActorIndex
  • eACTOR1 : PxJointActorIndex
  • eACTOR_AXES : PxVisualizationParameter
  • eACTOR_COUNT : PxActorType
  • eACTOR_FORCE_DWORD : PxActorType
  • eACTOR_PAIR_HAS_FIRST_TOUCH : PxContactPairFlag
  • eACTOR_PAIR_LOST_TOUCH : PxContactPairFlag
  • eADAPTIVE_FORCE : PxSceneFlag
  • eADJACENCY_INFO : PxTriangleMeshFlag
  • eAGGREGATE : PxConcreteType
  • eALIGNMENT : PxMetaDataFlag
  • eALL : PxControllerDebugRenderFlag , PxPvdInstrumentationFlag
  • eANALOG_INPUT_ACCEL : PxVehicleDrive4WControl , PxVehicleDriveNWControl , PxVehicleDriveTankControl
  • eANALOG_INPUT_BRAKE : PxVehicleDrive4WControl , PxVehicleDriveNWControl
  • eANALOG_INPUT_BRAKE_LEFT : PxVehicleDriveTankControl
  • eANALOG_INPUT_BRAKE_RIGHT : PxVehicleDriveTankControl
  • eANALOG_INPUT_HANDBRAKE : PxVehicleDrive4WControl , PxVehicleDriveNWControl
  • eANALOG_INPUT_STEER_LEFT : PxVehicleDrive4WControl , PxVehicleDriveNWControl
  • eANALOG_INPUT_STEER_RIGHT : PxVehicleDrive4WControl , PxVehicleDriveNWControl
  • eANALOG_INPUT_THRUST_LEFT : PxVehicleDriveTankControl
  • eANALOG_INPUT_THRUST_RIGHT : PxVehicleDriveTankControl
  • eANY_HIT : PxQueryFlag
  • eARGB_BLACK : PxDebugColor
  • eARGB_BLUE : PxDebugColor
  • eARGB_CYAN : PxDebugColor
  • eARGB_DARKBLUE : PxDebugColor
  • eARGB_DARKGREEN : PxDebugColor
  • eARGB_DARKRED : PxDebugColor
  • eARGB_GREEN : PxDebugColor
  • eARGB_GREY : PxDebugColor
  • eARGB_MAGENTA : PxDebugColor
  • eARGB_RED : PxDebugColor
  • eARGB_WHITE : PxDebugColor
  • eARGB_YELLOW : PxDebugColor
  • eARM : PxPlatform
  • eARTICULATION : PxFilterObjectType , PxConcreteType
  • eARTICULATION_JOINT : PxConcreteType
  • eARTICULATION_LINK : PxActorType , PxConcreteType
  • eASSUME_NO_INITIAL_OVERLAP : PxHitFlag
  • eAVERAGE : PxCombineMode
  • eBENDING : PxClothFabricPhaseType
  • eBEST_POSSIBLE : PxVehicleClutchAccuracyMode
  • eBLOCK : PxQueryHitType
  • eBODY_ANG_VELOCITY : PxVisualizationParameter
  • eBODY_AXES : PxVisualizationParameter
  • eBODY_LIN_VELOCITY : PxVisualizationParameter
  • eBODY_MASS_AXES : PxVisualizationParameter
  • eBOX : PxControllerShapeType , PxGeometryType
  • eBROKEN : PxConstraintFlag
  • eBUILD_DISABLED_COMMIT_DISABLED : PxSceneQueryUpdateMode
  • eBUILD_ENABLED_COMMIT_DISABLED : PxSceneQueryUpdateMode
  • eBUILD_ENABLED_COMMIT_ENABLED : PxSceneQueryUpdateMode
  • eBVH33 : PxMeshMidPhase
  • eBVH34 : PxMeshMidPhase
  • eCACHED_BV : PxControllerDebugRenderFlag
  • eCALLBACK : PxFilterFlag
  • eCAPSULE : PxControllerShapeType , PxGeometryType
  • eCCD_PAIRS : PxSimulationStatistics
  • eCCT_CAN_RIDE_ON_OBJECT : PxControllerBehaviorFlag
  • eCCT_SLIDE : PxControllerBehaviorFlag
  • eCCT_USER_DEFINED_RIDE : PxControllerBehaviorFlag
  • eCHECK_ZERO_AREA_TRIANGLES : PxConvexFlag
  • eCLASS : PxMetaDataFlag
  • eCLOTH : PxFilterObjectType , PxConcreteType
  • eCLOTH_BENDING : PxVisualizationParameter
  • eCLOTH_FABRIC : PxConcreteType
  • eCLOTH_HORIZONTAL : PxVisualizationParameter
  • eCLOTH_SHEARING : PxVisualizationParameter
  • eCLOTH_VERTICAL : PxVisualizationParameter
  • eCLOTH_VIRTUAL_PARTICLES : PxVisualizationParameter
  • eCOLLISION_AABBS : PxVisualizationParameter
  • eCOLLISION_AXES : PxVisualizationParameter
  • eCOLLISION_COMPOUNDS : PxVisualizationParameter
  • eCOLLISION_DOWN : PxControllerCollisionFlag
  • eCOLLISION_DYNAMIC : PxVisualizationParameter
  • eCOLLISION_EDGES : PxVisualizationParameter
  • eCOLLISION_ENABLED : PxConstraintFlag
  • eCOLLISION_FNORMALS : PxVisualizationParameter
  • eCOLLISION_NORMAL_BUFFER : PxParticleReadDataFlag
  • eCOLLISION_SHAPES : PxVisualizationParameter
  • eCOLLISION_SIDES : PxControllerCollisionFlag
  • eCOLLISION_STATIC : PxVisualizationParameter
  • eCOLLISION_TWOWAY : PxParticleBaseFlag
  • eCOLLISION_UP : PxControllerCollisionFlag
  • eCOLLISION_VELOCITY_BUFFER : PxParticleReadDataFlag
  • eCOLLISION_WITH_DRAIN : PxParticleFlag
  • eCOLLISION_WITH_DYNAMIC : PxParticleFlag
  • eCOLLISION_WITH_DYNAMIC_ACTORS : PxParticleBaseFlag
  • eCOLLISION_WITH_STATIC : PxParticleFlag
  • eCOMPRESSED_MODIFIABLE_STREAM : PxContactStreamIterator
  • eCOMPRESSED_MODIFIED_CONTACT : PxContactPatch
  • eCOMPUTE_CONVEX : PxConvexFlag
  • eCONSTRAINED : PxCapsuleClimbingMode
  • eCONSTRAINT : PxConcreteType
  • eCONTACT_DEFAULT : PxPairFlag
  • eCONTACT_ERROR : PxVisualizationParameter
  • eCONTACT_EVENT_POSE : PxPairFlag , PxContactPairExtraDataType
  • eCONTACT_FORCE : PxVisualizationParameter
  • eCONTACT_NORMAL : PxVisualizationParameter
  • eCONTACT_PAIR_INDEX : PxContactPairExtraDataType
  • eCONTACT_POINT : PxVisualizationParameter
  • eCONTROL_FLIP : PxMetaDataFlag
  • eCONTROL_MASK : PxMetaDataFlag
  • eCONTROL_MASK_RANGE : PxMetaDataFlag
  • eCONVEX_MESH : PxConcreteType
  • eCONVEXMESH : PxGeometryType
  • eCOOKING_PERFORMANCE : PxMeshCookingHint
  • eCOUNT : PxClothFabricPhaseType , PxClothFlag , PxD6Axis , PxD6Drive
  • eCOUNT_MASK_MSB : PxMetaDataFlag
  • eCOUNT_SKIP_IF_ONE : PxMetaDataFlag
  • eCUDA : PxClothFlag
  • eCULL_BOX : PxVisualizationParameter
  • eD6 : PxJointConcreteType
  • eDEBUG : PxPvdInstrumentationFlag
  • eDEBUG_INFO : PxErrorCode
  • eDEBUG_WARNING : PxErrorCode
  • eDEFAULT : PxFilterFlag , PxPairFilteringMode , PxHitFlag , PxClothFlag
  • eDENSITY_BUFFER : PxParticleReadDataFlag
  • eDEPRECATED_BODY_JOINT_GROUPS : PxVisualizationParameter
  • eDEPRECATED_COLLISION_PAIRS : PxVisualizationParameter
  • eDEPRECATED_TRIGGER_TRIGGER_REPORTS : PxSceneFlag
  • eDETECT_CCD_CONTACT : PxPairFlag
  • eDETECT_DISCRETE_CONTACT : PxPairFlag
  • eDEVICE : PxDataAccessFlag
  • eDIFF_TYPE_LS_4WD : PxVehicleDifferential4WData
  • eDIFF_TYPE_LS_FRONTWD : PxVehicleDifferential4WData
  • eDIFF_TYPE_LS_REARWD : PxVehicleDifferential4WData
  • eDIFF_TYPE_OPEN_4WD : PxVehicleDifferential4WData
  • eDIFF_TYPE_OPEN_FRONTWD : PxVehicleDifferential4WData
  • eDIFF_TYPE_OPEN_REARWD : PxVehicleDifferential4WData
  • eDISABLE_ACTIVE_EDGES_PRECOMPUTE : PxMeshPreprocessingFlag
  • eDISABLE_CCD_RESWEEP : PxSceneFlag
  • eDISABLE_CLEAN_MESH : PxMeshPreprocessingFlag
  • eDISABLE_CONTACT_CACHE : PxSceneFlag
  • eDISABLE_CONTACT_REPORT_BUFFER_RESIZE : PxSceneFlag
  • eDISABLE_FRICTION : PxMaterialFlag
  • eDISABLE_GRAVITY : PxActorFlag
  • eDISABLE_MESH_VALIDATION : PxConvexFlag
  • eDISABLE_PREPROCESSING : PxConstraintFlag
  • eDISABLE_SIMULATION : PxActorFlag
  • eDISABLE_STRONG_FRICTION : PxMaterialFlag
  • eDISCRETE_CONTACT_PAIRS : PxSimulationStatistics
  • eDISTANCE : PxHitFlag , PxJointConcreteType
  • eDOUBLE_SIDED : PxMeshGeometryFlag
  • eDRIVE4W : PxVehicleTypes
  • eDRIVE_ENABLED : PxRevoluteJointFlag
  • eDRIVE_FREESPIN : PxRevoluteJointFlag
  • eDRIVE_LIMITS_ARE_FORCES : PxConstraintFlag
  • eDRIVENW : PxVehicleTypes
  • eDRIVETANK : PxVehicleTypes
  • eDYNAMIC : PxQueryFlag
  • eDYNAMIC_AABB_TREE : PxPruningStructureType
  • eEASY : PxCapsuleClimbingMode
  • eEIGHTEENTH : PxVehicleGearsData
  • eEIGHTH : PxVehicleGearsData
  • eELEVENTH : PxVehicleGearsData
  • eENABLE_ACTIVE_ACTORS : PxSceneFlag
  • eENABLE_AVERAGE_POINT : PxSceneFlag
  • eENABLE_CCD : PxRigidBodyFlag , PxSceneFlag
  • eENABLE_CCD_FRICTION : PxRigidBodyFlag
  • eENABLE_CCD_MAX_CONTACT_IMPULSE : PxRigidBodyFlag
  • eENABLE_ENHANCED_DETERMINISM : PxSceneFlag
  • eENABLE_GPU_DYNAMICS : PxSceneFlag
  • eENABLE_PCM : PxSceneFlag
  • eENABLE_POSE_INTEGRATION_PREVIEW : PxRigidBodyFlag
  • eENABLE_SPECULATIVE_CCD : PxRigidBodyFlag
  • eENABLE_STABILIZATION : PxSceneFlag
  • eENABLED : PxParticleBaseFlag
  • eEQUALITY : PxConstraintSolveHint
  • eERROR : PxArticulationJointDriveType
  • eESTIMATE : PxVehicleClutchAccuracyMode
  • eEXCLUDE_KINEMATICS_FROM_ACTIVE_ACTORS : PxSceneFlag
  • eEXTRA_DATA : PxMetaDataFlag
  • eEXTRA_ITEM : PxMetaDataFlag
  • eEXTRA_ITEMS : PxMetaDataFlag
  • eEXTRA_NAME : PxMetaDataFlag
  • eFACE_INDEX : PxHitFlag
  • eFAILURE : PxConvexMeshCookingResult , PxTriangleMeshCookingResult
  • eFAST_INERTIA_COMPUTATION : PxConvexFlag
  • eFIFTEENTH : PxVehicleGearsData
  • eFIFTH : PxVehicleGearsData
  • eFIRST : PxVehicleGearsData
  • eFIRST_PHYSX_EXTENSION : PxConcreteType
  • eFIRST_USER_EXTENSION : PxConcreteType
  • eFIRST_VEHICLE_EXTENSION : PxConcreteType
  • eFIXED : PxJointConcreteType
  • eFLAGS_BUFFER : PxParticleReadDataFlag
  • eFLIPNORMALS : PxMeshFlag
  • eFORCE : PxForceMode
  • eFORCE_32BIT_INDICES : PxMeshPreprocessingFlag
  • eFORCE_DWORD : PxVisualizationParameter , PxControllerShapeType , PxMetaDataFlag
  • eFORCE_NO_RESPONSE : PxContactPatch
  • eFOURTEENTH : PxVehicleGearsData
  • eFOURTH : PxVehicleGearsData
  • eFREE : PxD6Motion
  • eFRICTION_COUNT : PxFrictionType
  • eFRONT_LEFT : PxVehicleDrive4WWheelOrder , PxVehicleDriveTankWheelOrder
  • eFRONT_RIGHT : PxVehicleDrive4WWheelOrder , PxVehicleDriveTankWheelOrder
  • eGEARSRATIO_COUNT : PxVehicleGearsData
  • eGEOMETRY_COUNT : PxGeometryType
  • eGPU : PxBroadPhaseType , PxParticleBaseFlag
  • eGPU_COMPATIBLE : PxConstraintFlag , PxConvexFlag
  • eHAS_DRIVE_LIMIT : Px1DConstraintFlag
  • eHAS_FACE_INDICES : PxContactPatch
  • eHAS_MAX_IMPULSE : PxContactPatch
  • eHAS_MODIFIED_MASS_RATIOS : PxContactPatch
  • eHAS_TARGET_VELOCITY : PxContactPatch
  • eHEIGHTFIELD : PxConcreteType , PxGeometryType
  • eHOLE : PxHeightFieldMaterial
  • eHORIZONTAL : PxClothFabricPhaseType
  • eIMPROVED_SLERP : PxConstraintFlag
  • eIMPULSE : PxForceMode
  • eINEQUALITY : PxConstraintSolveHint
  • eINFLATE_CONVEX : PxConvexFlag
  • eINTERNAL_CONTACTS_ARE_FLIPPED : PxContactPairFlag
  • eINTERNAL_ERROR : PxErrorCode
  • eINTERNAL_HAS_IMPULSES : PxContactPairFlag
  • eINVALID : PxClothFabricPhaseType , PxGeometryType , PxMeshMidPhase
  • eINVALID_ID : PxConstraintExtIDs
  • eINVALID_OPERATION : PxErrorCode
  • eINVALID_PARAMETER : PxErrorCode
  • eIS_RELEASABLE : PxBaseFlag
  • eJOINT : PxConstraintExtIDs
  • eJOINT_LIMITS : PxVisualizationParameter
  • eJOINT_LOCAL_FRAMES : PxVisualizationParameter
  • eKEEP : PxPairFilteringMode
  • eKEEPBIAS : Px1DConstraintFlag
  • eKILL : PxFilterFlag , PxPairFilteringMode
  • eKINEMATIC : PxFilterObjectFlag , PxRigidBodyFlag
  • eLARGE_TRIANGLE : PxTriangleMeshCookingResult
  • eLast : PxJointConcreteType
  • eLAST : PxBroadPhaseType , PxPruningStructureType , PxCapsuleClimbingMode , PxMeshMidPhase
  • eLIMIT_ENABLED : PxPrismaticJointFlag , PxRevoluteJointFlag , PxSphericalJointFlag
  • eLIMITED : PxD6Motion
  • eLIMITS : PxConstraintVisualizationFlag
  • eLOCAL_FRAMES : PxConstraintVisualizationFlag
  • eLOCK_ANGULAR_X : PxRigidDynamicLockFlag
  • eLOCK_ANGULAR_Y : PxRigidDynamicLockFlag
  • eLOCK_ANGULAR_Z : PxRigidDynamicLockFlag
  • eLOCK_LINEAR_X : PxRigidDynamicLockFlag
  • eLOCK_LINEAR_Y : PxRigidDynamicLockFlag
  • eLOCK_LINEAR_Z : PxRigidDynamicLockFlag
  • eLOCKED : PxD6Motion
  • eMASK_ALL : PxErrorCode
  • eMATERIAL : PxConcreteType
  • eMAX : PxCombineMode
  • eMAX_DISTANCE_ENABLED : PxDistanceJointFlag
  • eMAX_NB_ANALOG_INPUTS : PxVehicleDriveDynData
  • eMAX_NB_DIFF_TYPES : PxVehicleDifferential4WData
  • eMAX_NB_DRIVE4W_ANALOG_INPUTS : PxVehicleDrive4WControl
  • eMAX_NB_DRIVENW_ANALOG_INPUTS : PxVehicleDriveNWControl
  • eMAX_NB_DRIVETANK_ANALOG_INPUTS : PxVehicleDriveTankControl
  • eMAX_NB_ENGINE_TORQUE_CURVE_ENTRIES : PxVehicleEngineData
  • eMAX_NB_SURFACE_TYPES : PxVehicleDrivableSurfaceToTireFrictionPairs
  • eMAX_NB_VEHICLE_TYPES : PxVehicleTypes
  • eMAX_SOLVERPRPEP_DATASIZE : PxConstraintShaderTable
  • eMAX_TYPE_COUNT : PxFilterObjectType
  • eMBP : PxBroadPhaseType
  • eMBP_REGIONS : PxVisualizationParameter
  • eMEMORY : PxPvdInstrumentationFlag
  • eMEMORY_RELEASE : PxDeletionEventFlag
  • eMESH_ANY : PxHitFlag
  • eMESH_BOTH_SIDES : PxHitFlag
  • eMESH_MULTIPLE : PxHitFlag
  • eMIN : PxCombineMode
  • eMIN_DISTANCE_ENABLED : PxDistanceJointFlag
  • eMODIFIABLE : PxContactPatch
  • eMODIFIABLE_FLAGS : PxHitFlag
  • eMODIFIABLE_STREAM : PxContactStreamIterator
  • eMODIFIED_CONTACT_PAIRS : PxSimulationStatistics
  • eMODIFY_CONTACTS : PxPairFlag
  • empty() : PxBounds3
  • eMTD : PxHitFlag
  • eMULTIPLY : PxCombineMode
  • eMUTABLE_FLAGS : PxSceneFlag
  • eN_VALUES : PxCombineMode
  • enableWheel() : PxVehicleWheelsSimData
  • ENDIAN_BIG : PxFileBuf
  • ENDIAN_LITTLE : PxFileBuf
  • ENDIAN_NONE : PxFileBuf
  • EndianMode : PxFileBuf
  • endPtr : PxContactPairExtraDataIterator
  • eNEUTRAL : PxVehicleGearsData
  • eNEXT_FREE : PxPairFlag , PxTriggerPairFlag
  • eNEXT_FREE_ID : PxConstraintExtIDs
  • eNINETEENTH : PxVehicleGearsData
  • eNINTH : PxVehicleGearsData
  • eNO_BLOCK : PxQueryFlag
  • eNO_BOUNDARY_EDGES : PxHeightFieldFlag
  • eNO_ERROR : PxErrorCode
  • eNODRIVE : PxVehicleTypes
  • eNONE : PxPruningStructureType , PxConstraintSolveHint , PxQueryHitType , PxControllerDebugRenderFlag , PxConverterReportMode
  • eNORMAL : PxConverterReportMode , PxHitFlag
  • eNOTIFY : PxFilterFlag
  • eNOTIFY_CONTACT_POINTS : PxPairFlag
  • eNOTIFY_THRESHOLD_FORCE_FOUND : PxPairFlag
  • eNOTIFY_THRESHOLD_FORCE_LOST : PxPairFlag
  • eNOTIFY_THRESHOLD_FORCE_PERSISTS : PxPairFlag
  • eNOTIFY_TOUCH_CCD : PxPairFlag
  • eNOTIFY_TOUCH_FOUND : PxPairFlag
  • eNOTIFY_TOUCH_LOST : PxPairFlag
  • eNOTIFY_TOUCH_PERSISTS : PxPairFlag
  • Enum : PxMetaDataFlag , PxConcreteType , PxClothFlag , PxControllerShapeType , PxContactPairFlag , PxSceneFlag , PxQueryHitType , PxDataAccessFlag , PxFilterObjectType , PxActorClientBehaviorFlag , PxArticulationJointDriveType , PxActorFlag , PxActorType , PxBatchQueryStatus , PxBroadPhaseType , PxClientBehaviorFlag , PxPvdSceneFlag , PxConstraintFlag , PxConstraintSolveHint , PxConstraintVisualizationFlag , PxPvdUpdateType , PxDeletionEventFlag , PxPairFlag , PxFilterFlag , PxFilterObjectFlag , PxPairFilteringMode , PxForceMode , PxMaterialFlag , PxCombineMode , PxQueryFlag , PxHitFlag , PxRigidBodyFlag , PxRigidDynamicLockFlag , PxActorTypeFlag , PxPruningStructureType , PxSceneQueryUpdateMode , PxFrictionType , PxShapeFlag , PxContactPairExtraDataType , PxContactPairHeaderFlag , PxTriggerPairFlag , PxVisualizationParameter , PxCapsuleClimbingMode , PxVehicleTypes , PxControllerNonWalkableMode , PxControllerCollisionFlag , PxControllerBehaviorFlag , PxControllerDebugRenderFlag , PxPvdInstrumentationFlag , PxClothFabricPhaseType , PxBaseFlag , PxVehicleConcreteType , physx::PxGpuTaskHint , PxDebugColor , PxMeshCookingHint , PxVehicleUpdateMode , PxPlatform , PxConvexMeshCookingType , PxVehicleDifferential4WData , PxMeshPreprocessingFlag , PxConverterReportMode , PxConstraintExtIDs , PxVehicleDriveTankControl , PxD6Motion , PxD6JointDriveFlag , PxVehicleClutchAccuracyMode , PxDistanceJointFlag , PxJointConcreteType , PxJointActorIndex , PxVehicleDrive4WWheelOrder , PxRevoluteJointFlag , PxVehicleDriveTankWheelOrder , PxConvexMeshGeometryFlag , PxConvexFlag , PxVehicleGearsData , PxParticleReadDataFlag , PxHeightFieldFormat , PxHeightFieldTessFlag , PxHeightFieldFlag , PxHeightFieldMaterial , PxMeshFlag , PxMeshMidPhase , PxTriangleMeshFlag , PxParticleFlag , PxParticleBaseFlag , PxMeshGeometryFlag , PxSphericalJointFlag , PxVehicleDrive4WControl , PxVehicleDriveNWControl , PxVehicleDriveTankControlModel , PxErrorCode , physx::PxTaskType , PxGeometryType , PxD6Drive , PxPrismaticJointFlag , PxFilterOp , PxConvexMeshCookingResult , PxD6Axis , PxTriangleMeshCookingResult
  • eNUM_VALUES : PxVisualizationParameter
  • eOBSTACLES : PxControllerDebugRenderFlag
  • eONE_DIRECTIONAL : PxFrictionType
  • eOUT_OF_MEMORY : PxErrorCode
  • eOUTPUT_FORCE : Px1DConstraintFlag
  • eOVERFLOW : PxBatchQueryStatus
  • eOWNS_MEMORY : PxBaseFlag
  • ePAD_32 : PxCombineMode
  • ePADDING : PxMetaDataFlag
  • ePARTICLE_DRAIN : PxShapeFlag
  • ePARTICLE_FLUID : PxConcreteType
  • ePARTICLE_SYSTEM : PxConcreteType
  • ePARTICLE_SYSTEM_BOUNDS : PxVisualizationParameter
  • ePARTICLE_SYSTEM_BROADPHASE_BOUNDS : PxVisualizationParameter
  • ePARTICLE_SYSTEM_COLLISION_NORMAL : PxVisualizationParameter
  • ePARTICLE_SYSTEM_GRID : PxVisualizationParameter
  • ePARTICLE_SYSTEM_MAX_MOTION_DISTANCE : PxVisualizationParameter
  • ePARTICLE_SYSTEM_POSITION : PxVisualizationParameter
  • ePARTICLE_SYSTEM_VELOCITY : PxVisualizationParameter
  • ePATCH : PxFrictionType
  • ePC : PxPlatform
  • ePENDING : PxBatchQueryStatus
  • ePER_PARTICLE_COLLISION_CACHE_HINT : PxParticleBaseFlag
  • ePER_PARTICLE_REST_OFFSET : PxParticleBaseFlag
  • ePERF_WARNING : PxErrorCode
  • ePHYSX_CORE_COUNT : PxConcreteType
  • ePLANE : PxGeometryType
  • ePLANE_SHIFTING : PxConvexFlag
  • ePOLYGONS_LIMIT_REACHED : PxConvexMeshCookingResult
  • ePOSITION : PxHitFlag
  • ePOSITION_BUFFER : PxParticleReadDataFlag
  • ePOST_SOLVER_VELOCITY : PxPairFlag , PxContactPairExtraDataType
  • ePOSTFILTER : PxQueryFlag
  • ePRE_SOLVER_VELOCITY : PxContactPairExtraDataType , PxPairFlag
  • ePRECISE_SWEEP : PxHitFlag
  • ePREFILTER : PxQueryFlag
  • ePREVENT_CLIMBING : PxControllerNonWalkableMode
  • ePREVENT_CLIMBING_AND_FORCE_SLIDING : PxControllerNonWalkableMode
  • ePRISMATIC : PxJointConcreteType
  • ePROFILE : PxPvdInstrumentationFlag
  • ePROJECT_TO_ACTOR0 : PxConstraintFlag
  • ePROJECT_TO_ACTOR1 : PxConstraintFlag
  • ePROJECT_TO_PLANE : PxParticleBaseFlag
  • ePROJECTION : PxConstraintFlag
  • ePRUNING_STRUCTURE : PxConcreteType
  • ePTR : PxMetaDataFlag
  • eQUANTIZE_INPUT : PxConvexFlag
  • eQUICKHULL : PxConvexMeshCookingType
  • eREADABLE : PxDataAccessFlag
  • eREAR_LEFT : PxVehicleDrive4WWheelOrder
  • eREAR_RIGHT : PxVehicleDrive4WWheelOrder
  • eREGENERATE_PATCHES : PxContactPatch
  • eREMOVED_ACTOR_0 : PxContactPairHeaderFlag
  • eREMOVED_ACTOR_1 : PxContactPairHeaderFlag
  • eREMOVED_SHAPE_0 : PxContactPairFlag
  • eREMOVED_SHAPE_1 : PxContactPairFlag
  • eREMOVED_SHAPE_OTHER : PxTriggerPairFlag
  • eREMOVED_SHAPE_TRIGGER : PxTriggerPairFlag
  • eREPORT_FOREIGN_OBJECTS_TO_CONSTRAINT_BREAK_NOTIFY : PxClientBehaviorFlag
  • eREPORT_FOREIGN_OBJECTS_TO_CONTACT_NOTIFY : PxClientBehaviorFlag
  • eREPORT_FOREIGN_OBJECTS_TO_SCENE_QUERY : PxClientBehaviorFlag
  • eREPORT_FOREIGN_OBJECTS_TO_TRIGGER_NOTIFY : PxClientBehaviorFlag
  • eREPORT_TO_FOREIGN_CLIENTS_CONSTRAINT_BREAK_NOTIFY : PxActorClientBehaviorFlag
  • eREPORT_TO_FOREIGN_CLIENTS_CONTACT_NOTIFY : PxActorClientBehaviorFlag
  • eREPORT_TO_FOREIGN_CLIENTS_SCENE_QUERY : PxActorClientBehaviorFlag
  • eREPORT_TO_FOREIGN_CLIENTS_TRIGGER_NOTIFY : PxActorClientBehaviorFlag
  • eREQUIRE_RW_LOCK : PxSceneFlag
  • eRESERVED : PxQueryFlag
  • eREST_OFFSET_BUFFER : PxParticleReadDataFlag
  • eRESTITUTION : Px1DConstraintFlag
  • eREVERSE : PxVehicleGearsData
  • eREVOLUTE : PxJointConcreteType
  • eRIGID_BODY : PxSimulationStatistics
  • eRIGID_DYNAMIC : PxFilterObjectType , PxActorType , PxActorTypeFlag , PxConcreteType
  • eRIGID_STATIC : PxFilterObjectType , PxActorTypeFlag , PxConcreteType , PxActorType
  • eS16_TM : PxHeightFieldFormat
  • eSAP : PxBroadPhaseType
  • eSCALE : PxVisualizationParameter
  • eSCENE_COLLISION : PxClothFlag
  • eSCENE_QUERY_SHAPE : PxShapeFlag
  • eSECOND : PxVehicleGearsData
  • eSEND_SLEEP_NOTIFIES : PxActorFlag
  • eSEVENTEENTH : PxVehicleGearsData
  • eSEVENTH : PxVehicleGearsData
  • eSHAPE : PxConcreteType
  • eSHEARING : PxClothFabricPhaseType
  • eSHIFT_VERTICES : PxConvexFlag
  • eSIM_PERFORMANCE : PxMeshCookingHint
  • eSIMPLE_STREAM : PxContactStreamIterator
  • eSIMULATION_SHAPE : PxShapeFlag
  • eSIXTEENTH : PxVehicleGearsData
  • eSIXTH : PxVehicleGearsData
  • eSLERP : PxD6Drive
  • eSLERP_SPRING : PxConstraintSolveHint
  • eSOLVE_CONTACT : PxPairFlag
  • eSPATIAL_DATA_STRUCTURE_OVERFLOW : PxParticleFlag
  • eSPECIAL : PxVehicleDriveTankControlModel
  • eSPHERE : PxGeometryType
  • eSPHERICAL : PxJointConcreteType
  • eSPRING : Px1DConstraintFlag
  • eSPRING_ENABLED : PxDistanceJointFlag
  • eSTANDARD : PxVehicleDriveTankControlModel
  • eSTATIC : PxQueryFlag
  • eSTATIC_AABB_TREE : PxPruningStructureType
  • eSUCCESS : PxTriangleMeshCookingResult , PxConvexMeshCookingResult , PxBatchQueryStatus
  • eSUPPRESS : PxPairFilteringMode , PxFilterFlag
  • eSURFACE_TYPE_UNKNOWN : PxVehicleDrivableSurfaceType
  • eSWEPT_CONTACT : PxClothFlag
  • eSWING : PxD6Drive
  • eSWING1 : PxD6Axis
  • eSWING2 : PxD6Axis
  • eTARGET : PxArticulationJointDriveType
  • eTEMPORAL_BV : PxControllerDebugRenderFlag
  • eTENTH : PxVehicleGearsData
  • eTHIRD : PxVehicleGearsData
  • eTHIRTEENTH : PxVehicleGearsData
  • eTHIRTIETH : PxVehicleGearsData
  • eTIGHT_BOUNDS : PxConvexMeshGeometryFlag
  • eTOUCH : PxQueryHitType
  • eTRANSMIT_CONSTRAINTS : PxPvdSceneFlag
  • eTRANSMIT_CONTACTS : PxPvdSceneFlag
  • eTRANSMIT_SCENEQUERIES : PxPvdSceneFlag
  • eTRIANGLE_MESH_BVH33 : PxConcreteType
  • eTRIANGLE_MESH_BVH34 : PxConcreteType
  • eTRIANGLEMESH : PxGeometryType
  • eTRIGGER : PxFilterObjectFlag
  • eTRIGGER_DEFAULT : PxPairFlag
  • eTRIGGER_PAIRS : PxSimulationStatistics
  • eTRIGGER_SHAPE : PxShapeFlag
  • eTWELFTH : PxVehicleGearsData
  • eTWENTIETH : PxVehicleGearsData
  • eTWENTYEIGHTH : PxVehicleGearsData
  • eTWENTYFIFTH : PxVehicleGearsData
  • eTWENTYFIRST : PxVehicleGearsData
  • eTWENTYFOURTH : PxVehicleGearsData
  • eTWENTYNINTH : PxVehicleGearsData
  • eTWENTYSECOND : PxVehicleGearsData
  • eTWENTYSEVENTH : PxVehicleGearsData
  • eTWENTYSIXTH : PxVehicleGearsData
  • eTWENTYTHIRD : PxVehicleGearsData
  • eTWIST : PxD6Drive , PxD6Axis
  • eTWO_DIRECTIONAL : PxFrictionType
  • eTYPEDEF : PxMetaDataFlag
  • eUNDEFINED : PxConcreteType , PxFilterObjectType
  • eUNION : PxMetaDataFlag
  • eUSE_KINEMATIC_TARGET_FOR_SCENE_QUERIES : PxRigidBodyFlag
  • eUSER1 : PxVehicleTypes
  • eUSER2 : PxVehicleTypes
  • eUSER3 : PxVehicleTypes
  • eUSER_RELEASE : PxDeletionEventFlag
  • eUV : PxHitFlag
  • eVALID : PxParticleFlag
  • eVEHICLE_STICKY_TYRE : PxConstraintExtIDs
  • eVEHICLE_SUSP_LIMIT : PxConstraintExtIDs
  • eVehicleDrive4W : PxVehicleConcreteType
  • eVehicleDriveNW : PxVehicleConcreteType
  • eVehicleDriveTank : PxVehicleConcreteType
  • eVehicleNoDrive : PxVehicleConcreteType
  • eVELOCITY_BUFFER : PxParticleReadDataFlag
  • eVELOCITY_CHANGE : PxVehicleUpdateMode , PxForceMode
  • eventPose : PxContactPairExtraDataIterator
  • events : PxContactPair
  • eVERBOSE : PxConverterReportMode
  • eVERTICAL : PxClothFabricPhaseType
  • eVIRTUAL : PxMetaDataFlag
  • eVISUALIZATION : PxConstraintFlag , PxActorFlag , PxShapeFlag
  • eVOLUME_COUNT : PxSimulationStatistics
  • eWELD_VERTICES : PxMeshPreprocessingFlag
  • eWORLD_AXES : PxVisualizationParameter
  • eWRITABLE : PxDataAccessFlag
  • eX : PxD6Drive , PxD6Axis
  • execute() : PxBatchQuery
  • exportData() : PxSerializerDefaultAdapter< T > , PxSerializer
  • exportExtraData() : PxSerializerDefaultAdapter< T > , PxSerializer , PxVehicleNoDrive , PxVehicleWheels
  • externalReference : PxConstraintInfo
  • extractContacts() : PxContactPair
  • extraDataStream : PxContactPairHeader
  • extraDataStreamSize : PxContactPairHeader
  • eY : PxD6Drive , PxD6Axis
  • eZ : PxD6Drive , PxD6Axis
  • eZERO_AREA_TEST_FAILED : PxConvexMeshCookingResult


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z
  • ~
Here is a list of all class members with links to the classes they belong to:

- f -

  • faceIndex : PxQueryHit , PxQueryCache
  • faceIndice : PxContactStreamIterator
  • failureDetected() : physx::PxGpuDispatcher
  • fattenFast() : PxBounds3
  • fattenSafe() : PxBounds3
  • fetchCollision() : PxScene
  • fetchQueries() : PxScene
  • fetchResults() : PxScene
  • fetchResultsFinish() : PxScene
  • fetchResultsStart() : PxScene
  • fileToObject() : PxRepXSerializer
  • fill() : PxVolumeCache
  • FILL_OK : PxVolumeCache
  • FILL_OUT_OF_MEMORY : PxVolumeCache
  • FILL_OVER_MAX_COUNT : PxVolumeCache
  • FILL_UNSUPPORTED_GEOMETRY_TYPE : PxVolumeCache
  • FillStatus : PxVolumeCache
  • filter() : PxControllerFilterCallback
  • filterCallback : PxSceneDesc
  • filterFlags : PxFilterInfo
  • filterPairIndex : PxFilterInfo
  • filterShader : PxSceneDesc
  • filterShaderData : PxBatchQueryDesc , PxSceneDesc
  • filterShaderDataSize : PxBatchQueryDesc , PxSceneDesc
  • finalizeQuery() : PxHitCallback< HitType > , PxVolumeCache::PxVolumeCache::Iterator
  • find() : PxCollection
  • findOverlap() : PxMeshOverlapUtil
  • findOverlapHeightField() : PxMeshQuery
  • findOverlapTriangleMesh() : PxMeshQuery
  • finishBefore() : physx::PxTask
  • finishGroup() : physx::PxGpuDispatcher
  • firstParticle : PxParticleExt::PxParticleExt::ParticleBounds
  • flag : PxConstraintShaderTable
  • flagBuffer : PxParticleCreationData
  • flags : PxSceneDesc , PxMetaDataEntry , Px1DConstraint , PxQueryFilterData , PxLocationHit , PxContactPairHeader , PxContactPair , PxTriggerPair , PxHeightFieldDesc , PxConvexMeshDesc , PxClothMeshDesc , PxD6JointDrive , PxSimpleTriangleMesh
  • flagsBuffer : PxParticleReadData
  • flush() : PxSpatialIndex , PxFileBuf , PxPvdTransport
  • flushQueryUpdates() : PxScene
  • flushSimulation() : PxScene
  • forceDynamicTreeRebuild() : PxScene
  • forceFailureMode() : physx::PxGpuDispatcher
  • forceGearChange() : PxVehicleDriveDynData
  • forceLimit : PxD6JointDrive
  • forceNoResponse : PxContactStreamIterator
  • forceStreamCapacity : PxgDynamicsMemoryConfig
  • forEach() : PxVolumeCache
  • forInternalUse : Px1DConstraint
  • format : PxHeightFieldDesc
  • foundLostPairsCapacity : PxgDynamicsMemoryConfig
  • free() : PxVehicleDrive , PxVehicleWheels , PxVehicleDriveTank , PxVehicleNoDrive , PxVehicleWheelsSimData , PxVehicleDrive4W , PxVehicleDriveNW
  • freeIndices() : PxParticleExt::PxParticleExt::IndexPool
  • frictionOffsetThreshold : PxSceneDesc
  • frictionType : PxSceneDesc
  • front() : PxMat33 , PxMat44


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z
  • ~
Here is a list of all class members with links to the classes they belong to:

- g -

  • gaussMapLimit : PxCookingParams
  • geometricError : Px1DConstraint
  • geometry : PxGeometryHolder
  • get() : PxGeometryHolder
  • getAckermannGeometryData() : PxVehicleDriveSimData4W
  • getActiveActors() : PxScene
  • getActiveTransforms() : PxScene
  • getActor() : PxShape , PxController
  • getActorFlags() : PxActor
  • getActors() : PxAggregate , PxConstraint , PxScene , PxJoint
  • getAggregate() : PxActor , PxArticulation
  • getAggregates() : PxScene
  • getAllocatorCallback() : PxFoundation
  • getAnalogAccel() : PxVehicleDrive4WRawInputData , PxVehicleDriveTankRawInputData
  • getAnalogBrake() : PxVehicleDrive4WRawInputData
  • getAnalogHandbrake() : PxVehicleDrive4WRawInputData
  • getAnalogInput() : PxVehicleDriveDynData
  • getAnalogLeftBrake() : PxVehicleDriveTankRawInputData
  • getAnalogLeftThrust() : PxVehicleDriveTankRawInputData
  • getAnalogRightBrake() : PxVehicleDriveTankRawInputData
  • getAnalogRightThrust() : PxVehicleDriveTankRawInputData
  • getAnalogSteer() : PxVehicleDrive4WRawInputData
  • getAngle() : PxQuat , PxRevoluteJoint , PxQuat
  • getAngularDamping() : PxRigidDynamic
  • getAngularDragCoefficient() : PxCloth
  • getAngularInertiaScale() : PxCloth
  • getAngularVelocity() : PxRigidBody
  • getAntiRollBarData() : PxVehicleWheelsSimData
  • getAnyHit() : PxBatchQueryResult< HitType > , PxHitBuffer< HitType >
  • getArticulation() : PxArticulationLink
  • getArticulations() : PxScene
  • getAutoBoxData() : PxVehicleDriveSimData
  • getAutoBoxSwitchTime() : PxVehicleDriveDynData
  • getBaseFlags() : PxBase
  • getBasis() : PxMat44
  • getBasisVector0() : PxQuat
  • getBasisVector1() : PxQuat
  • getBasisVector2() : PxQuat
  • getBehaviorFlags() : PxControllerBehaviorCallback
  • getBinaryMetaData() : PxJoint , PxVehicleDriveSimData , PxVehicleDrive , PxVehicleDriveSimData4W , PxVehicleDrive4W , PxVehicleDriveSimDataNW , PxVehicleDriveNW , PxVehicleDriveTank , PxVehicleNoDrive , PxVehicleWheelsSimData , PxVehicleWheelsDynData , PxVehicleWheels
  • getBinaryMetaData_PxBase : PxBase
  • getBounceThresholdVelocity() : PxScene
  • getBoxGeometry() : PxShape
  • getBrakeTorque() : PxVehicleNoDrive
  • getBreakForce() : PxConstraint , PxJoint
  • getBroadPhaseCallback() : PxScene
  • getBroadPhaseCaps() : PxScene
  • getBroadPhaseRegions() : PxScene
  • getBroadPhaseType() : PxScene
  • getCacheVolume() : PxVolumeCache
  • getCapsuleGeometry() : PxShape
  • getCCDContactModifyCallback() : PxScene
  • getCCDMaxPasses() : PxScene
  • getCenter() : PxBounds3
  • getCentrifugalInertiaScale() : PxCloth
  • getChildPose() : PxArticulationJoint
  • getChildren() : PxArticulationLink
  • getClassSize() : PxSerializer , PxSerializerDefaultAdapter< T >
  • getClientBehaviorFlags() : PxActor , PxScene
  • getClientInternal() : PxPvdSceneClient
  • getClimbingMode() : PxCapsuleController
  • getClothFabrics() : PxPhysics
  • getClothFlags() : PxCloth
  • getClothInterCollisionDistance() : PxScene
  • getClothInterCollisionNbIterations() : PxScene
  • getClothInterCollisionStiffness() : PxScene
  • getClutchData() : PxVehicleDriveSimData
  • getCMassLocalPose() : PxRigidBody
  • getCollection() : PxSerializationContext
  • getCollisionData() : PxCloth
  • getCollisionMassScale() : PxCloth
  • getConcreteType() : PxBase
  • getConcreteTypeName() : PxVehicleDriveTank , PxVehicleNoDrive , PxVehicleWheels , PxAggregate , PxArticulation , PxArticulationJoint , PxArticulationLink , PxConstraint , PxMaterial , PxPruningStructure , PxRigidDynamic , PxRigidStatic , PxShape , PxCloth , PxClothFabric , PxBase , PxSerializer , PxSerializerDefaultAdapter< T > , PxD6Joint , PxDistanceJoint , PxFixedJoint , PxPrismaticJoint , PxRevoluteJoint , PxSphericalJoint , PxConvexMesh , PxHeightField , PxParticleFluid , PxParticleSystem , PxVehicleDrive , PxVehicleDrive4W , PxVehicleDriveNW
  • getConjugate() : PxQuat
  • getConstantBlock() : PxConstraintConnector
  • getConstraint() : PxJoint
  • getConstraintFlags() : PxJoint
  • getConstraints() : PxRigidActor , PxScene
  • getContactModifyCallback() : PxScene
  • getContactNormal() : PxContactStreamIterator
  • getContactOffset() : PxShape , PxController , PxCloth , PxParticleBase
  • getContactPatch() : PxContactStreamIterator
  • getContactPoint() : PxContactStreamIterator
  • getContactReportStreamBufferSize() : PxScene
  • getContactReportThreshold() : PxRigidDynamic
  • getContextId() : physx::PxBaseTask
  • getContinuation() : physx::PxLightCpuTask
  • getController() : PxControllerManager
  • getControllerManager() : PxObstacleContext
  • getConvexEdgeThreshold() : PxHeightField
  • getConvexMeshes() : PxPhysics
  • getConvexMeshGeometry() : PxShape
  • getCookerStatus() : PxClothGeodesicTetherCooker
  • getCpuDispatcher() : PxScene , physx::PxTaskManager
  • getCudaContextManager() : physx::PxGpuDispatcher
  • getCurrentGear() : PxVehicleDriveDynData
  • getDamping() : PxArticulationJoint , PxDistanceJoint , PxParticleBase
  • getDampingCoefficient() : PxCloth
  • getData() : PxDefaultMemoryOutputStream
  • getDataAccessFlags() : PxLockedData , PxParticleReadData
  • getDenominator() : PxVehicleTireLoadFilterData
  • getDescriptor() : PxClothFabricCooker , PxClothMeshQuadifier
  • getDeterminant() : PxMat33
  • getDiffData() : PxVehicleDriveSimData4W , PxVehicleDriveSimDataNW
  • getDigitalAccel() : PxVehicleDrive4WRawInputData , PxVehicleDriveTankRawInputData
  • getDigitalBrake() : PxVehicleDrive4WRawInputData
  • getDigitalHandbrake() : PxVehicleDrive4WRawInputData
  • getDigitalLeftBrake() : PxVehicleDriveTankRawInputData
  • getDigitalLeftThrust() : PxVehicleDriveTankRawInputData
  • getDigitalRightBrake() : PxVehicleDriveTankRawInputData
  • getDigitalRightThrust() : PxVehicleDriveTankRawInputData
  • getDigitalSteerLeft() : PxVehicleDrive4WRawInputData
  • getDigitalSteerRight() : PxVehicleDrive4WRawInputData
  • getDimensions() : PxBounds3
  • getDistance() : PxDistanceJoint
  • getDistanceJointFlags() : PxDistanceJoint
  • getDominanceGroup() : PxActor
  • getDominanceGroupPair() : PxScene
  • getDownRatios() : PxVehicleAutoBoxData
  • getDrive() : PxD6Joint
  • getDriveForceLimit() : PxRevoluteJoint
  • getDriveGearRatio() : PxRevoluteJoint
  • getDriveModel() : PxVehicleDriveTank , PxVehicleDriveTankRawInputData
  • getDrivenWheelStatus() : PxVehicleDifferentialNWData
  • getDrivePosition() : PxD6Joint
  • getDriveTorque() : PxVehicleNoDrive
  • getDriveType() : PxArticulationJoint
  • getDriveVelocity() : PxD6Joint , PxRevoluteJoint
  • getDynamicFriction() : PxContactStreamIterator , PxContactSet , PxMaterial , PxParticleBase
  • getDynamicStructure() : PxScene
  • getDynamicTreeRebuildRateHint() : PxScene
  • getEndianMode() : PxFileBuf
  • getEngineData() : PxVehicleDriveSimData
  • getEngineRotationSpeed() : PxVehicleDriveDynData
  • getErrorCallback() : PxFoundation
  • getErrorLevel() : PxFoundation
  • getExtendedContact() : PxContactStreamIterator
  • getExtents() : PxBounds3
  • getExternalAcceleration() : PxCloth , PxParticleBase
  • getExternalCompliance() : PxArticulationJoint
  • getExternalDriveIterations() : PxArticulation
  • getExternalReference() : PxConstraint , PxConstraintConnector
  • getFabric() : PxCloth
  • getFaceIndex0() : PxContactStreamIterator
  • getFaceIndex1() : PxContactStreamIterator
  • getFileLength() : PxFileBuf
  • getFilterCallback() : PxScene
  • getFilterShader() : PxScene
  • getFilterShaderData() : PxBatchQuery , PxScene
  • getFilterShaderDataSize() : PxBatchQuery , PxScene
  • getFlags() : PxConstraint , PxMaterial , PxScene , PxShape , PxHeightField
  • getFootPosition() : PxController
  • getForce() : PxConstraint
  • getFormat() : PxHeightField
  • getFoundation() : PxPhysics
  • getFrictionCoefficient() : PxCloth
  • getFrictionCombineMode() : PxMaterial
  • getFrictionOffsetThreshold() : PxScene
  • getFrictionType() : PxScene
  • getFrictionVsSlipGraphRecipx1Minusx0() : PxVehicleTireData
  • getFrictionVsSlipGraphRecipx2Minusx1() : PxVehicleTireData
  • getGearChange() : PxVehicleDriveDynData
  • getGearDown() : PxVehicleDriveDynData , PxVehicleDrive4WRawInputData , PxVehicleDriveTankRawInputData
  • getGearRatio() : PxVehicleGearsData
  • getGearsData() : PxVehicleDriveSimData
  • getGearSwitchTime() : PxVehicleDriveDynData
  • getGearUp() : PxVehicleDriveDynData , PxVehicleDrive4WRawInputData , PxVehicleDriveTankRawInputData
  • getGeometry() : PxShape
  • getGeometryType() : PxShape
  • getGlobalPose() : PxRigidActor , PxCloth , PxShapeExt
  • getGpuDispatcher() : PxScene , physx::PxTaskManager
  • getGravity() : PxScene
  • getGridSize() : PxParticleBase
  • getHalfForwardExtent() : PxBoxController
  • getHalfHeight() : PxBoxController
  • getHalfSideExtent() : PxBoxController
  • getHeight() : PxCapsuleController , PxHeightField
  • getHeightFieldGeometry() : PxShape
  • getHeightFields() : PxPhysics
  • getHighForwardSpeedSubStepCount() : PxVehicleWheelsSimData
  • getId() : PxCollection
  • getIds() : PxCollection
  • getImaginaryPart() : PxQuat
  • getInboundJoint() : PxArticulationLink
  • getIndexBuffer() : PxConvexMesh
  • getInstrumentationFlags() : PxPvd
  • getInternalCompliance() : PxArticulationJoint
  • getInternalDriveIterations() : PxArticulation
  • getInternalFaceIndex0() : PxContactSet
  • getInternalFaceIndex1() : PxContactSet
  • getInternalFaceIndices() : PxContactPair
  • getInverse() : PxMeshScale , PxMat33 , PxTransform
  • getInvInertiaScale0() : PxContactStreamIterator , PxContactSet , PxJoint
  • getInvInertiaScale1() : PxContactStreamIterator , PxContactSet , PxJoint
  • getInvMass() : PxRigidBody
  • getInvMassScale0() : PxContactStreamIterator , PxContactSet , PxJoint
  • getInvMassScale1() : PxContactStreamIterator , PxContactSet , PxJoint
  • getIsDrivenWheel() : PxVehicleDifferentialNWData
  • getIsWheelDisabled() : PxVehicleWheelsSimData
  • getKinematicTarget() : PxRigidDynamic
  • getLatency() : PxVehicleAutoBoxData
  • getLength() : PxDefaultMemoryInputData , PxDefaultFileInputData , PxInputData
  • getLimit() : PxPrismaticJoint , PxRevoluteJoint
  • getLimitCone() : PxSphericalJoint
  • getLimits() : PxScene
  • getLinearDamping() : PxRigidDynamic
  • getLinearDragCoefficient() : PxCloth
  • getLinearInertiaScale() : PxCloth
  • getLinearLimit() : PxD6Joint
  • getLinearVelocity() : PxRigidBody
  • getLines() : PxRenderBuffer
  • getLinks() : PxArticulation
  • getLocalBounds() : PxConvexMesh , PxTriangleMesh
  • getLocalPose() : PxShape , PxJoint
  • getLocalVelocityAtLocalPos() : PxRigidBodyExt
  • getLowForwardSpeedSubStepCount() : PxVehicleWheelsSimData
  • getMass() : PxRigidBody
  • getMassInformation() : PxConvexMesh
  • getMassSpaceInertia() : PxMassProperties
  • getMassSpaceInertiaTensor() : PxRigidBody
  • getMassSpaceInvInertiaTensor() : PxRigidBody
  • getMaterialFlags() : PxContactStreamIterator
  • getMaterialFromInternalFaceIndex() : PxShape
  • getMaterialIndex0() : PxContactStreamIterator
  • getMaterialIndex1() : PxContactStreamIterator
  • getMaterials() : PxPhysics , PxShape
  • getMaxAngularVelocity() : PxRigidDynamic
  • getMaxContactImpulse() : PxRigidBody
  • getMaxDepenetrationVelocity() : PxRigidBody
  • getMaxDistance() : PxDistanceJoint
  • getMaxImpulse() : PxContactStreamIterator , PxContactSet
  • getMaxMotionDistance() : PxParticleBase
  • getMaxNbActors() : PxAggregate
  • getMaxNbContactDataBlocksUsed() : PxScene
  • getMaxNbDynamicShapes() : PxVolumeCache
  • getMaxNbStaticShapes() : PxVolumeCache
  • getMaxNbSurfaceTypes() : PxVehicleDrivableSurfaceToTireFrictionPairs
  • getMaxNbTireTypes() : PxVehicleDrivableSurfaceToTireFrictionPairs
  • getMaxNbTouches() : PxHitBuffer< HitType >
  • getMaxOverlapsPerExecute() : PxBatchQueryMemory
  • getMaxParticles() : PxParticleBase
  • getMaxProjectionIterations() : PxArticulation
  • getMaxRaycastsPerExecute() : PxBatchQueryMemory
  • getMaxSweepsPerExecute() : PxBatchQueryMemory
  • getMinCCDAdvanceCoefficient() : PxRigidBody
  • getMinDistance() : PxDistanceJoint
  • getMinLongSlipDenominator() : PxVehicleWheelsSimData
  • getMinResponseThreshold() : PxConstraint
  • getMotion() : PxD6Joint
  • getMotionConstraintConfig() : PxCloth
  • getMotionConstraints() : PxCloth
  • getName() : PxActor , PxArticulation , PxShape , PxJoint , physx::PxBaseTask
  • getNamedTask() : physx::PxTaskManager
  • getNbActors() : PxAggregate , PxScene
  • getNbAggregates() : PxScene
  • getNbAnalogInput() : PxVehicleDriveDynData
  • getNbAntiRollBarData() : PxVehicleWheelsSimData
  • getNbAntiRollBars() : PxVehicleWheelsSimData
  • getNbAntiRollBars4() : PxVehicleWheelsSimData
  • getNbAnyHits() : PxBatchQueryResult< HitType > , PxHitBuffer< HitType >
  • getNbArticulations() : PxScene
  • getNbBrakeTorque() : PxVehicleNoDrive
  • getNbBroadPhaseAdds() : PxSimulationStatistics
  • getNbBroadPhaseRegions() : PxScene
  • getNbBroadPhaseRemoves() : PxSimulationStatistics
  • getNbCachedShapes() : PxVolumeCache
  • getNbChildren() : PxArticulationLink
  • getNbClothFabrics() : PxPhysics
  • getNbCollisionCapsules() : PxCloth
  • getNbCollisionConvexes() : PxCloth
  • getNbCollisionPlanes() : PxCloth
  • getNbCollisionSpheres() : PxCloth
  • getNbCollisionTriangles() : PxCloth
  • getNbColumns() : PxHeightField
  • getNbConstraints() : PxRigidActor , PxScene
  • getNbContactDataBlocksUsed() : PxScene
  • getNbControllers() : PxControllerManager
  • getNbConvexMeshes() : PxPhysics
  • getNbDataPairs() : PxFixedSizeLookupTable< NB_ELEMENTS >
  • getNbDriveTorque() : PxVehicleNoDrive
  • getNbHeightFields() : PxPhysics
  • getNbIds() : PxCollection
  • getNbLines() : PxRenderBuffer
  • getNbLinks() : PxArticulation
  • getNbMaterials() : PxPhysics , PxShape
  • getNbMotionConstraints() : PxCloth
  • getNbNonDrivenWheels() : PxVehicleWheels
  • getNbObjects() : PxCollection
  • getNbObstacleContexts() : PxControllerManager
  • getNbObstacles() : PxObstacleContext
  • getNbParticleAccelerations() : PxCloth
  • getNbParticleIndices() : PxClothFabric
  • getNbParticles() : PxCloth , PxClothFabric
  • getNbPhases() : PxClothFabric
  • getNbPoints() : PxRenderBuffer
  • getNbPolygons() : PxConvexMesh
  • getNbRestPositions() : PxCloth
  • getNbRestvalues() : PxClothFabric
  • getNbResults() : PxMeshOverlapUtil
  • getNbRigidActors() : PxPruningStructure
  • getNbRows() : PxHeightField
  • getNbSceneQueryFilterData() : PxVehicleWheelsSimData
  • getNbScenes() : PxPhysics
  • getNbSelfCollisionIndices() : PxCloth
  • getNbSeparationConstraints() : PxCloth
  • getNbSets() : PxClothFabric
  • getNbShapes() : PxPhysics , PxRigidActor
  • getNbSteerAngle() : PxVehicleNoDrive
  • getNbSuspensionData() : PxVehicleWheelsSimData
  • getNbSuspForceAppPointOffset() : PxVehicleWheelsSimData
  • getNbSuspTravelDirection() : PxVehicleWheelsSimData
  • getNbTethers() : PxClothFabric
  • getNbTethersPerParticle() : PxClothGeodesicTetherCooker
  • getNbTexts() : PxRenderBuffer
  • getNbTireData() : PxVehicleWheelsSimData
  • getNbTireForceAppPointOffset() : PxVehicleWheelsSimData
  • getNbTouches() : PxHitBuffer< HitType >
  • getNbTriangleMeshes() : PxPhysics
  • getNbTriangles() : PxRenderBuffer , PxTriangleMesh
  • getNbVertices() : PxTriangleMesh , PxConvexMesh
  • getNbVirtualParticles() : PxCloth
  • getNbVirtualParticleWeights() : PxCloth
  • getNbWheelCentreOffset() : PxVehicleWheelsSimData
  • getNbWheelData() : PxVehicleWheelsSimData
  • getNbWheelEnabledState() : PxVehicleWheelsSimData
  • getNbWheelRotationAngle() : PxVehicleWheelsDynData
  • getNbWheelRotationSpeed() : PxVehicleWheelsDynData
  • getNbWheels() : PxVehicleWheelsSimData
  • getNbWheels4() : PxVehicleWheelsSimData
  • getNbWheelShapeMapping() : PxVehicleWheelsSimData
  • getNonWalkableMode() : PxController
  • getNormal() : PxContactSet
  • getNormalized() : PxVec3 , PxQuat , PxTransform , PxVec2 , PxVec4
  • getObject() : PxCollection
  • getObjects() : PxCollection
  • getObstacle() : PxObstacleContext
  • getObstacleByHandle() : PxObstacleContext
  • getObstacleContext() : PxControllerManager
  • getOpenMode() : PxFileBuf
  • getOwnerClient() : PxActor , PxBatchQuery
  • getParams() : PxCooking
  • getParentPose() : PxArticulationJoint
  • getParticleAccelerations() : PxCloth
  • getParticleBaseFlags() : PxParticleBase
  • getParticleIndices() : PxClothFabric
  • getParticleMass() : PxParticleBase
  • getParticleReadDataFlags() : PxParticleBase
  • getPatch() : PxContactSet
  • getPhases() : PxClothFabric
  • getPhysics() : PxScene
  • getPhysicsInsertionCallback() : PxPhysics
  • getPhysXVersion() : PxDeserializationContext
  • getPlaneGeometry() : PxShape
  • getPoint() : PxContactSet
  • getPoints() : PxRenderBuffer
  • getPolygonData() : PxConvexMesh
  • getPosition() : PxController , PxPrismaticJoint , PxMat44
  • getPostFilterShader() : PxBatchQuery
  • getPostLaunchTask() : physx::PxGpuDispatcher
  • getPreFilterShader() : PxBatchQuery
  • getPreLaunchTask() : physx::PxGpuDispatcher
  • getPrep() : PxConstraintConnector
  • getPreviousTimeStep() : PxCloth
  • getPrismaticJointFlags() : PxPrismaticJoint
  • getProjectionAngularTolerance() : PxRevoluteJoint , PxPrismaticJoint , PxFixedJoint , PxD6Joint
  • getProjectionLinearTolerance() : PxD6Joint , PxSphericalJoint , PxRevoluteJoint , PxFixedJoint , PxPrismaticJoint
  • getProjectionPlane() : PxParticleBase
  • getQueryFilterData() : PxShape
  • getRadius() : PxCapsuleController
  • getRbPairStats() : PxSimulationStatistics
  • getRecipLongitudinalStiffnessPerUnitGravity() : PxVehicleTireData
  • getRecipMaxCompression() : PxVehicleSuspensionData
  • getRecipMaxDroop() : PxVehicleSuspensionData
  • getRecipMaxOmega() : PxVehicleEngineData
  • getRecipMOI() : PxVehicleWheelData , PxVehicleEngineData
  • getRecipRadius() : PxVehicleWheelData
  • getReference()
: physx::PxTask
, physx::PxLightCpuTask
, physx::PxBaseTask
  • getReferenceCount() : PxMaterial , PxConvexMesh , PxClothFabric , PxTriangleMesh , PxHeightField
  • getRelativeAngularVelocity() : PxJoint
  • getRelativeLinearVelocity() : PxJoint
  • getRelativeTransform() : PxJoint
  • getRenderBuffer() : PxControllerManager , PxScene
  • getReportAllocationNames() : PxFoundation
  • getRepXSerializer() : PxSerializationRegistry
  • getRestitution() : PxMaterial , PxParticleBase , PxContactSet , PxContactStreamIterator
  • getRestitutionCombineMode() : PxMaterial
  • getRestOffset() : PxCloth , PxShape , PxParticleBase
  • getRestParticleDistance() : PxParticleFluid
  • getRestPositions() : PxCloth
  • getRestvalues() : PxClothFabric
  • getResults() : PxMeshOverlapUtil
  • getRevoluteJointFlags() : PxRevoluteJoint
  • getRigidActors() : PxPruningStructure
  • getRigidBodyFlags() : PxRigidBody
  • getRigidDynamicActor() : PxVehicleWheels
  • getRigidDynamicLockFlags() : PxRigidDynamic
  • getRunProfiled() : PxDefaultCpuDispatcher
  • getSample() : PxHeightField
  • getSampleStride() : PxHeightField
  • getScene() : PxAggregate , PxControllerManager , PxJoint , PxController , PxArticulation , PxActor , PxConstraint
  • getScenePvdClient() : PxScene
  • getScenePvdFlags() : PxPvdSceneClient
  • getSceneQueryFilterData() : PxVehicleWheelsSimData
  • getSceneQueryStaticTimestamp() : PxScene
  • getSceneQueryUpdateMode() : PxScene
  • getScenes() : PxPhysics
  • getSelfCollision() : PxAggregate
  • getSelfCollisionDistance() : PxCloth
  • getSelfCollisionIndices() : PxCloth
  • getSelfCollisionStiffness() : PxCloth
  • getSeparation() : PxContactStreamIterator , PxContactSet
  • getSeparationConstraints() : PxCloth
  • getSeparationTolerance() : PxArticulation
  • getSerializable() : PxConstraintConnector
  • getSerializer() : PxSerializationRegistry
  • getSets() : PxClothFabric
  • getShapes() : PxRigidActor , PxPhysics
  • getSimulationEventCallback() : PxScene
  • getSimulationFilterData() : PxParticleBase , PxShape , PxCloth
  • getSimulationStatistics() : PxScene
  • getSize() : PxDefaultMemoryOutputStream
  • getSleepLinearVelocity() : PxCloth
  • getSleepThreshold() : PxArticulation , PxRigidDynamic
  • getSlopeLimit() : PxController
  • getSolverBatchSize() : PxScene
  • getSolverFrequency() : PxCloth
  • getSolverIterationCounts() : PxRigidDynamic , PxArticulation
  • getSphereGeometry() : PxShape
  • getSphericalJointFlags() : PxSphericalJoint
  • getStabilizationThreshold() : PxArticulation , PxRigidDynamic
  • getState() : PxController
  • getStaticFriction() : PxContactStreamIterator , PxParticleBase , PxMaterial , PxContactSet
  • getStaticStructure() : PxScene
  • getStats() : PxController
  • getSteerAngle() : PxVehicleNoDrive
  • getStepOffset() : PxController
  • getStiffness() : PxArticulationJoint , PxDistanceJoint , PxParticleFluid
  • getStiffnessFrequency() : PxCloth
  • getStretchConfig() : PxCloth
  • getSuspensionData() : PxVehicleWheelsSimData
  • getSuspForceAppPointOffset() : PxVehicleWheelsSimData
  • getSuspTravelDirection() : PxVehicleWheelsSimData
  • getSwingLimit() : PxD6Joint , PxArticulationJoint
  • getSwingLimitContactDistance() : PxArticulationJoint
  • getSwingLimitEnabled() : PxArticulationJoint
  • getSwingYAngle() : PxD6Joint
  • getSwingZAngle() : PxD6Joint
  • getTangentialDamping() : PxArticulationJoint
  • getTangentialStiffness() : PxArticulationJoint
  • getTargetGear() : PxVehicleDriveDynData
  • getTargetOrientation() : PxArticulationJoint
  • getTargetVel() : PxContactStreamIterator
  • getTargetVelocity() : PxArticulationJoint , PxContactSet
  • getTaskFromID() : physx::PxTaskManager
  • getTaskHint() : physx::PxGpuTask
  • getTaskID() : physx::PxTask
  • getTaskManager() : physx::PxBaseTask , PxScene
  • getTetherAnchors() : PxClothFabric
  • getTetherConfig() : PxCloth
  • getTetherData() : PxClothGeodesicTetherCooker , PxClothSimpleTetherCooker
  • getTetherLengths() : PxClothFabric
  • getTexts() : PxRenderBuffer
  • getThickness() : PxHeightField
  • getThresholdLongSpeed() : PxVehicleWheelsSimData
  • getTimestamp() : PxScene , PxHeightField
  • getTireData() : PxVehicleWheelsSimData
  • getTireForceAppPointOffset() : PxVehicleWheelsSimData
  • getTireForceShaderData() : PxVehicleWheelsDynData
  • getTireLoadFilterData() : PxVehicleWheelsSimData
  • getTolerance() : PxDistanceJoint
  • getTolerancesScale() : PxPhysics
  • getTotalContactCount() : PxContactStreamIterator
  • getTotalPatchCount() : PxContactStreamIterator
  • getTouch() : PxHitBuffer< HitType >
  • getTouches() : PxHitBuffer< HitType >
  • getTransport() : PxPvd
  • getTranspose() : PxMat44 , PxMat33
  • getTriangle() : PxMeshQuery
  • getTriangleMaterialIndex() : PxHeightField , PxTriangleMesh
  • getTriangleMeshes() : PxPhysics
  • getTriangleMeshFlags() : PxTriangleMesh
  • getTriangleMeshGeometry() : PxShape
  • getTriangleNormal() : PxHeightField
  • getTriangles() : PxRenderBuffer , PxTriangleMesh
  • getTrianglesRemap() : PxTriangleMesh
  • getTwist() : PxD6Joint
  • getTwistLimit() : PxArticulationJoint , PxD6Joint
  • getTwistLimitContactDistance() : PxArticulationJoint
  • getTwistLimitEnabled() : PxArticulationJoint
  • getType() : PxControllerDesc , PxGeometryHolder , PxObstacle , PxActor , PxGeometry , PxController , PxMidphaseDesc
  • getTypeName() : PxRepXSerializer
  • getTypePairFriction() : PxVehicleDrivableSurfaceToTireFrictionPairs
  • getUpDirection() : PxController
  • getUpRatios() : PxVehicleAutoBoxData
  • getUseAutoGears() : PxVehicleDriveDynData
  • getUserData() : PxVehicleWheelsDynData , PxController
  • getUserMemory() : PxBatchQuery
  • getVehicleType() : PxVehicleWheels
  • getVelocity() : PxPrismaticJoint , PxRevoluteJoint
  • getVelocityAtOffset() : PxRigidBodyExt
  • getVelocityAtPos() : PxRigidBodyExt
  • getVertices() : PxTriangleMesh , PxConvexMesh
  • getVerticesForModification() : PxTriangleMesh
  • getVirtualParticles() : PxCloth
  • getVirtualParticleWeights() : PxCloth
  • getViscosity() : PxParticleFluid
  • getVisualizationCullingBox() : PxScene
  • getVisualizationParameter() : PxScene
  • getWakeCounter() : PxCloth , PxRigidDynamic , PxArticulation
  • getWakeCounterResetValue() : PxScene
  • getWheel4DynData() : PxVehicleWheelsDynData
  • getWheelCentreOffset() : PxVehicleWheelsSimData
  • getWheelData() : PxVehicleWheelsSimData
  • getWheelEnabledState() : PxVehicleWheelsSimData
  • getWheelRotationAngle() : PxVehicleWheelsDynData
  • getWheelRotationSpeed() : PxVehicleWheelsDynData
  • getWheelShapeMapping() : PxVehicleWheelsSimData
  • getWindDrag() : PxCloth
  • getWindLift() : PxCloth
  • getWindVelocity() : PxCloth
  • getWorkerCount() : physx::PxCpuDispatcher
  • getWorldBounds() : PxShapeExt , PxGeometryQuery , PxActor , PxArticulation , PxCloth
  • getWrittenDataSize() : PxPvdTransport
  • getX() : PxFixedSizeLookupTable< NB_ELEMENTS >
  • getXYZ() : PxVec4
  • getY() : PxFixedSizeLookupTable< NB_ELEMENTS >
  • getYVal() : PxFixedSizeLookupTable< NB_ELEMENTS >
  • globalPose : PxContactPairPose
  • gpuComputeVersion : PxSceneDesc
  • gpuDispatcher : PxSceneDesc
  • gpuDynamicsConfig : PxSceneDesc
  • gpuMaxNumPartitions : PxSceneDesc
  • gravity : PxSceneDesc


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z
  • ~
Here is a list of all class members with links to the classes they belong to:

- h -

  • hadInitialOverlap() : PxLocationHit
  • halfExtents : PxBoxGeometry
  • halfForwardExtent : PxBoxControllerDesc
  • halfHeight : PxBoxControllerDesc , PxCapsuleGeometry
  • halfSideExtent : PxBoxControllerDesc
  • hasAnyHits() : PxHitCallback< HitType >
  • hasBlock : PxBatchQueryResult< HitType > , PxHitCallback< HitType >
  • hasFaceIndices : PxContactStreamIterator
  • hasNegativeDeterminant() : PxMeshScale
  • hasNextContact() : PxContactStreamIterator
  • hasNextPatch() : PxContactStreamIterator
  • heapCapacity : PxgDynamicsMemoryConfig
  • height : PxHeightFieldSample , PxCapsuleControllerDesc
  • heightfield : PxGeometryHolder
  • heightField : PxHeightFieldGeometry , PxGeometryHolder
  • heightFieldFlags : PxHeightFieldGeometry
  • heightScale : PxHeightFieldGeometry
  • hitActor : PxVehicleWheelConcurrentUpdateData
  • hitActorForce : PxVehicleWheelConcurrentUpdateData
  • hitActorForcePosition : PxVehicleWheelConcurrentUpdateData
  • hits : PxSweepBufferN< N > , PxOverlapBufferN< N > , PxRaycastBufferN< N >
  • HostToDevice : physx::PxGpuTaskHint


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z
  • ~
Here is a list of all class members with links to the classes they belong to:

- i -

  • id : PxRepXObject
  • ignore() : PxContactSet
  • importExtraData() : PxVehicleWheels , PxVehicleNoDrive
  • impulse : PxContactPairPoint
  • include() : PxBounds3
  • index : PxContactPairIndex
  • indexBuffer : PxParticleCreationData
  • indices : PxClothFabricDesc , PxConvexMeshDesc
  • inertiaTensor : PxMassProperties
  • init() : PxVehicleDrive , PxVehicleWheels
  • insert() : PxSpatialIndex
  • internalData : PxContactPair
  • internalFaceIndex0 : PxContactPairPoint
  • internalFaceIndex1 : PxContactPairPoint
  • internalFlags : PxContactPatch
  • InternalType : PxFlags< enumtype, storagetype >
  • intersects() : PxBounds3
  • intersects1D() : PxBounds3
  • invalidate() : PxVolumeCache
  • invalidateCache() : PxController
  • inverseRT() : PxMat44
  • inverseTransform() : PxTransform
  • invInertia : PxRigidBodyData
  • invisibleWallHeight : PxControllerDesc
  • invMass : PxRigidBodyData
  • invMasses : PxClothMeshDesc
  • invWeight : PxClothParticle
  • is() : PxBase
  • isBigEndian() : PxFileBuf
  • isBitSet() : PxBitAndDataT< storageType, bitMask >
  • isCompatible() : PxStrideIterator< T >
  • isConnected() : PxPvd , PxPvdTransport
  • isEmpty() : PxBounds3
  • isExclusive() : PxShape
  • isFinite() : PxExtendedVec3 , PxBounds3 , PxMat44 , PxQuat , PxTransform , PxVec2 , PxVec3 , PxVec4
  • isGpuCompatible() : PxConvexMesh
  • isIdentity() : PxMeshScale , PxQuat
  • isInAir : PxWheelQueryResult
  • isInside() : PxBounds3
  • isKindOf() : PxRigidDynamic , PxRigidStatic , PxShape , PxCloth , PxClothFabric , PxBase , PxD6Joint , PxDistanceJoint , PxFixedJoint , PxJoint , PxPrismaticJoint , PxRevoluteJoint , PxSphericalJoint , PxConvexMesh , PxHeightField , PxTriangleMesh , PxBVH33TriangleMesh , PxBVH34TriangleMesh , PxParticleBase , PxParticleFluid , PxParticleSystem , PxVehicleDrive , PxVehicleDrive4W , PxVehicleDriveNW , PxVehicleDriveTank , PxVehicleNoDrive , PxVehicleWheels , PxActor , PxAggregate , PxArticulation , PxArticulationJoint , PxArticulationLink , PxConstraint , PxMaterial , PxPruningStructure , PxRigidActor , PxRigidBody
  • isMovingUp : PxControllerState
  • isNormalized() : PxVec2 , PxVec3 , PxVec4
  • isOpen() : PxFileBuf
  • isReleasable() : PxBase
  • isSane() : PxQuat , PxTransform
  • isSeekable() : PxFileBuf
  • isSerializable() : PxSerialization
  • isSet() : PxFlags< enumtype, storagetype >
  • isSleeping() : PxRigidDynamic , PxArticulation , PxCloth
  • isSoft() : PxJointLimitParameters
  • isSubordinate() : PxSerializerDefaultAdapter< T > , PxSerializer
  • isUnit() : PxQuat
  • isValid() : PxVehicleAntiRollBarData , PxVehicleGearsData , PxTransform , PxSimpleTriangleMesh , PxVehicleWheelsDynData , PxVehicleDriveSimData4W , PxJointLimitParameters , PxCapsuleGeometry , PxVehicleAckermannGeometryData , PxVehicleDifferentialNWData , PxVehicleNoDrive , PxVehicleTireLoadFilterData , PxVehicleChassisData , PxVehicleClutchData , PxSceneDesc , PxConstraint , PxDefaultFileInputData , PxSceneLimits , PxDefaultFileOutputStream , PxBVH34MidphaseDesc , PxD6JointDrive , PxVehicleDriveNW , PxVehicleEngineData , PxBounds3 , PxVehicleWheelsSimData , PxJointAngularLimitPair , PxBoxGeometry , PxJointLinearLimit , PxVehicleWheels , PxRepXObject , PxVehicleDrive , PxBoxControllerDesc , PxControllerDesc , PxTolerancesScale , PxParticleCreationData , PxJointLimitCone , PxConvexMeshDesc , PxClothMeshDesc , PxMidphaseDesc , PxVehicleDriveDynData , PxConvexMeshGeometry , PxVehicleDriveTank , PxVehicleDifferential4WData , PxBVH33MidphaseDesc , PxVehicleDriveSimDataNW , PxClothFabricDesc , PxJointLinearLimitPair , PxVehicleWheelData , PxPlaneGeometry , PxVehicleSuspensionData , PxHeightFieldDesc , PxSphereGeometry , PxVolumeCache , PxTriangleMeshGeometry , PxBatchQueryDesc , PxVehicleAutoBoxData , PxVehicleDriveSimData , PxVehicleDrive4W , PxGeometryQuery , PxHeightFieldGeometry , PxTriangleMeshDesc , PxCapsuleControllerDesc , PxVehicleTireData
  • isValidForConvexMesh() : PxMeshScale
  • isValidForTriangleMesh() : PxMeshScale
  • isZero() : PxVec3 , PxVec2 , PxVec4 , PxExtendedVec3


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z
  • ~
Here is a list of all class members with links to the classes they belong to:

- p -

  • p : PxTransform
  • pad : PxBatchQueryResult< HitType > , PxVehicleChassisData , PxRigidBodyData
  • paddingFromFlags : PxConvexMeshGeometry , PxHeightFieldGeometry , PxTriangleMeshGeometry
  • padTo16Bytes : PxRaycastHit , PxOverlapHit , PxSweepHit
  • pairFlags : PxFilterInfo
  • pairFound() : PxSimulationFilterCallback
  • pairLost() : PxSimulationFilterCallback
  • pairs : PxContactPairHeader
  • particlesGpuMeshCacheHitrate : PxSimulationStatistics
  • particlesGpuMeshCacheSize : PxSimulationStatistics
  • particlesGpuMeshCacheUsed : PxSimulationStatistics
  • patch : PxContactStreamIterator
  • patchCount : PxContactPair
  • patchStreamSize : PxgDynamicsMemoryConfig
  • patchupPointers() : PxVehicleDrive , PxVehicleWheels
  • patchUpPointers() : PxVehicleWheelsSimData , PxVehicleWheelsDynData
  • peakConstraintMemory : PxSimulationStatistics
  • peek() : PxFileBuf
  • phases : PxClothFabricDesc
  • phaseType : PxClothFabricPhase
  • physics : PxRepXInstantiationArgs
  • plane() : PxGeometryHolder
  • planeTolerance : PxCookingParams
  • platformMismatch() : PxCooking
  • pointDistance() : PxGeometryQuery
  • pointFromUV() : PxTriangle
  • pointInPlane() : PxPlane
  • points : PxConvexMeshDesc , PxClothMeshDesc , PxSimpleTriangleMesh
  • pointStepped : PxContactStreamIterator
  • polygons : PxConvexMeshDesc
  • pos : PxClothCollisionSphere , PxClothParticle , PxClothParticleMotionConstraint , PxClothParticleSeparationConstraint , PxDebugPoint
  • pos0 : PxDebugLine , PxDebugTriangle
  • pos1 : PxDebugLine , PxDebugTriangle
  • pos2 : PxDebugTriangle
  • poseExtent() : PxBounds3
  • position : PxLocationHit , PxContactPairPoint , PxControllerDesc , PxDebugText
  • positionBuffer : PxParticleCreationData , PxParticleReadData
  • postFilter() : PxQueryFilterCallback
  • postFilterShader : PxBatchQueryDesc
  • postSolverVelocity : PxContactPairExtraDataIterator
  • preFilter() : PxQueryFilterCallback
  • preFilterShader : PxBatchQueryDesc
  • prepareData() : PxConstraintConnector
  • preSolverVelocity : PxContactPairExtraDataIterator
  • process() : PxProcessPxBaseCallback
  • processCallbacks() : PxScene
  • processShapes() : PxVolumeCache::PxVolumeCache::Iterator
  • processTouches() : PxHitCallback< HitType > , PxHitBuffer< HitType >
  • project : PxConstraintShaderTable , PxPlane
  • ptr() : PxStrideIterator< T >
  • purgeControllers() : PxControllerManager
  • put() : PxGeometryHolder
  • putToSleep() : PxArticulation , PxRigidDynamic , PxCloth
  • Px1DConstraintFlag() : Px1DConstraintFlag
  • PX_ALIGN() : PxContactPatch , PxExtendedContact , PxModifiableContact , PxRigidBodyData
  • PX_DEPRECATED : PxActorType , PxFilterObjectType , PxActorTypeFlag , PxSceneFlag , PxSimulationStatistics , PxClothFlag , PxConvexMeshCookingType
  • PX_FILTEROP_AND : PxFilterOp
  • PX_FILTEROP_NAND : PxFilterOp
  • PX_FILTEROP_NOR : PxFilterOp
  • PX_FILTEROP_NXOR : PxFilterOp
  • PX_FILTEROP_OR : PxFilterOp
  • PX_FILTEROP_SWAP_AND : PxFilterOp
  • PX_FILTEROP_XOR : PxFilterOp
  • PxActor() : PxActor
  • PxActorShape() : PxActorShape
  • PxAggregate() : PxAggregate
  • PxArticulation() : PxArticulation
  • PxArticulationDriveCache() : PxArticulationDriveCache
  • PxArticulationJoint() : PxArticulationJoint
  • PxArticulationLink() : PxArticulationLink
  • PxBase() : PxBase
  • PxBaseTask : physx::PxTaskManager , physx::PxBaseTask
  • PxBatchQueryDesc() : PxBatchQueryDesc
  • PxBatchQueryMemory() : PxBatchQueryMemory
  • PxBinaryConverter() : PxBinaryConverter
  • PxBitAndDataT() : PxBitAndDataT< storageType, bitMask >
  • PxBoundedData() : PxBoundedData
  • PxBounds3() : PxBounds3
  • PxBoxController() : PxBoxController
  • PxBoxControllerDesc() : PxBoxControllerDesc
  • PxBoxGeometry() : PxBoxGeometry
  • PxBoxObstacle() : PxBoxObstacle
  • PxBVH33TriangleMesh() : PxBVH33TriangleMesh
  • PxBVH34TriangleMesh() : PxBVH34TriangleMesh
  • PxCapsuleController() : PxCapsuleController
  • PxCapsuleControllerDesc() : PxCapsuleControllerDesc
  • PxCapsuleGeometry() : PxCapsuleGeometry
  • PxCapsuleObstacle() : PxCapsuleObstacle
  • PxCloth() : PxCloth
  • PxClothCollisionPlane() : PxClothCollisionPlane
  • PxClothCollisionSphere() : PxClothCollisionSphere
  • PxClothCollisionTriangle() : PxClothCollisionTriangle
  • PxClothFabric() : PxClothFabric
  • PxClothFabricCooker() : PxClothFabricCooker
  • PxClothFabricDesc() : PxClothFabricDesc
  • PxClothFabricPhase() : PxClothFabricPhase
  • PxClothGeodesicTetherCooker() : PxClothGeodesicTetherCooker
  • PxClothMeshDesc() : PxClothMeshDesc
  • PxClothMeshQuadifier() : PxClothMeshQuadifier
  • PxClothMotionConstraintConfig() : PxClothMotionConstraintConfig
  • PxClothParticle() : PxClothParticle
  • PxClothParticleMotionConstraint() : PxClothParticleMotionConstraint
  • PxClothParticleSeparationConstraint() : PxClothParticleSeparationConstraint
  • PxClothSimpleTetherCooker() : PxClothSimpleTetherCooker
  • PxClothStretchConfig() : PxClothStretchConfig
  • PxClothTetherConfig() : PxClothTetherConfig
  • PxCollection() : PxCollection
  • PxConstraint() : PxConstraint
  • PxConstraintInfo() : PxConstraintInfo
  • PxConstraintInvMassScale() : PxConstraintInvMassScale
  • PxContactPair() : PxContactPair
  • PxContactPairExtraDataItem() : PxContactPairExtraDataItem
  • PxContactPairExtraDataIterator() : PxContactPairExtraDataIterator
  • PxContactPairHeader() : PxContactPairHeader
  • PxContactPairIndex() : PxContactPairIndex
  • PxContactPairPose() : PxContactPairPose
  • PxContactPairVelocity() : PxContactPairVelocity
  • PxContactPatchFlags : PxContactPatch
  • PxContactStreamIterator() : PxContactStreamIterator
  • PxController() : PxController
  • PxControllerDesc() : PxControllerDesc
  • PxControllerFilters() : PxControllerFilters
  • PxControllerManager() : PxControllerManager
  • PxConvexMesh() : PxConvexMesh
  • PxConvexMeshDesc() : PxConvexMeshDesc
  • PxConvexMeshGeometry() : PxConvexMeshGeometry
  • PxCookingParams() : PxCookingParams
  • PxD6Joint() : PxD6Joint
  • PxD6JointDrive() : PxD6JointDrive
  • PxDebugLine() : PxDebugLine
  • PxDebugPoint() : PxDebugPoint
  • PxDebugText() : PxDebugText
  • PxDebugTriangle() : PxDebugTriangle
  • PxDefaultErrorCallback() : PxDefaultErrorCallback
  • PxDefaultFileInputData() : PxDefaultFileInputData
  • PxDefaultFileOutputStream() : PxDefaultFileOutputStream
  • PxDefaultMemoryInputData() : PxDefaultMemoryInputData
  • PxDefaultMemoryOutputStream() : PxDefaultMemoryOutputStream
  • PxDeletionListener() : PxDeletionListener
  • PxDeserializationContext() : PxDeserializationContext
  • PxDistanceJoint() : PxDistanceJoint
  • PxDominanceGroupPair() : PxDominanceGroupPair
  • PxExtendedVec3() : PxExtendedVec3
  • PxFileBuf() : PxFileBuf
  • PxFilterData() : PxFilterData
  • PxFilterInfo() : PxFilterInfo
  • PxFixedJoint() : PxFixedJoint
  • PxFixedSizeLookupTable() : PxFixedSizeLookupTable< NB_ELEMENTS >
  • PxFlags() : PxFlags< enumtype, storagetype >
  • PxgDynamicsMemoryConfig() : PxgDynamicsMemoryConfig
  • PxGeometry() : PxGeometry
  • PxGeometryHolder() : PxGeometryHolder
  • PxGpuTask() : physx::PxGpuTask
  • PxGpuWorkerThread : physx::PxTask , physx::PxTaskManager
  • PxGroupsMask() : PxGroupsMask
  • PxHeightField() : PxHeightField
  • PxHeightFieldDesc() : PxHeightFieldDesc
  • PxHeightFieldGeometry() : PxHeightFieldGeometry
  • PxHitBuffer() : PxHitBuffer< HitType >
  • PxHitCallback() : PxHitCallback< HitType >
  • PxJoint() : PxJoint
  • PxJointAngularLimitPair() : PxJointAngularLimitPair
  • PxJointLimitCone() : PxJointLimitCone
  • PxJointLimitParameters() : PxJointLimitParameters
  • PxJointLinearLimit() : PxJointLinearLimit
  • PxJointLinearLimitPair() : PxJointLinearLimitPair
  • PxLightCpuTask : physx::PxTaskManager , physx::PxLightCpuTask
  • PxLocationHit() : PxLocationHit
  • PxMassProperties() : PxMassProperties
  • PxMat33() : PxMat33
  • PxMat44() : PxMat44
  • PxMaterial() : PxMaterial
  • PxMeshOverlapUtil() : PxMeshOverlapUtil
  • PxMeshScale() : PxMeshScale
  • PxMidphaseDesc() : PxMidphaseDesc
  • PxObstacle() : PxObstacle
  • PxObstacleContext() : PxObstacleContext
  • PxOverlapBufferN() : PxOverlapBufferN< N >
  • PxPadding() : PxPadding< TNumBytes >
  • PxParticleBase() : PxParticleBase
  • PxParticleCreationData() : PxParticleCreationData
  • PxParticleFluid() : PxParticleFluid
  • PxParticleSystem() : PxParticleSystem
  • PxPhysicsInsertionCallback() : PxPhysicsInsertionCallback
  • PxPlane() : PxPlane
  • PxPlaneGeometry() : PxPlaneGeometry
  • PxPrismaticJoint() : PxPrismaticJoint
  • PxProfileScoped() : physx::PxProfileScoped
  • PxPruningStructure() : PxPruningStructure
  • PxQuat() : PxQuat
  • PxQueryCache() : PxQueryCache
  • PxQueryFilterData() : PxQueryFilterData
  • PxQueryHit() : PxQueryHit
  • PxRaycastBufferN() : PxRaycastBufferN< N >
  • PxRaycastHit() : PxRaycastHit
  • PxRepXInstantiationArgs() : PxRepXInstantiationArgs
  • PxRepXObject() : PxRepXObject
  • PxRevoluteJoint() : PxRevoluteJoint
  • PxRigidActor() : PxRigidActor
  • PxRigidBody() : PxRigidBody
  • PxRigidDynamic() : PxRigidDynamic
  • PxRigidStatic() : PxRigidStatic
  • PxScene() : PxScene
  • PxSceneDesc() : PxSceneDesc
  • PxSceneLimits() : PxSceneLimits
  • PxSceneReadLock() : PxSceneReadLock
  • PxSceneWriteLock() : PxSceneWriteLock
  • PxSerializationContext() : PxSerializationContext
  • PxSerializerDefaultAdapter() : PxSerializerDefaultAdapter< T >
  • PxShape() : PxShape
  • PxSimpleTriangleMesh() : PxSimpleTriangleMesh
  • PxSimulationStatistics() : PxSimulationStatistics
  • PxSphereGeometry() : PxSphereGeometry
  • PxSphericalJoint() : PxSphericalJoint
  • PxSpring() : PxSpring
  • PxStridedData() : PxStridedData
  • PxStrideIterator() : PxStrideIterator< T >
  • PxSweepBufferN() : PxSweepBufferN< N >
  • PxSweepHit() : PxSweepHit
  • PxTask()
: physx::PxTask
, physx::PxTaskManager
  • PxTaskMgr
: physx::PxBaseTask
, physx::PxTask
, physx::PxLightCpuTask
  • PxTolerancesScale() : PxTolerancesScale
  • PxTransform() : PxTransform
  • PxTriangle() : PxTriangle
  • PxTriangleMesh() : PxTriangleMesh
  • PxTriangleMeshDesc() : PxTriangleMeshDesc
  • PxTriangleMeshGeometry() : PxTriangleMeshGeometry
  • PxTriggerPair() : PxTriggerPair
  • PxTypedStridedData() : PxTypedStridedData< TDataType >
  • PxVec2() : PxVec2
  • PxVec3() : PxVec3
  • PxVec4() : PxVec4
  • PxVehicleAckermannGeometryData() : PxVehicleAckermannGeometryData
  • PxVehicleAntiRollBarData() : PxVehicleAntiRollBarData
  • PxVehicleAutoBoxData() : PxVehicleAutoBoxData
  • PxVehicleChassisData() : PxVehicleChassisData
  • PxVehicleClutchData() : PxVehicleClutchData
  • PxVehicleConcurrentUpdateData() : PxVehicleConcurrentUpdateData
  • PxVehicleConstraintShader : PxVehicleWheels
  • PxVehicleCopyDynamicsMap() : PxVehicleCopyDynamicsMap
  • PxVehicleDifferential4WData() : PxVehicleDifferential4WData
  • PxVehicleDifferentialNWData() : PxVehicleDifferentialNWData
  • PxVehicleDrivableSurfaceToTireFrictionPairs() : PxVehicleDrivableSurfaceToTireFrictionPairs
  • PxVehicleDrive() : PxVehicleDrive , PxVehicleDriveDynData , PxVehicleDrive
  • PxVehicleDrive4W() : PxVehicleDrive4W , PxVehicleDriveSimData4W , PxVehicleWheelsSimData , PxVehicleDrive4W , PxVehicleWheelsDynData
  • PxVehicleDrive4WRawInputData() : PxVehicleDrive4WRawInputData
  • PxVehicleDriveDynData() : PxVehicleDriveDynData
  • PxVehicleDriveNW() : PxVehicleDriveNW , PxVehicleDriveSimDataNW , PxVehicleDriveNW
  • PxVehicleDriveNWRawInputData() : PxVehicleDriveNWRawInputData
  • PxVehicleDriveSimData : PxVehicleEngineData , PxVehicleDriveSimData , PxVehicleClutchData , PxVehicleDriveSimData , PxVehicleGearsData , PxVehicleAutoBoxData
  • PxVehicleDriveSimData4W : PxVehicleAckermannGeometryData , PxVehicleDriveSimData4W , PxVehicleDifferential4WData , PxVehicleChassisData
  • PxVehicleDriveSimDataNW() : PxVehicleDriveSimDataNW , PxVehicleDifferentialNWData
  • PxVehicleDriveTank : PxVehicleWheelsSimData , PxVehicleDriveTank , PxVehicleWheelsDynData , PxVehicleDriveSimData , PxVehicleDriveTank
  • PxVehicleDriveTankRawInputData() : PxVehicleDriveTankRawInputData
  • PxVehicleEngineData() : PxVehicleEngineData
  • PxVehicleGearsData() : PxVehicleGearsData
  • PxVehicleNoDrive() : PxVehicleNoDrive , PxVehicleWheelsSimData
  • PxVehicleSuspensionData() : PxVehicleSuspensionData
  • PxVehicleTireData() : PxVehicleTireData
  • PxVehicleTireLoadFilterData() : PxVehicleTireLoadFilterData
  • PxVehicleUpdate : PxVehicleDrive , PxVehicleWheels , PxVehicleDifferentialNWData , PxVehicleDrive4W , PxVehicleDriveTank , PxVehicleWheelsSimData , PxVehicleConcurrentUpdateData , PxVehicleWheelsDynData , PxVehicleDriveNW , PxVehicleWheelConcurrentUpdateData , PxVehicleNoDrive
  • PxVehicleWheelConcurrentUpdateData() : PxVehicleWheelConcurrentUpdateData
  • PxVehicleWheelData() : PxVehicleWheelData
  • PxVehicleWheels : PxVehicleWheelsDynData , PxVehicleWheelsSimData , PxVehicleWheels
  • PxVehicleWheels4SimData : PxVehicleTireData , PxVehicleSuspensionData , PxVehicleWheelData
  • PxVehicleWheelsDynData() : PxVehicleWheelsDynData
  • PxVehicleWheelsSimData() : PxVehicleWheelsSimData , PxVehicleTireLoadFilterData , PxVehicleAntiRollBarData , PxVehicleWheelsSimData
  • PxWheelQueryResult() : PxWheelQueryResult
  • PxXmlMiscParameter() : PxSerialization::PxSerialization::PxXmlMiscParameter


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z
  • ~
Here is a list of all class members with links to the classes they belong to:

- q -

  • q : PxTransform
  • quads : PxClothMeshDesc
  • quantizedCount : PxConvexMeshDesc
  • queryMemory : PxBatchQueryDesc
  • queryStatus : PxBatchQueryResult< HitType >


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z
  • ~
Here is a list of all class members with links to the classes they belong to:

- r -

  • radius : PxCapsuleControllerDesc , PxClothCollisionSphere , PxClothParticleSeparationConstraint , PxCapsuleGeometry , PxClothParticleMotionConstraint , PxSphereGeometry
  • raycast() : PxScene , PxSpatialIndex , PxVolumeCache , PxShapeExt , PxGeometryQuery , PxBatchQuery
  • raycastAny() : PxSceneQueryExt
  • RaycastCCDManager() : RaycastCCDManager
  • raycastMultiple() : PxSceneQueryExt
  • raycastResultBufferSize : PxBatchQueryMemory
  • raycastSingle() : PxSceneQueryExt
  • raycastTouchBufferSize : PxBatchQueryMemory
  • RbPairStatsType : PxSimulationStatistics
  • read() : PxDefaultMemoryInputData , PxDefaultFileInputData , PxInputStream , PxFileBuf
  • readByte() : PxFileBuf
  • readDouble() : PxFileBuf
  • readDword() : PxFileBuf
  • readExtraData() : PxDeserializationContext
  • readFloat() : PxFileBuf
  • readName() : PxDeserializationContext
  • readWord() : PxFileBuf
  • rebuildFull() : PxSpatialIndex
  • rebuildStep() : PxSpatialIndex
  • recordContacts() : PxContactRecorder
  • refitBVH() : PxTriangleMesh
  • region : PxBroadPhaseRegionInfo
  • registerBinaryMetaDataCallback() : PxSerializationRegistry
  • registerDeletionListener : PxControllerDesc , PxPhysics
  • registerDeletionListenerObjects() : PxPhysics
  • registerRaycastCCDObject() : RaycastCCDManager
  • registerReference() : PxSerializationContext
  • registerReferences() : PxSerializer , PxSerializerDefaultAdapter< T >
  • registerRepXSerializer() : PxSerializationRegistry
  • registerSerializer() : PxSerializationRegistry
  • release() : PxCloth , PxClothFabric , PxBase , PxCollection , PxSerializationRegistry , PxStringTable , PxCooking , PxBinaryConverter , PxDefaultCpuDispatcher , PxJoint , PxParticleExt::PxParticleExt::IndexPool , PxConvexMesh , PxHeightField , PxTriangleMesh , PxPvdTransport , PxVehicleDrivableSurfaceToTireFrictionPairs , PxVehicleWheels , PxFoundation , physx::PxGpuTask , physx::PxBaseTask , physx::PxTask , physx::PxLightCpuTask , physx::PxTaskManager , PxPvd , PxFileBuf , PxActor , PxAggregate , PxArticulation , PxArticulationLink , PxBatchQuery , PxConstraint , PxMaterial , PxPhysics , PxPruningStructure , PxRigidActor , PxScene , PxShape , PxSpatialIndex , PxVolumeCache , PxController , PxControllerManager , PxObstacleContext
  • RELEASE_INSTANCE : PxPvdUpdateType
  • releaseDriveCache() : PxArticulation
  • releaseObjects() : PxCollectionExt
  • releaseParticles() : PxParticleBase
  • remove() : PxCollection , PxSpatialIndex , PxCollection , PxCollectionExt
  • removeActor() : PxScene , PxAggregate
  • removeActors() : PxScene
  • removeAggregate() : PxScene
  • removeArticulation() : PxScene , PxAggregate
  • removeBroadPhaseRegion() : PxScene
  • removeCollisionCapsule() : PxCloth
  • removeCollisionConvex() : PxCloth
  • removeCollisionPlane() : PxCloth
  • removeCollisionSphere() : PxCloth
  • removeCollisionTriangle() : PxCloth
  • removeId() : PxCollection
  • removeObstacle() : PxObstacleContext
  • removeReference()
: physx::PxBaseTask
, physx::PxTask
, physx::PxLightCpuTask
  • reportCallback : PxControllerDesc
  • reportError() : PxDefaultErrorCallback , PxErrorCallback
  • requestSyncPoint() : physx::PxTask
  • requiredBufferSize : PxContactPair
  • requiredContactConstraintMemory : PxSimulationStatistics
  • requiresObjects() : PxSerializerDefaultAdapter< T > , PxSerializer , PxVehicleWheels
  • resetDependencies() : physx::PxTaskManager
  • resetFiltering() : PxScene
  • resize() : PxController
  • resolveReference() : PxDeserializationContext
  • resolveReferences() : PxVehicleWheels
  • restitution : PxJointLimitParameters , PxModifiableContact , PxContactPatch , Px1DConstraint
  • restOffsetBuffer : PxParticleCreationData , PxParticleReadData
  • restvalues : PxClothFabricDesc
  • rotate() : PxTransform , PxMat44 , PxQuat , PxMat44
  • rotateInertia() : PxMassProperties
  • rotateInv() : PxTransform , PxQuat
  • rotation : PxMeshScale
  • rowScale : PxHeightFieldGeometry
  • run() : physx::PxBaseTask


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z
  • ~
Here is a list of all class members with links to the classes they belong to:

- s -

  • samples : PxHeightFieldDesc
  • sanityBounds : PxSceneDesc
  • save() : PxClothFabricCooker
  • saveCells() : PxHeightField
  • scale : PxConvexMeshGeometry , PxMeshScale , PxClothMotionConstraintConfig , PxTriangleMeshGeometry , PxMat44 , PxCookingParams , PxSerialization::PxSerialization::PxXmlMiscParameter
  • scaleCoeff : PxControllerDesc
  • scaleFast() : PxBounds3
  • scaleInertia() : PxMassProperties
  • scaleRestlengths() : PxClothFabric
  • scaleSafe() : PxBounds3
  • sceneQueriesUpdate() : PxScene
  • sceneQueryUpdateMode : PxSceneDesc
  • seek() : PxDefaultMemoryInputData , PxDefaultFileInputData , PxInputData
  • SEEKABLE_NO : PxFileBuf
  • SEEKABLE_READ : PxFileBuf
  • SEEKABLE_READWRITE : PxFileBuf
  • SEEKABLE_WRITE : PxFileBuf
  • seekRead() : PxFileBuf
  • SeekType : PxFileBuf
  • seekWrite() : PxFileBuf
  • separation : PxContact , PxContactPairPoint
  • serializable : PxRepXObject
  • serializeCollectionToBinary() : PxSerialization
  • serializeCollectionToXml() : PxSerialization
  • set() : PxExtendedVec3 , PxFlags< enumtype, storagetype >
  • setAckermannGeometryData() : PxVehicleDriveSimData4W
  • setActorFlag() : PxActor
  • setActorFlags() : PxActor
  • setActors() : PxConstraint , PxJoint
  • setAnalogAccel() : PxVehicleDrive4WRawInputData , PxVehicleDriveTankRawInputData
  • setAnalogBrake() : PxVehicleDrive4WRawInputData
  • setAnalogHandbrake() : PxVehicleDrive4WRawInputData
  • setAnalogInput() : PxVehicleDriveDynData
  • setAnalogLeftBrake() : PxVehicleDriveTankRawInputData
  • setAnalogLeftThrust() : PxVehicleDriveTankRawInputData
  • setAnalogRightBrake() : PxVehicleDriveTankRawInputData
  • setAnalogRightThrust() : PxVehicleDriveTankRawInputData
  • setAnalogSteer() : PxVehicleDrive4WRawInputData
  • setAngularDamping() : PxRigidDynamic
  • setAngularDragCoefficient() : PxCloth
  • setAngularInertiaScale() : PxCloth
  • setAngularVelocity() : PxRigidBody
  • setAntiRollBarData() : PxVehicleWheelsSimData
  • setAutoBoxData() : PxVehicleDriveSimData
  • setAutoBoxSwitchTime() : PxVehicleDriveDynData
  • setBaseFlag() : PxBase
  • setBaseFlags() : PxBase
  • setBit() : PxBitAndDataT< storageType, bitMask >
  • setBounceThresholdVelocity() : PxScene
  • setBrakeTorque() : PxVehicleNoDrive
  • setBreakForce() : PxJoint , PxConstraint
  • setBroadPhaseCallback() : PxScene
  • setCCDContactModifyCallback() : PxScene
  • setCCDMaxPasses() : PxScene
  • setCentrifugalInertiaScale() : PxCloth
  • setChassisMass() : PxVehicleWheelsSimData
  • setChildPose() : PxArticulationJoint
  • setClientBehaviorFlags() : PxActor , PxScene
  • setClimbingMode() : PxCapsuleController
  • setClothFlag() : PxCloth
  • setClothFlags() : PxCloth
  • setClothInterCollisionDistance() : PxScene
  • setClothInterCollisionNbIterations() : PxScene
  • setClothInterCollisionStiffness() : PxScene
  • setClutchData() : PxVehicleDriveSimData
  • setCMassLocalPose() : PxRigidBody
  • setCollisionMassScale() : PxCloth
  • setCollisionPlanes() : PxCloth
  • setCollisionSpheres() : PxCloth
  • setCollisionTriangles() : PxCloth
  • setCompletionTask() : physx::PxGpuTask
  • setConstraintFlag() : PxJoint
  • setConstraintFlags() : PxJoint
  • setConstraintFunctions() : PxConstraint
  • setContactModifyCallback() : PxScene
  • setContactOffset() : PxShape , PxController , PxCloth , PxParticleBase
  • setContactReportThreshold() : PxRigidDynamic
  • setContextId() : physx::PxBaseTask
  • setContinuation() : physx::PxLightCpuTask
  • setCpuDispatcher() : physx::PxTaskManager
  • setCurrentGear() : PxVehicleDriveDynData
  • setDamping() : PxArticulationJoint , PxDistanceJoint , PxParticleBase
  • setDampingCoefficient() : PxCloth
  • setDebugRenderingFlags() : PxControllerManager
  • setDiffData() : PxVehicleDriveSimData4W , PxVehicleDriveSimDataNW
  • setDigitalAccel() : PxVehicleDrive4WRawInputData , PxVehicleDriveTankRawInputData
  • setDigitalBrake() : PxVehicleDrive4WRawInputData
  • setDigitalHandbrake() : PxVehicleDrive4WRawInputData
  • setDigitalLeftBrake() : PxVehicleDriveTankRawInputData
  • setDigitalLeftThrust() : PxVehicleDriveTankRawInputData
  • setDigitalRightBrake() : PxVehicleDriveTankRawInputData
  • setDigitalRightThrust() : PxVehicleDriveTankRawInputData
  • setDigitalSteerLeft() : PxVehicleDrive4WRawInputData
  • setDigitalSteerRight() : PxVehicleDrive4WRawInputData
  • setDistanceJointFlag() : PxDistanceJoint
  • setDistanceJointFlags() : PxDistanceJoint
  • setDominanceGroup() : PxActor
  • setDominanceGroupPair() : PxScene
  • setDownRatios() : PxVehicleAutoBoxData
  • setDragCoefficient() : PxCloth
  • setDrive() : PxD6Joint
  • setDriveForceLimit() : PxRevoluteJoint
  • setDriveGearRatio() : PxRevoluteJoint
  • setDriveModel() : PxVehicleDriveTank
  • setDrivenWheel() : PxVehicleDifferentialNWData
  • setDrivenWheelStatus() : PxVehicleDifferentialNWData
  • setDrivePosition() : PxD6Joint
  • setDriveTorque() : PxVehicleNoDrive
  • setDriveType() : PxArticulationJoint
  • setDriveVelocity() : PxD6Joint , PxRevoluteJoint
  • setDynamicFriction() : PxContactSet , PxMaterial , PxParticleBase
  • setDynamicTreeRebuildRateHint() : PxScene
  • setEmpty() : PxBounds3
  • setEndianMode() : PxFileBuf
  • setEngineData() : PxVehicleDriveSimData
  • setEngineRotationSpeed() : PxVehicleDriveDynData
  • setErrorLevel() : PxFoundation
  • setExternalAcceleration() : PxCloth , PxParticleBase
  • setExternalCompliance() : PxArticulationJoint
  • setExternalDriveIterations() : PxArticulation
  • setFilterShaderData() : PxScene
  • setFlag() : PxConstraint , PxMaterial , PxScene , PxShape
  • setFlags() : PxConstraint , PxMaterial , PxShape
  • setFootPosition() : PxController
  • setFrictionCoefficient() : PxCloth
  • setFrictionCombineMode() : PxMaterial
  • setFrictionType() : PxScene
  • setGearChange() : PxVehicleDriveDynData
  • setGearDown() : PxVehicleDriveDynData , PxVehicleDrive4WRawInputData , PxVehicleDriveTankRawInputData
  • setGearRatio() : PxVehicleGearsData
  • setGearsData() : PxVehicleDriveSimData
  • setGearSwitchTime() : PxVehicleDriveDynData
  • setGearUp() : PxVehicleDriveDynData , PxVehicleDrive4WRawInputData , PxVehicleDriveTankRawInputData
  • setGeometry() : PxShape
  • setGlobalPose() : PxRigidActor , PxCloth
  • setGpuDispatcher() : physx::PxTaskManager
  • setGravity() : PxScene
  • setGridSize() : PxParticleBase
  • setHalfForwardExtent() : PxBoxController
  • setHalfHeight() : PxBoxController
  • setHalfSideExtent() : PxBoxController
  • setHeight() : PxCapsuleController
  • setHighForwardSpeedSubStepCount() : PxVehicleWheelsSimData
  • setIncrementalRebuildRate() : PxSpatialIndex
  • setIndex : PxClothFabricPhase
  • setInertiaScale() : PxCloth
  • setInternalCompliance() : PxArticulationJoint
  • setInternalDriveIterations() : PxArticulation
  • setInvInertiaScale0() : PxContactSet , PxJoint
  • setInvInertiaScale1() : PxContactSet , PxJoint
  • setInvMassScale0() : PxContactSet , PxJoint
  • setInvMassScale1() : PxContactSet , PxJoint
  • setKinematicTarget() : PxRigidDynamic
  • setLatency() : PxVehicleAutoBoxData
  • setLimit() : PxPrismaticJoint , PxRevoluteJoint
  • setLimitCone() : PxSphericalJoint
  • setLimits() : PxScene
  • setLinearDamping() : PxRigidDynamic
  • setLinearDragCoefficient() : PxCloth
  • setLinearInertiaScale() : PxCloth
  • setLinearLimit() : PxD6Joint
  • setLinearVelocity() : PxRigidBody
  • setLocalPose() : PxShape , PxJoint
  • setLowForwardSpeedSubStepCount() : PxVehicleWheelsSimData
  • setMass() : PxRigidBody
  • setMassAndPreserveNaturalFrequency() : PxVehicleSuspensionData
  • setMassAndUpdateInertia() : PxRigidBodyExt
  • setMassSpaceInertiaTensor() : PxRigidBody
  • setMaterials() : PxShape
  • setMaxAngularVelocity() : PxRigidDynamic
  • setMaxContactImpulse() : PxRigidBody
  • setMaxDepenetrationVelocity() : PxRigidBody
  • setMaxDistance() : PxDistanceJoint
  • setMaximal() : PxBounds3
  • setMaxImpulse() : PxContactSet
  • setMaxMotionDistance() : PxParticleBase
  • setMaxNbDynamicShapes() : PxVolumeCache
  • setMaxNbStaticShapes() : PxVolumeCache
  • setMaxProjectionIterations() : PxArticulation
  • setMetaData() : PxBinaryConverter
  • setMinCCDAdvanceCoefficient() : PxRigidBody
  • setMinDistance() : PxDistanceJoint
  • setMinLongSlipDenominator() : PxVehicleWheelsSimData
  • setMinResponseThreshold() : PxConstraint
  • setMinusInfinity() : PxExtendedVec3
  • setMotion() : PxD6Joint
  • setMotionConstraintConfig() : PxCloth
  • setMotionConstraints() : PxCloth
  • setName() : PxActor , PxArticulation , PxShape , PxJoint
  • setNbContactDataBlocks() : PxScene
  • setNonWalkableMode() : PxController
  • setNormal() : PxContactSet
  • setOverlapRecoveryModule() : PxControllerManager
  • setOwnerClient() : PxActor
  • setParams() : PxCooking
  • setParentPose() : PxArticulationJoint
  • setParticleAccelerations() : PxCloth
  • setParticleBaseFlag() : PxParticleBase
  • setParticleMass() : PxParticleBase
  • setParticleReadDataFlag() : PxParticleBase
  • setParticles() : PxCloth
  • setPlusInfinity() : PxExtendedVec3
  • setPoint() : PxContactSet
  • setPosition() : PxController , PxMat44
  • setPositions() : PxParticleBase
  • setPreciseSweeps() : PxControllerManager
  • setPreventVerticalSlidingAgainstCeiling() : PxControllerManager
  • setPrismaticJointFlag() : PxPrismaticJoint
  • setPrismaticJointFlags() : PxPrismaticJoint
  • setProjectionAngularTolerance() : PxD6Joint , PxFixedJoint , PxPrismaticJoint , PxRevoluteJoint
  • setProjectionLinearTolerance() : PxD6Joint , PxFixedJoint , PxRevoluteJoint , PxSphericalJoint , PxPrismaticJoint
  • setProjectionPlane() : PxParticleBase
  • setQueryFilterData() : PxShape
  • setRadius() : PxCapsuleController
  • setReportAllocationNames() : PxFoundation
  • setReportMode() : PxBinaryConverter
  • setRestitution() : PxMaterial , PxParticleBase , PxContactSet
  • setRestitutionCombineMode() : PxMaterial
  • setRestOffset() : PxShape , PxCloth , PxParticleBase
  • setRestOffsets() : PxParticleBase
  • setRestParticleDistance() : PxParticleFluid
  • setRestPositions() : PxCloth
  • setRevoluteJointFlag() : PxRevoluteJoint
  • setRevoluteJointFlags() : PxRevoluteJoint
  • setRigidBodyFlag() : PxRigidBody
  • setRigidBodyFlags() : PxRigidBody
  • setRigidDynamicLockFlag() : PxRigidDynamic
  • setRigidDynamicLockFlags() : PxRigidDynamic
  • setRunProfiled() : PxDefaultCpuDispatcher
  • sets : PxClothFabricDesc
  • setScenePvdFlag() : PxPvdSceneClient
  • setScenePvdFlags() : PxPvdSceneClient
  • setSceneQueryFilterData() : PxVehicleWheelsSimData
  • setSceneQueryUpdateMode() : PxScene
  • setSelfCollisionDistance() : PxCloth
  • setSelfCollisionIndices() : PxCloth
  • setSelfCollisionStiffness() : PxCloth
  • setSeparation() : PxContactSet
  • setSeparationConstraints() : PxCloth
  • setSeparationTolerance() : PxArticulation
  • setSimulationEventCallback() : PxScene
  • setSimulationFilterData() : PxShape , PxCloth , PxParticleBase
  • setSleepLinearVelocity() : PxCloth
  • setSleepThreshold() : PxArticulation , PxRigidDynamic
  • setSlopeLimit() : PxController
  • setSolverBatchSize() : PxScene
  • setSolverFrequency() : PxCloth
  • setSolverIterationCounts() : PxArticulation , PxRigidDynamic
  • setSphericalJointFlag() : PxSphericalJoint
  • setSphericalJointFlags() : PxSphericalJoint
  • setStabilizationThreshold() : PxArticulation , PxRigidDynamic
  • setStaticFriction() : PxMaterial , PxParticleBase , PxContactSet
  • setSteerAngle() : PxVehicleNoDrive
  • setStepOffset() : PxController
  • setStiffness() : PxArticulationJoint , PxDistanceJoint , PxParticleFluid
  • setStiffnessFrequency() : PxCloth
  • setStretchConfig() : PxCloth
  • setSubStepCount() : PxVehicleWheelsSimData
  • setSuspensionData() : PxVehicleWheelsSimData
  • setSuspForceAppPointOffset() : PxVehicleWheelsSimData
  • setSuspTravelDirection() : PxVehicleWheelsSimData
  • setSwingLimit() : PxArticulationJoint , PxD6Joint
  • setSwingLimitContactDistance() : PxArticulationJoint
  • setSwingLimitEnabled() : PxArticulationJoint
  • setTangentialDamping() : PxArticulationJoint
  • setTangentialStiffness() : PxArticulationJoint
  • setTargetGear() : PxVehicleDriveDynData
  • setTargetOrientation() : PxArticulationJoint
  • setTargetPose() : PxCloth
  • setTargetVelocity() : PxContactSet , PxArticulationJoint
  • setTessellation() : PxControllerManager
  • setTessFlag() : PxHeightFieldSample
  • setTetherConfig() : PxCloth
  • setThresholdLongSpeed() : PxVehicleWheelsSimData
  • setTireData() : PxVehicleWheelsSimData
  • setTireForceAppPointOffset() : PxVehicleWheelsSimData
  • setTireForceShaderData() : PxVehicleWheelsDynData
  • setTireForceShaderFunction() : PxVehicleWheelsDynData
  • setTireLoadFilterData() : PxVehicleWheelsSimData
  • setToDefault() : PxHeightFieldDesc , PxParticleCreationData , PxTriangleMeshDesc , PxBVH33MidphaseDesc , PxSceneDesc , PxMidphaseDesc , PxBoxControllerDesc , PxCapsuleControllerDesc , PxClothFabricDesc , PxBVH34MidphaseDesc , PxClothMeshDesc , PxSimpleTriangleMesh , PxSceneLimits , PxFilterData , PxConvexMeshDesc
  • setTolerance() : PxDistanceJoint
  • setToRestState() : PxVehicleWheelsDynData , PxVehicleDrive4W , PxVehicleNoDrive , PxVehicleDriveNW , PxVehicleDriveTank , PxVehicleWheels , PxVehicleDrive , PxVehicleDriveDynData
  • setTwistLimit() : PxD6Joint , PxArticulationJoint
  • setTwistLimitContactDistance() : PxArticulationJoint
  • setTwistLimitEnabled() : PxArticulationJoint
  • setTypePairFriction() : PxVehicleDrivableSurfaceToTireFrictionPairs
  • setup() : PxVehicleDrive , PxVehicleDriveNW , PxVehicleWheels , PxVehicleNoDrive , PxVehicleDrivableSurfaceToTireFrictionPairs , PxVehicleDriveTank , PxVehicleDrive4W
  • setUpDirection() : PxController
  • setUpRatios() : PxVehicleAutoBoxData
  • setUseAutoGears() : PxVehicleDriveDynData
  • setUserData() : PxVehicleWheelsDynData , PxController
  • setUserMemory() : PxBatchQuery
  • setVelocities() : PxParticleBase
  • setVirtualParticles() : PxCloth
  • setViscosity() : PxParticleFluid
  • setVisualizationCullingBox() : PxScene
  • setVisualizationParameter() : PxScene
  • setWakeCounter() : PxArticulation , PxCloth , PxRigidDynamic
  • setWheelCentreOffset() : PxVehicleWheelsSimData
  • setWheelData() : PxVehicleWheelsSimData
  • setWheelEnabledState() : PxVehicleWheelsSimData
  • setWheelRotationAngle() : PxVehicleWheelsDynData
  • setWheelRotationSpeed() : PxVehicleWheelsDynData
  • setWheelShapeMapping() : PxVehicleWheelsSimData
  • setWindDrag() : PxCloth
  • setWindLift() : PxCloth
  • setWindVelocity() : PxCloth
  • setZero() : PxVec4
  • shape : PxContactModifyPair , PxActorShape , PxControllerShapeHit , PxQueryCache
  • shapes : PxContactPair
  • shiftOrigin() : PxScene , PxControllerManager
  • simulate() : PxScene
  • simulationEventCallback : PxSceneDesc
  • size : PxDebugText , PxMetaDataEntry , PxContactSet
  • skinWidth : PxCookingParams
  • slopeLimit : PxControllerDesc
  • solveHint : Px1DConstraint
  • solverBatchSize : PxSceneDesc
  • solverOffsetSlop : PxSceneDesc
  • solverPrep : PxConstraintShaderTable
  • sourceWheelIds : PxVehicleCopyDynamicsMap
  • speed : PxTolerancesScale
  • sphere() : PxGeometryHolder
  • spring : Px1DConstraint
  • standOnAnotherCCT : PxControllerState
  • standOnObstacle : PxControllerState
  • startAfter() : physx::PxTask
  • startContactIndex : PxContactPatch
  • startGearChange() : PxVehicleDriveDynData
  • startGroup() : physx::PxGpuDispatcher
  • startSimulation()
: physx::PxTaskManager
, physx::PxGpuDispatcher
  • staticFriction : PxModifiableContact , PxContactPatch
  • staticKineFilteringMode : PxSceneDesc
  • staticStructure : PxSceneDesc
  • status : PxTriggerPair
  • statusChange() : PxSimulationFilterCallback
  • staySleeping : PxVehicleConcurrentUpdateData
  • steerAngle : PxWheelQueryResult
  • stepOffset : PxControllerDesc
  • stiffness : PxClothMotionConstraintConfig , PxClothTetherConfig , PxClothStretchConfig , PxSpring , Px1DConstraint , PxJointLimitParameters
  • stiffnessMultiplier : PxClothStretchConfig
  • stopSimulation()
: physx::PxGpuDispatcher
, physx::PxTaskManager
  • storeAny() : PxGeometryHolder
  • storeByte() : PxFileBuf
  • storeDouble() : PxFileBuf
  • storeDword() : PxFileBuf
  • storeFloat() : PxFileBuf
  • storeWord() : PxFileBuf
  • STREAM_SEEK_END : PxFileBuf
  • StreamFormat : PxContactStreamIterator
  • stretchLimit : PxClothStretchConfig , PxClothTetherConfig
  • stride : PxStridedData , PxStrideIterator< T > , PxTypedStridedData< TDataType >
  • string : PxDebugText
  • stringTable : PxRepXInstantiationArgs
  • submitNamedTask() : physx::PxTaskManager
  • submitTask()
: physx::PxGpuDispatcher
, physx::PxCpuDispatcher
  • submitted() : physx::PxTask
  • submitUnnamedTask() : physx::PxTaskManager
  • sum() : PxMassProperties
  • suppressTriangleMeshRemapTable : PxCookingParams
  • suspJounce : PxWheelQueryResult
  • suspLineDir : PxWheelQueryResult
  • suspLineLength : PxWheelQueryResult
  • suspLineStart : PxWheelQueryResult
  • suspSpringForce : PxWheelQueryResult
  • swap2Bytes() : PxFileBuf
  • swap4Bytes() : PxFileBuf
  • swap8Bytes() : PxFileBuf
  • sweep() : PxShapeExt , PxMeshQuery , PxVolumeCache , PxBatchQuery , PxScene , PxGeometryQuery , PxSpatialIndex
  • sweepAny() : PxSceneQueryExt
  • sweepMultiple() : PxSceneQueryExt
  • sweepResultBufferSize : PxBatchQueryMemory
  • sweepSingle() : PxSceneQueryExt
  • sweepTouchBufferSize : PxBatchQueryMemory


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z
  • ~
Here is a list of all class members with links to the classes they belong to:

- t -

  • targetPlatform : PxCookingParams
  • targetWheelIds : PxVehicleCopyDynamicsMap
  • taskCompleted() : physx::PxTaskManager
  • tell() : PxDefaultMemoryInputData , PxDefaultFileInputData , PxInputData
  • tellRead() : PxFileBuf
  • tellWrite() : PxFileBuf
  • tempBufferCapacity : PxgDynamicsMemoryConfig
  • tessFlag() : PxHeightFieldSample
  • tetherAnchors : PxClothFabricDesc
  • tetherLengths : PxClothFabricDesc
  • thickness : PxHeightFieldDesc
  • tireContactActor : PxWheelQueryResult
  • tireContactNormal : PxWheelQueryResult
  • tireContactPoint : PxWheelQueryResult
  • tireContactShape : PxWheelQueryResult
  • tireFriction : PxWheelQueryResult
  • tireLateralDir : PxWheelQueryResult
  • tireLongitudinalDir : PxWheelQueryResult
  • tireSurfaceMaterial : PxWheelQueryResult
  • tireSurfaceType : PxWheelQueryResult
  • toggleAutoGears() : PxVehicleDriveDynData
  • toMat33() : PxMeshScale
  • toRadiansAndUnitAxis() : PxQuat
  • totalContacts : PxContactStreamIterator
  • totalPatches : PxContactStreamIterator
  • touchedActor : PxControllerState
  • touchedObstacleHandle : PxControllerState
  • touchedShape : PxControllerState
  • touches : PxHitCallback< HitType > , PxBatchQueryResult< HitType >
  • transform : PxContactModifyPair , PxMeshScale , PxMat33 , PxMat44 , PxTransform
  • transformFast() : PxBounds3
  • transformInv() : PxTransform
  • transformSafe() : PxBounds3
  • transformTranspose() : PxMat33
  • translate() : PxMassProperties
  • translateInertia() : PxMassProperties
  • translatePxBase() : PxDeserializationContext
  • triangleIndex : PxControllerShapeHit
  • triangleMesh() : PxGeometryHolder , PxTriangleMeshGeometry
  • triangles : PxClothFabricDesc , PxClothMeshDesc , PxSimpleTriangleMesh
  • triggerActor : PxTriggerPair
  • triggerShape : PxTriggerPair
  • TT_COMPLETED : physx::PxTaskType
  • TT_CPU : physx::PxTaskType
  • TT_GPU : physx::PxTaskType
  • TT_NOT_PRESENT : physx::PxTaskType
  • type : PxContactPairExtraDataItem , PxConstraintInfo
  • Type : Px1DConstraintFlag
  • type : PxMetaDataEntry
  • typeMatch() : PxBase
  • typeName : PxRepXObject


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z
  • ~
Here is a list of all class members with links to the classes they belong to:

- u -

  • u : PxRaycastHit
  • unlock() : PxLockedData , PxPvdTransport , PxParticleReadData
  • unlockRead() : PxScene
  • unlockWrite() : PxScene
  • unregisterDeletionListener() : PxPhysics
  • unregisterDeletionListenerObjects() : PxPhysics
  • unregisterRepXSerializer() : PxSerializationRegistry
  • unregisterSerializer() : PxSerializationRegistry
  • update() : PxSpatialIndex
  • UPDATE_ALL_PROPERTIES : PxPvdUpdateType
  • UPDATE_SIM_PROPERTIES : PxPvdUpdateType
  • updateCamera() : PxPvdSceneClient
  • updateDriveCache() : PxArticulation
  • updateMassAndInertia() : PxRigidBodyExt
  • updateObstacle() : PxObstacleContext
  • updatePvdProperties() : PxConstraintConnector
  • upDirection : PxControllerDesc
  • upper : PxJointLinearLimitPair , PxJointAngularLimitPair
  • upVector : PxSerialization::PxSerialization::PxXmlMiscParameter
  • userData : PxShape , PxJoint , PxBroadPhaseRegion , PxControllerObstacleHit , PxScene , PxMaterial , PxBatchQueryResult< HitType > , PxArticulation , PxControllerDesc , PxSceneDesc , PxActor , PxActiveTransform
  • userOverlapResultBuffer : PxBatchQueryMemory
  • userOverlapTouchBuffer : PxBatchQueryMemory
  • userRaycastResultBuffer : PxBatchQueryMemory
  • userRaycastTouchBuffer : PxBatchQueryMemory
  • userSweepResultBuffer : PxBatchQueryMemory
  • userSweepTouchBuffer : PxBatchQueryMemory


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z
  • ~
Here is a list of all class members with links to the classes they belong to:

- v -

  • v : PxRaycastHit
  • validateConvexMesh() : PxCooking
  • validateTriangleMesh() : PxCooking
  • validParticleBitmap : PxParticleReadData
  • validParticleRange : PxParticleReadData
  • value : PxJointLinearLimit
  • VehicleSurfaceTypeHashTable : PxVehicleDrivableSurfaceToTireFrictionPairs
  • velocityBuffer : PxParticleCreationData , PxParticleReadData
  • velocityTarget : Px1DConstraint
  • velocityThreshold : Px1DConstraint
  • vertex0 : PxClothCollisionTriangle
  • vertex1 : PxClothCollisionTriangle
  • vertex2 : PxClothCollisionTriangle
  • vertexLimit : PxConvexMeshDesc
  • verts : PxTriangle
  • visualize : PxConstraintShaderTable
  • visualizeAngularLimit() : PxConstraintVisualizer
  • visualizeDoubleCone() : PxConstraintVisualizer
  • visualizeJointFrames() : PxConstraintVisualizer
  • visualizeLimitCone() : PxConstraintVisualizer
  • visualizeLine() : PxConstraintVisualizer
  • visualizeLinearLimit() : PxConstraintVisualizer
  • volumeGrowth : PxControllerDesc
  • VolumeType : PxSimulationStatistics


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z
  • ~
Here is a list of all class members with links to the classes they belong to:

- w -

  • w : PxQuat , PxVec4
  • wakeCounterResetValue : PxSceneDesc
  • wakeUp() : PxArticulation , PxRigidDynamic , PxCloth
  • wakeup : PxVehicleConcurrentUpdateData
  • wheelQueryResults : PxVehicleWheelQueryResult
  • word0 : PxFilterData
  • word1 : PxFilterData
  • word2 : PxFilterData
  • word3 : PxFilterData
  • worldNormal : PxControllerHit
  • worldPos : PxControllerHit
  • write() : PxDefaultMemoryOutputStream , PxDefaultFileOutputStream , PxOutputStream , PxFileBuf , PxPvdTransport
  • writeData() : PxSerializationContext
  • writeName() : PxSerializationContext


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z
  • ~
Here is a list of all class members with links to the classes they belong to:

- x -

  • x : PxExtendedVec3 , PxVec4 , PxVec3 , PxVec2 , PxQuat


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z
  • ~
Here is a list of all class members with links to the classes they belong to:

- y -

  • y : PxExtendedVec3 , PxQuat , PxVec4 , PxVec3 , PxVec2
  • yAngle : PxJointLimitCone


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Enumerations

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • e
  • f
  • o
  • p
  • r
  • s
  • t
  • v

- e -

  • EndianMode : PxFileBuf
  • Enum : PxPvdInstrumentationFlag , physx::PxTaskType , physx::PxGpuTaskHint , PxErrorCode , PxVehicleUpdateMode , PxVehicleConcreteType , PxVehicleTypes , PxVehicleDriveTankControlModel , PxVehicleDriveTankControl , PxVehicleDriveTankWheelOrder , PxVehicleDriveNWControl , PxVehicleDrive4WControl , PxVehicleDrive4WWheelOrder , PxVehicleClutchAccuracyMode , PxVehicleDifferential4WData , PxVehicleGearsData , PxPvdSceneFlag , PxParticleReadDataFlag , PxParticleFlag , PxParticleBaseFlag , PxMeshGeometryFlag , PxTriangleMeshFlag , PxMeshMidPhase , PxMeshFlag , PxHeightFieldMaterial , PxHeightFieldFlag , PxHeightFieldTessFlag , PxHeightFieldFormat , PxGeometryType , PxConvexMeshGeometryFlag , PxSphericalJointFlag , PxRevoluteJointFlag , PxPrismaticJointFlag , PxJointActorIndex , PxJointConcreteType , PxDistanceJointFlag , PxFilterOp , PxD6JointDriveFlag , PxD6Drive , PxD6Motion , PxD6Axis , PxConstraintExtIDs , PxConverterReportMode , PxMeshPreprocessingFlag , PxTriangleMeshCookingResult , PxConvexMeshCookingType , PxConvexMeshCookingResult , PxPlatform , PxConvexFlag , PxMeshCookingHint , PxConcreteType , PxDebugColor , PxMetaDataFlag , PxBaseFlag , PxClothFlag , PxClothFabricPhaseType , PxControllerDebugRenderFlag , PxControllerBehaviorFlag , PxControllerCollisionFlag , PxControllerNonWalkableMode , PxControllerShapeType , PxCapsuleClimbingMode , PxVisualizationParameter , PxTriggerPairFlag , PxContactPairFlag , PxContactPairHeaderFlag , PxContactPairExtraDataType , PxShapeFlag , PxSceneFlag , PxFrictionType , PxSceneQueryUpdateMode , PxPruningStructureType , PxActorTypeFlag , PxRigidDynamicLockFlag , PxRigidBodyFlag , PxHitFlag , PxQueryHitType , PxQueryFlag , PxCombineMode , PxMaterialFlag , PxDataAccessFlag , PxForceMode , PxPairFilteringMode , PxFilterObjectFlag , PxFilterObjectType , PxFilterFlag , PxPairFlag , PxDeletionEventFlag , PxPvdUpdateType , PxConstraintVisualizationFlag , PxConstraintSolveHint , PxConstraintFlag , PxActorClientBehaviorFlag , PxClientBehaviorFlag , PxBroadPhaseType , PxBatchQueryStatus , PxArticulationJointDriveType , PxActorType , PxActorFlag

- f -

  • FillStatus : PxVolumeCache

- o -

  • OpenMode : PxFileBuf

- p -

  • PxContactPatchFlags : PxContactPatch

- r -

  • RbPairStatsType : PxSimulationStatistics

- s -

  • SeekType : PxFileBuf
  • StreamFormat : PxContactStreamIterator

- t -

  • Type : Px1DConstraintFlag

- v -

  • VolumeType : PxSimulationStatistics


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Enumerator

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • c
  • d
  • e
  • f
  • h
  • k
  • n
  • o
  • p
  • r
  • s
  • t
  • u

- c -

  • COUNT : PxJointActorIndex
  • CREATE_INSTANCE : PxPvdUpdateType


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Enumerator

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • c
  • d
  • e
  • f
  • h
  • k
  • n
  • o
  • p
  • r
  • s
  • t
  • u

- k -

  • Kernel : physx::PxGpuTaskHint


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Enumerator

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • c
  • d
  • e
  • f
  • h
  • k
  • n
  • o
  • p
  • r
  • s
  • t
  • u

- n -

  • NUM_GPU_TASK_HINTS : physx::PxGpuTaskHint


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Enumerator

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • c
  • d
  • e
  • f
  • h
  • k
  • n
  • o
  • p
  • r
  • s
  • t
  • u

- o -

  • OPEN_FILE_NOT_FOUND : PxFileBuf
  • OPEN_READ_ONLY : PxFileBuf
  • OPEN_READ_WRITE_EXISTING : PxFileBuf
  • OPEN_READ_WRITE_NEW : PxFileBuf
  • OPEN_WRITE_ONLY : PxFileBuf


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Enumerator

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • c
  • d
  • e
  • f
  • h
  • k
  • n
  • o
  • p
  • r
  • s
  • t
  • u

- d -

  • DeviceToHost : physx::PxGpuTaskHint


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Enumerator

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • c
  • d
  • e
  • f
  • h
  • k
  • n
  • o
  • p
  • r
  • s
  • t
  • u

- e -

  • e0TH_VERTEX_SHARED : PxHeightFieldTessFlag
  • e16_BIT_INDICES : PxConvexFlag , PxTriangleMeshFlag , PxMeshFlag
  • e1ST_FROM_FRONT_LEFT : PxVehicleDriveTankWheelOrder
  • e1ST_FROM_FRONT_RIGHT : PxVehicleDriveTankWheelOrder
  • e2ND_FROM_FRONT_LEFT : PxVehicleDriveTankWheelOrder
  • e2ND_FROM_FRONT_RIGHT : PxVehicleDriveTankWheelOrder
  • e3RD_FROM_FRONT_LEFT : PxVehicleDriveTankWheelOrder
  • e3RD_FROM_FRONT_RIGHT : PxVehicleDriveTankWheelOrder
  • e4TH_FROM_FRONT_LEFT : PxVehicleDriveTankWheelOrder
  • e4TH_FROM_FRONT_RIGHT : PxVehicleDriveTankWheelOrder
  • e5TH_FROM_FRONT_LEFT : PxVehicleDriveTankWheelOrder
  • e5TH_FROM_FRONT_RIGHT : PxVehicleDriveTankWheelOrder
  • e6TH_FROM_FRONT_LEFT : PxVehicleDriveTankWheelOrder
  • e6TH_FROM_FRONT_RIGHT : PxVehicleDriveTankWheelOrder
  • e7TH_FROM_FRONT_LEFT : PxVehicleDriveTankWheelOrder
  • e7TH_FROM_FRONT_RIGHT : PxVehicleDriveTankWheelOrder
  • e8TH_FROM_FRONT_LEFT : PxVehicleDriveTankWheelOrder
  • e8TH_FROM_FRONT_RIGHT : PxVehicleDriveTankWheelOrder
  • e9TH_FROM_FRONT_LEFT : PxVehicleDriveTankWheelOrder
  • e9TH_FROM_FRONT_RIGHT : PxVehicleDriveTankWheelOrder
  • eABORT : PxErrorCode
  • eACCELERATION : PxForceMode , PxD6JointDriveFlag , PxVehicleUpdateMode
  • eACCELERATION1 : PxConstraintSolveHint
  • eACCELERATION2 : PxConstraintSolveHint
  • eACCELERATION3 : PxConstraintSolveHint
  • eACCELERATION_SPRING : Px1DConstraintFlag
  • eACTOR0 : PxJointActorIndex
  • eACTOR1 : PxJointActorIndex
  • eACTOR_AXES : PxVisualizationParameter
  • eACTOR_COUNT : PxActorType
  • eACTOR_FORCE_DWORD : PxActorType
  • eACTOR_PAIR_HAS_FIRST_TOUCH : PxContactPairFlag
  • eACTOR_PAIR_LOST_TOUCH : PxContactPairFlag
  • eADAPTIVE_FORCE : PxSceneFlag
  • eADJACENCY_INFO : PxTriangleMeshFlag
  • eAGGREGATE : PxConcreteType
  • eALIGNMENT : PxMetaDataFlag
  • eALL : PxControllerDebugRenderFlag , PxPvdInstrumentationFlag
  • eANALOG_INPUT_ACCEL : PxVehicleDrive4WControl , PxVehicleDriveNWControl , PxVehicleDriveTankControl
  • eANALOG_INPUT_BRAKE : PxVehicleDrive4WControl , PxVehicleDriveNWControl
  • eANALOG_INPUT_BRAKE_LEFT : PxVehicleDriveTankControl
  • eANALOG_INPUT_BRAKE_RIGHT : PxVehicleDriveTankControl
  • eANALOG_INPUT_HANDBRAKE : PxVehicleDrive4WControl , PxVehicleDriveNWControl
  • eANALOG_INPUT_STEER_LEFT : PxVehicleDrive4WControl , PxVehicleDriveNWControl
  • eANALOG_INPUT_STEER_RIGHT : PxVehicleDrive4WControl , PxVehicleDriveNWControl
  • eANALOG_INPUT_THRUST_LEFT : PxVehicleDriveTankControl
  • eANALOG_INPUT_THRUST_RIGHT : PxVehicleDriveTankControl
  • eANY_HIT : PxQueryFlag
  • eARGB_BLACK : PxDebugColor
  • eARGB_BLUE : PxDebugColor
  • eARGB_CYAN : PxDebugColor
  • eARGB_DARKBLUE : PxDebugColor
  • eARGB_DARKGREEN : PxDebugColor
  • eARGB_DARKRED : PxDebugColor
  • eARGB_GREEN : PxDebugColor
  • eARGB_GREY : PxDebugColor
  • eARGB_MAGENTA : PxDebugColor
  • eARGB_RED : PxDebugColor
  • eARGB_WHITE : PxDebugColor
  • eARGB_YELLOW : PxDebugColor
  • eARM : PxPlatform
  • eARTICULATION : PxFilterObjectType , PxConcreteType
  • eARTICULATION_JOINT : PxConcreteType
  • eARTICULATION_LINK : PxActorType , PxConcreteType
  • eASSUME_NO_INITIAL_OVERLAP : PxHitFlag
  • eAVERAGE : PxCombineMode
  • eBENDING : PxClothFabricPhaseType
  • eBEST_POSSIBLE : PxVehicleClutchAccuracyMode
  • eBLOCK : PxQueryHitType
  • eBODY_ANG_VELOCITY : PxVisualizationParameter
  • eBODY_AXES : PxVisualizationParameter
  • eBODY_LIN_VELOCITY : PxVisualizationParameter
  • eBODY_MASS_AXES : PxVisualizationParameter
  • eBOX : PxControllerShapeType , PxGeometryType
  • eBROKEN : PxConstraintFlag
  • eBUILD_DISABLED_COMMIT_DISABLED : PxSceneQueryUpdateMode
  • eBUILD_ENABLED_COMMIT_DISABLED : PxSceneQueryUpdateMode
  • eBUILD_ENABLED_COMMIT_ENABLED : PxSceneQueryUpdateMode
  • eBVH33 : PxMeshMidPhase
  • eBVH34 : PxMeshMidPhase
  • eCACHED_BV : PxControllerDebugRenderFlag
  • eCALLBACK : PxFilterFlag
  • eCAPSULE : PxControllerShapeType , PxGeometryType
  • eCCD_PAIRS : PxSimulationStatistics
  • eCCT_CAN_RIDE_ON_OBJECT : PxControllerBehaviorFlag
  • eCCT_SLIDE : PxControllerBehaviorFlag
  • eCCT_USER_DEFINED_RIDE : PxControllerBehaviorFlag
  • eCHECK_ZERO_AREA_TRIANGLES : PxConvexFlag
  • eCLASS : PxMetaDataFlag
  • eCLOTH : PxFilterObjectType , PxConcreteType
  • eCLOTH_BENDING : PxVisualizationParameter
  • eCLOTH_FABRIC : PxConcreteType
  • eCLOTH_HORIZONTAL : PxVisualizationParameter
  • eCLOTH_SHEARING : PxVisualizationParameter
  • eCLOTH_VERTICAL : PxVisualizationParameter
  • eCLOTH_VIRTUAL_PARTICLES : PxVisualizationParameter
  • eCOLLISION_AABBS : PxVisualizationParameter
  • eCOLLISION_AXES : PxVisualizationParameter
  • eCOLLISION_COMPOUNDS : PxVisualizationParameter
  • eCOLLISION_DOWN : PxControllerCollisionFlag
  • eCOLLISION_DYNAMIC : PxVisualizationParameter
  • eCOLLISION_EDGES : PxVisualizationParameter
  • eCOLLISION_ENABLED : PxConstraintFlag
  • eCOLLISION_FNORMALS : PxVisualizationParameter
  • eCOLLISION_NORMAL_BUFFER : PxParticleReadDataFlag
  • eCOLLISION_SHAPES : PxVisualizationParameter
  • eCOLLISION_SIDES : PxControllerCollisionFlag
  • eCOLLISION_STATIC : PxVisualizationParameter
  • eCOLLISION_TWOWAY : PxParticleBaseFlag
  • eCOLLISION_UP : PxControllerCollisionFlag
  • eCOLLISION_VELOCITY_BUFFER : PxParticleReadDataFlag
  • eCOLLISION_WITH_DRAIN : PxParticleFlag
  • eCOLLISION_WITH_DYNAMIC : PxParticleFlag
  • eCOLLISION_WITH_DYNAMIC_ACTORS : PxParticleBaseFlag
  • eCOLLISION_WITH_STATIC : PxParticleFlag
  • eCOMPRESSED_MODIFIABLE_STREAM : PxContactStreamIterator
  • eCOMPRESSED_MODIFIED_CONTACT : PxContactPatch
  • eCOMPUTE_CONVEX : PxConvexFlag
  • eCONSTRAINED : PxCapsuleClimbingMode
  • eCONSTRAINT : PxConcreteType
  • eCONTACT_DEFAULT : PxPairFlag
  • eCONTACT_ERROR : PxVisualizationParameter
  • eCONTACT_EVENT_POSE : PxPairFlag , PxContactPairExtraDataType
  • eCONTACT_FORCE : PxVisualizationParameter
  • eCONTACT_NORMAL : PxVisualizationParameter
  • eCONTACT_PAIR_INDEX : PxContactPairExtraDataType
  • eCONTACT_POINT : PxVisualizationParameter
  • eCONTROL_FLIP : PxMetaDataFlag
  • eCONTROL_MASK : PxMetaDataFlag
  • eCONTROL_MASK_RANGE : PxMetaDataFlag
  • eCONVEX_MESH : PxConcreteType
  • eCONVEXMESH : PxGeometryType
  • eCOOKING_PERFORMANCE : PxMeshCookingHint
  • eCOUNT : PxClothFabricPhaseType , PxClothFlag , PxD6Axis , PxD6Drive
  • eCOUNT_MASK_MSB : PxMetaDataFlag
  • eCOUNT_SKIP_IF_ONE : PxMetaDataFlag
  • eCUDA : PxClothFlag
  • eCULL_BOX : PxVisualizationParameter
  • eD6 : PxJointConcreteType
  • eDEBUG : PxPvdInstrumentationFlag
  • eDEBUG_INFO : PxErrorCode
  • eDEBUG_WARNING : PxErrorCode
  • eDEFAULT : PxFilterFlag , PxPairFilteringMode , PxHitFlag , PxClothFlag
  • eDENSITY_BUFFER : PxParticleReadDataFlag
  • eDEPRECATED_BODY_JOINT_GROUPS : PxVisualizationParameter
  • eDEPRECATED_COLLISION_PAIRS : PxVisualizationParameter
  • eDEPRECATED_TRIGGER_TRIGGER_REPORTS : PxSceneFlag
  • eDETECT_CCD_CONTACT : PxPairFlag
  • eDETECT_DISCRETE_CONTACT : PxPairFlag
  • eDEVICE : PxDataAccessFlag
  • eDIFF_TYPE_LS_4WD : PxVehicleDifferential4WData
  • eDIFF_TYPE_LS_FRONTWD : PxVehicleDifferential4WData
  • eDIFF_TYPE_LS_REARWD : PxVehicleDifferential4WData
  • eDIFF_TYPE_OPEN_4WD : PxVehicleDifferential4WData
  • eDIFF_TYPE_OPEN_FRONTWD : PxVehicleDifferential4WData
  • eDIFF_TYPE_OPEN_REARWD : PxVehicleDifferential4WData
  • eDISABLE_ACTIVE_EDGES_PRECOMPUTE : PxMeshPreprocessingFlag
  • eDISABLE_CCD_RESWEEP : PxSceneFlag
  • eDISABLE_CLEAN_MESH : PxMeshPreprocessingFlag
  • eDISABLE_CONTACT_CACHE : PxSceneFlag
  • eDISABLE_CONTACT_REPORT_BUFFER_RESIZE : PxSceneFlag
  • eDISABLE_FRICTION : PxMaterialFlag
  • eDISABLE_GRAVITY : PxActorFlag
  • eDISABLE_MESH_VALIDATION : PxConvexFlag
  • eDISABLE_PREPROCESSING : PxConstraintFlag
  • eDISABLE_SIMULATION : PxActorFlag
  • eDISABLE_STRONG_FRICTION : PxMaterialFlag
  • eDISCRETE_CONTACT_PAIRS : PxSimulationStatistics
  • eDISTANCE : PxHitFlag , PxJointConcreteType
  • eDOUBLE_SIDED : PxMeshGeometryFlag
  • eDRIVE4W : PxVehicleTypes
  • eDRIVE_ENABLED : PxRevoluteJointFlag
  • eDRIVE_FREESPIN : PxRevoluteJointFlag
  • eDRIVE_LIMITS_ARE_FORCES : PxConstraintFlag
  • eDRIVENW : PxVehicleTypes
  • eDRIVETANK : PxVehicleTypes
  • eDYNAMIC : PxQueryFlag
  • eDYNAMIC_AABB_TREE : PxPruningStructureType
  • eEASY : PxCapsuleClimbingMode
  • eEIGHTEENTH : PxVehicleGearsData
  • eEIGHTH : PxVehicleGearsData
  • eELEVENTH : PxVehicleGearsData
  • eENABLE_ACTIVE_ACTORS : PxSceneFlag
  • eENABLE_AVERAGE_POINT : PxSceneFlag
  • eENABLE_CCD : PxRigidBodyFlag , PxSceneFlag
  • eENABLE_CCD_FRICTION : PxRigidBodyFlag
  • eENABLE_CCD_MAX_CONTACT_IMPULSE : PxRigidBodyFlag
  • eENABLE_ENHANCED_DETERMINISM : PxSceneFlag
  • eENABLE_GPU_DYNAMICS : PxSceneFlag
  • eENABLE_PCM : PxSceneFlag
  • eENABLE_POSE_INTEGRATION_PREVIEW : PxRigidBodyFlag
  • eENABLE_SPECULATIVE_CCD : PxRigidBodyFlag
  • eENABLE_STABILIZATION : PxSceneFlag
  • eENABLED : PxParticleBaseFlag
  • eEQUALITY : PxConstraintSolveHint
  • eERROR : PxArticulationJointDriveType
  • eESTIMATE : PxVehicleClutchAccuracyMode
  • eEXCLUDE_KINEMATICS_FROM_ACTIVE_ACTORS : PxSceneFlag
  • eEXTRA_DATA : PxMetaDataFlag
  • eEXTRA_ITEM : PxMetaDataFlag
  • eEXTRA_ITEMS : PxMetaDataFlag
  • eEXTRA_NAME : PxMetaDataFlag
  • eFACE_INDEX : PxHitFlag
  • eFAILURE : PxConvexMeshCookingResult , PxTriangleMeshCookingResult
  • eFAST_INERTIA_COMPUTATION : PxConvexFlag
  • eFIFTEENTH : PxVehicleGearsData
  • eFIFTH : PxVehicleGearsData
  • eFIRST : PxVehicleGearsData
  • eFIRST_PHYSX_EXTENSION : PxConcreteType
  • eFIRST_USER_EXTENSION : PxConcreteType
  • eFIRST_VEHICLE_EXTENSION : PxConcreteType
  • eFIXED : PxJointConcreteType
  • eFLAGS_BUFFER : PxParticleReadDataFlag
  • eFLIPNORMALS : PxMeshFlag
  • eFORCE : PxForceMode
  • eFORCE_32BIT_INDICES : PxMeshPreprocessingFlag
  • eFORCE_DWORD : PxVisualizationParameter , PxControllerShapeType , PxMetaDataFlag
  • eFORCE_NO_RESPONSE : PxContactPatch
  • eFOURTEENTH : PxVehicleGearsData
  • eFOURTH : PxVehicleGearsData
  • eFREE : PxD6Motion
  • eFRICTION_COUNT : PxFrictionType
  • eFRONT_LEFT : PxVehicleDrive4WWheelOrder , PxVehicleDriveTankWheelOrder
  • eFRONT_RIGHT : PxVehicleDrive4WWheelOrder , PxVehicleDriveTankWheelOrder
  • eGEARSRATIO_COUNT : PxVehicleGearsData
  • eGEOMETRY_COUNT : PxGeometryType
  • eGPU : PxBroadPhaseType , PxParticleBaseFlag
  • eGPU_COMPATIBLE : PxConstraintFlag , PxConvexFlag
  • eHAS_DRIVE_LIMIT : Px1DConstraintFlag
  • eHAS_FACE_INDICES : PxContactPatch
  • eHAS_MAX_IMPULSE : PxContactPatch
  • eHAS_MODIFIED_MASS_RATIOS : PxContactPatch
  • eHAS_TARGET_VELOCITY : PxContactPatch
  • eHEIGHTFIELD : PxConcreteType , PxGeometryType
  • eHOLE : PxHeightFieldMaterial
  • eHORIZONTAL : PxClothFabricPhaseType
  • eIMPROVED_SLERP : PxConstraintFlag
  • eIMPULSE : PxForceMode
  • eINEQUALITY : PxConstraintSolveHint
  • eINFLATE_CONVEX : PxConvexFlag
  • eINTERNAL_CONTACTS_ARE_FLIPPED : PxContactPairFlag
  • eINTERNAL_ERROR : PxErrorCode
  • eINTERNAL_HAS_IMPULSES : PxContactPairFlag
  • eINVALID : PxClothFabricPhaseType , PxGeometryType , PxMeshMidPhase
  • eINVALID_ID : PxConstraintExtIDs
  • eINVALID_OPERATION : PxErrorCode
  • eINVALID_PARAMETER : PxErrorCode
  • eIS_RELEASABLE : PxBaseFlag
  • eJOINT : PxConstraintExtIDs
  • eJOINT_LIMITS : PxVisualizationParameter
  • eJOINT_LOCAL_FRAMES : PxVisualizationParameter
  • eKEEP : PxPairFilteringMode
  • eKEEPBIAS : Px1DConstraintFlag
  • eKILL : PxFilterFlag , PxPairFilteringMode
  • eKINEMATIC : PxFilterObjectFlag , PxRigidBodyFlag
  • eLARGE_TRIANGLE : PxTriangleMeshCookingResult
  • eLAST : PxBroadPhaseType
  • eLast : PxJointConcreteType
  • eLAST : PxPruningStructureType , PxCapsuleClimbingMode , PxMeshMidPhase
  • eLIMIT_ENABLED : PxPrismaticJointFlag , PxRevoluteJointFlag , PxSphericalJointFlag
  • eLIMITED : PxD6Motion
  • eLIMITS : PxConstraintVisualizationFlag
  • eLOCAL_FRAMES : PxConstraintVisualizationFlag
  • eLOCK_ANGULAR_X : PxRigidDynamicLockFlag
  • eLOCK_ANGULAR_Y : PxRigidDynamicLockFlag
  • eLOCK_ANGULAR_Z : PxRigidDynamicLockFlag
  • eLOCK_LINEAR_X : PxRigidDynamicLockFlag
  • eLOCK_LINEAR_Y : PxRigidDynamicLockFlag
  • eLOCK_LINEAR_Z : PxRigidDynamicLockFlag
  • eLOCKED : PxD6Motion
  • eMASK_ALL : PxErrorCode
  • eMATERIAL : PxConcreteType
  • eMAX : PxCombineMode
  • eMAX_DISTANCE_ENABLED : PxDistanceJointFlag
  • eMAX_NB_ANALOG_INPUTS : PxVehicleDriveDynData
  • eMAX_NB_DIFF_TYPES : PxVehicleDifferential4WData
  • eMAX_NB_DRIVE4W_ANALOG_INPUTS : PxVehicleDrive4WControl
  • eMAX_NB_DRIVENW_ANALOG_INPUTS : PxVehicleDriveNWControl
  • eMAX_NB_DRIVETANK_ANALOG_INPUTS : PxVehicleDriveTankControl
  • eMAX_NB_ENGINE_TORQUE_CURVE_ENTRIES : PxVehicleEngineData
  • eMAX_NB_SURFACE_TYPES : PxVehicleDrivableSurfaceToTireFrictionPairs
  • eMAX_NB_VEHICLE_TYPES : PxVehicleTypes
  • eMAX_SOLVERPRPEP_DATASIZE : PxConstraintShaderTable
  • eMAX_TYPE_COUNT : PxFilterObjectType
  • eMBP : PxBroadPhaseType
  • eMBP_REGIONS : PxVisualizationParameter
  • eMEMORY : PxPvdInstrumentationFlag
  • eMEMORY_RELEASE : PxDeletionEventFlag
  • eMESH_ANY : PxHitFlag
  • eMESH_BOTH_SIDES : PxHitFlag
  • eMESH_MULTIPLE : PxHitFlag
  • eMIN : PxCombineMode
  • eMIN_DISTANCE_ENABLED : PxDistanceJointFlag
  • eMODIFIABLE : PxContactPatch
  • eMODIFIABLE_FLAGS : PxHitFlag
  • eMODIFIABLE_STREAM : PxContactStreamIterator
  • eMODIFIED_CONTACT_PAIRS : PxSimulationStatistics
  • eMODIFY_CONTACTS : PxPairFlag
  • eMTD : PxHitFlag
  • eMULTIPLY : PxCombineMode
  • eMUTABLE_FLAGS : PxSceneFlag
  • eN_VALUES : PxCombineMode
  • ENDIAN_BIG : PxFileBuf
  • ENDIAN_LITTLE : PxFileBuf
  • ENDIAN_NONE : PxFileBuf
  • eNEUTRAL : PxVehicleGearsData
  • eNEXT_FREE : PxPairFlag , PxTriggerPairFlag
  • eNEXT_FREE_ID : PxConstraintExtIDs
  • eNINETEENTH : PxVehicleGearsData
  • eNINTH : PxVehicleGearsData
  • eNO_BLOCK : PxQueryFlag
  • eNO_BOUNDARY_EDGES : PxHeightFieldFlag
  • eNO_ERROR : PxErrorCode
  • eNODRIVE : PxVehicleTypes
  • eNONE : PxConstraintSolveHint , PxQueryHitType , PxControllerDebugRenderFlag , PxConverterReportMode , PxPruningStructureType
  • eNORMAL : PxHitFlag , PxConverterReportMode
  • eNOTIFY : PxFilterFlag
  • eNOTIFY_CONTACT_POINTS : PxPairFlag
  • eNOTIFY_THRESHOLD_FORCE_FOUND : PxPairFlag
  • eNOTIFY_THRESHOLD_FORCE_LOST : PxPairFlag
  • eNOTIFY_THRESHOLD_FORCE_PERSISTS : PxPairFlag
  • eNOTIFY_TOUCH_CCD : PxPairFlag
  • eNOTIFY_TOUCH_FOUND : PxPairFlag
  • eNOTIFY_TOUCH_LOST : PxPairFlag
  • eNOTIFY_TOUCH_PERSISTS : PxPairFlag
  • eNUM_VALUES : PxVisualizationParameter
  • eOBSTACLES : PxControllerDebugRenderFlag
  • eONE_DIRECTIONAL : PxFrictionType
  • eOUT_OF_MEMORY : PxErrorCode
  • eOUTPUT_FORCE : Px1DConstraintFlag
  • eOVERFLOW : PxBatchQueryStatus
  • eOWNS_MEMORY : PxBaseFlag
  • ePAD_32 : PxCombineMode
  • ePADDING : PxMetaDataFlag
  • ePARTICLE_DRAIN : PxShapeFlag
  • ePARTICLE_FLUID : PxConcreteType
  • ePARTICLE_SYSTEM : PxConcreteType
  • ePARTICLE_SYSTEM_BOUNDS : PxVisualizationParameter
  • ePARTICLE_SYSTEM_BROADPHASE_BOUNDS : PxVisualizationParameter
  • ePARTICLE_SYSTEM_COLLISION_NORMAL : PxVisualizationParameter
  • ePARTICLE_SYSTEM_GRID : PxVisualizationParameter
  • ePARTICLE_SYSTEM_MAX_MOTION_DISTANCE : PxVisualizationParameter
  • ePARTICLE_SYSTEM_POSITION : PxVisualizationParameter
  • ePARTICLE_SYSTEM_VELOCITY : PxVisualizationParameter
  • ePATCH : PxFrictionType
  • ePC : PxPlatform
  • ePENDING : PxBatchQueryStatus
  • ePER_PARTICLE_COLLISION_CACHE_HINT : PxParticleBaseFlag
  • ePER_PARTICLE_REST_OFFSET : PxParticleBaseFlag
  • ePERF_WARNING : PxErrorCode
  • ePHYSX_CORE_COUNT : PxConcreteType
  • ePLANE : PxGeometryType
  • ePLANE_SHIFTING : PxConvexFlag
  • ePOLYGONS_LIMIT_REACHED : PxConvexMeshCookingResult
  • ePOSITION : PxHitFlag
  • ePOSITION_BUFFER : PxParticleReadDataFlag
  • ePOST_SOLVER_VELOCITY : PxContactPairExtraDataType , PxPairFlag
  • ePOSTFILTER : PxQueryFlag
  • ePRE_SOLVER_VELOCITY : PxPairFlag , PxContactPairExtraDataType
  • ePRECISE_SWEEP : PxHitFlag
  • ePREFILTER : PxQueryFlag
  • ePREVENT_CLIMBING : PxControllerNonWalkableMode
  • ePREVENT_CLIMBING_AND_FORCE_SLIDING : PxControllerNonWalkableMode
  • ePRISMATIC : PxJointConcreteType
  • ePROFILE : PxPvdInstrumentationFlag
  • ePROJECT_TO_ACTOR0 : PxConstraintFlag
  • ePROJECT_TO_ACTOR1 : PxConstraintFlag
  • ePROJECT_TO_PLANE : PxParticleBaseFlag
  • ePROJECTION : PxConstraintFlag
  • ePRUNING_STRUCTURE : PxConcreteType
  • ePTR : PxMetaDataFlag
  • eQUANTIZE_INPUT : PxConvexFlag
  • eQUICKHULL : PxConvexMeshCookingType
  • eREADABLE : PxDataAccessFlag
  • eREAR_LEFT : PxVehicleDrive4WWheelOrder
  • eREAR_RIGHT : PxVehicleDrive4WWheelOrder
  • eREGENERATE_PATCHES : PxContactPatch
  • eREMOVED_ACTOR_0 : PxContactPairHeaderFlag
  • eREMOVED_ACTOR_1 : PxContactPairHeaderFlag
  • eREMOVED_SHAPE_0 : PxContactPairFlag
  • eREMOVED_SHAPE_1 : PxContactPairFlag
  • eREMOVED_SHAPE_OTHER : PxTriggerPairFlag
  • eREMOVED_SHAPE_TRIGGER : PxTriggerPairFlag
  • eREPORT_FOREIGN_OBJECTS_TO_CONSTRAINT_BREAK_NOTIFY : PxClientBehaviorFlag
  • eREPORT_FOREIGN_OBJECTS_TO_CONTACT_NOTIFY : PxClientBehaviorFlag
  • eREPORT_FOREIGN_OBJECTS_TO_SCENE_QUERY : PxClientBehaviorFlag
  • eREPORT_FOREIGN_OBJECTS_TO_TRIGGER_NOTIFY : PxClientBehaviorFlag
  • eREPORT_TO_FOREIGN_CLIENTS_CONSTRAINT_BREAK_NOTIFY : PxActorClientBehaviorFlag
  • eREPORT_TO_FOREIGN_CLIENTS_CONTACT_NOTIFY : PxActorClientBehaviorFlag
  • eREPORT_TO_FOREIGN_CLIENTS_SCENE_QUERY : PxActorClientBehaviorFlag
  • eREPORT_TO_FOREIGN_CLIENTS_TRIGGER_NOTIFY : PxActorClientBehaviorFlag
  • eREQUIRE_RW_LOCK : PxSceneFlag
  • eRESERVED : PxQueryFlag
  • eREST_OFFSET_BUFFER : PxParticleReadDataFlag
  • eRESTITUTION : Px1DConstraintFlag
  • eREVERSE : PxVehicleGearsData
  • eREVOLUTE : PxJointConcreteType
  • eRIGID_BODY : PxSimulationStatistics
  • eRIGID_DYNAMIC : PxActorTypeFlag , PxActorType , PxFilterObjectType , PxConcreteType
  • eRIGID_STATIC : PxConcreteType , PxActorType , PxActorTypeFlag , PxFilterObjectType
  • eS16_TM : PxHeightFieldFormat
  • eSAP : PxBroadPhaseType
  • eSCALE : PxVisualizationParameter
  • eSCENE_COLLISION : PxClothFlag
  • eSCENE_QUERY_SHAPE : PxShapeFlag
  • eSECOND : PxVehicleGearsData
  • eSEND_SLEEP_NOTIFIES : PxActorFlag
  • eSEVENTEENTH : PxVehicleGearsData
  • eSEVENTH : PxVehicleGearsData
  • eSHAPE : PxConcreteType
  • eSHEARING : PxClothFabricPhaseType
  • eSHIFT_VERTICES : PxConvexFlag
  • eSIM_PERFORMANCE : PxMeshCookingHint
  • eSIMPLE_STREAM : PxContactStreamIterator
  • eSIMULATION_SHAPE : PxShapeFlag
  • eSIXTEENTH : PxVehicleGearsData
  • eSIXTH : PxVehicleGearsData
  • eSLERP : PxD6Drive
  • eSLERP_SPRING : PxConstraintSolveHint
  • eSOLVE_CONTACT : PxPairFlag
  • eSPATIAL_DATA_STRUCTURE_OVERFLOW : PxParticleFlag
  • eSPECIAL : PxVehicleDriveTankControlModel
  • eSPHERE : PxGeometryType
  • eSPHERICAL : PxJointConcreteType
  • eSPRING : Px1DConstraintFlag
  • eSPRING_ENABLED : PxDistanceJointFlag
  • eSTANDARD : PxVehicleDriveTankControlModel
  • eSTATIC : PxQueryFlag
  • eSTATIC_AABB_TREE : PxPruningStructureType
  • eSUCCESS : PxTriangleMeshCookingResult , PxBatchQueryStatus , PxConvexMeshCookingResult
  • eSUPPRESS : PxPairFilteringMode , PxFilterFlag
  • eSURFACE_TYPE_UNKNOWN : PxVehicleDrivableSurfaceType
  • eSWEPT_CONTACT : PxClothFlag
  • eSWING : PxD6Drive
  • eSWING1 : PxD6Axis
  • eSWING2 : PxD6Axis
  • eTARGET : PxArticulationJointDriveType
  • eTEMPORAL_BV : PxControllerDebugRenderFlag
  • eTENTH : PxVehicleGearsData
  • eTHIRD : PxVehicleGearsData
  • eTHIRTEENTH : PxVehicleGearsData
  • eTHIRTIETH : PxVehicleGearsData
  • eTIGHT_BOUNDS : PxConvexMeshGeometryFlag
  • eTOUCH : PxQueryHitType
  • eTRANSMIT_CONSTRAINTS : PxPvdSceneFlag
  • eTRANSMIT_CONTACTS : PxPvdSceneFlag
  • eTRANSMIT_SCENEQUERIES : PxPvdSceneFlag
  • eTRIANGLE_MESH_BVH33 : PxConcreteType
  • eTRIANGLE_MESH_BVH34 : PxConcreteType
  • eTRIANGLEMESH : PxGeometryType
  • eTRIGGER : PxFilterObjectFlag
  • eTRIGGER_DEFAULT : PxPairFlag
  • eTRIGGER_PAIRS : PxSimulationStatistics
  • eTRIGGER_SHAPE : PxShapeFlag
  • eTWELFTH : PxVehicleGearsData
  • eTWENTIETH : PxVehicleGearsData
  • eTWENTYEIGHTH : PxVehicleGearsData
  • eTWENTYFIFTH : PxVehicleGearsData
  • eTWENTYFIRST : PxVehicleGearsData
  • eTWENTYFOURTH : PxVehicleGearsData
  • eTWENTYNINTH : PxVehicleGearsData
  • eTWENTYSECOND : PxVehicleGearsData
  • eTWENTYSEVENTH : PxVehicleGearsData
  • eTWENTYSIXTH : PxVehicleGearsData
  • eTWENTYTHIRD : PxVehicleGearsData
  • eTWIST : PxD6Axis , PxD6Drive
  • eTWO_DIRECTIONAL : PxFrictionType
  • eTYPEDEF : PxMetaDataFlag
  • eUNDEFINED : PxConcreteType , PxFilterObjectType
  • eUNION : PxMetaDataFlag
  • eUSE_KINEMATIC_TARGET_FOR_SCENE_QUERIES : PxRigidBodyFlag
  • eUSER1 : PxVehicleTypes
  • eUSER2 : PxVehicleTypes
  • eUSER3 : PxVehicleTypes
  • eUSER_RELEASE : PxDeletionEventFlag
  • eUV : PxHitFlag
  • eVALID : PxParticleFlag
  • eVEHICLE_STICKY_TYRE : PxConstraintExtIDs
  • eVEHICLE_SUSP_LIMIT : PxConstraintExtIDs
  • eVehicleDrive4W : PxVehicleConcreteType
  • eVehicleDriveNW : PxVehicleConcreteType
  • eVehicleDriveTank : PxVehicleConcreteType
  • eVehicleNoDrive : PxVehicleConcreteType
  • eVELOCITY_BUFFER : PxParticleReadDataFlag
  • eVELOCITY_CHANGE : PxVehicleUpdateMode , PxForceMode
  • eVERBOSE : PxConverterReportMode
  • eVERTICAL : PxClothFabricPhaseType
  • eVIRTUAL : PxMetaDataFlag
  • eVISUALIZATION : PxConstraintFlag , PxShapeFlag , PxActorFlag
  • eVOLUME_COUNT : PxSimulationStatistics
  • eWELD_VERTICES : PxMeshPreprocessingFlag
  • eWORLD_AXES : PxVisualizationParameter
  • eWRITABLE : PxDataAccessFlag
  • eX : PxD6Axis , PxD6Drive
  • eY : PxD6Drive , PxD6Axis
  • eZ : PxD6Axis , PxD6Drive
  • eZERO_AREA_TEST_FAILED : PxConvexMeshCookingResult


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Enumerator

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • c
  • d
  • e
  • f
  • h
  • k
  • n
  • o
  • p
  • r
  • s
  • t
  • u

- f -

  • FILL_OK : PxVolumeCache
  • FILL_OUT_OF_MEMORY : PxVolumeCache
  • FILL_OVER_MAX_COUNT : PxVolumeCache
  • FILL_UNSUPPORTED_GEOMETRY_TYPE : PxVolumeCache


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Enumerator

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • c
  • d
  • e
  • f
  • h
  • k
  • n
  • o
  • p
  • r
  • s
  • t
  • u

- h -

  • HostToDevice : physx::PxGpuTaskHint


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Enumerator

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • c
  • d
  • e
  • f
  • h
  • k
  • n
  • o
  • p
  • r
  • s
  • t
  • u

- p -

  • PX_DEPRECATED : PxActorType , PxFilterObjectType , PxSceneFlag , PxSimulationStatistics , PxActorTypeFlag , PxClothFlag , PxConvexMeshCookingType
  • PX_FILTEROP_AND : PxFilterOp
  • PX_FILTEROP_NAND : PxFilterOp
  • PX_FILTEROP_NOR : PxFilterOp
  • PX_FILTEROP_NXOR : PxFilterOp
  • PX_FILTEROP_OR : PxFilterOp
  • PX_FILTEROP_SWAP_AND : PxFilterOp
  • PX_FILTEROP_XOR : PxFilterOp


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Enumerator

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • c
  • d
  • e
  • f
  • h
  • k
  • n
  • o
  • p
  • r
  • s
  • t
  • u

- r -

  • RELEASE_INSTANCE : PxPvdUpdateType


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Enumerator

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • c
  • d
  • e
  • f
  • h
  • k
  • n
  • o
  • p
  • r
  • s
  • t
  • u

- s -

  • SEEKABLE_NO : PxFileBuf
  • SEEKABLE_READ : PxFileBuf
  • SEEKABLE_READWRITE : PxFileBuf
  • SEEKABLE_WRITE : PxFileBuf


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Enumerator

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • c
  • d
  • e
  • f
  • h
  • k
  • n
  • o
  • p
  • r
  • s
  • t
  • u

- t -

  • TT_COMPLETED : physx::PxTaskType
  • TT_CPU : physx::PxTaskType
  • TT_GPU : physx::PxTaskType
  • TT_NOT_PRESENT : physx::PxTaskType


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Enumerator

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • c
  • d
  • e
  • f
  • h
  • k
  • n
  • o
  • p
  • r
  • s
  • t
  • u

- u -

  • UPDATE_ALL_PROPERTIES : PxPvdUpdateType
  • UPDATE_SIM_PROPERTIES : PxPvdUpdateType


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Functions

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z
  • ~

- a -

  • abs() : PxVec3
  • acquireReference() : PxMaterial , PxClothFabric , PxConvexMesh , PxShape , PxHeightField , PxTriangleMesh
  • add() : PxCollection
  • addActor() : PxAggregate , PxScene
  • addActors() : PxScene
  • addAggregate() : PxScene
  • addAntiRollBarData() : PxVehicleWheelsSimData
  • addArticulation() : PxAggregate , PxScene
  • addBroadPhaseRegion() : PxScene
  • addCollection() : PxScene
  • addCollisionCapsule() : PxCloth
  • addCollisionConvex() : PxCloth
  • addCollisionPlane() : PxCloth
  • addCollisionSphere() : PxCloth
  • addCollisionTriangle() : PxCloth
  • addCompletionPrereq() : physx::PxGpuDispatcher
  • addForce() : PxRigidBody
  • addForceAtLocalPos() : PxRigidBodyExt
  • addForceAtPos() : PxRigidBodyExt
  • addForces() : PxParticleBase
  • addId() : PxCollection
  • addLocalForceAtLocalPos() : PxRigidBodyExt
  • addLocalForceAtPos() : PxRigidBodyExt
  • addObstacle() : PxObstacleContext
  • addPair() : PxFixedSizeLookupTable< NB_ELEMENTS >
  • addPostLaunchDependent() : physx::PxGpuDispatcher
  • addPreLaunchDependent() : physx::PxGpuDispatcher
  • addReference()
: physx::PxBaseTask
, physx::PxTask
, physx::PxLightCpuTask
  • addTorque() : PxRigidBody
  • advance() : PxScene
  • advanceToIndex() : PxContactStreamIterator
  • alignData() : PxSerializationContext
  • alignExtraData() : PxDeserializationContext
  • allocate() : PxAllocatorCallback , PxDefaultAllocator , PxVehicleDriveNW , PxVehicleDrivableSurfaceToTireFrictionPairs , PxVehicleDriveTank , PxVehicleWheelsSimData , PxVehicleDrive4W , PxVehicleNoDrive
  • allocateIndices() : PxParticleExt::PxParticleExt::IndexPool
  • allocateStr() : PxStringTable
  • any() : PxGeometryHolder
  • append() : PxRenderBuffer
  • applyImpulse() : PxArticulation
  • area() : PxTriangle
  • at() : PxStridedData
  • attachShape() : PxRigidActor


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Functions

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z
  • ~

- l -

  • launchCopyKernel() : physx::PxGpuDispatcher
  • launchInstance() : physx::PxGpuTask
  • linearSweepMultiple() : PxRigidBodyExt
  • linearSweepSingle() : PxRigidBodyExt
  • lock() : PxPvdTransport
  • lockParticleData() : PxCloth
  • lockParticleFluidReadData() : PxParticleFluid
  • lockParticleReadData() : PxParticleBase
  • lockRead() : PxScene
  • lockWrite() : PxScene


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Functions

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z
  • ~

- m -

  • magnitude() : PxExtendedVec3 , PxQuat , PxVec3 , PxVec4 , PxVec2
  • magnitudeSquared() : PxVec2 , PxVec3 , PxVec4 , PxExtendedVec3 , PxQuat
  • markDirty() : PxConstraint
  • maxElement() : PxVec2 , PxVec3
  • maximum() : PxVec3 , PxVec4 , PxExtendedVec3 , PxVec2
  • minElement() : PxVec3 , PxVec2
  • minimum() : PxExtendedVec3 , PxVec4 , PxVec3 , PxVec2
  • modifySamples() : PxHeightField
  • move() : PxController
  • multiply() : PxVec4 , PxVec3 , PxVec2


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Functions

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z
  • ~

- n -

  • nextContact() : PxContactStreamIterator
  • nextItemSet() : PxContactPairExtraDataIterator
  • nextPatch() : PxContactStreamIterator
  • normal() : PxTriangle
  • normalize() : PxVec3 , PxVec4 , PxQuat , PxVec2 , PxExtendedVec3 , PxPlane
  • normalizeFast() : PxVec3
  • normalizeSafe() : PxVec3


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Functions

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z
  • ~

- o -

  • objectToFile() : PxRepXSerializer
  • onAdvance() : PxSimulationEventCallback
  • onCCDContactModify() : PxCCDContactModifyCallback
  • onComShift() : PxConstraintConnector
  • onConstraintBreak() : PxSimulationEventCallback
  • onConstraintRelease() : PxConstraintConnector
  • onContact() : PxSimulationEventCallback
  • onContactModify() : PxContactModifyCallback
  • onControllerHit() : PxUserControllerHitReport
  • onHit() : PxSpatialOverlapCallback , PxSpatialLocationCallback
  • onObjectOutOfBounds() : PxBroadPhaseCallback
  • onObstacleHit() : PxUserControllerHitReport
  • onOriginShift() : PxConstraintConnector
  • onRelease() : PxDeletionListener
  • onShapeHit() : PxUserControllerHitReport
  • onSleep() : PxSimulationEventCallback
  • onTrigger() : PxSimulationEventCallback
  • onWake() : PxSimulationEventCallback
  • operator bool() : PxFlags< enumtype, storagetype >
  • operator storageType() : PxBitAndDataT< storageType, bitMask >
  • operator uint16_t() : PxFlags< enumtype, storagetype >
  • operator uint32_t() : PxFlags< enumtype, storagetype >
  • operator uint8_t() : PxFlags< enumtype, storagetype >
  • operator!=() : PxVec4 , PxFilterData , PxFlags< enumtype, storagetype > , PxStrideIterator< T > , PxVec2 , PxVec3
  • operator&() : PxFlags< enumtype, storagetype >
  • operator&=() : PxFlags< enumtype, storagetype >
  • operator()() : PxAssertHandler , PxMat33 , PxMat44
  • operator*() : PxMassProperties , PxMat33 , PxMat44 , PxQuat , PxStrideIterator< T > , PxTransform , PxVec2 , PxVec3 , PxVec4
  • operator*=() : PxVec3 , PxVec4 , PxExtendedVec3 , PxMat33 , PxMat44 , PxQuat , PxTransform , PxVec2
  • operator+() : PxExtendedVec3 , PxMat33 , PxMat44 , PxQuat , PxStrideIterator< T > , PxVec2 , PxVec3 , PxVec4
  • operator++() : PxStrideIterator< T >
  • operator+=() : PxExtendedVec3 , PxMat33 , PxMat44 , PxQuat , PxStrideIterator< T > , PxVec2 , PxVec3 , PxVec4
  • operator-() : PxExtendedVec3 , PxMat33 , PxMat44 , PxQuat , PxStrideIterator< T > , PxVec2 , PxVec3 , PxVec4
  • operator--() : PxStrideIterator< T >
  • operator-=() : PxVec4 , PxQuat , PxExtendedVec3 , PxMat33 , PxMat44 , PxStrideIterator< T > , PxVec2 , PxVec3
  • operator->() : PxStrideIterator< T >
  • operator/() : PxVec2 , PxVec3 , PxVec4
  • operator/=() : PxVec2 , PxVec3 , PxVec4
  • operator<() : PxStrideIterator< T >
  • operator<=() : PxStrideIterator< T >
  • operator=() : PxMidphaseDesc , PxDefaultMemoryOutputStream , PxRepXInstantiationArgs , PxControllerDesc , PxBoxControllerDesc , PxSceneReadLock , PxVehicleWheelsSimData , PxFlags< enumtype, storagetype > , PxTriangle , PxMat44 , PxVec4 , PxMat33 , PxSceneWriteLock , PxVec3 , PxFlags< enumtype, storagetype > , PxQuat , PxVec2 , PxFixedSizeLookupTable< NB_ELEMENTS > , PxFilterData , PxCapsuleControllerDesc
  • operator==() : PxTransform , PxQuat , PxVec3 , PxStrideIterator< T > , PxVec2 , PxMat44 , PxFilterData , PxPlane , PxFlags< enumtype, storagetype > , PxMat33 , PxFlags< enumtype, storagetype > , PxVec4
  • operator>() : PxStrideIterator< T >
  • operator>=() : PxStrideIterator< T >
  • operator[]() : PxMat33 , PxVec2 , PxMat33 , PxVec3 , PxMat44 , PxVec4 , PxVec2 , PxVec4 , PxMat44 , PxExtendedVec3 , PxStrideIterator< T > , PxExtendedVec3
  • operator^() : PxFlags< enumtype, storagetype >
  • operator^=() : PxFlags< enumtype, storagetype >
  • operator|() : PxFlags< enumtype, storagetype >
  • operator|=() : PxFlags< enumtype, storagetype >
  • operator~() : PxFlags< enumtype, storagetype >
  • overlap() : PxShapeExt , PxSpatialIndex , PxBatchQuery , PxScene , PxVolumeCache , PxGeometryQuery
  • overlapAny() : PxSceneQueryExt
  • overlapMultiple() : PxSceneQueryExt


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Functions

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z
  • ~

- z -

  • zoneEnd() : physx::PxProfilerCallback
  • zoneStart() : physx::PxProfilerCallback


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Functions

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z
  • ~

- ~ -

  • ~IndexPool() : PxParticleExt::PxParticleExt::IndexPool
  • ~Iterator() : PxVolumeCache::PxVolumeCache::Iterator
  • ~PxActor() : PxActor
  • ~PxAggregate() : PxAggregate
  • ~PxAllocatorCallback() : PxAllocatorCallback
  • ~PxArticulation() : PxArticulation
  • ~PxArticulationJoint() : PxArticulationJoint
  • ~PxArticulationLink() : PxArticulationLink
  • ~PxAssertHandler() : PxAssertHandler
  • ~PxBase() : PxBase
  • ~PxBaseTask() : physx::PxBaseTask
  • ~PxBatchQuery() : PxBatchQuery
  • ~PxBinaryConverter() : PxBinaryConverter
  • ~PxBoxController() : PxBoxController
  • ~PxBoxControllerDesc() : PxBoxControllerDesc
  • ~PxBroadPhaseCallback() : PxBroadPhaseCallback
  • ~PxBVH33TriangleMesh() : PxBVH33TriangleMesh
  • ~PxBVH34TriangleMesh() : PxBVH34TriangleMesh
  • ~PxCapsuleController() : PxCapsuleController
  • ~PxCapsuleControllerDesc() : PxCapsuleControllerDesc
  • ~PxCCDContactModifyCallback() : PxCCDContactModifyCallback
  • ~PxCloth() : PxCloth
  • ~PxClothFabric() : PxClothFabric
  • ~PxClothFabricCooker() : PxClothFabricCooker
  • ~PxClothGeodesicTetherCooker() : PxClothGeodesicTetherCooker
  • ~PxClothMeshQuadifier() : PxClothMeshQuadifier
  • ~PxClothSimpleTetherCooker() : PxClothSimpleTetherCooker
  • ~PxCollection() : PxCollection
  • ~PxConstraint() : PxConstraint
  • ~PxConstraintConnector() : PxConstraintConnector
  • ~PxConstraintVisualizer() : PxConstraintVisualizer
  • ~PxContactModifyCallback() : PxContactModifyCallback
  • ~PxContactRecorder() : PxContactRecorder
  • ~PxController() : PxController
  • ~PxControllerBehaviorCallback() : PxControllerBehaviorCallback
  • ~PxControllerDesc() : PxControllerDesc
  • ~PxControllerFilterCallback() : PxControllerFilterCallback
  • ~PxControllerManager() : PxControllerManager
  • ~PxConvexMesh() : PxConvexMesh
  • ~PxCooking() : PxCooking
  • ~PxCpuDispatcher() : physx::PxCpuDispatcher
  • ~PxDefaultErrorCallback() : PxDefaultErrorCallback
  • ~PxDefaultFileInputData() : PxDefaultFileInputData
  • ~PxDefaultFileOutputStream() : PxDefaultFileOutputStream
  • ~PxDefaultMemoryOutputStream() : PxDefaultMemoryOutputStream
  • ~PxDeletionListener() : PxDeletionListener
  • ~PxDeserializationContext() : PxDeserializationContext
  • ~PxErrorCallback() : PxErrorCallback
  • ~PxFileBuf() : PxFileBuf
  • ~PxFixedSizeLookupTable() : PxFixedSizeLookupTable< NB_ELEMENTS >
  • ~PxFoundation() : PxFoundation
  • ~PxGpuDispatcher() : physx::PxGpuDispatcher
  • ~PxGroupsMask() : PxGroupsMask
  • ~PxHeightField() : PxHeightField
  • ~PxHitBuffer() : PxHitBuffer< HitType >
  • ~PxHitCallback() : PxHitCallback< HitType >
  • ~PxInputData() : PxInputData
  • ~PxInputStream() : PxInputStream
  • ~PxJoint() : PxJoint
  • ~PxJointLimitParameters() : PxJointLimitParameters
  • ~PxLightCpuTask() : physx::PxLightCpuTask
  • ~PxLockedData() : PxLockedData
  • ~PxMaterial() : PxMaterial
  • ~PxMeshOverlapUtil() : PxMeshOverlapUtil
  • ~PxObstacleContext() : PxObstacleContext
  • ~PxOutputStream() : PxOutputStream
  • ~PxParticleBase() : PxParticleBase
  • ~PxParticleFluid() : PxParticleFluid
  • ~PxParticleFluidReadData() : PxParticleFluidReadData
  • ~PxParticleReadData() : PxParticleReadData
  • ~PxParticleSystem() : PxParticleSystem
  • ~PxPhysics() : PxPhysics
  • ~PxPhysicsInsertionCallback() : PxPhysicsInsertionCallback
  • ~PxProcessPxBaseCallback() : PxProcessPxBaseCallback
  • ~PxProfilerCallback() : physx::PxProfilerCallback
  • ~PxProfileScoped() : physx::PxProfileScoped
  • ~PxPruningStructure() : PxPruningStructure
  • ~PxPvd() : PxPvd
  • ~PxPvdSceneClient() : PxPvdSceneClient
  • ~PxPvdTransport() : PxPvdTransport
  • ~PxQueryFilterCallback() : PxQueryFilterCallback
  • ~PxRenderBuffer() : PxRenderBuffer
  • ~PxRepXSerializer() : PxRepXSerializer
  • ~PxRigidActor() : PxRigidActor
  • ~PxRigidBody() : PxRigidBody
  • ~PxRigidDynamic() : PxRigidDynamic
  • ~PxRigidStatic() : PxRigidStatic
  • ~PxScene() : PxScene
  • ~PxSceneReadLock() : PxSceneReadLock
  • ~PxSceneWriteLock() : PxSceneWriteLock
  • ~PxSerializationContext() : PxSerializationContext
  • ~PxSerializationRegistry() : PxSerializationRegistry
  • ~PxSerializer() : PxSerializer
  • ~PxShape() : PxShape
  • ~PxSimulationEventCallback() : PxSimulationEventCallback
  • ~PxSimulationFilterCallback() : PxSimulationFilterCallback
  • ~PxSpatialIndex() : PxSpatialIndex
  • ~PxSpatialLocationCallback() : PxSpatialLocationCallback
  • ~PxSpatialOverlapCallback() : PxSpatialOverlapCallback
  • ~PxStringTable() : PxStringTable
  • ~PxTask() : physx::PxTask
  • ~PxTaskManager() : physx::PxTaskManager
  • ~PxTriangle() : PxTriangle
  • ~PxTriangleMesh() : PxTriangleMesh
  • ~PxUserControllerHitReport() : PxUserControllerHitReport
  • ~PxVehicleDrivableSurfaceToTireFrictionPairs() : PxVehicleDrivableSurfaceToTireFrictionPairs
  • ~PxVehicleDrive() : PxVehicleDrive
  • ~PxVehicleDrive4W() : PxVehicleDrive4W
  • ~PxVehicleDrive4WRawInputData() : PxVehicleDrive4WRawInputData
  • ~PxVehicleDriveNW() : PxVehicleDriveNW
  • ~PxVehicleDriveNWRawInputData() : PxVehicleDriveNWRawInputData
  • ~PxVehicleDriveTank() : PxVehicleDriveTank
  • ~PxVehicleDriveTankRawInputData() : PxVehicleDriveTankRawInputData
  • ~PxVehicleNoDrive() : PxVehicleNoDrive
  • ~PxVehicleWheels() : PxVehicleWheels
  • ~PxVehicleWheelsDynData() : PxVehicleWheelsDynData
  • ~PxVehicleWheelsSimData() : PxVehicleWheelsSimData
  • ~PxVolumeCache() : PxVolumeCache
  • ~RaycastCCDManager() : RaycastCCDManager


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Functions

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z
  • ~

- b -

  • basisExtent() : PxBounds3
  • boundsOfPoints() : PxBounds3
  • box() : PxGeometryHolder
  • bufferContacts() : PxContactPair
  • buildBoundsHash() : PxParticleExt
  • buildObjectFromData() : PxPhysicsInsertionCallback
  • byteAdd() : PxStrideIterator< T >
  • byteSub() : PxStrideIterator< T >


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Functions

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z
  • ~

- c -

  • capsule() : PxGeometryHolder
  • centerExtents() : PxBounds3
  • checkQueries() : PxScene
  • checkResults() : PxScene
  • clear() : PxFlags< enumtype, storagetype > , PxFixedSizeLookupTable< NB_ELEMENTS > , PxRenderBuffer
  • clearBit() : PxBitAndDataT< storageType, bitMask >
  • clearDataPtrs() : PxContactPairExtraDataIterator
  • clearForce() : PxRigidBody
  • clearInterpolation() : PxCloth
  • clearTessFlag() : PxHeightFieldSample
  • clearTorque() : PxRigidBody
  • close() : PxFileBuf
  • collide() : PxScene
  • compareMetaData() : PxBinaryConverter
  • complete() : PxSerialization
  • computeByteSize() : PxVehicleDrive , PxVehicleWheelsSimData , PxVehicleWheelsDynData , PxVehicleWheels
  • computeForwardSpeed() : PxVehicleWheels
  • computeHullPolygons() : PxCooking
  • computeImpulseResponse() : PxArticulation
  • computeInteractions() : PxControllerManager
  • computeLinearAngularImpulse() : PxRigidBodyExt
  • computeMassPropertiesFromShapes() : PxRigidBodyExt
  • computePenetration() : PxGeometryQuery
  • computeSidewaysSpeed() : PxVehicleWheels
  • computeVelocityDeltaFromImpulse() : PxRigidBodyExt
  • connect() : PxPvd , PxPvdTransport
  • contains() : PxCollection , PxBounds3 , PxPlane
  • convert() : PxBinaryConverter
  • convexMesh() : PxGeometryHolder
  • cookConvexMesh() : PxCooking
  • cookHeightField() : PxCooking
  • cookTriangleMesh() : PxCooking
  • copy() : PxBoxControllerDesc , PxCapsuleControllerDesc , PxControllerDesc , PxVehicleWheelsSimData , PxVehicleWheelsDynData
  • create() : PxVehicleDrive4W , PxVehicleDriveNW , PxVehicleDriveTank , PxVehicleNoDrive
  • createAggregate() : PxPhysics
  • createArticulation() : PxPhysics
  • createBatchQuery() : PxScene
  • createBinaryConverter() : PxSerialization
  • createClient() : PxScene
  • createCloth() : PxPhysics
  • createClothFabric() : PxPhysics
  • createCollection() : PxCollectionExt
  • createCollectionFromBinary() : PxSerialization
  • createCollectionFromXml() : PxSerialization
  • createConstraint() : PxPhysics
  • createController() : PxControllerManager
  • createConvexMesh() : PxPhysics , PxCooking
  • createDiagonal() : PxMat33
  • createDriveCache() : PxArticulation
  • createExclusiveShape() : PxRigidActorExt
  • createHeightField() : PxPhysics , PxCooking
  • createIndexPool() : PxParticleExt
  • createLink() : PxArticulation
  • createMaterial() : PxPhysics
  • createObject() : PxVehicleDriveNW , PxSerializerDefaultAdapter< T > , PxVehicleDrive4W , PxVehicleNoDrive , PxVehicleDriveTank , PxSerializer
  • createObstacleContext() : PxControllerManager
  • createParticleFluid() : PxPhysics
  • createParticles() : PxParticleBase
  • createParticleSystem() : PxPhysics
  • createPruningStructure() : PxPhysics
  • createRegionsFromWorldBounds() : PxBroadPhaseExt
  • createRigidDynamic() : PxPhysics
  • createRigidStatic() : PxPhysics
  • createScene() : PxPhysics
  • createSerializationRegistry() : PxSerialization
  • createSerialObjectIds() : PxSerialization
  • createShape() : PxPhysics , PxRigidActor , PxPhysics
  • createStringTable() : PxStringTableExt
  • createTaskManager() : physx::PxTaskManager
  • createTriangleMesh() : PxPhysics , PxCooking
  • createVolumeCache() : PxScene
  • cross() : PxExtendedVec3 , PxVec3


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Functions

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z
  • ~

- d -

  • deallocate() : PxDefaultAllocator , PxAllocatorCallback
  • denormalizedNormal() : PxTriangle
  • detachShape() : PxRigidActor
  • disableWheel() : PxVehicleWheelsSimData
  • disconnect() : PxPvd , PxPvdTransport
  • distance() : PxPlane
  • distanceSquared() : PxExtendedVec3
  • doRaycastCCD() : RaycastCCDManager
  • dot() : PxVec2 , PxExtendedVec3 , PxVec4 , PxQuat , PxVec3
  • drawLines() : PxPvdSceneClient
  • drawPoints() : PxPvdSceneClient
  • drawText() : PxPvdSceneClient
  • drawTriangles() : PxPvdSceneClient
  • dumpBinaryMetaData() : PxSerialization


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Functions

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z
  • ~

- e -

  • empty() : PxBounds3
  • enableWheel() : PxVehicleWheelsSimData
  • execute() : PxBatchQuery
  • exportData() : PxSerializer , PxSerializerDefaultAdapter< T >
  • exportExtraData() : PxSerializer , PxSerializerDefaultAdapter< T > , PxVehicleNoDrive , PxVehicleWheels
  • extractContacts() : PxContactPair


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Functions

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z
  • ~

- f -

  • failureDetected() : physx::PxGpuDispatcher
  • fattenFast() : PxBounds3
  • fattenSafe() : PxBounds3
  • fetchCollision() : PxScene
  • fetchQueries() : PxScene
  • fetchResults() : PxScene
  • fetchResultsFinish() : PxScene
  • fetchResultsStart() : PxScene
  • fileToObject() : PxRepXSerializer
  • fill() : PxVolumeCache
  • filter() : PxControllerFilterCallback
  • finalizeQuery() : PxHitCallback< HitType > , PxVolumeCache::PxVolumeCache::Iterator
  • find() : PxCollection
  • findOverlap() : PxMeshOverlapUtil
  • findOverlapHeightField() : PxMeshQuery
  • findOverlapTriangleMesh() : PxMeshQuery
  • finishBefore() : physx::PxTask
  • finishGroup() : physx::PxGpuDispatcher
  • flush() : PxFileBuf , PxSpatialIndex , PxPvdTransport
  • flushQueryUpdates() : PxScene
  • flushSimulation() : PxScene
  • forceDynamicTreeRebuild() : PxScene
  • forceFailureMode() : physx::PxGpuDispatcher
  • forceGearChange() : PxVehicleDriveDynData
  • forEach() : PxVolumeCache
  • free() : PxVehicleDriveNW , PxVehicleDrive , PxVehicleDrive4W , PxVehicleWheels , PxVehicleDriveTank , PxVehicleNoDrive , PxVehicleWheelsSimData
  • freeIndices() : PxParticleExt::PxParticleExt::IndexPool
  • front() : PxMat33 , PxMat44


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Functions

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z
  • ~

- g -

  • get() : PxGeometryHolder
  • getAckermannGeometryData() : PxVehicleDriveSimData4W
  • getActiveActors() : PxScene
  • getActiveTransforms() : PxScene
  • getActor() : PxShape , PxController
  • getActorFlags() : PxActor
  • getActors() : PxAggregate , PxConstraint , PxScene , PxJoint
  • getAggregate() : PxActor , PxArticulation
  • getAggregates() : PxScene
  • getAllocatorCallback() : PxFoundation
  • getAnalogAccel() : PxVehicleDrive4WRawInputData , PxVehicleDriveTankRawInputData
  • getAnalogBrake() : PxVehicleDrive4WRawInputData
  • getAnalogHandbrake() : PxVehicleDrive4WRawInputData
  • getAnalogInput() : PxVehicleDriveDynData
  • getAnalogLeftBrake() : PxVehicleDriveTankRawInputData
  • getAnalogLeftThrust() : PxVehicleDriveTankRawInputData
  • getAnalogRightBrake() : PxVehicleDriveTankRawInputData
  • getAnalogRightThrust() : PxVehicleDriveTankRawInputData
  • getAnalogSteer() : PxVehicleDrive4WRawInputData
  • getAngle() : PxRevoluteJoint , PxQuat
  • getAngularDamping() : PxRigidDynamic
  • getAngularDragCoefficient() : PxCloth
  • getAngularInertiaScale() : PxCloth
  • getAngularVelocity() : PxRigidBody
  • getAntiRollBarData() : PxVehicleWheelsSimData
  • getAnyHit() : PxBatchQueryResult< HitType > , PxHitBuffer< HitType >
  • getArticulation() : PxArticulationLink
  • getArticulations() : PxScene
  • getAutoBoxData() : PxVehicleDriveSimData
  • getAutoBoxSwitchTime() : PxVehicleDriveDynData
  • getBaseFlags() : PxBase
  • getBasis() : PxMat44
  • getBasisVector0() : PxQuat
  • getBasisVector1() : PxQuat
  • getBasisVector2() : PxQuat
  • getBehaviorFlags() : PxControllerBehaviorCallback
  • getBinaryMetaData() : PxJoint , PxVehicleDriveSimData , PxVehicleDrive , PxVehicleDriveSimData4W , PxVehicleDrive4W , PxVehicleDriveSimDataNW , PxVehicleDriveNW , PxVehicleDriveTank , PxVehicleNoDrive , PxVehicleWheelsSimData , PxVehicleWheelsDynData , PxVehicleWheels
  • getBounceThresholdVelocity() : PxScene
  • getBoxGeometry() : PxShape
  • getBrakeTorque() : PxVehicleNoDrive
  • getBreakForce() : PxConstraint , PxJoint
  • getBroadPhaseCallback() : PxScene
  • getBroadPhaseCaps() : PxScene
  • getBroadPhaseRegions() : PxScene
  • getBroadPhaseType() : PxScene
  • getCacheVolume() : PxVolumeCache
  • getCapsuleGeometry() : PxShape
  • getCCDContactModifyCallback() : PxScene
  • getCCDMaxPasses() : PxScene
  • getCenter() : PxBounds3
  • getCentrifugalInertiaScale() : PxCloth
  • getChildPose() : PxArticulationJoint
  • getChildren() : PxArticulationLink
  • getClassSize() : PxSerializer , PxSerializerDefaultAdapter< T >
  • getClientBehaviorFlags() : PxActor , PxScene
  • getClientInternal() : PxPvdSceneClient
  • getClimbingMode() : PxCapsuleController
  • getClothFabrics() : PxPhysics
  • getClothFlags() : PxCloth
  • getClothInterCollisionDistance() : PxScene
  • getClothInterCollisionNbIterations() : PxScene
  • getClothInterCollisionStiffness() : PxScene
  • getClutchData() : PxVehicleDriveSimData
  • getCMassLocalPose() : PxRigidBody
  • getCollection() : PxSerializationContext
  • getCollisionData() : PxCloth
  • getCollisionMassScale() : PxCloth
  • getConcreteType() : PxBase
  • getConcreteTypeName() : PxAggregate , PxArticulation , PxArticulationJoint , PxArticulationLink , PxConstraint , PxMaterial , PxPruningStructure , PxRigidDynamic , PxRigidStatic , PxShape , PxCloth , PxClothFabric , PxBase , PxSerializer , PxSerializerDefaultAdapter< T > , PxD6Joint , PxDistanceJoint , PxFixedJoint , PxPrismaticJoint , PxRevoluteJoint , PxSphericalJoint , PxConvexMesh , PxHeightField , PxParticleFluid , PxParticleSystem , PxVehicleDrive , PxVehicleDrive4W , PxVehicleDriveNW , PxVehicleDriveTank , PxVehicleNoDrive , PxVehicleWheels
  • getConjugate() : PxQuat
  • getConstantBlock() : PxConstraintConnector
  • getConstraint() : PxJoint
  • getConstraintFlags() : PxJoint
  • getConstraints() : PxRigidActor , PxScene
  • getContactModifyCallback() : PxScene
  • getContactNormal() : PxContactStreamIterator
  • getContactOffset() : PxShape , PxController , PxCloth , PxParticleBase
  • getContactPatch() : PxContactStreamIterator
  • getContactPoint() : PxContactStreamIterator
  • getContactReportStreamBufferSize() : PxScene
  • getContactReportThreshold() : PxRigidDynamic
  • getContextId() : physx::PxBaseTask
  • getContinuation() : physx::PxLightCpuTask
  • getController() : PxControllerManager
  • getControllerManager() : PxObstacleContext
  • getConvexEdgeThreshold() : PxHeightField
  • getConvexMeshes() : PxPhysics
  • getConvexMeshGeometry() : PxShape
  • getCookerStatus() : PxClothGeodesicTetherCooker
  • getCpuDispatcher() : PxScene , physx::PxTaskManager
  • getCudaContextManager() : physx::PxGpuDispatcher
  • getCurrentGear() : PxVehicleDriveDynData
  • getDamping() : PxArticulationJoint , PxDistanceJoint , PxParticleBase
  • getDampingCoefficient() : PxCloth
  • getData() : PxDefaultMemoryOutputStream
  • getDataAccessFlags() : PxLockedData , PxParticleReadData
  • getDenominator() : PxVehicleTireLoadFilterData
  • getDescriptor() : PxClothFabricCooker , PxClothMeshQuadifier
  • getDeterminant() : PxMat33
  • getDiffData() : PxVehicleDriveSimData4W , PxVehicleDriveSimDataNW
  • getDigitalAccel() : PxVehicleDrive4WRawInputData , PxVehicleDriveTankRawInputData
  • getDigitalBrake() : PxVehicleDrive4WRawInputData
  • getDigitalHandbrake() : PxVehicleDrive4WRawInputData
  • getDigitalLeftBrake() : PxVehicleDriveTankRawInputData
  • getDigitalLeftThrust() : PxVehicleDriveTankRawInputData
  • getDigitalRightBrake() : PxVehicleDriveTankRawInputData
  • getDigitalRightThrust() : PxVehicleDriveTankRawInputData
  • getDigitalSteerLeft() : PxVehicleDrive4WRawInputData
  • getDigitalSteerRight() : PxVehicleDrive4WRawInputData
  • getDimensions() : PxBounds3
  • getDistance() : PxDistanceJoint
  • getDistanceJointFlags() : PxDistanceJoint
  • getDominanceGroup() : PxActor
  • getDominanceGroupPair() : PxScene
  • getDownRatios() : PxVehicleAutoBoxData
  • getDrive() : PxD6Joint
  • getDriveForceLimit() : PxRevoluteJoint
  • getDriveGearRatio() : PxRevoluteJoint
  • getDriveModel() : PxVehicleDriveTank , PxVehicleDriveTankRawInputData
  • getDrivenWheelStatus() : PxVehicleDifferentialNWData
  • getDrivePosition() : PxD6Joint
  • getDriveTorque() : PxVehicleNoDrive
  • getDriveType() : PxArticulationJoint
  • getDriveVelocity() : PxD6Joint , PxRevoluteJoint
  • getDynamicFriction() : PxContactStreamIterator , PxContactSet , PxMaterial , PxParticleBase
  • getDynamicStructure() : PxScene
  • getDynamicTreeRebuildRateHint() : PxScene
  • getEndianMode() : PxFileBuf
  • getEngineData() : PxVehicleDriveSimData
  • getEngineRotationSpeed() : PxVehicleDriveDynData
  • getErrorCallback() : PxFoundation
  • getErrorLevel() : PxFoundation
  • getExtendedContact() : PxContactStreamIterator
  • getExtents() : PxBounds3
  • getExternalAcceleration() : PxCloth , PxParticleBase
  • getExternalCompliance() : PxArticulationJoint
  • getExternalDriveIterations() : PxArticulation
  • getExternalReference() : PxConstraint , PxConstraintConnector
  • getFabric() : PxCloth
  • getFaceIndex0() : PxContactStreamIterator
  • getFaceIndex1() : PxContactStreamIterator
  • getFileLength() : PxFileBuf
  • getFilterCallback() : PxScene
  • getFilterShader() : PxScene
  • getFilterShaderData() : PxBatchQuery , PxScene
  • getFilterShaderDataSize() : PxBatchQuery , PxScene
  • getFlags() : PxConstraint , PxMaterial , PxScene , PxShape , PxHeightField
  • getFootPosition() : PxController
  • getForce() : PxConstraint
  • getFormat() : PxHeightField
  • getFoundation() : PxPhysics
  • getFrictionCoefficient() : PxCloth
  • getFrictionCombineMode() : PxMaterial
  • getFrictionOffsetThreshold() : PxScene
  • getFrictionType() : PxScene
  • getFrictionVsSlipGraphRecipx1Minusx0() : PxVehicleTireData
  • getFrictionVsSlipGraphRecipx2Minusx1() : PxVehicleTireData
  • getGearChange() : PxVehicleDriveDynData
  • getGearDown() : PxVehicleDriveDynData , PxVehicleDrive4WRawInputData , PxVehicleDriveTankRawInputData
  • getGearRatio() : PxVehicleGearsData
  • getGearsData() : PxVehicleDriveSimData
  • getGearSwitchTime() : PxVehicleDriveDynData
  • getGearUp() : PxVehicleDriveDynData , PxVehicleDrive4WRawInputData , PxVehicleDriveTankRawInputData
  • getGeometry() : PxShape
  • getGeometryType() : PxShape
  • getGlobalPose() : PxRigidActor , PxCloth , PxShapeExt
  • getGpuDispatcher() : physx::PxTaskManager , PxScene
  • getGravity() : PxScene
  • getGridSize() : PxParticleBase
  • getHalfForwardExtent() : PxBoxController
  • getHalfHeight() : PxBoxController
  • getHalfSideExtent() : PxBoxController
  • getHeight() : PxCapsuleController , PxHeightField
  • getHeightFieldGeometry() : PxShape
  • getHeightFields() : PxPhysics
  • getHighForwardSpeedSubStepCount() : PxVehicleWheelsSimData
  • getId() : PxCollection
  • getIds() : PxCollection
  • getImaginaryPart() : PxQuat
  • getInboundJoint() : PxArticulationLink
  • getIndexBuffer() : PxConvexMesh
  • getInstrumentationFlags() : PxPvd
  • getInternalCompliance() : PxArticulationJoint
  • getInternalDriveIterations() : PxArticulation
  • getInternalFaceIndex0() : PxContactSet
  • getInternalFaceIndex1() : PxContactSet
  • getInternalFaceIndices() : PxContactPair
  • getInverse() : PxMeshScale , PxMat33 , PxTransform
  • getInvInertiaScale0() : PxContactStreamIterator , PxContactSet , PxJoint
  • getInvInertiaScale1() : PxContactStreamIterator , PxContactSet , PxJoint
  • getInvMass() : PxRigidBody
  • getInvMassScale0() : PxContactStreamIterator , PxContactSet , PxJoint
  • getInvMassScale1() : PxContactStreamIterator , PxContactSet , PxJoint
  • getIsDrivenWheel() : PxVehicleDifferentialNWData
  • getIsWheelDisabled() : PxVehicleWheelsSimData
  • getKinematicTarget() : PxRigidDynamic
  • getLatency() : PxVehicleAutoBoxData
  • getLength() : PxDefaultMemoryInputData , PxDefaultFileInputData , PxInputData
  • getLimit() : PxPrismaticJoint , PxRevoluteJoint
  • getLimitCone() : PxSphericalJoint
  • getLimits() : PxScene
  • getLinearDamping() : PxRigidDynamic
  • getLinearDragCoefficient() : PxCloth
  • getLinearInertiaScale() : PxCloth
  • getLinearLimit() : PxD6Joint
  • getLinearVelocity() : PxRigidBody
  • getLines() : PxRenderBuffer
  • getLinks() : PxArticulation
  • getLocalBounds() : PxConvexMesh , PxTriangleMesh
  • getLocalPose() : PxShape , PxJoint
  • getLocalVelocityAtLocalPos() : PxRigidBodyExt
  • getLowForwardSpeedSubStepCount() : PxVehicleWheelsSimData
  • getMass() : PxRigidBody
  • getMassInformation() : PxConvexMesh
  • getMassSpaceInertia() : PxMassProperties
  • getMassSpaceInertiaTensor() : PxRigidBody
  • getMassSpaceInvInertiaTensor() : PxRigidBody
  • getMaterialFlags() : PxContactStreamIterator
  • getMaterialFromInternalFaceIndex() : PxShape
  • getMaterialIndex0() : PxContactStreamIterator
  • getMaterialIndex1() : PxContactStreamIterator
  • getMaterials() : PxPhysics , PxShape
  • getMaxAngularVelocity() : PxRigidDynamic
  • getMaxContactImpulse() : PxRigidBody
  • getMaxDepenetrationVelocity() : PxRigidBody
  • getMaxDistance() : PxDistanceJoint
  • getMaxImpulse() : PxContactStreamIterator , PxContactSet
  • getMaxMotionDistance() : PxParticleBase
  • getMaxNbActors() : PxAggregate
  • getMaxNbContactDataBlocksUsed() : PxScene
  • getMaxNbDynamicShapes() : PxVolumeCache
  • getMaxNbStaticShapes() : PxVolumeCache
  • getMaxNbSurfaceTypes() : PxVehicleDrivableSurfaceToTireFrictionPairs
  • getMaxNbTireTypes() : PxVehicleDrivableSurfaceToTireFrictionPairs
  • getMaxNbTouches() : PxHitBuffer< HitType >
  • getMaxOverlapsPerExecute() : PxBatchQueryMemory
  • getMaxParticles() : PxParticleBase
  • getMaxProjectionIterations() : PxArticulation
  • getMaxRaycastsPerExecute() : PxBatchQueryMemory
  • getMaxSweepsPerExecute() : PxBatchQueryMemory
  • getMinCCDAdvanceCoefficient() : PxRigidBody
  • getMinDistance() : PxDistanceJoint
  • getMinLongSlipDenominator() : PxVehicleWheelsSimData
  • getMinResponseThreshold() : PxConstraint
  • getMotion() : PxD6Joint
  • getMotionConstraintConfig() : PxCloth
  • getMotionConstraints() : PxCloth
  • getName() : PxActor , PxArticulation , PxShape , PxJoint , physx::PxBaseTask
  • getNamedTask() : physx::PxTaskManager
  • getNbActors() : PxAggregate , PxScene
  • getNbAggregates() : PxScene
  • getNbAnalogInput() : PxVehicleDriveDynData
  • getNbAntiRollBarData() : PxVehicleWheelsSimData
  • getNbAntiRollBars() : PxVehicleWheelsSimData
  • getNbAntiRollBars4() : PxVehicleWheelsSimData
  • getNbAnyHits() : PxBatchQueryResult< HitType > , PxHitBuffer< HitType >
  • getNbArticulations() : PxScene
  • getNbBrakeTorque() : PxVehicleNoDrive
  • getNbBroadPhaseAdds() : PxSimulationStatistics
  • getNbBroadPhaseRegions() : PxScene
  • getNbBroadPhaseRemoves() : PxSimulationStatistics
  • getNbCachedShapes() : PxVolumeCache
  • getNbChildren() : PxArticulationLink
  • getNbClothFabrics() : PxPhysics
  • getNbCollisionCapsules() : PxCloth
  • getNbCollisionConvexes() : PxCloth
  • getNbCollisionPlanes() : PxCloth
  • getNbCollisionSpheres() : PxCloth
  • getNbCollisionTriangles() : PxCloth
  • getNbColumns() : PxHeightField
  • getNbConstraints() : PxRigidActor , PxScene
  • getNbContactDataBlocksUsed() : PxScene
  • getNbControllers() : PxControllerManager
  • getNbConvexMeshes() : PxPhysics
  • getNbDataPairs() : PxFixedSizeLookupTable< NB_ELEMENTS >
  • getNbDriveTorque() : PxVehicleNoDrive
  • getNbHeightFields() : PxPhysics
  • getNbIds() : PxCollection
  • getNbLines() : PxRenderBuffer
  • getNbLinks() : PxArticulation
  • getNbMaterials() : PxPhysics , PxShape
  • getNbMotionConstraints() : PxCloth
  • getNbNonDrivenWheels() : PxVehicleWheels
  • getNbObjects() : PxCollection
  • getNbObstacleContexts() : PxControllerManager
  • getNbObstacles() : PxObstacleContext
  • getNbParticleAccelerations() : PxCloth
  • getNbParticleIndices() : PxClothFabric
  • getNbParticles() : PxCloth , PxClothFabric
  • getNbPhases() : PxClothFabric
  • getNbPoints() : PxRenderBuffer
  • getNbPolygons() : PxConvexMesh
  • getNbRestPositions() : PxCloth
  • getNbRestvalues() : PxClothFabric
  • getNbResults() : PxMeshOverlapUtil
  • getNbRigidActors() : PxPruningStructure
  • getNbRows() : PxHeightField
  • getNbSceneQueryFilterData() : PxVehicleWheelsSimData
  • getNbScenes() : PxPhysics
  • getNbSelfCollisionIndices() : PxCloth
  • getNbSeparationConstraints() : PxCloth
  • getNbSets() : PxClothFabric
  • getNbShapes() : PxPhysics , PxRigidActor
  • getNbSteerAngle() : PxVehicleNoDrive
  • getNbSuspensionData() : PxVehicleWheelsSimData
  • getNbSuspForceAppPointOffset() : PxVehicleWheelsSimData
  • getNbSuspTravelDirection() : PxVehicleWheelsSimData
  • getNbTethers() : PxClothFabric
  • getNbTethersPerParticle() : PxClothGeodesicTetherCooker
  • getNbTexts() : PxRenderBuffer
  • getNbTireData() : PxVehicleWheelsSimData
  • getNbTireForceAppPointOffset() : PxVehicleWheelsSimData
  • getNbTouches() : PxHitBuffer< HitType >
  • getNbTriangleMeshes() : PxPhysics
  • getNbTriangles() : PxRenderBuffer , PxTriangleMesh
  • getNbVertices() : PxConvexMesh , PxTriangleMesh
  • getNbVirtualParticles() : PxCloth
  • getNbVirtualParticleWeights() : PxCloth
  • getNbWheelCentreOffset() : PxVehicleWheelsSimData
  • getNbWheelData() : PxVehicleWheelsSimData
  • getNbWheelEnabledState() : PxVehicleWheelsSimData
  • getNbWheelRotationAngle() : PxVehicleWheelsDynData
  • getNbWheelRotationSpeed() : PxVehicleWheelsDynData
  • getNbWheels() : PxVehicleWheelsSimData
  • getNbWheels4() : PxVehicleWheelsSimData
  • getNbWheelShapeMapping() : PxVehicleWheelsSimData
  • getNonWalkableMode() : PxController
  • getNormal() : PxContactSet
  • getNormalized() : PxQuat , PxTransform , PxVec2 , PxVec3 , PxVec4
  • getObject() : PxCollection
  • getObjects() : PxCollection
  • getObstacle() : PxObstacleContext
  • getObstacleByHandle() : PxObstacleContext
  • getObstacleContext() : PxControllerManager
  • getOpenMode() : PxFileBuf
  • getOwnerClient() : PxActor , PxBatchQuery
  • getParams() : PxCooking
  • getParentPose() : PxArticulationJoint
  • getParticleAccelerations() : PxCloth
  • getParticleBaseFlags() : PxParticleBase
  • getParticleIndices() : PxClothFabric
  • getParticleMass() : PxParticleBase
  • getParticleReadDataFlags() : PxParticleBase
  • getPatch() : PxContactSet
  • getPhases() : PxClothFabric
  • getPhysics() : PxScene
  • getPhysicsInsertionCallback() : PxPhysics
  • getPhysXVersion() : PxDeserializationContext
  • getPlaneGeometry() : PxShape
  • getPoint() : PxContactSet
  • getPoints() : PxRenderBuffer
  • getPolygonData() : PxConvexMesh
  • getPosition() : PxController , PxPrismaticJoint , PxMat44
  • getPostFilterShader() : PxBatchQuery
  • getPostLaunchTask() : physx::PxGpuDispatcher
  • getPreFilterShader() : PxBatchQuery
  • getPreLaunchTask() : physx::PxGpuDispatcher
  • getPrep() : PxConstraintConnector
  • getPreviousTimeStep() : PxCloth
  • getPrismaticJointFlags() : PxPrismaticJoint
  • getProjectionAngularTolerance() : PxPrismaticJoint , PxD6Joint , PxFixedJoint , PxRevoluteJoint
  • getProjectionLinearTolerance() : PxSphericalJoint , PxPrismaticJoint , PxRevoluteJoint , PxD6Joint , PxFixedJoint
  • getProjectionPlane() : PxParticleBase
  • getQueryFilterData() : PxShape
  • getRadius() : PxCapsuleController
  • getRbPairStats() : PxSimulationStatistics
  • getRecipLongitudinalStiffnessPerUnitGravity() : PxVehicleTireData
  • getRecipMaxCompression() : PxVehicleSuspensionData
  • getRecipMaxDroop() : PxVehicleSuspensionData
  • getRecipMaxOmega() : PxVehicleEngineData
  • getRecipMOI() : PxVehicleWheelData , PxVehicleEngineData
  • getRecipRadius() : PxVehicleWheelData
  • getReference()
: physx::PxLightCpuTask
, physx::PxBaseTask
, physx::PxTask
  • getReferenceCount() : PxConvexMesh , PxHeightField , PxTriangleMesh , PxClothFabric , PxMaterial
  • getRelativeAngularVelocity() : PxJoint
  • getRelativeLinearVelocity() : PxJoint
  • getRelativeTransform() : PxJoint
  • getRenderBuffer() : PxControllerManager , PxScene
  • getReportAllocationNames() : PxFoundation
  • getRepXSerializer() : PxSerializationRegistry
  • getRestitution() : PxMaterial , PxParticleBase , PxContactSet , PxContactStreamIterator
  • getRestitutionCombineMode() : PxMaterial
  • getRestOffset() : PxCloth , PxParticleBase , PxShape
  • getRestParticleDistance() : PxParticleFluid
  • getRestPositions() : PxCloth
  • getRestvalues() : PxClothFabric
  • getResults() : PxMeshOverlapUtil
  • getRevoluteJointFlags() : PxRevoluteJoint
  • getRigidActors() : PxPruningStructure
  • getRigidBodyFlags() : PxRigidBody
  • getRigidDynamicActor() : PxVehicleWheels
  • getRigidDynamicLockFlags() : PxRigidDynamic
  • getRunProfiled() : PxDefaultCpuDispatcher
  • getSample() : PxHeightField
  • getSampleStride() : PxHeightField
  • getScene() : PxAggregate , PxArticulation , PxConstraint , PxControllerManager , PxActor , PxJoint , PxController
  • getScenePvdClient() : PxScene
  • getScenePvdFlags() : PxPvdSceneClient
  • getSceneQueryFilterData() : PxVehicleWheelsSimData
  • getSceneQueryStaticTimestamp() : PxScene
  • getSceneQueryUpdateMode() : PxScene
  • getScenes() : PxPhysics
  • getSelfCollision() : PxAggregate
  • getSelfCollisionDistance() : PxCloth
  • getSelfCollisionIndices() : PxCloth
  • getSelfCollisionStiffness() : PxCloth
  • getSeparation() : PxContactStreamIterator , PxContactSet
  • getSeparationConstraints() : PxCloth
  • getSeparationTolerance() : PxArticulation
  • getSerializable() : PxConstraintConnector
  • getSerializer() : PxSerializationRegistry
  • getSets() : PxClothFabric
  • getShapes() : PxRigidActor , PxPhysics
  • getSimulationEventCallback() : PxScene
  • getSimulationFilterData() : PxShape , PxParticleBase , PxCloth
  • getSimulationStatistics() : PxScene
  • getSize() : PxDefaultMemoryOutputStream
  • getSleepLinearVelocity() : PxCloth
  • getSleepThreshold() : PxArticulation , PxRigidDynamic
  • getSlopeLimit() : PxController
  • getSolverBatchSize() : PxScene
  • getSolverFrequency() : PxCloth
  • getSolverIterationCounts() : PxRigidDynamic , PxArticulation
  • getSphereGeometry() : PxShape
  • getSphericalJointFlags() : PxSphericalJoint
  • getStabilizationThreshold() : PxArticulation , PxRigidDynamic
  • getState() : PxController
  • getStaticFriction() : PxContactStreamIterator , PxParticleBase , PxContactSet , PxMaterial
  • getStaticStructure() : PxScene
  • getStats() : PxController
  • getSteerAngle() : PxVehicleNoDrive
  • getStepOffset() : PxController
  • getStiffness() : PxArticulationJoint , PxDistanceJoint , PxParticleFluid
  • getStiffnessFrequency() : PxCloth
  • getStretchConfig() : PxCloth
  • getSuspensionData() : PxVehicleWheelsSimData
  • getSuspForceAppPointOffset() : PxVehicleWheelsSimData
  • getSuspTravelDirection() : PxVehicleWheelsSimData
  • getSwingLimit() : PxD6Joint , PxArticulationJoint
  • getSwingLimitContactDistance() : PxArticulationJoint
  • getSwingLimitEnabled() : PxArticulationJoint
  • getSwingYAngle() : PxD6Joint
  • getSwingZAngle() : PxD6Joint
  • getTangentialDamping() : PxArticulationJoint
  • getTangentialStiffness() : PxArticulationJoint
  • getTargetGear() : PxVehicleDriveDynData
  • getTargetOrientation() : PxArticulationJoint
  • getTargetVel() : PxContactStreamIterator
  • getTargetVelocity() : PxContactSet , PxArticulationJoint
  • getTaskFromID() : physx::PxTaskManager
  • getTaskHint() : physx::PxGpuTask
  • getTaskID() : physx::PxTask
  • getTaskManager() : physx::PxBaseTask , PxScene
  • getTetherAnchors() : PxClothFabric
  • getTetherConfig() : PxCloth
  • getTetherData() : PxClothSimpleTetherCooker , PxClothGeodesicTetherCooker
  • getTetherLengths() : PxClothFabric
  • getTexts() : PxRenderBuffer
  • getThickness() : PxHeightField
  • getThresholdLongSpeed() : PxVehicleWheelsSimData
  • getTimestamp() : PxScene , PxHeightField
  • getTireData() : PxVehicleWheelsSimData
  • getTireForceAppPointOffset() : PxVehicleWheelsSimData
  • getTireForceShaderData() : PxVehicleWheelsDynData
  • getTireLoadFilterData() : PxVehicleWheelsSimData
  • getTolerance() : PxDistanceJoint
  • getTolerancesScale() : PxPhysics
  • getTotalContactCount() : PxContactStreamIterator
  • getTotalPatchCount() : PxContactStreamIterator
  • getTouch() : PxHitBuffer< HitType >
  • getTouches() : PxHitBuffer< HitType >
  • getTransport() : PxPvd
  • getTranspose() : PxMat44 , PxMat33
  • getTriangle() : PxMeshQuery
  • getTriangleMaterialIndex() : PxTriangleMesh , PxHeightField
  • getTriangleMeshes() : PxPhysics
  • getTriangleMeshFlags() : PxTriangleMesh
  • getTriangleMeshGeometry() : PxShape
  • getTriangleNormal() : PxHeightField
  • getTriangles() : PxTriangleMesh , PxRenderBuffer
  • getTrianglesRemap() : PxTriangleMesh
  • getTwist() : PxD6Joint
  • getTwistLimit() : PxD6Joint , PxArticulationJoint
  • getTwistLimitContactDistance() : PxArticulationJoint
  • getTwistLimitEnabled() : PxArticulationJoint
  • getType() : PxMidphaseDesc , PxGeometryHolder , PxController , PxActor , PxGeometry , PxControllerDesc , PxObstacle
  • getTypeName() : PxRepXSerializer
  • getTypePairFriction() : PxVehicleDrivableSurfaceToTireFrictionPairs
  • getUpDirection() : PxController
  • getUpRatios() : PxVehicleAutoBoxData
  • getUseAutoGears() : PxVehicleDriveDynData
  • getUserData() : PxVehicleWheelsDynData , PxController
  • getUserMemory() : PxBatchQuery
  • getVehicleType() : PxVehicleWheels
  • getVelocity() : PxRevoluteJoint , PxPrismaticJoint
  • getVelocityAtOffset() : PxRigidBodyExt
  • getVelocityAtPos() : PxRigidBodyExt
  • getVertices() : PxTriangleMesh , PxConvexMesh
  • getVerticesForModification() : PxTriangleMesh
  • getVirtualParticles() : PxCloth
  • getVirtualParticleWeights() : PxCloth
  • getViscosity() : PxParticleFluid
  • getVisualizationCullingBox() : PxScene
  • getVisualizationParameter() : PxScene
  • getWakeCounter() : PxArticulation , PxRigidDynamic , PxCloth
  • getWakeCounterResetValue() : PxScene
  • getWheel4DynData() : PxVehicleWheelsDynData
  • getWheelCentreOffset() : PxVehicleWheelsSimData
  • getWheelData() : PxVehicleWheelsSimData
  • getWheelEnabledState() : PxVehicleWheelsSimData
  • getWheelRotationAngle() : PxVehicleWheelsDynData
  • getWheelRotationSpeed() : PxVehicleWheelsDynData
  • getWheelShapeMapping() : PxVehicleWheelsSimData
  • getWindDrag() : PxCloth
  • getWindLift() : PxCloth
  • getWindVelocity() : PxCloth
  • getWorkerCount() : physx::PxCpuDispatcher
  • getWorldBounds() : PxGeometryQuery , PxActor , PxShapeExt , PxArticulation , PxCloth
  • getWrittenDataSize() : PxPvdTransport
  • getX() : PxFixedSizeLookupTable< NB_ELEMENTS >
  • getXYZ() : PxVec4
  • getY() : PxFixedSizeLookupTable< NB_ELEMENTS >
  • getYVal() : PxFixedSizeLookupTable< NB_ELEMENTS >


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Functions

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z
  • ~

- h -

  • hadInitialOverlap() : PxLocationHit
  • hasAnyHits() : PxHitCallback< HitType >
  • hasNegativeDeterminant() : PxMeshScale
  • hasNextContact() : PxContactStreamIterator
  • hasNextPatch() : PxContactStreamIterator
  • heightField() : PxGeometryHolder


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Functions

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z
  • ~

- i -

  • ignore() : PxContactSet
  • importExtraData() : PxVehicleNoDrive , PxVehicleWheels
  • include() : PxBounds3
  • init() : PxVehicleDrive , PxVehicleWheels
  • insert() : PxSpatialIndex
  • intersects() : PxBounds3
  • intersects1D() : PxBounds3
  • invalidate() : PxVolumeCache
  • invalidateCache() : PxController
  • inverseRT() : PxMat44
  • inverseTransform() : PxTransform
  • is() : PxBase
  • isBigEndian() : PxFileBuf
  • isBitSet() : PxBitAndDataT< storageType, bitMask >
  • isCompatible() : PxStrideIterator< T >
  • isConnected() : PxPvd , PxPvdTransport
  • isEmpty() : PxBounds3
  • isExclusive() : PxShape
  • isFinite() : PxExtendedVec3 , PxBounds3 , PxMat44 , PxQuat , PxTransform , PxVec2 , PxVec3 , PxVec4
  • isGpuCompatible() : PxConvexMesh
  • isIdentity() : PxMeshScale , PxQuat
  • isInside() : PxBounds3
  • isKindOf() : PxParticleBase , PxParticleFluid , PxParticleSystem , PxVehicleDrive , PxVehicleDrive4W , PxVehicleDriveNW , PxVehicleDriveTank , PxVehicleNoDrive , PxActor , PxVehicleWheels , PxAggregate , PxArticulation , PxArticulationJoint , PxArticulationLink , PxConstraint , PxMaterial , PxPruningStructure , PxRigidActor , PxRigidBody , PxRigidDynamic , PxRigidStatic , PxShape , PxCloth , PxClothFabric , PxBase , PxD6Joint , PxDistanceJoint , PxFixedJoint , PxJoint , PxPrismaticJoint , PxRevoluteJoint , PxSphericalJoint , PxConvexMesh , PxHeightField , PxTriangleMesh , PxBVH33TriangleMesh , PxBVH34TriangleMesh
  • isNormalized() : PxVec2 , PxVec3 , PxVec4
  • isOpen() : PxFileBuf
  • isReleasable() : PxBase
  • isSane() : PxQuat , PxTransform
  • isSeekable() : PxFileBuf
  • isSerializable() : PxSerialization
  • isSet() : PxFlags< enumtype, storagetype >
  • isSleeping() : PxArticulation , PxRigidDynamic , PxCloth
  • isSoft() : PxJointLimitParameters
  • isSubordinate() : PxSerializer , PxSerializerDefaultAdapter< T >
  • isUnit() : PxQuat
  • isValid() : PxVehicleAntiRollBarData , PxSimpleTriangleMesh , PxTransform , PxVehicleChassisData , PxVehicleWheelsDynData , PxVehicleDriveSimData4W , PxGeometryQuery , PxSceneLimits , PxVehicleAckermannGeometryData , PxVehicleDifferentialNWData , PxVehicleNoDrive , PxHeightFieldDesc , PxVehicleDriveTank , PxVehicleClutchData , PxJointAngularLimitPair , PxBVH33MidphaseDesc , PxVehicleSuspensionData , PxVehicleWheelData , PxTriangleMeshGeometry , PxVehicleAutoBoxData , PxVehicleWheelsSimData , PxClothFabricDesc , PxCapsuleControllerDesc , PxDefaultFileInputData , PxVehicleDriveDynData , PxVehicleDriveSimData , PxD6JointDrive , PxCapsuleGeometry , PxVehicleEngineData , PxVehicleGearsData , PxParticleCreationData , PxJointLinearLimitPair , PxVehicleWheels , PxJointLimitCone , PxVehicleDriveSimDataNW , PxHeightFieldGeometry , PxSphereGeometry , PxPlaneGeometry , PxVehicleDrive , PxConstraint , PxSceneDesc , PxBoxControllerDesc , PxVehicleDifferential4WData , PxTolerancesScale , PxTriangleMeshDesc , PxMidphaseDesc , PxVehicleTireLoadFilterData , PxDefaultFileOutputStream , PxRepXObject , PxBoxGeometry , PxVehicleTireData , PxConvexMeshGeometry , PxClothMeshDesc , PxVehicleDriveNW , PxJointLinearLimit , PxBatchQueryDesc , PxVolumeCache , PxBVH34MidphaseDesc , PxConvexMeshDesc , PxVehicleDrive4W , PxBounds3 , PxControllerDesc , PxJointLimitParameters
  • isValidForConvexMesh() : PxMeshScale
  • isValidForTriangleMesh() : PxMeshScale
  • isZero() : PxExtendedVec3 , PxVec4 , PxVec3 , PxVec2


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Functions

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z
  • ~

- p -

  • pairFound() : PxSimulationFilterCallback
  • pairLost() : PxSimulationFilterCallback
  • patchupPointers() : PxVehicleWheels
  • patchUpPointers() : PxVehicleWheelsSimData
  • patchupPointers() : PxVehicleDrive
  • patchUpPointers() : PxVehicleWheelsDynData
  • peek() : PxFileBuf
  • plane() : PxGeometryHolder
  • platformMismatch() : PxCooking
  • pointDistance() : PxGeometryQuery
  • pointFromUV() : PxTriangle
  • pointInPlane() : PxPlane
  • poseExtent() : PxBounds3
  • postFilter() : PxQueryFilterCallback
  • preFilter() : PxQueryFilterCallback
  • prepareData() : PxConstraintConnector
  • process() : PxProcessPxBaseCallback
  • processCallbacks() : PxScene
  • processShapes() : PxVolumeCache::PxVolumeCache::Iterator
  • processTouches() : PxHitCallback< HitType > , PxHitBuffer< HitType >
  • project() : PxPlane
  • ptr() : PxStrideIterator< T >
  • purgeControllers() : PxControllerManager
  • put() : PxGeometryHolder
  • putToSleep() : PxArticulation , PxRigidDynamic , PxCloth
  • Px1DConstraintFlag() : Px1DConstraintFlag
  • PX_ALIGN() : PxContactPatch , PxExtendedContact , PxModifiableContact , PxRigidBodyData , PxContactPatch
  • PxActor() : PxActor
  • PxActorShape() : PxActorShape
  • PxAggregate() : PxAggregate
  • PxArticulation() : PxArticulation
  • PxArticulationDriveCache() : PxArticulationDriveCache
  • PxArticulationJoint() : PxArticulationJoint
  • PxArticulationLink() : PxArticulationLink
  • PxBase() : PxBase
  • PxBaseTask() : physx::PxBaseTask
  • PxBatchQueryDesc() : PxBatchQueryDesc
  • PxBatchQueryMemory() : PxBatchQueryMemory
  • PxBinaryConverter() : PxBinaryConverter
  • PxBitAndDataT() : PxBitAndDataT< storageType, bitMask >
  • PxBoundedData() : PxBoundedData
  • PxBounds3() : PxBounds3
  • PxBoxController() : PxBoxController
  • PxBoxControllerDesc() : PxBoxControllerDesc
  • PxBoxGeometry() : PxBoxGeometry
  • PxBoxObstacle() : PxBoxObstacle
  • PxBVH33TriangleMesh() : PxBVH33TriangleMesh
  • PxBVH34TriangleMesh() : PxBVH34TriangleMesh
  • PxCapsuleController() : PxCapsuleController
  • PxCapsuleControllerDesc() : PxCapsuleControllerDesc
  • PxCapsuleGeometry() : PxCapsuleGeometry
  • PxCapsuleObstacle() : PxCapsuleObstacle
  • PxCloth() : PxCloth
  • PxClothCollisionPlane() : PxClothCollisionPlane
  • PxClothCollisionSphere() : PxClothCollisionSphere
  • PxClothCollisionTriangle() : PxClothCollisionTriangle
  • PxClothFabric() : PxClothFabric
  • PxClothFabricCooker() : PxClothFabricCooker
  • PxClothFabricDesc() : PxClothFabricDesc
  • PxClothFabricPhase() : PxClothFabricPhase
  • PxClothGeodesicTetherCooker() : PxClothGeodesicTetherCooker
  • PxClothMeshDesc() : PxClothMeshDesc
  • PxClothMeshQuadifier() : PxClothMeshQuadifier
  • PxClothMotionConstraintConfig() : PxClothMotionConstraintConfig
  • PxClothParticle() : PxClothParticle
  • PxClothParticleMotionConstraint() : PxClothParticleMotionConstraint
  • PxClothParticleSeparationConstraint() : PxClothParticleSeparationConstraint
  • PxClothSimpleTetherCooker() : PxClothSimpleTetherCooker
  • PxClothStretchConfig() : PxClothStretchConfig
  • PxClothTetherConfig() : PxClothTetherConfig
  • PxCollection() : PxCollection
  • PxConstraint() : PxConstraint
  • PxConstraintInfo() : PxConstraintInfo
  • PxConstraintInvMassScale() : PxConstraintInvMassScale
  • PxContactPair() : PxContactPair
  • PxContactPairExtraDataItem() : PxContactPairExtraDataItem
  • PxContactPairExtraDataIterator() : PxContactPairExtraDataIterator
  • PxContactPairHeader() : PxContactPairHeader
  • PxContactPairIndex() : PxContactPairIndex
  • PxContactPairPose() : PxContactPairPose
  • PxContactPairVelocity() : PxContactPairVelocity
  • PxContactStreamIterator() : PxContactStreamIterator
  • PxController() : PxController
  • PxControllerDesc() : PxControllerDesc
  • PxControllerFilters() : PxControllerFilters
  • PxControllerManager() : PxControllerManager
  • PxConvexMesh() : PxConvexMesh
  • PxConvexMeshDesc() : PxConvexMeshDesc
  • PxConvexMeshGeometry() : PxConvexMeshGeometry
  • PxCookingParams() : PxCookingParams
  • PxD6Joint() : PxD6Joint
  • PxD6JointDrive() : PxD6JointDrive
  • PxDebugLine() : PxDebugLine
  • PxDebugPoint() : PxDebugPoint
  • PxDebugText() : PxDebugText
  • PxDebugTriangle() : PxDebugTriangle
  • PxDefaultErrorCallback() : PxDefaultErrorCallback
  • PxDefaultFileInputData() : PxDefaultFileInputData
  • PxDefaultFileOutputStream() : PxDefaultFileOutputStream
  • PxDefaultMemoryInputData() : PxDefaultMemoryInputData
  • PxDefaultMemoryOutputStream() : PxDefaultMemoryOutputStream
  • PxDeletionListener() : PxDeletionListener
  • PxDeserializationContext() : PxDeserializationContext
  • PxDistanceJoint() : PxDistanceJoint
  • PxDominanceGroupPair() : PxDominanceGroupPair
  • PxExtendedVec3() : PxExtendedVec3
  • PxFileBuf() : PxFileBuf
  • PxFilterData() : PxFilterData
  • PxFilterInfo() : PxFilterInfo
  • PxFixedJoint() : PxFixedJoint
  • PxFixedSizeLookupTable() : PxFixedSizeLookupTable< NB_ELEMENTS >
  • PxFlags() : PxFlags< enumtype, storagetype >
  • PxgDynamicsMemoryConfig() : PxgDynamicsMemoryConfig
  • PxGeometry() : PxGeometry
  • PxGeometryHolder() : PxGeometryHolder
  • PxGpuTask() : physx::PxGpuTask
  • PxGroupsMask() : PxGroupsMask
  • PxHeightField() : PxHeightField
  • PxHeightFieldDesc() : PxHeightFieldDesc
  • PxHeightFieldGeometry() : PxHeightFieldGeometry
  • PxHitBuffer() : PxHitBuffer< HitType >
  • PxHitCallback() : PxHitCallback< HitType >
  • PxJoint() : PxJoint
  • PxJointAngularLimitPair() : PxJointAngularLimitPair
  • PxJointLimitCone() : PxJointLimitCone
  • PxJointLimitParameters() : PxJointLimitParameters
  • PxJointLinearLimit() : PxJointLinearLimit
  • PxJointLinearLimitPair() : PxJointLinearLimitPair
  • PxLightCpuTask() : physx::PxLightCpuTask
  • PxLocationHit() : PxLocationHit
  • PxMassProperties() : PxMassProperties
  • PxMat33() : PxMat33
  • PxMat44() : PxMat44
  • PxMaterial() : PxMaterial
  • PxMeshOverlapUtil() : PxMeshOverlapUtil
  • PxMeshScale() : PxMeshScale
  • PxMidphaseDesc() : PxMidphaseDesc
  • PxObstacle() : PxObstacle
  • PxObstacleContext() : PxObstacleContext
  • PxOverlapBufferN() : PxOverlapBufferN< N >
  • PxPadding() : PxPadding< TNumBytes >
  • PxParticleBase() : PxParticleBase
  • PxParticleCreationData() : PxParticleCreationData
  • PxParticleFluid() : PxParticleFluid
  • PxParticleSystem() : PxParticleSystem
  • PxPhysicsInsertionCallback() : PxPhysicsInsertionCallback
  • PxPlane() : PxPlane
  • PxPlaneGeometry() : PxPlaneGeometry
  • PxPrismaticJoint() : PxPrismaticJoint
  • PxProfileScoped() : physx::PxProfileScoped
  • PxPruningStructure() : PxPruningStructure
  • PxQuat() : PxQuat
  • PxQueryCache() : PxQueryCache
  • PxQueryFilterData() : PxQueryFilterData
  • PxQueryHit() : PxQueryHit
  • PxRaycastBufferN() : PxRaycastBufferN< N >
  • PxRaycastHit() : PxRaycastHit
  • PxRepXInstantiationArgs() : PxRepXInstantiationArgs
  • PxRepXObject() : PxRepXObject
  • PxRevoluteJoint() : PxRevoluteJoint
  • PxRigidActor() : PxRigidActor
  • PxRigidBody() : PxRigidBody
  • PxRigidDynamic() : PxRigidDynamic
  • PxRigidStatic() : PxRigidStatic
  • PxScene() : PxScene
  • PxSceneDesc() : PxSceneDesc
  • PxSceneLimits() : PxSceneLimits
  • PxSceneReadLock() : PxSceneReadLock
  • PxSceneWriteLock() : PxSceneWriteLock
  • PxSerializationContext() : PxSerializationContext
  • PxSerializerDefaultAdapter() : PxSerializerDefaultAdapter< T >
  • PxShape() : PxShape
  • PxSimpleTriangleMesh() : PxSimpleTriangleMesh
  • PxSimulationStatistics() : PxSimulationStatistics
  • PxSphereGeometry() : PxSphereGeometry
  • PxSphericalJoint() : PxSphericalJoint
  • PxSpring() : PxSpring
  • PxStridedData() : PxStridedData
  • PxStrideIterator() : PxStrideIterator< T >
  • PxSweepBufferN() : PxSweepBufferN< N >
  • PxSweepHit() : PxSweepHit
  • PxTask() : physx::PxTask
  • PxTolerancesScale() : PxTolerancesScale
  • PxTransform() : PxTransform
  • PxTriangle() : PxTriangle
  • PxTriangleMesh() : PxTriangleMesh
  • PxTriangleMeshDesc() : PxTriangleMeshDesc
  • PxTriangleMeshGeometry() : PxTriangleMeshGeometry
  • PxTriggerPair() : PxTriggerPair
  • PxTypedStridedData() : PxTypedStridedData< TDataType >
  • PxVec2() : PxVec2
  • PxVec3() : PxVec3
  • PxVec4() : PxVec4
  • PxVehicleAckermannGeometryData() : PxVehicleAckermannGeometryData
  • PxVehicleAntiRollBarData() : PxVehicleAntiRollBarData
  • PxVehicleAutoBoxData() : PxVehicleAutoBoxData
  • PxVehicleChassisData() : PxVehicleChassisData
  • PxVehicleClutchData() : PxVehicleClutchData
  • PxVehicleConcurrentUpdateData() : PxVehicleConcurrentUpdateData
  • PxVehicleCopyDynamicsMap() : PxVehicleCopyDynamicsMap
  • PxVehicleDifferential4WData() : PxVehicleDifferential4WData
  • PxVehicleDifferentialNWData() : PxVehicleDifferentialNWData
  • PxVehicleDrivableSurfaceToTireFrictionPairs() : PxVehicleDrivableSurfaceToTireFrictionPairs
  • PxVehicleDrive() : PxVehicleDrive
  • PxVehicleDrive4W() : PxVehicleDrive4W
  • PxVehicleDrive4WRawInputData() : PxVehicleDrive4WRawInputData
  • PxVehicleDriveDynData() : PxVehicleDriveDynData
  • PxVehicleDriveNW() : PxVehicleDriveNW
  • PxVehicleDriveNWRawInputData() : PxVehicleDriveNWRawInputData
  • PxVehicleDriveSimData() : PxVehicleDriveSimData
  • PxVehicleDriveSimData4W() : PxVehicleDriveSimData4W
  • PxVehicleDriveSimDataNW() : PxVehicleDriveSimDataNW
  • PxVehicleDriveTank() : PxVehicleDriveTank
  • PxVehicleDriveTankRawInputData() : PxVehicleDriveTankRawInputData
  • PxVehicleEngineData() : PxVehicleEngineData
  • PxVehicleGearsData() : PxVehicleGearsData
  • PxVehicleNoDrive() : PxVehicleNoDrive
  • PxVehicleSuspensionData() : PxVehicleSuspensionData
  • PxVehicleTireData() : PxVehicleTireData
  • PxVehicleTireLoadFilterData() : PxVehicleTireLoadFilterData
  • PxVehicleWheelConcurrentUpdateData() : PxVehicleWheelConcurrentUpdateData
  • PxVehicleWheelData() : PxVehicleWheelData
  • PxVehicleWheels() : PxVehicleWheels
  • PxVehicleWheelsDynData() : PxVehicleWheelsDynData
  • PxVehicleWheelsSimData() : PxVehicleWheelsSimData
  • PxWheelQueryResult() : PxWheelQueryResult
  • PxXmlMiscParameter() : PxSerialization::PxSerialization::PxXmlMiscParameter


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Functions

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z
  • ~

- r -

  • raycast() : PxBatchQuery , PxScene , PxVolumeCache , PxShapeExt , PxSpatialIndex , PxGeometryQuery
  • raycastAny() : PxSceneQueryExt
  • RaycastCCDManager() : RaycastCCDManager
  • raycastMultiple() : PxSceneQueryExt
  • raycastSingle() : PxSceneQueryExt
  • read() : PxDefaultMemoryInputData , PxDefaultFileInputData , PxInputStream , PxFileBuf
  • readByte() : PxFileBuf
  • readDouble() : PxFileBuf
  • readDword() : PxFileBuf
  • readExtraData() : PxDeserializationContext
  • readFloat() : PxFileBuf
  • readName() : PxDeserializationContext
  • readWord() : PxFileBuf
  • rebuildFull() : PxSpatialIndex
  • rebuildStep() : PxSpatialIndex
  • recordContacts() : PxContactRecorder
  • refitBVH() : PxTriangleMesh
  • registerBinaryMetaDataCallback() : PxSerializationRegistry
  • registerDeletionListener() : PxPhysics
  • registerDeletionListenerObjects() : PxPhysics
  • registerRaycastCCDObject() : RaycastCCDManager
  • registerReference() : PxSerializationContext
  • registerReferences() : PxSerializer , PxSerializerDefaultAdapter< T >
  • registerRepXSerializer() : PxSerializationRegistry
  • registerSerializer() : PxSerializationRegistry
  • release() : PxConvexMesh , PxHeightField , PxTriangleMesh , PxVehicleDrivableSurfaceToTireFrictionPairs , PxVehicleWheels , PxFoundation , physx::PxGpuTask , physx::PxBaseTask , PxActor , physx::PxTask , physx::PxLightCpuTask , PxFileBuf , PxAggregate , physx::PxTaskManager , PxPvd , PxArticulation , PxPvdTransport , PxArticulationLink , PxBatchQuery , PxConstraint , PxMaterial , PxPhysics , PxPruningStructure , PxRigidActor , PxScene , PxParticleExt::PxParticleExt::IndexPool , PxShape , PxSpatialIndex , PxVolumeCache , PxCooking , PxController , PxControllerManager , PxObstacleContext , PxCloth , PxClothFabric , PxBase , PxCollection , PxSerializationRegistry , PxStringTable , PxBinaryConverter , PxDefaultCpuDispatcher , PxJoint
  • releaseDriveCache() : PxArticulation
  • releaseObjects() : PxCollectionExt
  • releaseParticles() : PxParticleBase
  • remove() : PxCollection , PxCollectionExt , PxSpatialIndex , PxCollection
  • removeActor() : PxScene , PxAggregate
  • removeActors() : PxScene
  • removeAggregate() : PxScene
  • removeArticulation() : PxScene , PxAggregate
  • removeBroadPhaseRegion() : PxScene
  • removeCollisionCapsule() : PxCloth
  • removeCollisionConvex() : PxCloth
  • removeCollisionPlane() : PxCloth
  • removeCollisionSphere() : PxCloth
  • removeCollisionTriangle() : PxCloth
  • removeId() : PxCollection
  • removeObstacle() : PxObstacleContext
  • removeReference()
: physx::PxLightCpuTask
, physx::PxTask
, physx::PxBaseTask
  • reportError() : PxDefaultErrorCallback , PxErrorCallback
  • requestSyncPoint() : physx::PxTask
  • requiresObjects() : PxVehicleWheels , PxSerializer , PxSerializerDefaultAdapter< T >
  • resetDependencies() : physx::PxTaskManager
  • resetFiltering() : PxScene
  • resize() : PxController
  • resolveReference() : PxDeserializationContext
  • resolveReferences() : PxVehicleWheels
  • rotate() : PxMat44 , PxQuat , PxTransform
  • rotateInertia() : PxMassProperties
  • rotateInv() : PxTransform , PxQuat
  • run() : physx::PxBaseTask


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Functions

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z
  • ~

- s -

  • save() : PxClothFabricCooker
  • saveCells() : PxHeightField
  • scale() : PxMat44
  • scaleFast() : PxBounds3
  • scaleInertia() : PxMassProperties
  • scaleRestlengths() : PxClothFabric
  • scaleSafe() : PxBounds3
  • sceneQueriesUpdate() : PxScene
  • seek() : PxDefaultMemoryInputData , PxDefaultFileInputData , PxInputData
  • seekRead() : PxFileBuf
  • seekWrite() : PxFileBuf
  • serializeCollectionToBinary() : PxSerialization
  • serializeCollectionToXml() : PxSerialization
  • set() : PxExtendedVec3 , PxFlags< enumtype, storagetype >
  • setAckermannGeometryData() : PxVehicleDriveSimData4W
  • setActorFlag() : PxActor
  • setActorFlags() : PxActor
  • setActors() : PxConstraint , PxJoint
  • setAnalogAccel() : PxVehicleDrive4WRawInputData , PxVehicleDriveTankRawInputData
  • setAnalogBrake() : PxVehicleDrive4WRawInputData
  • setAnalogHandbrake() : PxVehicleDrive4WRawInputData
  • setAnalogInput() : PxVehicleDriveDynData
  • setAnalogLeftBrake() : PxVehicleDriveTankRawInputData
  • setAnalogLeftThrust() : PxVehicleDriveTankRawInputData
  • setAnalogRightBrake() : PxVehicleDriveTankRawInputData
  • setAnalogRightThrust() : PxVehicleDriveTankRawInputData
  • setAnalogSteer() : PxVehicleDrive4WRawInputData
  • setAngularDamping() : PxRigidDynamic
  • setAngularDragCoefficient() : PxCloth
  • setAngularInertiaScale() : PxCloth
  • setAngularVelocity() : PxRigidBody
  • setAntiRollBarData() : PxVehicleWheelsSimData
  • setAutoBoxData() : PxVehicleDriveSimData
  • setAutoBoxSwitchTime() : PxVehicleDriveDynData
  • setBaseFlag() : PxBase
  • setBaseFlags() : PxBase
  • setBit() : PxBitAndDataT< storageType, bitMask >
  • setBounceThresholdVelocity() : PxScene
  • setBrakeTorque() : PxVehicleNoDrive
  • setBreakForce() : PxConstraint , PxJoint
  • setBroadPhaseCallback() : PxScene
  • setCCDContactModifyCallback() : PxScene
  • setCCDMaxPasses() : PxScene
  • setCentrifugalInertiaScale() : PxCloth
  • setChassisMass() : PxVehicleWheelsSimData
  • setChildPose() : PxArticulationJoint
  • setClientBehaviorFlags() : PxActor , PxScene
  • setClimbingMode() : PxCapsuleController
  • setClothFlag() : PxCloth
  • setClothFlags() : PxCloth
  • setClothInterCollisionDistance() : PxScene
  • setClothInterCollisionNbIterations() : PxScene
  • setClothInterCollisionStiffness() : PxScene
  • setClutchData() : PxVehicleDriveSimData
  • setCMassLocalPose() : PxRigidBody
  • setCollisionMassScale() : PxCloth
  • setCollisionPlanes() : PxCloth
  • setCollisionSpheres() : PxCloth
  • setCollisionTriangles() : PxCloth
  • setCompletionTask() : physx::PxGpuTask
  • setConstraintFlag() : PxJoint
  • setConstraintFlags() : PxJoint
  • setConstraintFunctions() : PxConstraint
  • setContactModifyCallback() : PxScene
  • setContactOffset() : PxShape , PxController , PxCloth , PxParticleBase
  • setContactReportThreshold() : PxRigidDynamic
  • setContextId() : physx::PxBaseTask
  • setContinuation() : physx::PxLightCpuTask
  • setCpuDispatcher() : physx::PxTaskManager
  • setCurrentGear() : PxVehicleDriveDynData
  • setDamping() : PxArticulationJoint , PxDistanceJoint , PxParticleBase
  • setDampingCoefficient() : PxCloth
  • setDebugRenderingFlags() : PxControllerManager
  • setDiffData() : PxVehicleDriveSimData4W , PxVehicleDriveSimDataNW
  • setDigitalAccel() : PxVehicleDrive4WRawInputData , PxVehicleDriveTankRawInputData
  • setDigitalBrake() : PxVehicleDrive4WRawInputData
  • setDigitalHandbrake() : PxVehicleDrive4WRawInputData
  • setDigitalLeftBrake() : PxVehicleDriveTankRawInputData
  • setDigitalLeftThrust() : PxVehicleDriveTankRawInputData
  • setDigitalRightBrake() : PxVehicleDriveTankRawInputData
  • setDigitalRightThrust() : PxVehicleDriveTankRawInputData
  • setDigitalSteerLeft() : PxVehicleDrive4WRawInputData
  • setDigitalSteerRight() : PxVehicleDrive4WRawInputData
  • setDistanceJointFlag() : PxDistanceJoint
  • setDistanceJointFlags() : PxDistanceJoint
  • setDominanceGroup() : PxActor
  • setDominanceGroupPair() : PxScene
  • setDownRatios() : PxVehicleAutoBoxData
  • setDragCoefficient() : PxCloth
  • setDrive() : PxD6Joint
  • setDriveForceLimit() : PxRevoluteJoint
  • setDriveGearRatio() : PxRevoluteJoint
  • setDriveModel() : PxVehicleDriveTank
  • setDrivenWheel() : PxVehicleDifferentialNWData
  • setDrivenWheelStatus() : PxVehicleDifferentialNWData
  • setDrivePosition() : PxD6Joint
  • setDriveTorque() : PxVehicleNoDrive
  • setDriveType() : PxArticulationJoint
  • setDriveVelocity() : PxD6Joint , PxRevoluteJoint
  • setDynamicFriction() : PxContactSet , PxMaterial , PxParticleBase
  • setDynamicTreeRebuildRateHint() : PxScene
  • setEmpty() : PxBounds3
  • setEndianMode() : PxFileBuf
  • setEngineData() : PxVehicleDriveSimData
  • setEngineRotationSpeed() : PxVehicleDriveDynData
  • setErrorLevel() : PxFoundation
  • setExternalAcceleration() : PxCloth , PxParticleBase
  • setExternalCompliance() : PxArticulationJoint
  • setExternalDriveIterations() : PxArticulation
  • setFilterShaderData() : PxScene
  • setFlag() : PxConstraint , PxMaterial , PxScene , PxShape
  • setFlags() : PxConstraint , PxMaterial , PxShape
  • setFootPosition() : PxController
  • setFrictionCoefficient() : PxCloth
  • setFrictionCombineMode() : PxMaterial
  • setFrictionType() : PxScene
  • setGearChange() : PxVehicleDriveDynData
  • setGearDown() : PxVehicleDriveDynData , PxVehicleDrive4WRawInputData , PxVehicleDriveTankRawInputData
  • setGearRatio() : PxVehicleGearsData
  • setGearsData() : PxVehicleDriveSimData
  • setGearSwitchTime() : PxVehicleDriveDynData
  • setGearUp() : PxVehicleDriveDynData , PxVehicleDrive4WRawInputData , PxVehicleDriveTankRawInputData
  • setGeometry() : PxShape
  • setGlobalPose() : PxRigidActor , PxCloth
  • setGpuDispatcher() : physx::PxTaskManager
  • setGravity() : PxScene
  • setGridSize() : PxParticleBase
  • setHalfForwardExtent() : PxBoxController
  • setHalfHeight() : PxBoxController
  • setHalfSideExtent() : PxBoxController
  • setHeight() : PxCapsuleController
  • setHighForwardSpeedSubStepCount() : PxVehicleWheelsSimData
  • setIncrementalRebuildRate() : PxSpatialIndex
  • setInertiaScale() : PxCloth
  • setInternalCompliance() : PxArticulationJoint
  • setInternalDriveIterations() : PxArticulation
  • setInvInertiaScale0() : PxContactSet , PxJoint
  • setInvInertiaScale1() : PxContactSet , PxJoint
  • setInvMassScale0() : PxContactSet , PxJoint
  • setInvMassScale1() : PxContactSet , PxJoint
  • setKinematicTarget() : PxRigidDynamic
  • setLatency() : PxVehicleAutoBoxData
  • setLimit() : PxPrismaticJoint , PxRevoluteJoint
  • setLimitCone() : PxSphericalJoint
  • setLimits() : PxScene
  • setLinearDamping() : PxRigidDynamic
  • setLinearDragCoefficient() : PxCloth
  • setLinearInertiaScale() : PxCloth
  • setLinearLimit() : PxD6Joint
  • setLinearVelocity() : PxRigidBody
  • setLocalPose() : PxShape , PxJoint
  • setLowForwardSpeedSubStepCount() : PxVehicleWheelsSimData
  • setMass() : PxRigidBody
  • setMassAndPreserveNaturalFrequency() : PxVehicleSuspensionData
  • setMassAndUpdateInertia() : PxRigidBodyExt
  • setMassSpaceInertiaTensor() : PxRigidBody
  • setMaterials() : PxShape
  • setMaxAngularVelocity() : PxRigidDynamic
  • setMaxContactImpulse() : PxRigidBody
  • setMaxDepenetrationVelocity() : PxRigidBody
  • setMaxDistance() : PxDistanceJoint
  • setMaximal() : PxBounds3
  • setMaxImpulse() : PxContactSet
  • setMaxMotionDistance() : PxParticleBase
  • setMaxNbDynamicShapes() : PxVolumeCache
  • setMaxNbStaticShapes() : PxVolumeCache
  • setMaxProjectionIterations() : PxArticulation
  • setMetaData() : PxBinaryConverter
  • setMinCCDAdvanceCoefficient() : PxRigidBody
  • setMinDistance() : PxDistanceJoint
  • setMinLongSlipDenominator() : PxVehicleWheelsSimData
  • setMinResponseThreshold() : PxConstraint
  • setMinusInfinity() : PxExtendedVec3
  • setMotion() : PxD6Joint
  • setMotionConstraintConfig() : PxCloth
  • setMotionConstraints() : PxCloth
  • setName() : PxActor , PxArticulation , PxShape , PxJoint
  • setNbContactDataBlocks() : PxScene
  • setNonWalkableMode() : PxController
  • setNormal() : PxContactSet
  • setOverlapRecoveryModule() : PxControllerManager
  • setOwnerClient() : PxActor
  • setParams() : PxCooking
  • setParentPose() : PxArticulationJoint
  • setParticleAccelerations() : PxCloth
  • setParticleBaseFlag() : PxParticleBase
  • setParticleMass() : PxParticleBase
  • setParticleReadDataFlag() : PxParticleBase
  • setParticles() : PxCloth
  • setPlusInfinity() : PxExtendedVec3
  • setPoint() : PxContactSet
  • setPosition() : PxController , PxMat44
  • setPositions() : PxParticleBase
  • setPreciseSweeps() : PxControllerManager
  • setPreventVerticalSlidingAgainstCeiling() : PxControllerManager
  • setPrismaticJointFlag() : PxPrismaticJoint
  • setPrismaticJointFlags() : PxPrismaticJoint
  • setProjectionAngularTolerance() : PxFixedJoint , PxD6Joint , PxPrismaticJoint , PxRevoluteJoint
  • setProjectionLinearTolerance() : PxD6Joint , PxFixedJoint , PxPrismaticJoint , PxRevoluteJoint , PxSphericalJoint
  • setProjectionPlane() : PxParticleBase
  • setQueryFilterData() : PxShape
  • setRadius() : PxCapsuleController
  • setReportAllocationNames() : PxFoundation
  • setReportMode() : PxBinaryConverter
  • setRestitution() : PxContactSet , PxMaterial , PxParticleBase
  • setRestitutionCombineMode() : PxMaterial
  • setRestOffset() : PxShape , PxCloth , PxParticleBase
  • setRestOffsets() : PxParticleBase
  • setRestParticleDistance() : PxParticleFluid
  • setRestPositions() : PxCloth
  • setRevoluteJointFlag() : PxRevoluteJoint
  • setRevoluteJointFlags() : PxRevoluteJoint
  • setRigidBodyFlag() : PxRigidBody
  • setRigidBodyFlags() : PxRigidBody
  • setRigidDynamicLockFlag() : PxRigidDynamic
  • setRigidDynamicLockFlags() : PxRigidDynamic
  • setRunProfiled() : PxDefaultCpuDispatcher
  • setScenePvdFlag() : PxPvdSceneClient
  • setScenePvdFlags() : PxPvdSceneClient
  • setSceneQueryFilterData() : PxVehicleWheelsSimData
  • setSceneQueryUpdateMode() : PxScene
  • setSelfCollisionDistance() : PxCloth
  • setSelfCollisionIndices() : PxCloth
  • setSelfCollisionStiffness() : PxCloth
  • setSeparation() : PxContactSet
  • setSeparationConstraints() : PxCloth
  • setSeparationTolerance() : PxArticulation
  • setSimulationEventCallback() : PxScene
  • setSimulationFilterData() : PxShape , PxCloth , PxParticleBase
  • setSleepLinearVelocity() : PxCloth
  • setSleepThreshold() : PxArticulation , PxRigidDynamic
  • setSlopeLimit() : PxController
  • setSolverBatchSize() : PxScene
  • setSolverFrequency() : PxCloth
  • setSolverIterationCounts() : PxArticulation , PxRigidDynamic
  • setSphericalJointFlag() : PxSphericalJoint
  • setSphericalJointFlags() : PxSphericalJoint
  • setStabilizationThreshold() : PxRigidDynamic , PxArticulation
  • setStaticFriction() : PxContactSet , PxMaterial , PxParticleBase
  • setSteerAngle() : PxVehicleNoDrive
  • setStepOffset() : PxController
  • setStiffness() : PxArticulationJoint , PxDistanceJoint , PxParticleFluid
  • setStiffnessFrequency() : PxCloth
  • setStretchConfig() : PxCloth
  • setSubStepCount() : PxVehicleWheelsSimData
  • setSuspensionData() : PxVehicleWheelsSimData
  • setSuspForceAppPointOffset() : PxVehicleWheelsSimData
  • setSuspTravelDirection() : PxVehicleWheelsSimData
  • setSwingLimit() : PxD6Joint , PxArticulationJoint
  • setSwingLimitContactDistance() : PxArticulationJoint
  • setSwingLimitEnabled() : PxArticulationJoint
  • setTangentialDamping() : PxArticulationJoint
  • setTangentialStiffness() : PxArticulationJoint
  • setTargetGear() : PxVehicleDriveDynData
  • setTargetOrientation() : PxArticulationJoint
  • setTargetPose() : PxCloth
  • setTargetVelocity() : PxContactSet , PxArticulationJoint
  • setTessellation() : PxControllerManager
  • setTessFlag() : PxHeightFieldSample
  • setTetherConfig() : PxCloth
  • setThresholdLongSpeed() : PxVehicleWheelsSimData
  • setTireData() : PxVehicleWheelsSimData
  • setTireForceAppPointOffset() : PxVehicleWheelsSimData
  • setTireForceShaderData() : PxVehicleWheelsDynData
  • setTireForceShaderFunction() : PxVehicleWheelsDynData
  • setTireLoadFilterData() : PxVehicleWheelsSimData
  • setToDefault() : PxBVH33MidphaseDesc , PxMidphaseDesc , PxSceneLimits , PxBoxControllerDesc , PxBVH34MidphaseDesc , PxConvexMeshDesc , PxClothMeshDesc , PxSimpleTriangleMesh , PxParticleCreationData , PxHeightFieldDesc , PxTriangleMeshDesc , PxClothFabricDesc , PxFilterData , PxCapsuleControllerDesc , PxSceneDesc
  • setTolerance() : PxDistanceJoint
  • setToRestState() : PxVehicleDrive4W , PxVehicleDriveNW , PxVehicleWheels , PxVehicleDrive , PxVehicleDriveTank , PxVehicleWheelsDynData , PxVehicleDriveDynData , PxVehicleNoDrive
  • setTwistLimit() : PxArticulationJoint , PxD6Joint
  • setTwistLimitContactDistance() : PxArticulationJoint
  • setTwistLimitEnabled() : PxArticulationJoint
  • setTypePairFriction() : PxVehicleDrivableSurfaceToTireFrictionPairs
  • setup() : PxVehicleDriveTank , PxVehicleDrive4W , PxVehicleNoDrive , PxVehicleDrivableSurfaceToTireFrictionPairs , PxVehicleWheels , PxVehicleDrive , PxVehicleDriveNW
  • setUpDirection() : PxController
  • setUpRatios() : PxVehicleAutoBoxData
  • setUseAutoGears() : PxVehicleDriveDynData
  • setUserData() : PxVehicleWheelsDynData , PxController
  • setUserMemory() : PxBatchQuery
  • setVelocities() : PxParticleBase
  • setVirtualParticles() : PxCloth
  • setViscosity() : PxParticleFluid
  • setVisualizationCullingBox() : PxScene
  • setVisualizationParameter() : PxScene
  • setWakeCounter() : PxRigidDynamic , PxCloth , PxArticulation
  • setWheelCentreOffset() : PxVehicleWheelsSimData
  • setWheelData() : PxVehicleWheelsSimData
  • setWheelEnabledState() : PxVehicleWheelsSimData
  • setWheelRotationAngle() : PxVehicleWheelsDynData
  • setWheelRotationSpeed() : PxVehicleWheelsDynData
  • setWheelShapeMapping() : PxVehicleWheelsSimData
  • setWindDrag() : PxCloth
  • setWindLift() : PxCloth
  • setWindVelocity() : PxCloth
  • setZero() : PxVec4
  • shiftOrigin() : PxScene , PxControllerManager
  • simulate() : PxScene
  • size() : PxContactSet
  • sphere() : PxGeometryHolder
  • startAfter() : physx::PxTask
  • startGearChange() : PxVehicleDriveDynData
  • startGroup() : physx::PxGpuDispatcher
  • startSimulation()
: physx::PxGpuDispatcher
, physx::PxTaskManager
  • statusChange() : PxSimulationFilterCallback
  • stopSimulation()
: physx::PxTaskManager
, physx::PxGpuDispatcher
  • storeAny() : PxGeometryHolder
  • storeByte() : PxFileBuf
  • storeDouble() : PxFileBuf
  • storeDword() : PxFileBuf
  • storeFloat() : PxFileBuf
  • storeWord() : PxFileBuf
  • stride() : PxStrideIterator< T >
  • submitNamedTask() : physx::PxTaskManager
  • submitTask()
: physx::PxGpuDispatcher
, physx::PxCpuDispatcher
  • submitted() : physx::PxTask
  • submitUnnamedTask() : physx::PxTaskManager
  • sum() : PxMassProperties
  • swap2Bytes() : PxFileBuf
  • swap4Bytes() : PxFileBuf
  • swap8Bytes() : PxFileBuf
  • sweep() : PxMeshQuery , PxShapeExt , PxBatchQuery , PxGeometryQuery , PxScene , PxSpatialIndex , PxVolumeCache
  • sweepAny() : PxSceneQueryExt
  • sweepMultiple() : PxSceneQueryExt
  • sweepSingle() : PxSceneQueryExt


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Functions

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z
  • ~

- t -

  • taskCompleted() : physx::PxTaskManager
  • tell() : PxDefaultMemoryInputData , PxInputData , PxDefaultFileInputData
  • tellRead() : PxFileBuf
  • tellWrite() : PxFileBuf
  • tessFlag() : PxHeightFieldSample
  • toggleAutoGears() : PxVehicleDriveDynData
  • toMat33() : PxMeshScale
  • toRadiansAndUnitAxis() : PxQuat
  • transform() : PxTransform , PxMeshScale , PxMat33 , PxMat44 , PxTransform
  • transformFast() : PxBounds3
  • transformInv() : PxTransform
  • transformSafe() : PxBounds3
  • transformTranspose() : PxMat33
  • translate() : PxMassProperties
  • translateInertia() : PxMassProperties
  • translatePxBase() : PxDeserializationContext
  • triangleMesh() : PxGeometryHolder
  • typeMatch() : PxBase


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Functions

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z
  • ~

- u -

  • unlock() : PxLockedData , PxParticleReadData , PxPvdTransport
  • unlockRead() : PxScene
  • unlockWrite() : PxScene
  • unregisterDeletionListener() : PxPhysics
  • unregisterDeletionListenerObjects() : PxPhysics
  • unregisterRepXSerializer() : PxSerializationRegistry
  • unregisterSerializer() : PxSerializationRegistry
  • update() : PxSpatialIndex
  • updateCamera() : PxPvdSceneClient
  • updateDriveCache() : PxArticulation
  • updateMassAndInertia() : PxRigidBodyExt
  • updateObstacle() : PxObstacleContext
  • updatePvdProperties() : PxConstraintConnector


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Functions

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z
  • ~

- v -

  • validateConvexMesh() : PxCooking
  • validateTriangleMesh() : PxCooking
  • visualizeAngularLimit() : PxConstraintVisualizer
  • visualizeDoubleCone() : PxConstraintVisualizer
  • visualizeJointFrames() : PxConstraintVisualizer
  • visualizeLimitCone() : PxConstraintVisualizer
  • visualizeLine() : PxConstraintVisualizer
  • visualizeLinearLimit() : PxConstraintVisualizer


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Functions

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z
  • ~

- w -

  • wakeUp() : PxArticulation , PxRigidDynamic , PxCloth
  • write() : PxDefaultMemoryOutputStream , PxPvdTransport , PxFileBuf , PxDefaultFileOutputStream , PxOutputStream
  • writeData() : PxSerializationContext
  • writeName() : PxSerializationContext


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Related Functions

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • g
  • o
  • p
  • v

- g -

  • getBinaryMetaData_PxBase : PxBase

- o -

  • operator& : PxFlags< enumtype, storagetype >
  • operator* : PxMat44 , PxMat33

- p -

  • PxBaseTask : physx::PxTaskManager
  • PxGpuWorkerThread : physx::PxTask , physx::PxTaskManager
  • PxLightCpuTask : physx::PxTaskManager
  • PxTask : physx::PxTaskManager
  • PxTaskMgr
: physx::PxLightCpuTask
, physx::PxBaseTask
, physx::PxTask
  • PxVehicleConstraintShader : PxVehicleWheels
  • PxVehicleDrive : PxVehicleDriveDynData
  • PxVehicleDrive4W : PxVehicleDriveSimData4W , PxVehicleWheelsSimData , PxVehicleWheelsDynData
  • PxVehicleDriveNW : PxVehicleDriveSimDataNW
  • PxVehicleDriveSimData : PxVehicleGearsData , PxVehicleAutoBoxData , PxVehicleClutchData , PxVehicleEngineData
  • PxVehicleDriveSimData4W : PxVehicleChassisData , PxVehicleDifferential4WData , PxVehicleAckermannGeometryData
  • PxVehicleDriveSimDataNW : PxVehicleDifferentialNWData
  • PxVehicleDriveTank : PxVehicleDriveSimData , PxVehicleWheelsSimData , PxVehicleWheelsDynData
  • PxVehicleNoDrive : PxVehicleWheelsSimData
  • PxVehicleUpdate : PxVehicleDriveTank , PxVehicleWheelsDynData , PxVehicleWheelsSimData , PxVehicleNoDrive , PxVehicleWheelConcurrentUpdateData , PxVehicleConcurrentUpdateData , PxVehicleDriveNW , PxVehicleDifferentialNWData , PxVehicleWheels , PxVehicleDrive , PxVehicleDrive4W
  • PxVehicleWheels : PxVehicleWheelsSimData , PxVehicleWheelsDynData
  • PxVehicleWheels4SimData : PxVehicleWheelData , PxVehicleSuspensionData , PxVehicleTireData
  • PxVehicleWheelsSimData : PxVehicleTireLoadFilterData , PxVehicleAntiRollBarData

- v -

  • VehicleSurfaceTypeHashTable : PxVehicleDrivableSurfaceToTireFrictionPairs


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Typedefs

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions

  • InternalType : PxFlags< enumtype, storagetype >


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Variables

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z

- _ -

  • _ : PxPackValidation


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Variables

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z

- k -

  • kineKineFilteringMode : PxSceneDesc


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Variables

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z

- l -

  • lateralSlip : PxWheelQueryResult
  • length : PxControllerHit , PxTolerancesScale
  • limits : PxSceneDesc
  • linear0 : Px1DConstraint , PxConstraintInvMassScale
  • linear1 : PxConstraintInvMassScale , Px1DConstraint
  • linearDamping : PxRigidBodyData
  • linearMomentumChange : PxVehicleConcurrentUpdateData
  • linearVelocity : PxContactPairVelocity
  • localPose : PxVehicleWheelConcurrentUpdateData , PxWheelQueryResult
  • longitudinalSlip : PxWheelQueryResult
  • lower : PxJointLinearLimitPair , PxJointAngularLimitPair


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Variables

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z

- m -

  • mAccuracy : PxVehicleAckermannGeometryData
  • mAccuracyMode : PxVehicleClutchData
  • mAckermannGeometry : PxVehicleDriveSimData4W
  • mActiveWheelsBitmapBuffer : PxVehicleWheelsSimData
  • mActor : PxVehicleWheels
  • mAllocator : PxDefaultMemoryOutputStream
  • mAntiRollBars : PxVehicleWheelsSimData
  • mass : PxTolerancesScale , PxMassProperties
  • material : PxControllerDesc
  • materialFlags : PxContactPatch , PxModifiableContact
  • materialIndex0 : PxContactPatch , PxModifiableContact , PxHeightFieldSample
  • materialIndex1 : PxContactPatch , PxModifiableContact , PxHeightFieldSample
  • materialIndices : PxTriangleMeshDesc
  • mAutoBox : PxVehicleDriveSimData
  • mAutoBoxSwitchTime : PxVehicleDriveDynData
  • maxAngularVelocitySq : PxRigidBodyData
  • maxBiasCoefficient : PxSceneDesc
  • maxContactImpulse : PxRigidBodyData
  • maxDepenetrationVelocity : PxRigidBodyData
  • maxImpulse : Px1DConstraint , PxExtendedContact
  • maximum : PxBounds3
  • maxJumpHeight : PxControllerDesc
  • mAxleSeparation : PxVehicleAckermannGeometryData
  • maxLinearVelocitySq : PxRigidBodyData
  • maxMargin : PxConvexMeshGeometry
  • maxNbActors : PxSceneLimits
  • maxNbAggregates : PxSceneLimits
  • maxNbBodies : PxSceneLimits
  • maxNbBroadPhaseOverlaps : PxSceneLimits
  • maxNbConstraints : PxSceneLimits
  • maxNbContactDataBlocks : PxSceneDesc
  • maxNbDynamicShapes : PxSceneLimits
  • maxNbObjects : PxBroadPhaseCaps
  • maxNbObjectsPerRegion : PxSceneLimits
  • maxNbRegions : PxBroadPhaseCaps , PxSceneLimits
  • maxNbStaticShapes : PxSceneLimits
  • maxNbTouches : PxHitCallback< HitType >
  • mBaseFlags : PxBase
  • mBitmapBuffer : PxVehicleDifferentialNWData
  • mBits : PxFlags< enumtype, storagetype >
  • mBrakeTorques : PxVehicleNoDrive
  • mBVH33Desc : PxMidphaseDesc
  • mBVH34Desc : PxMidphaseDesc
  • mCallback : physx::PxProfileScoped
  • mCamberAtMaxCompression : PxVehicleSuspensionData
  • mCamberAtMaxDroop : PxVehicleSuspensionData
  • mCamberAtRest : PxVehicleSuspensionData
  • mCamberStiffnessPerUnitGravity : PxVehicleTireData
  • mCapacity : PxDefaultMemoryOutputStream
  • mCCTFilterCallback : PxControllerFilters
  • mCentreBias : PxVehicleDifferential4WData
  • mClutch : PxVehicleDriveSimData
  • mCMOffset : PxVehicleChassisData
  • mComp : physx::PxGpuTask
  • mConcreteType : PxBase
  • mCont : physx::PxLightCpuTask
  • mContacts : PxContactSet
  • mContextId : physx::PxProfileScoped
  • mContextID : physx::PxBaseTask
  • mControlAnalogVals : PxVehicleDriveDynData
  • mCount : PxContactSet
  • mCurrentGear : PxVehicleDriveDynData
  • mDampingRate : PxVehicleWheelData
  • mDampingRateFullThrottle : PxVehicleEngineData
  • mDampingRateZeroThrottleClutchDisengaged : PxVehicleEngineData
  • mDampingRateZeroThrottleClutchEngaged : PxVehicleEngineData
  • mData : PxDefaultMemoryOutputStream , PxDefaultMemoryInputData , PxBitAndDataT< storageType, bitMask >
  • mDataPairs : PxFixedSizeLookupTable< NB_ELEMENTS >
  • mDenominator : PxVehicleTireLoadFilterData
  • mDetached : physx::PxProfileScoped
  • mDiff : PxVehicleDriveSimData4W , PxVehicleDriveSimDataNW
  • mDownRatios : PxVehicleAutoBoxData
  • mDrivableSurfaceMaterials : PxVehicleDrivableSurfaceToTireFrictionPairs
  • mDrivableSurfaceTypes : PxVehicleDrivableSurfaceToTireFrictionPairs
  • mDriveDynData : PxVehicleDrive
  • mDriveModel : PxVehicleDriveTank
  • mDriveSimData : PxVehicleDrive4W , PxVehicleDriveNW , PxVehicleDriveTank
  • mDriveTorques : PxVehicleNoDrive
  • mEndianMode : PxFileBuf
  • mEndianSwap : PxFileBuf
  • mEngine : PxVehicleDriveSimData
  • mEnginespeed : PxVehicleDriveDynData
  • mesh : PxGeometryHolder
  • meshCookingHint : PxBVH33MidphaseDesc , PxCookingParams
  • meshFlags : PxConvexMeshGeometry , PxTriangleMeshGeometry
  • meshPreprocessParams : PxCookingParams
  • meshSizePerformanceTradeOff : PxBVH33MidphaseDesc , PxCookingParams
  • meshWeldTolerance : PxCookingParams
  • mEstimateIterations : PxVehicleClutchData
  • mEventName : physx::PxProfileScoped
  • mExtraDataAddress : PxDeserializationContext
  • mFallRates : PxVehicleKeySmoothingData , PxVehiclePadSmoothingData
  • mFile : PxDefaultFileOutputStream , PxDefaultFileInputData
  • mFilterCallback : PxControllerFilters
  • mFilterData : PxControllerFilters
  • mFilterFlags : PxControllerFilters
  • mFinalRatio : PxVehicleGearsData
  • mFrictionVsSlipGraph : PxVehicleTireData
  • mFrictionVsSlipGraphRecipx1Minusx0 : PxVehicleTireData
  • mFrictionVsSlipGraphRecipx2Minusx1 : PxVehicleTireData
  • mFrontBias : PxVehicleDifferential4WData
  • mFrontLeftRightSplit : PxVehicleDifferential4WData
  • mFrontRearSplit : PxVehicleDifferential4WData
  • mFrontWidth : PxVehicleAckermannGeometryData
  • mGearDown : PxVehicleDrive4WRawInputData , PxVehicleDriveTankRawInputData
  • mGearDownPressed : PxVehicleDriveDynData
  • mGears : PxVehicleDriveSimData
  • mGearSwitchTime : PxVehicleDriveDynData
  • mGearUp : PxVehicleDrive4WRawInputData , PxVehicleDriveTankRawInputData
  • mGearUpPressed : PxVehicleDriveDynData
  • mHalfExtents : PxBoxObstacle
  • mHalfHeight : PxCapsuleObstacle
  • mHighForwardSpeedSubStepCount : PxVehicleWheelsSimData
  • midphaseDesc : PxCookingParams
  • mImpl : PxClothFabricCooker , PxClothMeshQuadifier , PxClothSimpleTetherCooker , PxClothGeodesicTetherCooker , RaycastCCDManager
  • mIndexBase : PxHullPolygon
  • minImpulse : Px1DConstraint
  • minimum : PxBounds3
  • mInvInertiaScale0 : PxMassModificationProps
  • mInvInertiaScale1 : PxMassModificationProps
  • mInvMassScale0 : PxMassModificationProps
  • mInvMassScale1 : PxMassModificationProps
  • mInvNbDrivenWheels : PxVehicleDifferentialNWData
  • mLatStiffX : PxVehicleTireData
  • mLatStiffY : PxVehicleTireData
  • mLength : PxDefaultFileInputData
  • mLongitudinalStiffnessPerUnitGravity : PxVehicleTireData
  • mLowForwardSpeedSubStepCount : PxVehicleWheelsSimData
  • mMass : PxVehicleChassisData , PxVehicleWheelData
  • mMaxBrakeTorque : PxVehicleWheelData
  • mMaxCompression : PxVehicleSuspensionData
  • mMaxDroop : PxVehicleSuspensionData
  • mMaxFilteredNormalisedLoad : PxVehicleTireLoadFilterData
  • mMaxHandBrakeTorque : PxVehicleWheelData
  • mMaxNbResults : PxMeshOverlapUtil
  • mMaxNbSurfaceTypes : PxVehicleDrivableSurfaceToTireFrictionPairs
  • mMaxNbTireTypes : PxVehicleDrivableSurfaceToTireFrictionPairs
  • mMaxNormalisedLoad : PxVehicleTireLoadFilterData
  • mMaxOmega : PxVehicleEngineData
  • mMaxSteer : PxVehicleWheelData
  • mMinFilteredNormalisedLoad : PxVehicleTireLoadFilterData
  • mMinLongSlipDenominator : PxVehicleWheelsSimData
  • mMinNormalisedLoad : PxVehicleTireLoadFilterData
  • mMode : PxVehicleDriveTankRawInputData
  • mMOI : PxVehicleChassisData , PxVehicleWheelData , PxVehicleEngineData
  • mNbActiveAntiRollBars : PxVehicleWheelsSimData
  • mNbActiveWheels : PxVehicleWheelsSimData , PxVehicleWheelsDynData
  • mNbAntiRollBars4 : PxVehicleWheelsSimData
  • mNbDataPairs : PxFixedSizeLookupTable< NB_ELEMENTS >
  • mNbDrivenWheels : PxVehicleDifferentialNWData
  • mNbNonDrivenWheels : PxVehicleWheels
  • mNbRatios : PxVehicleGearsData
  • mNbResults : PxMeshOverlapUtil
  • mNbSurfaceTypes : PxVehicleDrivableSurfaceToTireFrictionPairs
  • mNbTireTypes : PxVehicleDrivableSurfaceToTireFrictionPairs
  • mNbVerts : PxHullPolygon
  • mNbWheels4 : PxVehicleWheelsSimData , PxVehicleWheelsDynData
  • mNormalisedLoadFilter : PxVehicleWheelsSimData
  • mods : Px1DConstraint
  • mOnConstraintReleaseCounter : PxVehicleWheels
  • mPad : PxVehicleDrivableSurfaceToTireFrictionPairs , PxVehicleWheelsDynData , PxVehicleDriveTank , PxVehicleTireLoadFilterData , PxVehicleGearsData , PxFixedSizeLookupTable< NB_ELEMENTS > , PxVehicleAntiRollBarData , PxVehicleSuspensionData , PxVehicleDifferential4WData , PxVehicleDifferentialNWData , PxVehicleClutchData , PxVehicleWheelData , PxVehicleDriveDynData , PxVehicleNoDrive , PxVehicleWheelsSimData , PxVehicleTireData
  • mPad0 : PxVehicleWheels
  • mPadding : PxPadding< TNumBytes >
  • mPairs : PxVehicleDrivableSurfaceToTireFrictionPairs
  • mPeakTorque : PxVehicleEngineData
  • mPlane : PxHullPolygon
  • mPos : PxObstacle , PxDefaultMemoryInputData
  • mPreSyncRequired : physx::PxTask
  • mProfilerData : physx::PxProfileScoped
  • mPtr : PxStrideIterator< T >
  • mRadius : PxVehicleWheelData , PxCapsuleObstacle
  • mRatios : PxVehicleGearsData
  • mRawAnalogInputs : PxVehicleDriveTankRawInputData , PxVehicleDrive4WRawInputData
  • mRawDigitalInputs : PxVehicleDrive4WRawInputData , PxVehicleDriveTankRawInputData
  • mRearBias : PxVehicleDifferential4WData
  • mRearLeftRightSplit : PxVehicleDifferential4WData
  • mRearWidth : PxVehicleAckermannGeometryData
  • mRecipLongitudinalStiffnessPerUnitGravity : PxVehicleTireData
  • mRecipMaxCompression : PxVehicleSuspensionData
  • mRecipMaxDroop : PxVehicleSuspensionData
  • mRecipMaxOmega : PxVehicleEngineData
  • mRecipMOI : PxVehicleWheelData , PxVehicleEngineData
  • mRecipRadius : PxVehicleWheelData
  • mRefCount : physx::PxLightCpuTask
  • mResults : PxMeshOverlapUtil
  • mResultsMemory : PxMeshOverlapUtil
  • mRiseRates : PxVehiclePadSmoothingData , PxVehicleKeySmoothingData
  • mRot : PxObstacle
  • mScene : PxSceneWriteLock , PxSceneReadLock
  • mSize : PxDefaultMemoryInputData , PxDefaultMemoryOutputStream
  • mSpringDamperRate : PxVehicleSuspensionData
  • mSpringStrength : PxVehicleSuspensionData
  • mSprungMass : PxVehicleSuspensionData
  • mSteerAngles : PxVehicleNoDrive
  • mStiffness : PxVehicleAntiRollBarData
  • mStreamFormat : PxContactStreamIterator
  • mStreamIndex : physx::PxTask
  • mStrength : PxVehicleClutchData
  • mStride : PxStrideIterator< T >
  • mSwitchTime : PxVehicleGearsData
  • mTargetGear : PxVehicleDriveDynData
  • mTaskID : physx::PxTask
  • mThresholdLongitudinalSpeed : PxVehicleWheelsSimData
  • mTireForceCalculators : PxVehicleWheelsDynData
  • mTm : physx::PxBaseTask
  • mToeAngle : PxVehicleWheelData
  • mTorqueCurve : PxVehicleEngineData
  • mType : PxControllerDesc , PxGeometry , PxMidphaseDesc , PxVehicleWheels , PxVehicleDifferential4WData , PxVehicleDrivableSurfaceType , PxVehicleTireData , PxObstacle
  • mTypeName : PxSerializerDefaultAdapter< T >
  • mUpRatios : PxVehicleAutoBoxData
  • mUseAutoGears : PxVehicleDriveDynData
  • mUserData : PxObstacle
  • mUserDatas : PxVehicleWheelsDynData
  • mWheel0 : PxVehicleAntiRollBarData
  • mWheel1 : PxVehicleAntiRollBarData
  • mWheels4DynData : PxVehicleWheelsDynData
  • mWheels4SimData : PxVehicleWheelsSimData
  • mWheelsDynData : PxVehicleWheels
  • mWheelsSimData : PxVehicleWheels
  • mWidth : PxVehicleWheelData


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Variables

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z

- n -

  • n : PxPlane
  • name : PxMetaDataEntry
  • nbActiveConstraints : PxSimulationStatistics
  • nbActiveDynamicBodies : PxSimulationStatistics
  • nbActiveKinematicBodies : PxSimulationStatistics
  • nbAggregates : PxSimulationStatistics
  • nbArticulations : PxSimulationStatistics
  • nbAxisSolverConstraints : PxSimulationStatistics
  • nbBroadPhaseAdds : PxSimulationStatistics
  • nbBroadPhaseRemoves : PxSimulationStatistics
  • nbCCDPairs : PxSimulationStatistics
  • nbColumns : PxHeightFieldDesc
  • nbConcurrentWheelUpdates : PxVehicleConcurrentUpdateData
  • nbContactDataBlocks : PxSceneDesc
  • nbContacts : PxContactPatch
  • nbDiscreteContactPairs : PxSimulationStatistics
  • nbDiscreteContactPairsTotal : PxSimulationStatistics
  • nbDiscreteContactPairsWithCacheHits : PxSimulationStatistics
  • nbDiscreteContactPairsWithContacts : PxSimulationStatistics
  • nbDynamicBodies : PxSimulationStatistics
  • nbDynamicObjects : PxBroadPhaseRegionInfo
  • nbFullUpdates : PxControllerStats
  • nbIterations : PxControllerStats
  • nbLostPairs : PxSimulationStatistics
  • nbLostTouches : PxSimulationStatistics
  • nbModifiedContactPairs : PxSimulationStatistics
  • nbNewPairs : PxSimulationStatistics
  • nbNewTouches : PxSimulationStatistics
  • nbPairs : PxContactPairHeader
  • nbPartialUpdates : PxControllerStats
  • nbParticles : PxClothFabricDesc
  • nbPartitions : PxSimulationStatistics
  • nbPhases : PxClothFabricDesc
  • nbRows : PxHeightFieldDesc
  • nbSets : PxClothFabricDesc
  • nbShapes : PxSimulationStatistics
  • nbStaticBodies : PxSimulationStatistics
  • nbStaticObjects : PxBroadPhaseRegionInfo
  • nbTessellation : PxControllerStats
  • nbTethers : PxClothFabricDesc
  • nbTouches : PxHitCallback< HitType > , PxBatchQueryResult< HitType >
  • nbTriangles : PxClothFabricDesc
  • nbTriggerPairs : PxSimulationStatistics
  • nbValidParticles : PxParticleReadData
  • nbWheelQueryResults : PxVehicleWheelQueryResult
  • needsPredefinedBounds : PxBroadPhaseCaps
  • nextContactIndex : PxContactStreamIterator
  • nextPatchIndex : PxContactStreamIterator
  • nonWalkableMode : PxControllerDesc
  • normal : PxContactPairPoint , PxLocationHit , PxClothCollisionPlane
  • numParticles : PxParticleCreationData , PxParticleExt::PxParticleExt::ParticleBounds
  • numTrisPerLeaf : PxBVH34MidphaseDesc


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Variables

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z

- o -

  • offset : PxMetaDataEntry
  • offsetSize : PxMetaDataEntry
  • other : PxControllersHit
  • otherActor : PxTriggerPair
  • otherShape : PxTriggerPair
  • overlap : PxBroadPhaseRegionInfo
  • overlapResultBufferSize : PxBatchQueryMemory
  • overlapTouchBufferSize : PxBatchQueryMemory
  • ownerClient : PxBatchQueryDesc


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Variables

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z

- z -

  • z : PxExtendedVec3 , PxQuat , PxVec4 , PxVec3
  • zAngle : PxJointLimitCone
  • zero : PxContactStreamIterator


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Variables

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z

- a -

  • a : PxPackValidation
  • active : PxBroadPhaseRegionInfo
  • actor : PxActorShape , PxActiveTransform , PxContactModifyPair , PxQueryCache , PxControllerShapeHit
  • actor2World : PxActiveTransform
  • actors : PxContactPairHeader
  • alignment : PxMetaDataEntry
  • angular0 : Px1DConstraint , PxConstraintInvMassScale
  • angular1 : Px1DConstraint , PxConstraintInvMassScale
  • angularDamping : PxRigidBodyData
  • angularMomentumChange : PxVehicleConcurrentUpdateData
  • angularVelocity : PxContactPairVelocity , PxRigidBodyData
  • areaTestEpsilon : PxCookingParams


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Variables

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z

- b -

  • behaviorCallback : PxControllerDesc
  • bias : PxClothMotionConstraintConfig
  • bits0 : PxGroupsMask
  • bits1 : PxGroupsMask
  • bits2 : PxGroupsMask
  • bits3 : PxGroupsMask
  • block : PxHitCallback< HitType > , PxBatchQueryResult< HitType >
  • body2World : PxRigidBodyData
  • bounce : Px1DConstraint
  • bounceThreshold : PxJointLimitParameters
  • bounceThresholdVelocity : PxSceneDesc
  • bounds : PxBroadPhaseRegion , PxParticleExt::PxParticleExt::ParticleBounds
  • box : PxGeometryHolder
  • broadPhaseCallback : PxSceneDesc
  • broadPhaseType : PxSceneDesc
  • buildGPUData : PxCookingParams
  • buildTriangleAdjacencies : PxCookingParams
  • bytes : PxGeometryHolder


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Variables

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z

- c -

  • capsule : PxGeometryHolder
  • ccdContactModifyCallback : PxSceneDesc
  • ccdMaxPasses : PxSceneDesc
  • ccdMaxSeparation : PxSceneDesc
  • centerOfMass : PxMassProperties
  • clientId : PxQueryFilterData
  • climbingMode : PxCapsuleControllerDesc
  • collisionFlags : PxControllerState
  • collisionNormalBuffer : PxParticleReadData
  • collisionVelocityBuffer : PxParticleReadData
  • color : PxDebugPoint , PxDebugText
  • color0 : PxDebugLine , PxDebugTriangle
  • color1 : PxDebugTriangle , PxDebugLine
  • color2 : PxDebugTriangle
  • column0 : PxMat33 , PxMat44
  • column1 : PxMat33 , PxMat44
  • column2 : PxMat33 , PxMat44
  • column3 : PxMat44
  • columnScale : PxHeightFieldGeometry
  • compressedContactSize : PxSimulationStatistics
  • compressionLimit : PxClothStretchConfig
  • concurrentWheelUpdates : PxVehicleConcurrentUpdateData
  • constraint : PxConstraintInfo
  • constraintBufferCapacity : PxgDynamicsMemoryConfig
  • contact : PxContactStreamIterator , PxContact
  • contactBufferCapacity : PxgDynamicsMemoryConfig
  • contactCount : PxContactPair
  • contactDistance : PxJointLimitParameters
  • contactImpulses : PxContactPair
  • contactModifyCallback : PxSceneDesc
  • contactOffset : PxControllerDesc
  • contactPairIndex : PxContactPairExtraDataIterator
  • contactPatches : PxContactPair
  • contactPatchHeaderSize : PxContactStreamIterator
  • contactPoints : PxContactPair
  • contactPointSize : PxContactStreamIterator
  • contactReportStreamBufferSize : PxSceneDesc
  • contacts : PxContactModifyPair
  • contactStreamSize : PxContactPair , PxgDynamicsMemoryConfig
  • controller : PxControllerHit
  • convex : PxGeometryHolder
  • convexEdgeThreshold : PxHeightFieldDesc
  • convexMesh : PxConvexMeshGeometry
  • convexMeshCookingType : PxCookingParams
  • cooker : PxRepXInstantiationArgs
  • count : PxMetaDataEntry , PxBoundedData
  • cpuDispatcher : PxSceneDesc
  • currPtr : PxContactPairExtraDataIterator


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Variables

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z

- d -

  • d : PxPlane
  • damping : Px1DConstraint , PxJointLimitParameters , PxSpring
  • data : PxQueryFilterData , PxStridedData , PxTypedStridedData< TDataType >
  • deltaXP : PxControllerState
  • density : PxControllerDesc
  • densityBuffer : PxParticleFluidReadData
  • dir : PxControllerHit
  • distance : PxLocationHit , PxClothCollisionPlane
  • dominance0 : PxDominanceGroupPair
  • dominance1 : PxDominanceGroupPair
  • dynamicFriction : PxModifiableContact , PxContactPatch
  • dynamicStructure : PxSceneDesc
  • dynamicTreeRebuildRateHint : PxSceneDesc


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Variables

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z

- e -

  • endPtr : PxContactPairExtraDataIterator
  • eventPose : PxContactPairExtraDataIterator
  • events : PxContactPair
  • externalReference : PxConstraintInfo
  • extraDataStream : PxContactPairHeader
  • extraDataStreamSize : PxContactPairHeader


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Variables

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z

- f -

  • faceIndex : PxQueryHit , PxQueryCache
  • faceIndice : PxContactStreamIterator
  • filterCallback : PxSceneDesc
  • filterFlags : PxFilterInfo
  • filterPairIndex : PxFilterInfo
  • filterShader : PxSceneDesc
  • filterShaderData : PxBatchQueryDesc , PxSceneDesc
  • filterShaderDataSize : PxBatchQueryDesc , PxSceneDesc
  • firstParticle : PxParticleExt::PxParticleExt::ParticleBounds
  • flag : PxConstraintShaderTable
  • flagBuffer : PxParticleCreationData
  • flags : PxConvexMeshDesc , PxSimpleTriangleMesh , PxQueryFilterData , PxLocationHit , PxSceneDesc , PxContactPairHeader , PxContactPair , PxTriggerPair , PxMetaDataEntry , PxClothMeshDesc , PxD6JointDrive , PxHeightFieldDesc , Px1DConstraint
  • flagsBuffer : PxParticleReadData
  • forceLimit : PxD6JointDrive
  • forceNoResponse : PxContactStreamIterator
  • forceStreamCapacity : PxgDynamicsMemoryConfig
  • forInternalUse : Px1DConstraint
  • format : PxHeightFieldDesc
  • foundLostPairsCapacity : PxgDynamicsMemoryConfig
  • frictionOffsetThreshold : PxSceneDesc
  • frictionType : PxSceneDesc


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Variables

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z

- g -

  • gaussMapLimit : PxCookingParams
  • geometricError : Px1DConstraint
  • geometry : PxGeometryHolder
  • globalPose : PxContactPairPose
  • gpuComputeVersion : PxSceneDesc
  • gpuDispatcher : PxSceneDesc
  • gpuDynamicsConfig : PxSceneDesc
  • gpuMaxNumPartitions : PxSceneDesc
  • gravity : PxSceneDesc


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Variables

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z

- h -

  • halfExtents : PxBoxGeometry
  • halfForwardExtent : PxBoxControllerDesc
  • halfHeight : PxCapsuleGeometry , PxBoxControllerDesc
  • halfSideExtent : PxBoxControllerDesc
  • hasBlock : PxBatchQueryResult< HitType > , PxHitCallback< HitType >
  • hasFaceIndices : PxContactStreamIterator
  • heapCapacity : PxgDynamicsMemoryConfig
  • height : PxCapsuleControllerDesc , PxHeightFieldSample
  • heightfield : PxGeometryHolder
  • heightField : PxHeightFieldGeometry
  • heightFieldFlags : PxHeightFieldGeometry
  • heightScale : PxHeightFieldGeometry
  • hitActor : PxVehicleWheelConcurrentUpdateData
  • hitActorForce : PxVehicleWheelConcurrentUpdateData
  • hitActorForcePosition : PxVehicleWheelConcurrentUpdateData
  • hits : PxRaycastBufferN< N > , PxOverlapBufferN< N > , PxSweepBufferN< N >


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Variables

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z

- i -

  • id : PxRepXObject
  • impulse : PxContactPairPoint
  • index : PxContactPairIndex
  • indexBuffer : PxParticleCreationData
  • indices : PxClothFabricDesc , PxConvexMeshDesc
  • inertiaTensor : PxMassProperties
  • internalData : PxContactPair
  • internalFaceIndex0 : PxContactPairPoint
  • internalFaceIndex1 : PxContactPairPoint
  • internalFlags : PxContactPatch
  • invInertia : PxRigidBodyData
  • invisibleWallHeight : PxControllerDesc
  • invMass : PxRigidBodyData
  • invMasses : PxClothMeshDesc
  • invWeight : PxClothParticle
  • isInAir : PxWheelQueryResult
  • isMovingUp : PxControllerState


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Variables

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z

- p -

  • p : PxTransform
  • pad : PxBatchQueryResult< HitType > , PxVehicleChassisData , PxRigidBodyData
  • paddingFromFlags : PxConvexMeshGeometry , PxHeightFieldGeometry , PxTriangleMeshGeometry
  • padTo16Bytes : PxRaycastHit , PxOverlapHit , PxSweepHit
  • pairFlags : PxFilterInfo
  • pairs : PxContactPairHeader
  • particlesGpuMeshCacheHitrate : PxSimulationStatistics
  • particlesGpuMeshCacheSize : PxSimulationStatistics
  • particlesGpuMeshCacheUsed : PxSimulationStatistics
  • patch : PxContactStreamIterator
  • patchCount : PxContactPair
  • patchStreamSize : PxgDynamicsMemoryConfig
  • peakConstraintMemory : PxSimulationStatistics
  • phases : PxClothFabricDesc
  • phaseType : PxClothFabricPhase
  • physics : PxRepXInstantiationArgs
  • plane : PxGeometryHolder
  • planeTolerance : PxCookingParams
  • points : PxConvexMeshDesc , PxClothMeshDesc , PxSimpleTriangleMesh
  • pointStepped : PxContactStreamIterator
  • polygons : PxConvexMeshDesc
  • pos : PxClothParticleMotionConstraint , PxClothParticleSeparationConstraint , PxDebugPoint , PxClothParticle , PxClothCollisionSphere
  • pos0 : PxDebugLine , PxDebugTriangle
  • pos1 : PxDebugTriangle , PxDebugLine
  • pos2 : PxDebugTriangle
  • position : PxContactPairPoint , PxDebugText , PxControllerDesc , PxLocationHit
  • positionBuffer : PxParticleCreationData , PxParticleReadData
  • postFilterShader : PxBatchQueryDesc
  • postSolverVelocity : PxContactPairExtraDataIterator
  • preFilterShader : PxBatchQueryDesc
  • preSolverVelocity : PxContactPairExtraDataIterator
  • project : PxConstraintShaderTable


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Variables

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z

- q -

  • q : PxTransform
  • quads : PxClothMeshDesc
  • quantizedCount : PxConvexMeshDesc
  • queryMemory : PxBatchQueryDesc
  • queryStatus : PxBatchQueryResult< HitType >


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Variables

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z

- r -

  • radius : PxCapsuleControllerDesc , PxClothCollisionSphere , PxClothParticleSeparationConstraint , PxCapsuleGeometry , PxClothParticleMotionConstraint , PxSphereGeometry
  • raycastResultBufferSize : PxBatchQueryMemory
  • raycastTouchBufferSize : PxBatchQueryMemory
  • region : PxBroadPhaseRegionInfo
  • registerDeletionListener : PxControllerDesc
  • reportCallback : PxControllerDesc
  • requiredBufferSize : PxContactPair
  • requiredContactConstraintMemory : PxSimulationStatistics
  • restitution : PxJointLimitParameters , PxModifiableContact , PxContactPatch , Px1DConstraint
  • restOffsetBuffer : PxParticleCreationData , PxParticleReadData
  • restvalues : PxClothFabricDesc
  • rotation : PxMeshScale
  • rowScale : PxHeightFieldGeometry


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Variables

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z

- s -

  • samples : PxHeightFieldDesc
  • sanityBounds : PxSceneDesc
  • scale : PxCookingParams , PxTriangleMeshGeometry , PxSerialization::PxSerialization::PxXmlMiscParameter , PxClothMotionConstraintConfig , PxConvexMeshGeometry , PxMeshScale
  • scaleCoeff : PxControllerDesc
  • sceneQueryUpdateMode : PxSceneDesc
  • separation : PxContact , PxContactPairPoint
  • serializable : PxRepXObject
  • setIndex : PxClothFabricPhase
  • sets : PxClothFabricDesc
  • shape : PxContactModifyPair , PxActorShape , PxQueryCache , PxControllerShapeHit
  • shapes : PxContactPair
  • simulationEventCallback : PxSceneDesc
  • size : PxMetaDataEntry , PxDebugText
  • skinWidth : PxCookingParams
  • slopeLimit : PxControllerDesc
  • solveHint : Px1DConstraint
  • solverBatchSize : PxSceneDesc
  • solverOffsetSlop : PxSceneDesc
  • solverPrep : PxConstraintShaderTable
  • sourceWheelIds : PxVehicleCopyDynamicsMap
  • speed : PxTolerancesScale
  • sphere : PxGeometryHolder
  • spring : Px1DConstraint
  • standOnAnotherCCT : PxControllerState
  • standOnObstacle : PxControllerState
  • startContactIndex : PxContactPatch
  • staticFriction : PxContactPatch , PxModifiableContact
  • staticKineFilteringMode : PxSceneDesc
  • staticStructure : PxSceneDesc
  • status : PxTriggerPair
  • staySleeping : PxVehicleConcurrentUpdateData
  • steerAngle : PxWheelQueryResult
  • stepOffset : PxControllerDesc
  • stiffness : Px1DConstraint , PxClothTetherConfig , PxClothStretchConfig , PxJointLimitParameters , PxClothMotionConstraintConfig , PxSpring
  • stiffnessMultiplier : PxClothStretchConfig
  • STREAM_SEEK_END : PxFileBuf
  • stretchLimit : PxClothStretchConfig , PxClothTetherConfig
  • stride : PxTypedStridedData< TDataType > , PxStridedData
  • string : PxDebugText
  • stringTable : PxRepXInstantiationArgs
  • suppressTriangleMeshRemapTable : PxCookingParams
  • suspJounce : PxWheelQueryResult
  • suspLineDir : PxWheelQueryResult
  • suspLineLength : PxWheelQueryResult
  • suspLineStart : PxWheelQueryResult
  • suspSpringForce : PxWheelQueryResult
  • sweepResultBufferSize : PxBatchQueryMemory
  • sweepTouchBufferSize : PxBatchQueryMemory


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Variables

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z

- t -

  • targetPlatform : PxCookingParams
  • targetWheelIds : PxVehicleCopyDynamicsMap
  • tempBufferCapacity : PxgDynamicsMemoryConfig
  • tetherAnchors : PxClothFabricDesc
  • tetherLengths : PxClothFabricDesc
  • thickness : PxHeightFieldDesc
  • tireContactActor : PxWheelQueryResult
  • tireContactNormal : PxWheelQueryResult
  • tireContactPoint : PxWheelQueryResult
  • tireContactShape : PxWheelQueryResult
  • tireFriction : PxWheelQueryResult
  • tireLateralDir : PxWheelQueryResult
  • tireLongitudinalDir : PxWheelQueryResult
  • tireSurfaceMaterial : PxWheelQueryResult
  • tireSurfaceType : PxWheelQueryResult
  • totalContacts : PxContactStreamIterator
  • totalPatches : PxContactStreamIterator
  • touchedActor : PxControllerState
  • touchedObstacleHandle : PxControllerState
  • touchedShape : PxControllerState
  • touches : PxBatchQueryResult< HitType > , PxHitCallback< HitType >
  • transform : PxContactModifyPair
  • triangleIndex : PxControllerShapeHit
  • triangleMesh : PxTriangleMeshGeometry
  • triangles : PxClothMeshDesc , PxClothFabricDesc , PxSimpleTriangleMesh
  • triggerActor : PxTriggerPair
  • triggerShape : PxTriggerPair
  • type : PxConstraintInfo , PxContactPairExtraDataItem , PxMetaDataEntry
  • typeName : PxRepXObject


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Variables

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z

- u -

  • u : PxRaycastHit
  • upDirection : PxControllerDesc
  • upper : PxJointAngularLimitPair , PxJointLinearLimitPair
  • upVector : PxSerialization::PxSerialization::PxXmlMiscParameter
  • userData : PxBatchQueryResult< HitType > , PxControllerDesc , PxJoint , PxBroadPhaseRegion , PxControllerObstacleHit , PxShape , PxSceneDesc , PxMaterial , PxActiveTransform , PxActor , PxScene , PxArticulation
  • userOverlapResultBuffer : PxBatchQueryMemory
  • userOverlapTouchBuffer : PxBatchQueryMemory
  • userRaycastResultBuffer : PxBatchQueryMemory
  • userRaycastTouchBuffer : PxBatchQueryMemory
  • userSweepResultBuffer : PxBatchQueryMemory
  • userSweepTouchBuffer : PxBatchQueryMemory


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Variables

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z

- v -

  • v : PxRaycastHit
  • validParticleBitmap : PxParticleReadData
  • validParticleRange : PxParticleReadData
  • value : PxJointLinearLimit
  • velocityBuffer : PxParticleCreationData , PxParticleReadData
  • velocityTarget : Px1DConstraint
  • velocityThreshold : Px1DConstraint
  • vertex0 : PxClothCollisionTriangle
  • vertex1 : PxClothCollisionTriangle
  • vertex2 : PxClothCollisionTriangle
  • vertexLimit : PxConvexMeshDesc
  • verts : PxTriangle
  • visualize : PxConstraintShaderTable
  • volumeGrowth : PxControllerDesc


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Variables

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z

- w -

  • w : PxQuat , PxVec4
  • wakeCounterResetValue : PxSceneDesc
  • wakeup : PxVehicleConcurrentUpdateData
  • wheelQueryResults : PxVehicleWheelQueryResult
  • word0 : PxFilterData
  • word1 : PxFilterData
  • word2 : PxFilterData
  • word3 : PxFilterData
  • worldNormal : PxControllerHit
  • worldPos : PxControllerHit


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Variables

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z

- x -

  • x : PxExtendedVec3 , PxVec4 , PxVec3 , PxVec2 , PxQuat


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members - Variables

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Related Functions
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • u
  • v
  • w
  • x
  • y
  • z

- y -

  • y : PxExtendedVec3 , PxQuat , PxVec4 , PxVec3 , PxVec2
  • yAngle : PxJointLimitCone


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • c
  • i
  • o
  • p
  • t
Here is a list of all file members with links to the files they belong to:

- o -

  • ObstacleHandle : PxControllerObstacles.h
  • operator*() : PxVec2.h , PxVec4.h , PxVec3.h
  • operator+() : PxStrideIterator.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • c
  • i
  • o
  • p
  • t
Here is a list of all file members with links to the files they belong to:

- c -

  • CUstream : PxGpuDispatcher.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • c
  • i
  • o
  • p
  • t
Here is a list of all file members with links to the files they belong to:

- i -

  • INVALID_FILTER_PAIR_INDEX : PxFiltering.h
  • INVALID_OBSTACLE_HANDLE : PxControllerObstacles.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • c
  • i
  • o
  • p
  • t
Here is a list of all file members with links to the files they belong to:

- p -

  • platformAlignedAlloc() : PxDefaultAllocator.h
  • platformAlignedFree() : PxDefaultAllocator.h
  • Px1DConstraintFlags : PxConstraintDesc.h
  • PX_A64 : PxPreprocessor.h
  • PX_ALIGN : PxPreprocessor.h
  • PX_ALIGN_PREFIX : PxPreprocessor.h
  • PX_ALIGN_SUFFIX : PxConstraintDesc.h , PxContact.h , PxGeometryHelpers.h , PxPreprocessor.h
  • PX_ALWAYS_ASSERT : PxAssert.h
  • PX_ALWAYS_ASSERT_MESSAGE : PxAssert.h
  • PX_ANDROID : PxPreprocessor.h
  • PX_APPLE_FAMILY : PxPreprocessor.h
  • PX_ARM : PxPreprocessor.h
  • PX_ARM_FAMILY : PxPreprocessor.h
  • PX_ASSERT : PxAssert.h
  • PX_ASSERT_WITH_MESSAGE : PxAssert.h
  • PX_BIG_WORLDS : PxExtended.h
  • PX_BINARY_SERIAL_VERSION : PxSerialization.h
  • PX_C_EXPORT : Pxc.h
  • PX_CHECKED : PxPreprocessor.h
  • PX_CLANG : PxPreprocessor.h
  • PX_COMPILE_TIME_ASSERT : PxPreprocessor.h , PxQueryFiltering.h , PxVehicleComponents.h , PxPreprocessor.h
  • PX_CONCAT : PxPreprocessor.h
  • PX_CONCAT_HELPER : PxPreprocessor.h
  • PX_CUDA_CALLABLE : PxPreprocessor.h
  • PX_DEBUG : PxPreprocessor.h
  • PX_DEBUG_VEHICLE_ON : PxVehicleSDK.h
  • PX_DEF_BIN_METADATA_BASE_CLASS : PxMetaData.h
  • PX_DEF_BIN_METADATA_CLASS : PxMetaData.h
  • PX_DEF_BIN_METADATA_EXTRA_ALIGN : PxMetaData.h
  • PX_DEF_BIN_METADATA_EXTRA_ARRAY : PxMetaData.h
  • PX_DEF_BIN_METADATA_EXTRA_ITEM : PxMetaData.h
  • PX_DEF_BIN_METADATA_EXTRA_ITEMS : PxMetaData.h
  • PX_DEF_BIN_METADATA_EXTRA_ITEMS_MASKED_CONTROL : PxMetaData.h
  • PX_DEF_BIN_METADATA_EXTRA_NAME : PxMetaData.h
  • PX_DEF_BIN_METADATA_ITEM : PxMetaData.h
  • PX_DEF_BIN_METADATA_ITEMS : PxMetaData.h
  • PX_DEF_BIN_METADATA_ITEMS_AUTO : PxMetaData.h
  • PX_DEF_BIN_METADATA_TYPEDEF : PxMetaData.h
  • PX_DEF_BIN_METADATA_UNION : PxMetaData.h
  • PX_DEF_BIN_METADATA_UNION_TYPE : PxMetaData.h
  • PX_DEF_BIN_METADATA_VCLASS : PxMetaData.h
  • PX_DEFAULT_CLIENT : PxClient.h
  • PX_DEFINE_TYPEINFO : PxTypeInfo.h
  • PX_DELETE_REPX_SERIALIZER : PxRepXSerializer.h
  • PX_DELETE_SERIALIZER_ADAPTER : PxSerializer.h
  • PX_DEPRECATED : PxPreprocessor.h
  • PX_DLL_EXPORT : PxPreprocessor.h
  • PX_DLL_IMPORT : PxPreprocessor.h
  • PX_DUMMY_SYMBOL : PxPreprocessor.h
  • PX_EMSCRIPTEN : PxPreprocessor.h
  • PX_ENABLE_ASSERTS : PxPreprocessor.h
  • PX_ENABLE_DYNAMIC_MESH_RTREE : PxTriangleMesh.h
  • PX_EPS_F32 : PxSimpleTypes.h
  • PX_EPS_F64 : PxSimpleTypes.h
  • PX_EPS_REAL : PxSimpleTypes.h
  • PX_FLAGS_OPERATORS : PxFlags.h
  • PX_FLAGS_TYPEDEF : PxFlags.h
  • PX_FORCE_INLINE : PxPreprocessor.h
  • PX_FOUNDATION_VERSION : PxFoundationVersion.h
  • PX_FOUNDATION_VERSION_BUGFIX : PxFoundationVersion.h
  • PX_FOUNDATION_VERSION_MAJOR : PxFoundationVersion.h
  • PX_FOUNDATION_VERSION_MINOR : PxFoundationVersion.h
  • PX_GCC : PxPreprocessor.h
  • PX_GCC_FAMILY : PxPreprocessor.h
  • PX_INLINE : PxPreprocessor.h
  • PX_INTEL_FAMILY : PxPreprocessor.h
  • PX_IOS : PxPreprocessor.h
  • PX_LIBCPP : PxPreprocessor.h
  • PX_LINUX : PxPreprocessor.h
  • PX_LINUX_FAMILY : PxPreprocessor.h
  • PX_MAKE_FOURCC : PxSerialFramework.h
  • PX_MAX_BOUNDS_EXTENTS : PxBounds3.h
  • PX_MAX_CLIENTS : PxClient.h
  • PX_MAX_EXTENDED : PxExtended.h
  • PX_MAX_F32 : PxSimpleTypes.h
  • PX_MAX_F64 : PxSimpleTypes.h
  • PX_MAX_I16 : PxSimpleTypes.h
  • PX_MAX_I32 : PxSimpleTypes.h
  • PX_MAX_I8 : PxSimpleTypes.h
  • PX_MAX_NB_WHEELS : PxVehicleSDK.h
  • PX_MAX_REAL : PxSimpleTypes.h
  • PX_MAX_SWEEP_DISTANCE : PxGeometryQuery.h
  • PX_MAX_U16 : PxSimpleTypes.h
  • PX_MAX_U32 : PxSimpleTypes.h
  • PX_MAX_U8 : PxSimpleTypes.h
  • PX_MESH_SCALE_MAX : PxMeshScale.h
  • PX_MESH_SCALE_MIN : PxMeshScale.h
  • PX_MICROSOFT_FAMILY : PxPreprocessor.h
  • PX_MIN_HEIGHTFIELD_XZ_SCALE : PxHeightFieldGeometry.h
  • PX_MIN_HEIGHTFIELD_Y_SCALE : PxHeightFieldGeometry.h
  • PX_MIN_I16 : PxSimpleTypes.h
  • PX_MIN_I32 : PxSimpleTypes.h
  • PX_MIN_I8 : PxSimpleTypes.h
  • PX_MIN_U16 : PxSimpleTypes.h
  • PX_MIN_U32 : PxSimpleTypes.h
  • PX_MIN_U8 : PxSimpleTypes.h
  • PX_NEON : PxPreprocessor.h
  • PX_NEW_REPX_SERIALIZER : PxRepXSerializer.h
  • PX_NEW_SERIALIZER_ADAPTER : PxSerializer.h
  • PX_NOALIAS : PxPreprocessor.h
  • PX_NOCOPY : PxPreprocessor.h
  • PX_NOINLINE : PxPreprocessor.h
  • PX_NORMALIZATION_EPSILON : PxSimpleTypes.h
  • PX_NVTX : PxPreprocessor.h
  • PX_OFFSET_OF : PxPreprocessor.h
  • PX_OFFSET_OF_RT : PxPreprocessor.h
  • PX_OFFSETOF_BASE : PxPreprocessor.h
  • PX_OSX : PxPreprocessor.h
  • PX_P64_FAMILY : PxPreprocessor.h
  • PX_PHYSICS_VERSION : PxPhysicsVersion.h
  • PX_PHYSICS_VERSION_BUGFIX : PxPhysicsVersion.h
  • PX_PHYSICS_VERSION_MAJOR : PxPhysicsVersion.h
  • PX_PHYSICS_VERSION_MINOR : PxPhysicsVersion.h
  • PX_PHYSX_CHARACTER_API : PxCharacter.h
  • PX_PHYSX_COMMON_API : PxPhysXCommonConfig.h
  • PX_PHYSX_COOKING_API : Pxc.h
  • PX_PHYSX_CORE_API : PxPhysXCommonConfig.h
  • PX_PHYSX_GPU_API : PxPhysXCommonConfig.h
  • PX_POP_PACK : PxPreprocessor.h
  • PX_PPC : PxPreprocessor.h
  • PX_PRIu64 : PxSimpleTypes.h
  • PX_PROFILE : PxPreprocessor.h
  • PX_PROFILE_POINTER_TO_U64 : PxProfiler.h
  • PX_PROFILE_START_CROSSTHREAD : PxProfiler.h
  • PX_PROFILE_STOP_CROSSTHREAD : PxProfiler.h
  • PX_PROFILE_ZONE : PxProfiler.h
  • PX_PS4 : PxPreprocessor.h
  • PX_PUSH_PACK_DEFAULT : PxPreprocessor.h
  • PX_RESTRICT : PxPreprocessor.h
  • PX_SERIAL_ALIGN : PxSerialFramework.h
  • PX_SERIAL_FILE_ALIGN : PxSerialFramework.h
  • PX_SERIAL_OBJECT_ID_INVALID : PxSerialFramework.h
  • PX_SERIAL_REF_KIND_MATERIAL_IDX : PxSerialFramework.h
  • PX_SERIAL_REF_KIND_PTR_TYPE_BIT : PxSerialFramework.h
  • PX_SERIAL_REF_KIND_PXBASE : PxSerialFramework.h
  • PX_SIZE_OF : PxMetaData.h
  • PX_SPATIAL_INDEX_INVALID_ITEM_ID : PxSpatialIndex.h
  • PX_SSE2 : PxPreprocessor.h
  • PX_STORE_METADATA : PxMetaData.h
  • PX_STRINGIZE : PxPreprocessor.h
  • PX_STRINGIZE_HELPER : PxPreprocessor.h
  • PX_SUPPORT_COMPUTE_PHYSX : PxPreprocessor.h
  • PX_SUPPORT_EXTERN_TEMPLATE : PxPreprocessor.h
  • PX_SUPPORT_GPU_PHYSX : PxPreprocessor.h
  • PX_SUPPORT_PXTASK_PROFILING : PxTaskDefine.h
  • PX_SWITCH : PxPreprocessor.h
  • PX_UNIX_EXPORT : PxPreprocessor.h
  • PX_UNIX_FAMILY : PxPreprocessor.h
  • PX_UNUSED() : PxPreprocessor.h
  • PX_USE_CLOTH_API : PxPhysXConfig.h
  • PX_USE_PARTICLE_SYSTEM_API : PxPhysXConfig.h
  • PX_VC : PxPreprocessor.h
  • PX_VMX : PxPreprocessor.h
  • PX_WEAK_SYMBOL : PxPreprocessor.h
  • PX_WIN32 : PxPreprocessor.h
  • PX_WIN64 : PxPreprocessor.h
  • PX_WINDOWS : PxPreprocessor.h
  • PX_WINDOWS_FAMILY : PxPreprocessor.h
  • PX_X64 : PxPreprocessor.h
  • PX_X86 : PxPreprocessor.h
  • PX_XBOXONE : PxPreprocessor.h
  • PxAbs() : PxMath.h
  • PxAcos() : PxMath.h
  • PxActorClientBehaviorFlags : PxClient.h
  • PxActorFlags : PxActor.h
  • PxActorTypeFlags : PxScene.h
  • PxAgain : PxQueryReport.h
  • PxAsin() : PxMath.h
  • PxAtan() : PxMath.h
  • PxAtan2() : PxMath.h
  • PxBaseFlags : PxBase.h
  • PxBatchConstraints() : PxImmediateMode.h
  • PxBatchQueryPostFilterShader : PxQueryFiltering.h
  • PxBatchQueryPreFilterShader : PxQueryFiltering.h
  • PxBinaryMetaDataCallback : PxSerialFramework.h
  • PxBitAndByte : PxBitAndData.h
  • PxBitAndDword : PxBitAndData.h
  • PxBitAndWord : PxBitAndData.h
  • PxBuildSmoothNormals() : PxSmoothNormals.h
  • PXC_CONTACT_NO_FACE_INDEX : PxContact.h
  • PxCeil() : PxMath.h
  • PxClamp() : PxMath.h
  • PxClientBehaviorFlags : PxClient.h
  • PxClientID : PxClient.h
  • PxCloneDynamic() : PxSimpleFactory.h
  • PxCloneShape() : PxSimpleFactory.h
  • PxCloneStatic() : PxSimpleFactory.h
  • PxCloseExtensions() : PxExtensionsAPI.h
  • PxCloseVehicleSDK() : PxVehicleSDK.h
  • PxClothFabricCreate() : PxClothFabricCooker.h
  • PxClothFlags : PxClothTypes.h
  • PxComputeHeightFieldPenetration() : PxTriangleMeshExt.h
  • PxComputeMeshPenetration() : PxTriangleMeshExt.h
  • PxComputeTriangleMeshPenetration() : PxTriangleMeshExt.h
  • PxConstraintFlags : PxConstraint.h
  • PxConstraintProject : PxConstraintDesc.h
  • PxConstraintSolverPrep : PxConstraintDesc.h
  • PxConstraintVisualize : PxConstraintDesc.h
  • PxConstructSolverBodies() : PxImmediateMode.h
  • PxConstructStaticSolverBody() : PxImmediateMode.h
  • PxContactPairFlags : PxSimulationEventCallback.h
  • PxContactPairHeaderFlags : PxSimulationEventCallback.h
  • PxControllerBehaviorFlags : PxControllerBehavior.h
  • PxControllerCollisionFlags : PxController.h
  • PxControllerDebugRenderFlags : PxControllerManager.h
  • PxConvexFlags : PxConvexMeshDesc.h
  • PxConvexMeshGeometryFlags : PxConvexMeshGeometry.h
  • PxCos() : PxMath.h
  • PxCreateBasePhysics() : PxPhysics.h
  • PxCreateCollection() : PxCollection.h
  • PxCreateContactConstraints() : PxImmediateMode.h
  • PxCreateControllerManager() : PxControllerManager.h
  • PxCreateCooking() : PxCooking.h
  • PxCreateDynamic() : PxSimpleFactory.h
  • PxCreateFoundation() : PxFoundation.h
  • PxCreateJointConstraints() : PxImmediateMode.h
  • PxCreateJointConstraintsWithShaders() : PxImmediateMode.h
  • PxCreateKinematic() : PxSimpleFactory.h
  • PxCreatePhysics() : PxPhysics.h
  • PxCreatePlane() : PxSimpleFactory.h
  • PxCreatePvd() : PxPvd.h
  • PxCreateRepXObject() : PxRepXSerializer.h
  • PxCreateSpatialIndex() : PxSpatialIndex.h
  • PxCreateStatic() : PxSimpleFactory.h
  • PxD6JointCreate() : PxD6Joint.h
  • PxD6JointDriveFlags : PxD6Joint.h
  • PxDataAccessFlags : PxLockedData.h
  • PxDefaultCpuDispatcherCreate() : PxDefaultCpuDispatcher.h
  • PxDefaultPvdFileTransportCreate() : PxPvdTransport.h
  • PxDefaultPvdSocketTransportCreate() : PxPvdTransport.h
  • PxDefaultSimulationFilterShader() : PxDefaultSimulationFilterShader.h
  • PxDeletionEventFlags : PxDeletionListener.h
  • PxDiagonalize() : PxMathUtils.h
  • PxDistanceJointCreate() : PxDistanceJoint.h
  • PxDistanceJointFlags : PxDistanceJoint.h
  • PxDominanceGroup : PxActor.h , PxScene.h
  • PxEmpty : Px.h
  • PxEMPTY : Px.h
  • PxEquals() : PxMath.h
  • PxExp() : PxMath.h
  • PxExtended : PxExtended.h
  • PxExtendedAbs : PxExtended.h
  • PxFileHandle : PxDefaultStreams.h
  • PxFilterFlags : PxFiltering.h
  • PxFilterObjectAttributes : PxFiltering.h
  • PxFilterObjectIsKinematic() : PxFiltering.h
  • PxFilterObjectIsTrigger() : PxFiltering.h
  • PxFindFaceIndex() : PxConvexMeshExt.h
  • PxFixedJointCreate() : PxFixedJoint.h
  • PxFloor() : PxMath.h
  • PxGenerateContacts() : PxImmediateMode.h
  • PxGetAssertHandler() : PxAssert.h
  • PxGetFilterBool() : PxDefaultSimulationFilterShader.h
  • PxGetFilterConstants() : PxDefaultSimulationFilterShader.h
  • PxGetFilterObjectType() : PxFiltering.h
  • PxGetFilterOps() : PxDefaultSimulationFilterShader.h
  • PxGetFoundation() : PxFoundation.h
  • PxGetGaussMapVertexLimitForPlatform() : PxCooking.h
  • PxGetGroup() : PxDefaultSimulationFilterShader.h
  • PxGetGroupCollisionFlag() : PxDefaultSimulationFilterShader.h
  • PxGetGroupsMask() : PxDefaultSimulationFilterShader.h
  • PxGetPhysics() : PxPhysics.h
  • PxGetProfilerCallback() : PxFoundation.h
  • PxHalfPi : PxMath.h
  • PxHeightFieldFlags : PxHeightFieldFlag.h
  • PxIdentity : Px.h
  • PxIDENTITY : Px.h
  • PxInitExtensions() : PxExtensionsAPI.h
  • PxInitVehicleSDK() : PxVehicleSDK.h
  • PxIntegrateSolverBodies() : PxImmediateMode.h
  • PxInvPi : PxMath.h
  • PxInvTwoPi : PxMath.h
  • PxIsFinite() : PxMath.h
  • PxLog() : PxMath.h
  • PxMakeIterator() : PxStrideIterator.h
  • PxMaterialFlags : PxMaterial.h
  • PxMaterialTableIndex : PxPhysXCommonConfig.h
  • PxMax() : PxMath.h
  • PxMemCopy() : PxMemory.h
  • PxMemMove() : PxMemory.h
  • PxMemSet() : PxMemory.h
  • PxMemZero() : PxMemory.h
  • PxMeshFlags : PxSimpleTriangleMesh.h
  • PxMeshGeometryFlags : PxTriangleMeshGeometry.h
  • PxMeshPreprocessingFlags : PxCooking.h
  • PxMin() : PxMath.h
  • PxOverlapBuffer : PxQueryReport.h
  • PxOverlapCallback : PxQueryReport.h
  • PxOverlapQueryResult : PxBatchQueryDesc.h
  • PxPairFlags : PxFiltering.h
  • PxParticleBaseFlags : PxParticleBaseFlag.h
  • PxParticleFlags : PxParticleReadData.h
  • PxParticleReadDataFlags : PxParticleReadData.h
  • PxPi : PxMath.h
  • PxPiDivFour : PxMath.h
  • PxPiDivTwo : PxMath.h
  • PxPlaneEquationFromTransform() : PxPlaneGeometry.h
  • PxPow() : PxMath.h
  • PxPrismaticJointCreate() : PxPrismaticJoint.h
  • PxPrismaticJointFlags : PxPrismaticJoint.h
  • PxPvdInstrumentationFlags : PxPvd.h
  • PxPvdSceneFlags : PxPvdSceneClient.h
  • PxQueryFlags : PxQueryFiltering.h
  • PxRaycastBuffer : PxQueryReport.h
  • PxRaycastCallback : PxQueryReport.h
  • PxRaycastQueryResult : PxBatchQueryDesc.h
  • PxRecipSqrt() : PxMath.h
  • PxRegisterArticulations() : PxPhysics.h
  • PxRegisterCloth() : PxPhysics.h
  • PxRegisterHeightFields() : PxPhysics.h
  • PxRegisterLegacyHeightFields() : PxPhysics.h
  • PxRegisterParticles() : PxPhysics.h
  • PxRegisterUnifiedHeightFields() : PxPhysics.h
  • PxRevoluteJointCreate() : PxRevoluteJoint.h
  • PxRevoluteJointFlags : PxRevoluteJoint.h
  • PxRigidBodyFlags : PxRigidBody.h
  • PxRigidDynamicLockFlags : PxRigidDynamic.h
  • PxScaleRigidActor() : PxSimpleFactory.h
  • PxSceneFlags : PxSceneDesc.h
  • PxSceneQueryCache : PxSceneQueryExt.h
  • PxSceneQueryFilterCallback : PxSceneQueryExt.h
  • PxSceneQueryFilterData : PxSceneQueryExt.h
  • PxSceneQueryFlag : PxSceneQueryExt.h
  • PxSceneQueryFlags : PxSceneQueryExt.h
  • PxSceneQueryHit : PxSceneQueryExt.h
  • PxSerialObjectId : PxSerialFramework.h
  • PxSetAssertHandler() : PxAssert.h
  • PxSetFilterBool() : PxDefaultSimulationFilterShader.h
  • PxSetFilterConstants() : PxDefaultSimulationFilterShader.h
  • PxSetFilterOps() : PxDefaultSimulationFilterShader.h
  • PxSetGroup() : PxDefaultSimulationFilterShader.h
  • PxSetGroupCollisionFlag() : PxDefaultSimulationFilterShader.h
  • PxSetGroupsMask() : PxDefaultSimulationFilterShader.h
  • PxSetJointGlobalFrame() : PxJoint.h
  • PxSetProfilerCallback() : PxFoundation.h
  • PxShapeFlags : PxShape.h
  • PxShortestRotation() : PxMathUtils.h
  • PxSign() : PxMath.h
  • PxSimulationFilterShader : PxFiltering.h
  • PxSin() : PxMath.h
  • PxSolveConstraints() : PxImmediateMode.h
  • PxSpatialIndexItemId : PxSpatialIndex.h
  • PxSphericalJointCreate() : PxSphericalJoint.h
  • PxSphericalJointFlags : PxSphericalJoint.h
  • PxSqrt() : PxMath.h
  • PxSweepBuffer : PxQueryReport.h
  • PxSweepCallback : PxQueryReport.h
  • PxSweepQueryResult : PxBatchQueryDesc.h
  • PxTan() : PxMath.h
  • PxTransformFromPlaneEquation() : PxPlaneGeometry.h
  • PxTransformFromSegment() : PxCapsuleGeometry.h
  • PxTriangleID : PxPhysXCommonConfig.h
  • PxTriangleMeshFlags : PxTriangleMesh.h
  • PxTriggerPairFlags : PxSimulationEventCallback.h
  • PxTwoPi : PxMath.h
  • PxType : PxSerialFramework.h , PxBase.h
  • PxU32 : Px.h
  • PxUnionCast() : PxUnionCast.h
  • PxVehicle4WEnable3WDeltaMode() : PxVehicleUtilSetup.h
  • PxVehicle4WEnable3WTadpoleMode() : PxVehicleUtilSetup.h
  • PxVehicleComputeSprungMasses() : PxVehicleUtilSetup.h
  • PxVehicleComputeTireForce : PxVehicleShaders.h
  • PxVehicleCopyDynamicsData() : PxVehicleUtilSetup.h
  • PxVehicleDrive4WSmoothAnalogRawInputsAndSetAnalogInputs() : PxVehicleUtilControl.h
  • PxVehicleDrive4WSmoothDigitalRawInputsAndSetAnalogInputs() : PxVehicleUtilControl.h
  • PxVehicleDriveNWSmoothAnalogRawInputsAndSetAnalogInputs() : PxVehicleUtilControl.h
  • PxVehicleDriveNWSmoothDigitalRawInputsAndSetAnalogInputs() : PxVehicleUtilControl.h
  • PxVehicleDriveTankSmoothAnalogRawInputsAndSetAnalogInputs() : PxVehicleUtilControl.h
  • PxVehicleDriveTankSmoothDigitalRawInputsAndSetAnalogInputs() : PxVehicleUtilControl.h
  • PxVehicleIsInAir() : PxVehicleUtil.h
  • PxVehicleModifyWheelContacts() : PxVehicleUpdate.h
  • PxVehiclePostUpdates() : PxVehicleUpdate.h
  • PxVehicleSetBasisVectors() : PxVehicleSDK.h
  • PxVehicleSetMaxHitActorAcceleration() : PxVehicleSDK.h
  • PxVehicleSetSweepHitRejectionAngles() : PxVehicleSDK.h
  • PxVehicleSetUpdateMode() : PxVehicleSDK.h
  • PxVehicleShiftOrigin() : PxVehicleUpdate.h
  • PxVehicleSuspensionRaycasts() : PxVehicleUpdate.h
  • PxVehicleSuspensionSweeps() : PxVehicleUpdate.h
  • PxVehicleUpdateCMassLocalPose() : PxVehicleUtilSetup.h
  • PxVehicleUpdates() : PxVehicleUpdate.h
  • PxZero : Px.h
  • PxZERO : Px.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • c
  • i
  • o
  • p
  • t
Here is a list of all file members with links to the files they belong to:

- t -

  • toVec3() : PxExtended.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • i
  • p

- _ -

  • __STDC_FORMAT_MACROS : PxSimpleTypes.h

- i -

  • INVALID_OBSTACLE_HANDLE : PxControllerObstacles.h

- p -

  • PX_A64 : PxPreprocessor.h
  • PX_ALIGN : PxPreprocessor.h
  • PX_ALIGN_PREFIX : PxPreprocessor.h
  • PX_ALIGN_SUFFIX : PxPreprocessor.h
  • PX_ALWAYS_ASSERT : PxAssert.h
  • PX_ALWAYS_ASSERT_MESSAGE : PxAssert.h
  • PX_ANDROID : PxPreprocessor.h
  • PX_APPLE_FAMILY : PxPreprocessor.h
  • PX_ARM : PxPreprocessor.h
  • PX_ARM_FAMILY : PxPreprocessor.h
  • PX_ASSERT : PxAssert.h
  • PX_ASSERT_WITH_MESSAGE : PxAssert.h
  • PX_BIG_WORLDS : PxExtended.h
  • PX_BINARY_SERIAL_VERSION : PxSerialization.h
  • PX_C_EXPORT : Pxc.h
  • PX_CHECKED : PxPreprocessor.h
  • PX_CLANG : PxPreprocessor.h
  • PX_COMPILE_TIME_ASSERT : PxPreprocessor.h
  • PX_CONCAT : PxPreprocessor.h
  • PX_CONCAT_HELPER : PxPreprocessor.h
  • PX_CUDA_CALLABLE : PxPreprocessor.h
  • PX_DEBUG : PxPreprocessor.h
  • PX_DEBUG_VEHICLE_ON : PxVehicleSDK.h
  • PX_DEF_BIN_METADATA_BASE_CLASS : PxMetaData.h
  • PX_DEF_BIN_METADATA_CLASS : PxMetaData.h
  • PX_DEF_BIN_METADATA_EXTRA_ALIGN : PxMetaData.h
  • PX_DEF_BIN_METADATA_EXTRA_ARRAY : PxMetaData.h
  • PX_DEF_BIN_METADATA_EXTRA_ITEM : PxMetaData.h
  • PX_DEF_BIN_METADATA_EXTRA_ITEMS : PxMetaData.h
  • PX_DEF_BIN_METADATA_EXTRA_ITEMS_MASKED_CONTROL : PxMetaData.h
  • PX_DEF_BIN_METADATA_EXTRA_NAME : PxMetaData.h
  • PX_DEF_BIN_METADATA_ITEM : PxMetaData.h
  • PX_DEF_BIN_METADATA_ITEMS : PxMetaData.h
  • PX_DEF_BIN_METADATA_ITEMS_AUTO : PxMetaData.h
  • PX_DEF_BIN_METADATA_TYPEDEF : PxMetaData.h
  • PX_DEF_BIN_METADATA_UNION : PxMetaData.h
  • PX_DEF_BIN_METADATA_UNION_TYPE : PxMetaData.h
  • PX_DEF_BIN_METADATA_VCLASS : PxMetaData.h
  • PX_DEFINE_TYPEINFO : PxTypeInfo.h
  • PX_DELETE_REPX_SERIALIZER : PxRepXSerializer.h
  • PX_DELETE_SERIALIZER_ADAPTER : PxSerializer.h
  • PX_DEPRECATED : PxPreprocessor.h
  • PX_DLL_EXPORT : PxPreprocessor.h
  • PX_DLL_IMPORT : PxPreprocessor.h
  • PX_DUMMY_SYMBOL : PxPreprocessor.h
  • PX_EMSCRIPTEN : PxPreprocessor.h
  • PX_ENABLE_ASSERTS : PxPreprocessor.h
  • PX_ENABLE_DYNAMIC_MESH_RTREE : PxTriangleMesh.h
  • PX_EPS_F32 : PxSimpleTypes.h
  • PX_EPS_F64 : PxSimpleTypes.h
  • PX_EPS_REAL : PxSimpleTypes.h
  • PX_FLAGS_OPERATORS : PxFlags.h
  • PX_FLAGS_TYPEDEF : PxFlags.h
  • PX_FORCE_INLINE : PxPreprocessor.h
  • PX_FOUNDATION_VERSION : PxFoundationVersion.h
  • PX_FOUNDATION_VERSION_BUGFIX : PxFoundationVersion.h
  • PX_FOUNDATION_VERSION_MAJOR : PxFoundationVersion.h
  • PX_FOUNDATION_VERSION_MINOR : PxFoundationVersion.h
  • PX_GCC : PxPreprocessor.h
  • PX_GCC_FAMILY : PxPreprocessor.h
  • PX_INLINE : PxPreprocessor.h
  • PX_INTEL_FAMILY : PxPreprocessor.h
  • PX_IOS : PxPreprocessor.h
  • PX_LIBCPP : PxPreprocessor.h
  • PX_LINUX : PxPreprocessor.h
  • PX_LINUX_FAMILY : PxPreprocessor.h
  • PX_MAKE_FOURCC : PxSerialFramework.h
  • PX_MAX_BOUNDS_EXTENTS : PxBounds3.h
  • PX_MAX_EXTENDED : PxExtended.h
  • PX_MAX_F32 : PxSimpleTypes.h
  • PX_MAX_F64 : PxSimpleTypes.h
  • PX_MAX_I16 : PxSimpleTypes.h
  • PX_MAX_I32 : PxSimpleTypes.h
  • PX_MAX_I8 : PxSimpleTypes.h
  • PX_MAX_NB_WHEELS : PxVehicleSDK.h
  • PX_MAX_REAL : PxSimpleTypes.h
  • PX_MAX_SWEEP_DISTANCE : PxGeometryQuery.h
  • PX_MAX_U16 : PxSimpleTypes.h
  • PX_MAX_U32 : PxSimpleTypes.h
  • PX_MAX_U8 : PxSimpleTypes.h
  • PX_MESH_SCALE_MAX : PxMeshScale.h
  • PX_MESH_SCALE_MIN : PxMeshScale.h
  • PX_MICROSOFT_FAMILY : PxPreprocessor.h
  • PX_MIN_HEIGHTFIELD_XZ_SCALE : PxHeightFieldGeometry.h
  • PX_MIN_HEIGHTFIELD_Y_SCALE : PxHeightFieldGeometry.h
  • PX_MIN_I16 : PxSimpleTypes.h
  • PX_MIN_I32 : PxSimpleTypes.h
  • PX_MIN_I8 : PxSimpleTypes.h
  • PX_MIN_U16 : PxSimpleTypes.h
  • PX_MIN_U32 : PxSimpleTypes.h
  • PX_MIN_U8 : PxSimpleTypes.h
  • PX_NEON : PxPreprocessor.h
  • PX_NEW_REPX_SERIALIZER : PxRepXSerializer.h
  • PX_NEW_SERIALIZER_ADAPTER : PxSerializer.h
  • PX_NOALIAS : PxPreprocessor.h
  • PX_NOCOPY : PxPreprocessor.h
  • PX_NOINLINE : PxPreprocessor.h
  • PX_NORMALIZATION_EPSILON : PxSimpleTypes.h
  • PX_NVTX : PxPreprocessor.h
  • PX_OFFSET_OF : PxPreprocessor.h
  • PX_OFFSET_OF_RT : PxPreprocessor.h
  • PX_OFFSETOF_BASE : PxPreprocessor.h
  • PX_OSX : PxPreprocessor.h
  • PX_P64_FAMILY : PxPreprocessor.h
  • PX_PHYSICS_VERSION : PxPhysicsVersion.h
  • PX_PHYSICS_VERSION_BUGFIX : PxPhysicsVersion.h
  • PX_PHYSICS_VERSION_MAJOR : PxPhysicsVersion.h
  • PX_PHYSICS_VERSION_MINOR : PxPhysicsVersion.h
  • PX_PHYSX_CHARACTER_API : PxCharacter.h
  • PX_PHYSX_COMMON_API : PxPhysXCommonConfig.h
  • PX_PHYSX_COOKING_API : Pxc.h
  • PX_PHYSX_CORE_API : PxPhysXCommonConfig.h
  • PX_PHYSX_GPU_API : PxPhysXCommonConfig.h
  • PX_POP_PACK : PxPreprocessor.h
  • PX_PPC : PxPreprocessor.h
  • PX_PRIu64 : PxSimpleTypes.h
  • PX_PROFILE : PxPreprocessor.h
  • PX_PROFILE_POINTER_TO_U64 : PxProfiler.h
  • PX_PROFILE_START_CROSSTHREAD : PxProfiler.h
  • PX_PROFILE_STOP_CROSSTHREAD : PxProfiler.h
  • PX_PROFILE_ZONE : PxProfiler.h
  • PX_PS4 : PxPreprocessor.h
  • PX_PUSH_PACK_DEFAULT : PxPreprocessor.h
  • PX_RESTRICT : PxPreprocessor.h
  • PX_SERIAL_ALIGN : PxSerialFramework.h
  • PX_SERIAL_FILE_ALIGN : PxSerialFramework.h
  • PX_SERIAL_OBJECT_ID_INVALID : PxSerialFramework.h
  • PX_SERIAL_REF_KIND_MATERIAL_IDX : PxSerialFramework.h
  • PX_SERIAL_REF_KIND_PTR_TYPE_BIT : PxSerialFramework.h
  • PX_SERIAL_REF_KIND_PXBASE : PxSerialFramework.h
  • PX_SIZE_OF : PxMetaData.h
  • PX_SSE2 : PxPreprocessor.h
  • PX_STORE_METADATA : PxMetaData.h
  • PX_STRINGIZE : PxPreprocessor.h
  • PX_STRINGIZE_HELPER : PxPreprocessor.h
  • PX_SUPPORT_COMPUTE_PHYSX : PxPreprocessor.h
  • PX_SUPPORT_EXTERN_TEMPLATE : PxPreprocessor.h
  • PX_SUPPORT_GPU_PHYSX : PxPreprocessor.h
  • PX_SUPPORT_PXTASK_PROFILING : PxTaskDefine.h
  • PX_SWITCH : PxPreprocessor.h
  • PX_UNIX_EXPORT : PxPreprocessor.h
  • PX_UNIX_FAMILY : PxPreprocessor.h
  • PX_USE_CLOTH_API : PxPhysXConfig.h
  • PX_USE_PARTICLE_SYSTEM_API : PxPhysXConfig.h
  • PX_VC : PxPreprocessor.h
  • PX_VMX : PxPreprocessor.h
  • PX_WEAK_SYMBOL : PxPreprocessor.h
  • PX_WIN32 : PxPreprocessor.h
  • PX_WIN64 : PxPreprocessor.h
  • PX_WINDOWS : PxPreprocessor.h
  • PX_WINDOWS_FAMILY : PxPreprocessor.h
  • PX_X64 : PxPreprocessor.h
  • PX_X86 : PxPreprocessor.h
  • PX_XBOXONE : PxPreprocessor.h
  • PXC_CONTACT_NO_FACE_INDEX : PxContact.h
  • PxExtendedAbs : PxExtended.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines

  • PxEMPTY : Px.h
  • PxIDENTITY : Px.h
  • PxZERO : Px.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines

  • PxEmpty : Px.h
  • PxIdentity : Px.h
  • PxZero : Px.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • o
  • p
  • t

- o -

  • operator*() : PxVec2.h , PxVec3.h , PxVec4.h
  • operator+() : PxStrideIterator.h

- p -

  • platformAlignedAlloc() : PxDefaultAllocator.h
  • platformAlignedFree() : PxDefaultAllocator.h
  • PX_COMPILE_TIME_ASSERT() : PxQueryFiltering.h , PxVehicleComponents.h , PxQueryFiltering.h , PxPreprocessor.h
  • PX_UNUSED() : PxPreprocessor.h
  • PxAbs() : PxMath.h
  • PxAcos() : PxMath.h
  • PxAsin() : PxMath.h
  • PxAtan() : PxMath.h
  • PxAtan2() : PxMath.h
  • PxBatchConstraints() : PxImmediateMode.h
  • PxBuildSmoothNormals() : PxSmoothNormals.h
  • PxCeil() : PxMath.h
  • PxClamp() : PxMath.h
  • PxCloneDynamic() : PxSimpleFactory.h
  • PxCloneShape() : PxSimpleFactory.h
  • PxCloneStatic() : PxSimpleFactory.h
  • PxCloseExtensions() : PxExtensionsAPI.h
  • PxCloseVehicleSDK() : PxVehicleSDK.h
  • PxClothFabricCreate() : PxClothFabricCooker.h
  • PxComputeHeightFieldPenetration() : PxTriangleMeshExt.h
  • PxComputeMeshPenetration() : PxTriangleMeshExt.h
  • PxComputeTriangleMeshPenetration() : PxTriangleMeshExt.h
  • PxConstructSolverBodies() : PxImmediateMode.h
  • PxConstructStaticSolverBody() : PxImmediateMode.h
  • PxCos() : PxMath.h
  • PxCreateBasePhysics() : PxPhysics.h
  • PxCreateCollection() : PxCollection.h
  • PxCreateContactConstraints() : PxImmediateMode.h
  • PxCreateControllerManager() : PxControllerManager.h
  • PxCreateCooking() : PxCooking.h
  • PxCreateDynamic() : PxSimpleFactory.h
  • PxCreateFoundation() : PxFoundation.h
  • PxCreateJointConstraints() : PxImmediateMode.h
  • PxCreateJointConstraintsWithShaders() : PxImmediateMode.h
  • PxCreateKinematic() : PxSimpleFactory.h
  • PxCreatePhysics() : PxPhysics.h
  • PxCreatePlane() : PxSimpleFactory.h
  • PxCreatePvd() : PxPvd.h
  • PxCreateRepXObject() : PxRepXSerializer.h
  • PxCreateSpatialIndex() : PxSpatialIndex.h
  • PxCreateStatic() : PxSimpleFactory.h
  • PxD6JointCreate() : PxD6Joint.h
  • PxDefaultCpuDispatcherCreate() : PxDefaultCpuDispatcher.h
  • PxDefaultPvdFileTransportCreate() : PxPvdTransport.h
  • PxDefaultPvdSocketTransportCreate() : PxPvdTransport.h
  • PxDefaultSimulationFilterShader() : PxDefaultSimulationFilterShader.h
  • PxDiagonalize() : PxMathUtils.h
  • PxDistanceJointCreate() : PxDistanceJoint.h
  • PxEquals() : PxMath.h
  • PxExp() : PxMath.h
  • PxFilterObjectIsKinematic() : PxFiltering.h
  • PxFilterObjectIsTrigger() : PxFiltering.h
  • PxFindFaceIndex() : PxConvexMeshExt.h
  • PxFixedJointCreate() : PxFixedJoint.h
  • PxFloor() : PxMath.h
  • PxGenerateContacts() : PxImmediateMode.h
  • PxGetAssertHandler() : PxAssert.h
  • PxGetFilterBool() : PxDefaultSimulationFilterShader.h
  • PxGetFilterConstants() : PxDefaultSimulationFilterShader.h
  • PxGetFilterObjectType() : PxFiltering.h
  • PxGetFilterOps() : PxDefaultSimulationFilterShader.h
  • PxGetFoundation() : PxFoundation.h
  • PxGetGaussMapVertexLimitForPlatform() : PxCooking.h
  • PxGetGroup() : PxDefaultSimulationFilterShader.h
  • PxGetGroupCollisionFlag() : PxDefaultSimulationFilterShader.h
  • PxGetGroupsMask() : PxDefaultSimulationFilterShader.h
  • PxGetPhysics() : PxPhysics.h
  • PxGetProfilerCallback() : PxFoundation.h
  • PxInitExtensions() : PxExtensionsAPI.h
  • PxInitVehicleSDK() : PxVehicleSDK.h
  • PxIntegrateSolverBodies() : PxImmediateMode.h
  • PxIsFinite() : PxMath.h
  • PxLog() : PxMath.h
  • PxMakeIterator() : PxStrideIterator.h
  • PxMax() : PxMath.h
  • PxMemCopy() : PxMemory.h
  • PxMemMove() : PxMemory.h
  • PxMemSet() : PxMemory.h
  • PxMemZero() : PxMemory.h
  • PxMin() : PxMath.h
  • PxPlaneEquationFromTransform() : PxPlaneGeometry.h
  • PxPow() : PxMath.h
  • PxPrismaticJointCreate() : PxPrismaticJoint.h
  • PxRecipSqrt() : PxMath.h
  • PxRegisterArticulations() : PxPhysics.h
  • PxRegisterCloth() : PxPhysics.h
  • PxRegisterHeightFields() : PxPhysics.h
  • PxRegisterLegacyHeightFields() : PxPhysics.h
  • PxRegisterParticles() : PxPhysics.h
  • PxRegisterUnifiedHeightFields() : PxPhysics.h
  • PxRevoluteJointCreate() : PxRevoluteJoint.h
  • PxScaleRigidActor() : PxSimpleFactory.h
  • PxSetAssertHandler() : PxAssert.h
  • PxSetFilterBool() : PxDefaultSimulationFilterShader.h
  • PxSetFilterConstants() : PxDefaultSimulationFilterShader.h
  • PxSetFilterOps() : PxDefaultSimulationFilterShader.h
  • PxSetGroup() : PxDefaultSimulationFilterShader.h
  • PxSetGroupCollisionFlag() : PxDefaultSimulationFilterShader.h
  • PxSetGroupsMask() : PxDefaultSimulationFilterShader.h
  • PxSetJointGlobalFrame() : PxJoint.h
  • PxSetProfilerCallback() : PxFoundation.h
  • PxShortestRotation() : PxMathUtils.h
  • PxSign() : PxMath.h
  • PxSin() : PxMath.h
  • PxSolveConstraints() : PxImmediateMode.h
  • PxSphericalJointCreate() : PxSphericalJoint.h
  • PxSqrt() : PxMath.h
  • PxTan() : PxMath.h
  • PxTransformFromPlaneEquation() : PxPlaneGeometry.h
  • PxTransformFromSegment() : PxCapsuleGeometry.h
  • PxUnionCast() : PxUnionCast.h
  • PxVehicle4WEnable3WDeltaMode() : PxVehicleUtilSetup.h
  • PxVehicle4WEnable3WTadpoleMode() : PxVehicleUtilSetup.h
  • PxVehicleComputeSprungMasses() : PxVehicleUtilSetup.h
  • PxVehicleCopyDynamicsData() : PxVehicleUtilSetup.h
  • PxVehicleDrive4WSmoothAnalogRawInputsAndSetAnalogInputs() : PxVehicleUtilControl.h
  • PxVehicleDrive4WSmoothDigitalRawInputsAndSetAnalogInputs() : PxVehicleUtilControl.h
  • PxVehicleDriveNWSmoothAnalogRawInputsAndSetAnalogInputs() : PxVehicleUtilControl.h
  • PxVehicleDriveNWSmoothDigitalRawInputsAndSetAnalogInputs() : PxVehicleUtilControl.h
  • PxVehicleDriveTankSmoothAnalogRawInputsAndSetAnalogInputs() : PxVehicleUtilControl.h
  • PxVehicleDriveTankSmoothDigitalRawInputsAndSetAnalogInputs() : PxVehicleUtilControl.h
  • PxVehicleIsInAir() : PxVehicleUtil.h
  • PxVehicleModifyWheelContacts() : PxVehicleUpdate.h
  • PxVehiclePostUpdates() : PxVehicleUpdate.h
  • PxVehicleSetBasisVectors() : PxVehicleSDK.h
  • PxVehicleSetMaxHitActorAcceleration() : PxVehicleSDK.h
  • PxVehicleSetSweepHitRejectionAngles() : PxVehicleSDK.h
  • PxVehicleSetUpdateMode() : PxVehicleSDK.h
  • PxVehicleShiftOrigin() : PxVehicleUpdate.h
  • PxVehicleSuspensionRaycasts() : PxVehicleUpdate.h
  • PxVehicleSuspensionSweeps() : PxVehicleUpdate.h
  • PxVehicleUpdateCMassLocalPose() : PxVehicleUtilSetup.h
  • PxVehicleUpdates() : PxVehicleUpdate.h

- t -

  • toVec3() : PxExtended.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • c
  • o
  • p

- c -

  • CUstream : PxGpuDispatcher.h

- o -

  • ObstacleHandle : PxControllerObstacles.h

- p -

  • Px1DConstraintFlags : PxConstraintDesc.h
  • PxActorClientBehaviorFlags : PxClient.h
  • PxActorFlags : PxActor.h
  • PxActorTypeFlags : PxScene.h
  • PxAgain : PxQueryReport.h
  • PxBaseFlags : PxBase.h
  • PxBatchQueryPostFilterShader : PxQueryFiltering.h
  • PxBatchQueryPreFilterShader : PxQueryFiltering.h
  • PxBinaryMetaDataCallback : PxSerialFramework.h
  • PxBitAndByte : PxBitAndData.h
  • PxBitAndDword : PxBitAndData.h
  • PxBitAndWord : PxBitAndData.h
  • PxClientBehaviorFlags : PxClient.h
  • PxClientID : PxClient.h
  • PxClothFlags : PxClothTypes.h
  • PxConstraintFlags : PxConstraint.h
  • PxConstraintProject : PxConstraintDesc.h
  • PxConstraintSolverPrep : PxConstraintDesc.h
  • PxConstraintVisualize : PxConstraintDesc.h
  • PxContactPairFlags : PxSimulationEventCallback.h
  • PxContactPairHeaderFlags : PxSimulationEventCallback.h
  • PxControllerBehaviorFlags : PxControllerBehavior.h
  • PxControllerCollisionFlags : PxController.h
  • PxControllerDebugRenderFlags : PxControllerManager.h
  • PxConvexFlags : PxConvexMeshDesc.h
  • PxConvexMeshGeometryFlags : PxConvexMeshGeometry.h
  • PxD6JointDriveFlags : PxD6Joint.h
  • PxDataAccessFlags : PxLockedData.h
  • PxDeletionEventFlags : PxDeletionListener.h
  • PxDistanceJointFlags : PxDistanceJoint.h
  • PxDominanceGroup : PxScene.h , PxActor.h
  • PxExtended : PxExtended.h
  • PxFileHandle : PxDefaultStreams.h
  • PxFilterFlags : PxFiltering.h
  • PxFilterObjectAttributes : PxFiltering.h
  • PxHeightFieldFlags : PxHeightFieldFlag.h
  • PxMaterialFlags : PxMaterial.h
  • PxMaterialTableIndex : PxPhysXCommonConfig.h
  • PxMeshFlags : PxSimpleTriangleMesh.h
  • PxMeshGeometryFlags : PxTriangleMeshGeometry.h
  • PxMeshPreprocessingFlags : PxCooking.h
  • PxOverlapBuffer : PxQueryReport.h
  • PxOverlapCallback : PxQueryReport.h
  • PxOverlapQueryResult : PxBatchQueryDesc.h
  • PxPairFlags : PxFiltering.h
  • PxParticleBaseFlags : PxParticleBaseFlag.h
  • PxParticleFlags : PxParticleReadData.h
  • PxParticleReadDataFlags : PxParticleReadData.h
  • PxPrismaticJointFlags : PxPrismaticJoint.h
  • PxPvdInstrumentationFlags : PxPvd.h
  • PxPvdSceneFlags : PxPvdSceneClient.h
  • PxQueryFlags : PxQueryFiltering.h
  • PxRaycastBuffer : PxQueryReport.h
  • PxRaycastCallback : PxQueryReport.h
  • PxRaycastQueryResult : PxBatchQueryDesc.h
  • PxRevoluteJointFlags : PxRevoluteJoint.h
  • PxRigidBodyFlags : PxRigidBody.h
  • PxRigidDynamicLockFlags : PxRigidDynamic.h
  • PxSceneFlags : PxSceneDesc.h
  • PxSceneQueryCache : PxSceneQueryExt.h
  • PxSceneQueryFilterCallback : PxSceneQueryExt.h
  • PxSceneQueryFilterData : PxSceneQueryExt.h
  • PxSceneQueryFlag : PxSceneQueryExt.h
  • PxSceneQueryFlags : PxSceneQueryExt.h
  • PxSceneQueryHit : PxSceneQueryExt.h
  • PxSerialObjectId : PxSerialFramework.h
  • PxShapeFlags : PxShape.h
  • PxSimulationFilterShader : PxFiltering.h
  • PxSpatialIndexItemId : PxSpatialIndex.h
  • PxSphericalJointFlags : PxSphericalJoint.h
  • PxSweepBuffer : PxQueryReport.h
  • PxSweepCallback : PxQueryReport.h
  • PxSweepQueryResult : PxBatchQueryDesc.h
  • PxTriangleID : PxPhysXCommonConfig.h
  • PxTriangleMeshFlags : PxTriangleMesh.h
  • PxTriggerPairFlags : PxSimulationEventCallback.h
  • PxType : PxSerialFramework.h , PxBase.h
  • PxU32 : Px.h
  • PxVehicleComputeTireForce : PxVehicleShaders.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines

  • INVALID_FILTER_PAIR_INDEX : PxFiltering.h
  • PX_ALIGN_SUFFIX : PxConstraintDesc.h , PxContact.h , PxGeometryHelpers.h
  • PX_DEFAULT_CLIENT : PxClient.h
  • PX_MAX_CLIENTS : PxClient.h
  • PX_SPATIAL_INDEX_INVALID_ITEM_ID : PxSpatialIndex.h
  • PxHalfPi : PxMath.h
  • PxInvPi : PxMath.h
  • PxInvTwoPi : PxMath.h
  • PxPi : PxMath.h
  • PxPiDivFour : PxMath.h
  • PxPiDivTwo : PxMath.h
  • PxTwoPi : PxMath.h


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Graph Legend

Graph Legend

This page explains how to interpret the graphs that are generated by doxygen.

Consider the following example:

/*! Invisible class because of truncation */
class Invisible { };

/*! Truncated class, inheritance relation is hidden */
class Truncated : public Invisible { };

/* Class not documented with doxygen comments */
class Undocumented { };

/*! Class that is inherited using public inheritance */
class PublicBase : public Truncated { };

/*! A template class */
template<class T> class Templ { };

/*! Class that is inherited using protected inheritance */
class ProtectedBase { };

/*! Class that is inherited using private inheritance */
class PrivateBase { };

/*! Class that is used by the Inherited class */
class Used { };

/*! Super class that inherits a number of other classes */
class Inherited : public PublicBase,
                  protected ProtectedBase,
                  private PrivateBase,
                  public Undocumented,
                  public Templ<int>
{
  private:
    Used *m_usedClass;
};
This will result in the following graph:

The boxes in the above graph have the following meaning:

  • A filled gray box represents the struct or class for which the graph is generated.
  • A box with a black border denotes a documented struct or class.
  • A box with a grey border denotes an undocumented struct or class.
  • A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
The arrows have the following meaning:
  • A dark blue arrow is used to visualize a public inheritance relation between two classes.
  • A dark green arrow is used for protected inheritance.
  • A dark red arrow is used for private inheritance.
  • A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible.
  • A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance.


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Main Page

NVIDIA(R) PhysX(R) SDK 3.4 API Reference Documentation

  • Main Page
  • Related Pages
  • Modules
  • Namespaces
  • Classes
    • Class List
    • Class Index
    • Class Hierarchy
    • Class Members
  • Files
    • File List
    • File Members


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Class Members

  • All
  • Typedefs

  • PxF32 : physx
  • PxF64 : physx
  • PxI16 : physx
  • PxI32 : physx
  • PxI64 : physx
  • PxI8 : physx
  • PxReal : physx
  • PxTaskID : physx
  • PxU16 : physx
  • PxU32 : physx
  • PxU64 : physx
  • PxU8 : physx


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Page Index

Related Pages

Here is a list of all related documentation pages:
  • Deprecated List


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Px.h Source File

Px.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PXFOUNDATION_PX_H
00031 #define PXFOUNDATION_PX_H
00032
00037 #include "foundation/PxSimpleTypes.h"
00038
00040 #include <string.h>
00041 #include <stdlib.h>
00042
00043 #if !PX_DOXYGEN
00044 namespace physx
00045 {
00046 #endif
00047
00048 typedef uint32_t PxU32;
00049
00050 class PxAllocatorCallback;
00051 class PxErrorCallback;
00052 struct PxErrorCode;
00053 class PxAssertHandler;
00054
00055 class PxInputStream;
00056 class PxInputData;
00057 class PxOutputStream;
00058
00059 class PxVec2;
00060 class PxVec3;
00061 class PxVec4;
00062 class PxMat33;
00063 class PxMat44;
00064 class PxPlane;
00065 class PxQuat;
00066 class PxTransform;
00067 class PxBounds3;
00068
00070 enum PxEMPTY
00071 {
00072     PxEmpty
00073 };
00074
00076 enum PxZERO
00077 {
00078     PxZero
00079 };
00080
00082 enum PxIDENTITY
00083 {
00084     PxIdentity
00085 };
00086
00087 #if !PX_DOXYGEN
00088 } // namespace physx
00089 #endif
00090
00092 #endif // #ifndef PXFOUNDATION_PX_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxActor.h Source File

PxActor.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_ACTOR
00032 #define PX_PHYSICS_NX_ACTOR
00033
00038 #include "PxPhysXConfig.h"
00039 #include "foundation/PxBounds3.h"
00040 #include "PxClient.h"
00041 #include "common/PxBase.h"
00042
00043 #if !PX_DOXYGEN
00044 namespace physx
00045 {
00046 #endif
00047
00048 class PxRigidActor;
00049 class PxRigidBody;
00050 class PxRigidStatic;
00051 class PxRigidDynamic;
00052 class PxParticleBase;
00053 class PxParticleSystem;
00054 class PxParticleFluid;
00055 class PxArticulation;
00056 class PxArticulationLink;
00057
00058
00060 typedef PxU8 PxDominanceGroup;      // Must be < 32, PxU8.
00061
00067 struct PxActorFlag
00068 {
00069     enum Enum
00070     {
00076         eVISUALIZATION                  = (1<<0),
00077
00081         eDISABLE_GRAVITY                = (1<<1),
00082
00088         eSEND_SLEEP_NOTIFIES            = (1<<2),
00089
00106         eDISABLE_SIMULATION             = (1<<3)
00107     };
00108 };
00109
00115 typedef PxFlags<PxActorFlag::Enum,PxU8> PxActorFlags;
00116 PX_FLAGS_OPERATORS(PxActorFlag::Enum,PxU8)
00117
00118
00122 struct PxActorType
00123 {
00124     enum Enum
00125     {
00130         eRIGID_STATIC,
00131
00136         eRIGID_DYNAMIC,
00137
00138 #if PX_USE_PARTICLE_SYSTEM_API
00139
00144         ePARTICLE_SYSTEM PX_DEPRECATED,
00145
00151         ePARTICLE_FLUID PX_DEPRECATED,
00152 #endif
00153
00158         eARTICULATION_LINK,
00159
00160 #if PX_USE_CLOTH_API
00161
00166         eCLOTH PX_DEPRECATED,
00167 #endif
00168
00169         //brief internal use only!
00170         eACTOR_COUNT,
00171
00172         eACTOR_FORCE_DWORD = 0x7fffffff
00173     };
00174 };
00175
00182 class PxActor : public PxBase
00183 {
00184 public:
00194     virtual     void            release() = 0;
00195
00203     virtual     PxActorType::Enum   getType()   const = 0;
00204
00212     virtual     PxScene*        getScene()  const = 0;
00213
00214     // Runtime modifications
00215
00228     virtual     void            setName(const char* name)       = 0;
00229
00237     virtual     const char*     getName()           const   = 0;
00238
00248     virtual     PxBounds3       getWorldBounds(float inflation=1.01f) const = 0;
00249
00264     virtual     void            setActorFlag(PxActorFlag::Enum flag, bool value) = 0;
00271     virtual     void            setActorFlags( PxActorFlags inFlags ) = 0;
00272
00282     virtual     PxActorFlags    getActorFlags() const = 0;
00283
00300     virtual     void            setDominanceGroup(PxDominanceGroup dominanceGroup)       = 0;
00301
00309     virtual     PxDominanceGroup    getDominanceGroup() const = 0;
00310
00311
00321     virtual     void            setOwnerClient( PxClientID inClient ) = 0;
00322
00330     virtual     PxClientID      getOwnerClient() const = 0;
00331
00347     PX_DEPRECATED virtual       void            setClientBehaviorFlags(PxActorClientBehaviorFlags) = 0;
00348
00358     PX_DEPRECATED virtual       PxActorClientBehaviorFlags  getClientBehaviorFlags()    const = 0;
00359
00367     virtual     PxAggregate*    getAggregate()  const = 0;
00368
00369     //public variables:
00370                 void*           userData;
00371
00372
00373 protected:
00374     PX_INLINE                   PxActor(PxType concreteType, PxBaseFlags baseFlags) : PxBase(concreteType, baseFlags), userData(NULL) {}
00375     PX_INLINE                   PxActor(PxBaseFlags baseFlags) : PxBase(baseFlags) {}
00376     virtual                     ~PxActor()  {}
00377     virtual     bool            isKindOf(const char* name)  const       {   return !::strcmp("PxActor", name) || PxBase::isKindOf(name); }
00378
00379
00380 };
00381
00382 #if !PX_DOXYGEN
00383 } // namespace physx
00384 #endif
00385
00387 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxAggregate.h Source File

PxAggregate.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_AGGREGATE
00032 #define PX_PHYSICS_NX_AGGREGATE
00033
00038 #include "PxPhysXConfig.h"
00039 #include "common/PxBase.h"
00040
00041
00042 #if !PX_DOXYGEN
00043 namespace physx
00044 {
00045 #endif
00046
00047 class PxActor;
00048
00069 class PxAggregate : public PxBase
00070 {
00071 public:
00072
00081     virtual void        release()               = 0;
00082
00097     virtual bool        addActor(PxActor& actor)        = 0;
00098
00110     virtual bool        removeActor(PxActor& actor)     = 0;
00111
00126     virtual bool        addArticulation(PxArticulation& articulation) = 0;
00127
00139     virtual bool        removeArticulation(PxArticulation& articulation) = 0;
00140
00150     virtual PxU32       getNbActors() const = 0;
00151
00159     virtual PxU32       getMaxNbActors() const = 0;
00160
00173     virtual PxU32       getActors(PxActor** userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const = 0;
00174
00182     virtual PxScene*    getScene()  = 0;
00183
00189     virtual bool        getSelfCollision()  const   = 0;
00190
00191     virtual const char* getConcreteTypeName() const { return "PxAggregate"; }
00192
00193 protected:
00194     PX_INLINE           PxAggregate(PxType concreteType, PxBaseFlags baseFlags) : PxBase(concreteType, baseFlags) {}
00195     PX_INLINE           PxAggregate(PxBaseFlags baseFlags) : PxBase(baseFlags) {}
00196     virtual             ~PxAggregate() {}
00197     virtual bool        isKindOf(const char* name) const { return !::strcmp("PxAggregate", name) || PxBase::isKindOf(name); }
00198 };
00199
00200 #if !PX_DOXYGEN
00201 } // namespace physx
00202 #endif
00203
00205 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxAllocatorCallback.h Source File

PxAllocatorCallback.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PXFOUNDATION_PXALLOCATORCALLBACK_H
00031 #define PXFOUNDATION_PXALLOCATORCALLBACK_H
00032
00037 #include "foundation/Px.h"
00038 #if !PX_DOXYGEN
00039 namespace physx
00040 {
00041 #endif
00042
00052 class PxAllocatorCallback
00053 {
00054   public:
00058     virtual ~PxAllocatorCallback()
00059     {
00060     }
00061
00077     virtual void* allocate(size_t size, const char* typeName, const char* filename, int line) = 0;
00078
00087     virtual void deallocate(void* ptr) = 0;
00088 };
00089
00090 #if !PX_DOXYGEN
00091 } // namespace physx
00092 #endif
00093
00095 #endif // #ifndef PXFOUNDATION_PXALLOCATORCALLBACK_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxArticulation.h Source File

PxArticulation.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_ARTICULATION
00032 #define PX_PHYSICS_NX_ARTICULATION
00033
00036 #include "PxPhysXConfig.h"
00037 #include "common/PxBase.h"
00038
00039 #if !PX_DOXYGEN
00040 namespace physx
00041 {
00042 #endif
00043
00044 class PxArticulationLink;
00045
00053 class PxArticulationDriveCache
00054 {
00055 protected:
00056     PxArticulationDriveCache();
00057 };
00058
00069 class PxArticulation : public PxBase
00070 {
00071 public:
00079     virtual     void            release() = 0;
00080
00088     virtual     PxScene*        getScene()  const = 0;
00089
00090
00103     virtual     void            setMaxProjectionIterations(PxU32 iterations) = 0;
00104
00113     virtual     PxU32           getMaxProjectionIterations() const = 0;
00114
00126     virtual     void            setSeparationTolerance(PxReal tolerance) = 0;
00127
00136     virtual     PxReal          getSeparationTolerance() const = 0;
00137
00138
00151     virtual     void            setInternalDriveIterations(PxU32 iterations) = 0;
00152
00161     virtual     PxU32           getInternalDriveIterations() const = 0;
00162
00163
00177     virtual     void            setExternalDriveIterations(PxU32 iterations) = 0;
00178
00187     virtual     PxU32           getExternalDriveIterations() const = 0;
00188
00189
00190
00207     virtual     void                setSolverIterationCounts(PxU32 minPositionIters, PxU32 minVelocityIters = 1) = 0;
00208
00214     virtual     void                getSolverIterationCounts(PxU32 & minPositionIters, PxU32 & minVelocityIters) const = 0;
00215
00248     virtual     bool                isSleeping() const = 0;
00249
00259     virtual     void                setSleepThreshold(PxReal threshold) = 0;
00260
00268     virtual     PxReal              getSleepThreshold() const = 0;
00269
00283     virtual     void                setStabilizationThreshold(PxReal threshold) = 0;
00284
00294     virtual     PxReal              getStabilizationThreshold() const = 0;
00295
00311     virtual     void                setWakeCounter(PxReal wakeCounterValue) = 0;
00312
00320     virtual     PxReal              getWakeCounter() const = 0;
00321
00333     virtual     void                wakeUp()    = 0;
00334
00346     virtual     void                putToSleep()    = 0;
00347
00360     virtual         PxArticulationLink*         createLink(PxArticulationLink* parent, const PxTransform& pose) = 0;
00361
00362
00367     virtual     PxU32           getNbLinks() const = 0;
00368
00382     virtual     PxU32           getLinks(PxArticulationLink** userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const = 0;
00383
00394     virtual     void            setName(const char* name)       = 0;
00395
00403     virtual     const char*     getName()           const   = 0;
00404
00414     virtual     PxBounds3       getWorldBounds(float inflation=1.01f) const = 0;
00415
00423     virtual     PxAggregate*    getAggregate() const = 0;
00424
00439     virtual     PxArticulationDriveCache*
00440                                 createDriveCache(PxReal compliance, PxU32 driveIterations) const = 0;
00441
00442
00455     virtual     void            updateDriveCache(PxArticulationDriveCache& driveCache,
00456                                                  PxReal compliance,
00457                                                  PxU32 driveIterations) const = 0;
00458
00466     virtual     void            releaseDriveCache(PxArticulationDriveCache& driveCache) const = 0;
00467
00481     virtual     void            applyImpulse(PxArticulationLink* link,
00482                                              const PxArticulationDriveCache& driveCache,
00483                                              const PxVec3& linearImpulse,
00484                                              const PxVec3& angularImpulse) = 0;
00485
00503     virtual     void            computeImpulseResponse(PxArticulationLink*link,
00504                                                        PxVec3& linearResponse,
00505                                                        PxVec3& angularResponse,
00506                                                        const PxArticulationDriveCache& driveCache,
00507                                                        const PxVec3& linearImpulse,
00508                                                        const PxVec3& angularImpulse) const = 0;
00509
00510
00511     //public variables:
00512                 void*           userData;
00513
00514     virtual     const char*     getConcreteTypeName() const { return "PxArticulation"; }
00515
00516 protected:
00517     PX_INLINE                   PxArticulation(PxType concreteType, PxBaseFlags baseFlags) : PxBase(concreteType, baseFlags) {}
00518     PX_INLINE                   PxArticulation(PxBaseFlags baseFlags) : PxBase(baseFlags) {}
00519     virtual                     ~PxArticulation() {}
00520     virtual     bool            isKindOf(const char* name) const { return !::strcmp("PxArticulation", name) || PxBase::isKindOf(name); }
00521
00522
00523 };
00524
00525 #if !PX_DOXYGEN
00526 } // namespace physx
00527 #endif
00528
00530 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxArticulationJoint.h Source File

PxArticulationJoint.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_ARTICULATION_JOINT
00032 #define PX_PHYSICS_NX_ARTICULATION_JOINT
00033
00036 #include "PxPhysXConfig.h"
00037 #include "common/PxBase.h"
00038
00039 #if !PX_DOXYGEN
00040 namespace physx
00041 {
00042 #endif
00043
00057 struct PxArticulationJointDriveType
00058 {
00059     enum Enum
00060     {
00061         eTARGET = 0,        // use the quaternion as the drive target
00062         eERROR  = 1         // use the vector part of the quaternion as the drive error.
00063     };
00064 };
00065
00066
00076 class PxArticulationJoint : public PxBase
00077 {
00078 public:
00079
00089     virtual     void            setParentPose(const PxTransform& pose) = 0;
00090
00099     virtual     PxTransform     getParentPose() const = 0;
00100
00101
00111     virtual     void            setChildPose(const PxTransform& pose) = 0;
00112
00120     virtual     PxTransform     getChildPose() const = 0;
00121
00122
00135     virtual     void            setTargetOrientation(const PxQuat& orientation) = 0;
00136
00144     virtual     PxQuat          getTargetOrientation() const = 0;
00145
00156     virtual     void            setTargetVelocity(const PxVec3& velocity) = 0;
00157
00165     virtual     PxVec3          getTargetVelocity() const = 0;
00166
00167
00176     virtual     void            setDriveType(PxArticulationJointDriveType::Enum driveType) = 0;
00177
00185     virtual     PxArticulationJointDriveType::Enum
00186                                 getDriveType() const = 0;
00187
00188
00202     virtual     void            setStiffness(PxReal spring) = 0;
00203
00211     virtual     PxReal          getStiffness() const = 0;
00212
00213
00227     virtual     void            setDamping(PxReal damping) = 0;
00228
00235     virtual     PxReal          getDamping() const = 0;
00236
00256     virtual     void            setInternalCompliance(PxReal compliance) = 0;
00257
00258
00266     virtual     PxReal          getInternalCompliance() const = 0;
00267
00287     virtual     void            setExternalCompliance(PxReal compliance) = 0;
00288
00296     virtual     PxReal          getExternalCompliance() const = 0;
00297
00298
00299
00313     virtual     void            setSwingLimit(PxReal zLimit, PxReal yLimit) = 0;
00314
00315
00326     virtual     void            getSwingLimit(PxReal& zLimit, PxReal& yLimit) const = 0;
00327
00328
00329
00336     virtual     void            setTangentialStiffness(PxReal spring) = 0;
00337
00338
00346     virtual     PxReal          getTangentialStiffness() const = 0;
00347
00348
00355     virtual     void            setTangentialDamping(PxReal damping) = 0;
00356
00357
00365     virtual     PxReal          getTangentialDamping() const = 0;
00366
00367
00379     virtual     void            setSwingLimitContactDistance(PxReal contactDistance) = 0;
00380
00381
00389     virtual     PxReal          getSwingLimitContactDistance() const = 0;
00390
00391
00392
00401     virtual     void            setSwingLimitEnabled(bool enabled) = 0;
00402
00411     virtual     bool            getSwingLimitEnabled() const = 0;
00412
00413
00426     virtual     void            setTwistLimit(PxReal lower, PxReal upper) = 0;
00427
00437     virtual     void            getTwistLimit(PxReal &lower, PxReal &upper) const = 0;
00438
00439
00448     virtual     void            setTwistLimitEnabled(bool enabled) = 0;
00449
00458     virtual     bool            getTwistLimitEnabled() const = 0;
00459
00460
00472     virtual     void            setTwistLimitContactDistance(PxReal contactDistance) = 0;
00473
00474
00482     virtual     PxReal          getTwistLimitContactDistance() const = 0;
00483
00484     virtual     const char*     getConcreteTypeName() const                 {   return "PxArticulationJoint"; }
00485
00486 protected:
00487     PX_INLINE                   PxArticulationJoint(PxType concreteType, PxBaseFlags baseFlags) : PxBase(concreteType, baseFlags) {}
00488     PX_INLINE                   PxArticulationJoint(PxBaseFlags baseFlags) : PxBase(baseFlags)  {}
00489     virtual                     ~PxArticulationJoint() {}
00490     virtual     bool            isKindOf(const char* name)  const       {   return !::strcmp("PxArticulationJoint", name) || PxBase::isKindOf(name); }
00491 };
00492
00493 #if !PX_DOXYGEN
00494 } // namespace physx
00495 #endif
00496
00498 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxArticulationLink.h Source File

PxArticulationLink.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_ARTICULATION_LINK
00032 #define PX_PHYSICS_NX_ARTICULATION_LINK
00033
00036 #include "PxPhysXConfig.h"
00037 #include "PxArticulationJoint.h"
00038 #include "PxRigidBody.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00055 class PxArticulationLink : public PxRigidBody
00056 {
00057 public:
00067     virtual     void            release() = 0;
00068
00069
00075     virtual     PxArticulation& getArticulation() const = 0;
00076
00084     virtual     PxArticulationJoint*    getInboundJoint() const = 0;
00085
00093     virtual     PxU32           getNbChildren() const = 0;
00094
00105     virtual     PxU32           getChildren(PxArticulationLink** userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const = 0;
00106
00107     virtual     const char*     getConcreteTypeName() const                 {   return "PxArticulationLink"; }
00108
00109 protected:
00110     PX_INLINE                   PxArticulationLink(PxType concreteType, PxBaseFlags baseFlags) : PxRigidBody(concreteType, baseFlags) {}
00111     PX_INLINE                   PxArticulationLink(PxBaseFlags baseFlags) : PxRigidBody(baseFlags)  {}
00112     virtual                     ~PxArticulationLink()   {}
00113     virtual     bool            isKindOf(const char* name)  const       {   return !::strcmp("PxArticulationLink", name) || PxRigidBody::isKindOf(name);        }
00114 };
00115
00116 #if !PX_DOXYGEN
00117 } // namespace physx
00118 #endif
00119
00121 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxAssert.h Source File

PxAssert.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PXFOUNDATION_PXASSERT_H
00031 #define PXFOUNDATION_PXASSERT_H
00032
00036 #include "foundation/Px.h"
00037
00038 #if !PX_DOXYGEN
00039 namespace physx
00040 {
00041 #endif
00042
00043 /* Base class to handle assert failures */
00044 class PxAssertHandler
00045 {
00046   public:
00047     virtual ~PxAssertHandler()
00048     {
00049     }
00050     virtual void operator()(const char* exp, const char* file, int line, bool& ignore) = 0;
00051 };
00052
00053 PX_FOUNDATION_API PxAssertHandler& PxGetAssertHandler();
00054 PX_FOUNDATION_API void PxSetAssertHandler(PxAssertHandler& handler);
00055
00056 #if !PX_DOXYGEN
00057 } // namespace physx
00058 #endif
00059
00060 #if !PX_ENABLE_ASSERTS
00061 #define PX_ASSERT(exp) ((void)0)
00062 #define PX_ALWAYS_ASSERT_MESSAGE(exp) ((void)0)
00063 #define PX_ASSERT_WITH_MESSAGE(condition, message) ((void)0)
00064 #else
00065 #if PX_VC
00066 #define PX_CODE_ANALYSIS_ASSUME(exp)                                                                                   \
00067     __analysis_assume(!!(exp)) // This macro will be used to get rid of analysis warning messages if a PX_ASSERT is used
00068 // to "guard" illegal mem access, for example.
00069 #else
00070 #define PX_CODE_ANALYSIS_ASSUME(exp)
00071 #endif
00072 #define PX_ASSERT(exp)                                                                                                 \
00073     {                                                                                                                  \
00074         static bool _ignore = false;                                                                                   \
00075         ((void)((!!(exp)) || (!_ignore && (physx::PxGetAssertHandler()(#exp, __FILE__, __LINE__, _ignore), false))));  \
00076         PX_CODE_ANALYSIS_ASSUME(exp);                                                                                  \
00077     }
00078 #define PX_ALWAYS_ASSERT_MESSAGE(exp)                                                                                  \
00079     {                                                                                                                  \
00080         static bool _ignore = false;                                                                                   \
00081         if(!_ignore)                                                                                                   \
00082             physx::PxGetAssertHandler()(exp, __FILE__, __LINE__, _ignore);                                             \
00083     }
00084 #define PX_ASSERT_WITH_MESSAGE(exp, message)                                                                             \
00085     {                                                                                                                    \
00086         static bool _ignore = false;                                                                                     \
00087         ((void)((!!(exp)) || (!_ignore && (physx::PxGetAssertHandler()(message, __FILE__, __LINE__, _ignore), false)))); \
00088         PX_CODE_ANALYSIS_ASSUME(exp);                                                                                    \
00089     }
00090 #endif
00091
00092 #define PX_ALWAYS_ASSERT() PX_ASSERT(0)
00093
00095 #endif // #ifndef PXFOUNDATION_PXASSERT_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBase.h Source File

PxBase.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_PX_BASE
00032 #define PX_PHYSICS_PX_BASE
00033
00038 #include "PxSerialFramework.h"
00039 #include "PxCollection.h"
00040 #include "common/PxTypeInfo.h"
00041 #include "foundation/PxFlags.h"
00042 #include <string.h> // For strcmp
00043
00044 #if !PX_DOXYGEN
00045 namespace physx
00046 {
00047 #endif
00048
00049 typedef PxU16 PxType;
00050
00054 struct PxBaseFlag
00055 {
00056     enum Enum
00057     {
00058         eOWNS_MEMORY            = (1<<0),
00059         eIS_RELEASABLE          = (1<<1)
00060     };
00061 };
00062
00063 typedef PxFlags<PxBaseFlag::Enum, PxU16> PxBaseFlags;
00064 PX_FLAGS_OPERATORS(PxBaseFlag::Enum, PxU16)
00065
00066
00073 class PxBase
00074 {
00075 //= ATTENTION! =====================================================================================
00076 // Changing the data layout of this class breaks the binary serialization format.  See comments for
00077 // PX_BINARY_SERIAL_VERSION.  If a modification is required, please adjust the getBinaryMetaData
00078 // function.  If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION
00079 // accordingly.
00080 //==================================================================================================
00081 public:
00085     virtual     void                        release()                                       = 0;
00086
00091     virtual     const char*                 getConcreteTypeName() const                     = 0;
00092
00093     /* brief Implements dynamic cast functionality.
00094
00095     Example use:
00096
00097     if(actor->is<PxRigidDynamic>()) {...}
00098
00099     \return A pointer to the specified type if object matches, otherwise NULL
00100     */
00101     template<class T> T*                    is()                                            { return typeMatch<T>() ? static_cast<T*>(this) : NULL; }
00102
00103     /* brief Implements dynamic cast functionality for const objects.
00104
00105     Example use:
00106
00107     if(actor->is<PxRigidDynamic>()) {...}
00108
00109     \return A pointer to the specified type if object matches, otherwise NULL
00110     */
00111     template<class T> const T*              is() const                                      { return typeMatch<T>() ? static_cast<const T*>(this) : NULL; }
00112
00119     PX_FORCE_INLINE PxType                  getConcreteType() const                         { return mConcreteType; }
00120
00127     PX_FORCE_INLINE void                    setBaseFlag(PxBaseFlag::Enum flag, bool value)  { mBaseFlags = value ? mBaseFlags|flag : mBaseFlags&~flag; }
00128
00136     PX_FORCE_INLINE void                    setBaseFlags(PxBaseFlags inFlags )              { mBaseFlags = inFlags; }
00137
00145     PX_FORCE_INLINE PxBaseFlags             getBaseFlags() const                            { return mBaseFlags; }
00146
00156     virtual     bool                        isReleasable() const                            { return mBaseFlags & PxBaseFlag::eIS_RELEASABLE; }
00157
00158 protected:
00162     PX_INLINE                               PxBase(PxType concreteType, PxBaseFlags baseFlags)
00163                                                 : mConcreteType(concreteType), mBaseFlags(baseFlags) {}
00164
00168     PX_INLINE                               PxBase(PxBaseFlags baseFlags) : mBaseFlags(baseFlags) {}
00169
00173     virtual                                 ~PxBase()                                       {}
00174
00178     virtual             bool                isKindOf(const char* superClass) const { return !::strcmp(superClass, "PxBase"); }
00179
00180     template<class T>   bool                typeMatch() const
00181                                             {
00182                                                 return PxU32(PxTypeInfo<T>::eFastTypeId)!=PxU32(PxConcreteType::eUNDEFINED) ?
00183                                                     PxU32(getConcreteType()) == PxU32(PxTypeInfo<T>::eFastTypeId) : isKindOf(PxTypeInfo<T>::name());
00184                                             }
00185
00186
00187 private:
00188     friend              void                getBinaryMetaData_PxBase(PxOutputStream& stream);
00189
00190 protected:
00191     PxType                                  mConcreteType;          // concrete type identifier - see PxConcreteType.
00192     PxBaseFlags                             mBaseFlags;             // internal flags
00193
00194 };
00195
00196 #if !PX_DOXYGEN
00197 } // namespace physx
00198 #endif
00199
00201 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBatchQuery.h Source File

PxBatchQuery.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_SCENEQUERY
00032 #define PX_PHYSICS_NX_SCENEQUERY
00033
00036 #include "PxPhysXConfig.h"
00037 #include "PxShape.h"
00038 #include "PxBatchQueryDesc.h"
00039 #include "PxQueryFiltering.h"
00040
00041 #if !PX_DOXYGEN
00042 namespace physx
00043 {
00044 #endif
00045
00046 class PxBoxGeometry;
00047 class PxSphereGeometry;
00048 struct PxQueryCache;
00049
00057 class PX_DEPRECATED PxBatchQuery
00058 {
00059     public:
00060
00064     virtual void                            execute() = 0;
00065
00073     virtual PxBatchQueryPreFilterShader getPreFilterShader() const = 0;
00074
00082     virtual PxBatchQueryPostFilterShader getPostFilterShader() const = 0;
00083
00084
00092     virtual const void*                     getFilterShaderData() const = 0;
00093
00101     virtual PxU32                           getFilterShaderDataSize() const = 0;
00102
00103
00111     PX_DEPRECATED virtual PxClientID        getOwnerClient() const = 0;
00112
00120     virtual void                            setUserMemory(const PxBatchQueryMemory&) = 0;
00121
00127     virtual const PxBatchQueryMemory&       getUserMemory() = 0;
00128
00134     virtual void                            release() = 0;
00135
00159     virtual void raycast(
00160         const PxVec3& origin, const PxVec3& unitDir, PxReal distance = PX_MAX_F32, PxU16 maxTouchHits = 0,
00161         PxHitFlags hitFlags = PxHitFlag::eDEFAULT,
00162         const PxQueryFilterData& filterData = PxQueryFilterData(),
00163         void* userData = NULL, const PxQueryCache* cache = NULL) = 0;
00164
00165
00188     virtual void overlap(
00189         const PxGeometry& geometry, const PxTransform& pose, PxU16 maxTouchHits = 0,
00190         const PxQueryFilterData& filterData = PxQueryFilterData(), void* userData=NULL, const PxQueryCache* cache = NULL) = 0;
00191
00219     virtual void sweep(
00220         const PxGeometry& geometry, const PxTransform& pose, const PxVec3& unitDir, const PxReal distance,
00221         PxU16 maxTouchHits = 0, PxHitFlags hitFlags = PxHitFlag::eDEFAULT,
00222         const PxQueryFilterData& filterData = PxQueryFilterData(), void* userData=NULL, const PxQueryCache* cache = NULL,
00223         const PxReal inflation = 0.f) = 0;
00224
00225 protected:
00226     virtual ~PxBatchQuery() {}
00227 };
00228
00229 #if !PX_DOXYGEN
00230 } // namespace physx
00231 #endif
00232
00234 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBatchQueryDesc.h Source File

PxBatchQueryDesc.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_SCENEQUERYDESC
00032 #define PX_PHYSICS_NX_SCENEQUERYDESC
00033
00036 #include "PxPhysXConfig.h"
00037 #include "PxClient.h"
00038 #include "PxFiltering.h"
00039 #include "PxQueryFiltering.h"
00040 #include "foundation/PxAssert.h"
00041
00042 #if !PX_DOXYGEN
00043 namespace physx
00044 {
00045 #endif
00046
00047 struct  PxSweepHit;
00048 struct  PxRaycastHit;
00049
00055 struct PX_DEPRECATED PxBatchQueryStatus
00056 {
00057     enum Enum
00058     {
00062         ePENDING = 0,
00063
00067         eSUCCESS,
00068
00072         eOVERFLOW
00073     };
00074 };
00075
00081 template<typename HitType>
00082 struct PX_DEPRECATED PxBatchQueryResult
00083 {
00084     HitType         block;
00085     HitType*        touches;
00086
00087     PxU32           nbTouches;
00088     void*           userData;
00089     PxU8            queryStatus;
00090     bool            hasBlock;
00091     PxU16           pad;
00092
00094     PX_INLINE PxU32             getNbAnyHits() const                { return nbTouches + (hasBlock ? 1 : 0); }
00095
00097     PX_INLINE const HitType&    getAnyHit(const PxU32 index) const  { PX_ASSERT(index < nbTouches + (hasBlock ? 1 : 0));
00098                                                                         return index < nbTouches ? touches[index] : block; }
00099 };
00100
00102 typedef PX_DEPRECATED PxBatchQueryResult<PxRaycastHit>  PxRaycastQueryResult;
00103
00105 typedef PX_DEPRECATED PxBatchQueryResult<PxSweepHit>        PxSweepQueryResult;
00106
00108 typedef PX_DEPRECATED PxBatchQueryResult<PxOverlapHit>  PxOverlapQueryResult;
00109
00117 struct PX_DEPRECATED PxBatchQueryMemory
00118  {
00126     PxRaycastQueryResult*           userRaycastResultBuffer;
00127
00134     PxRaycastHit*                   userRaycastTouchBuffer;
00135
00143     PxSweepQueryResult*             userSweepResultBuffer;
00144
00151     PxSweepHit*                     userSweepTouchBuffer;
00152
00160     PxOverlapQueryResult*           userOverlapResultBuffer;
00161
00168     PxOverlapHit*                   userOverlapTouchBuffer;
00169
00171     PxU32                           raycastTouchBufferSize;
00172
00174     PxU32                           sweepTouchBufferSize;
00175
00177     PxU32                           overlapTouchBufferSize;
00178
00180     PX_FORCE_INLINE PxU32           getMaxRaycastsPerExecute() const    { return raycastResultBufferSize; }
00181
00183     PX_FORCE_INLINE PxU32           getMaxSweepsPerExecute() const      { return sweepResultBufferSize; }
00184
00186     PX_FORCE_INLINE PxU32           getMaxOverlapsPerExecute() const    { return overlapResultBufferSize; }
00187
00188     PxBatchQueryMemory(PxU32 raycastResultBufferSize_, PxU32 sweepResultBufferSize_, PxU32 overlapResultBufferSize_) :
00189         userRaycastResultBuffer (NULL),
00190         userRaycastTouchBuffer  (NULL),
00191         userSweepResultBuffer   (NULL),
00192         userSweepTouchBuffer    (NULL),
00193         userOverlapResultBuffer (NULL),
00194         userOverlapTouchBuffer  (NULL),
00195         raycastTouchBufferSize  (0),
00196         sweepTouchBufferSize    (0),
00197         overlapTouchBufferSize  (0),
00198         raycastResultBufferSize (raycastResultBufferSize_),
00199         sweepResultBufferSize   (sweepResultBufferSize_),
00200         overlapResultBufferSize (overlapResultBufferSize_)
00201     {
00202     }
00203
00204 protected:
00205     PxU32                           raycastResultBufferSize;
00206     PxU32                           sweepResultBufferSize;
00207     PxU32                           overlapResultBufferSize;
00208 };
00209
00217 class PX_DEPRECATED PxBatchQueryDesc
00218 {
00219 public:
00220
00230     void*                           filterShaderData;
00231
00239     PxU32                           filterShaderDataSize;
00240
00246     PxBatchQueryPreFilterShader     preFilterShader;
00247
00253     PxBatchQueryPostFilterShader    postFilterShader;
00254
00262     PX_DEPRECATED PxClientID        ownerClient;
00263
00269     PxBatchQueryMemory              queryMemory;
00270
00283     PX_INLINE                       PxBatchQueryDesc(PxU32 maxRaycastsPerExecute, PxU32 maxSweepsPerExecute, PxU32 maxOverlapsPerExecute);
00284     PX_INLINE bool                  isValid() const;
00285 };
00286
00287
00288 PX_INLINE PxBatchQueryDesc::PxBatchQueryDesc(PxU32 maxRaycastsPerExecute, PxU32 maxSweepsPerExecute, PxU32 maxOverlapsPerExecute) :
00289     filterShaderData        (NULL),
00290     filterShaderDataSize    (0),
00291     preFilterShader         (NULL),
00292     postFilterShader        (NULL),
00293     ownerClient             (PX_DEFAULT_CLIENT),
00294     queryMemory             (maxRaycastsPerExecute, maxSweepsPerExecute, maxOverlapsPerExecute)
00295 {
00296 }
00297
00298
00299 PX_INLINE bool PxBatchQueryDesc::isValid() const
00300 {
00301     if ( ((filterShaderDataSize == 0) && (filterShaderData != NULL)) ||
00302          ((filterShaderDataSize > 0) && (filterShaderData == NULL)) )
00303          return false;
00304
00305     return true;
00306 }
00307
00308 #if !PX_DOXYGEN
00309 } // namespace physx
00310 #endif
00311
00313 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBinaryConverter.h Source File

PxBinaryConverter.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_BINARY_CONVERTER_H
00032 #define PX_BINARY_CONVERTER_H
00033
00037 #include "common/PxPhysXCommonConfig.h"
00038
00039 #if !PX_DOXYGEN
00040 namespace physx
00041 {
00042 #endif
00043
00044 struct PxConverterReportMode
00045 {
00046     enum Enum
00047     {
00048         eNONE,
00049         eNORMAL,
00050         eVERBOSE
00051     };
00052 };
00053
00054
00068 class PxBinaryConverter
00069 {
00070 public:
00071
00075     virtual     void    release()                                                                           = 0;
00076
00082     virtual     void    setReportMode(PxConverterReportMode::Enum mode)                                     = 0;
00083
00095     virtual     bool    setMetaData(PxInputStream& srcMetaData, PxInputStream& dstMetaData)                 = 0;
00096
00105     virtual     bool    compareMetaData() const = 0;
00106
00119     virtual     bool    convert(PxInputStream& srcStream, PxU32 srcSize, PxOutputStream& targetStream)      = 0;
00120
00121
00122 protected:
00123                         PxBinaryConverter()     {}
00124     virtual             ~PxBinaryConverter()    {}
00125 };
00126
00127 #if !PX_DOXYGEN
00128 } // namespace physx
00129 #endif
00130
00132 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBitAndData.h Source File

PxBitAndData.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PXFOUNDATION_PXBITANDDATA_H
00031 #define PXFOUNDATION_PXBITANDDATA_H
00032
00033 #include "foundation/Px.h"
00034
00038 #if !PX_DOXYGEN
00039 namespace physx
00040 {
00041 #endif
00042
00043 template <typename storageType, storageType bitMask>
00044 class PxBitAndDataT
00045 {
00046   public:
00047     PX_FORCE_INLINE PxBitAndDataT(const PxEMPTY)
00048     {
00049     }
00050     PX_FORCE_INLINE PxBitAndDataT() : mData(0)
00051     {
00052     }
00053     PX_FORCE_INLINE PxBitAndDataT(storageType data, bool bit = false)
00054     {
00055         mData = bit ? storageType(data | bitMask) : data;
00056     }
00057
00058     PX_CUDA_CALLABLE PX_FORCE_INLINE operator storageType() const
00059     {
00060         return storageType(mData & ~bitMask);
00061     }
00062     PX_CUDA_CALLABLE PX_FORCE_INLINE void setBit()
00063     {
00064         mData |= bitMask;
00065     }
00066     PX_CUDA_CALLABLE PX_FORCE_INLINE void clearBit()
00067     {
00068         mData &= ~bitMask;
00069     }
00070     PX_CUDA_CALLABLE PX_FORCE_INLINE storageType isBitSet() const
00071     {
00072         return storageType(mData & bitMask);
00073     }
00074
00075   protected:
00076     storageType mData;
00077 };
00078 typedef PxBitAndDataT<unsigned char, 0x80> PxBitAndByte;
00079 typedef PxBitAndDataT<unsigned short, 0x8000> PxBitAndWord;
00080 typedef PxBitAndDataT<unsigned int, 0x80000000> PxBitAndDword;
00081
00082 #if !PX_DOXYGEN
00083 } // namespace physx
00084 #endif
00085
00087 #endif // PXFOUNDATION_PXBITANDDATA_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBounds3.h Source File

PxBounds3.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PXFOUNDATION_PXBOUNDS3_H
00031 #define PXFOUNDATION_PXBOUNDS3_H
00032
00037 #include "foundation/PxTransform.h"
00038 #include "foundation/PxMat33.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00045 // maximum extents defined such that floating point exceptions are avoided for standard use cases
00046 #define PX_MAX_BOUNDS_EXTENTS (PX_MAX_REAL * 0.25f)
00047
00058 class PxBounds3
00059 {
00060   public:
00065     PX_CUDA_CALLABLE PX_FORCE_INLINE PxBounds3()
00066     {
00067     }
00068
00072     PX_CUDA_CALLABLE PX_FORCE_INLINE PxBounds3(const PxVec3& minimum, const PxVec3& maximum);
00073
00077     static PX_CUDA_CALLABLE PX_FORCE_INLINE PxBounds3 empty();
00078
00084     static PX_CUDA_CALLABLE PX_FORCE_INLINE PxBounds3 boundsOfPoints(const PxVec3& v0, const PxVec3& v1);
00085
00091     static PX_CUDA_CALLABLE PX_FORCE_INLINE PxBounds3 centerExtents(const PxVec3& center, const PxVec3& extent);
00092
00096     static PX_CUDA_CALLABLE PX_INLINE PxBounds3
00097     basisExtent(const PxVec3& center, const PxMat33& basis, const PxVec3& extent);
00098
00102     static PX_CUDA_CALLABLE PX_INLINE PxBounds3 poseExtent(const PxTransform& pose, const PxVec3& extent);
00103
00112     static PX_CUDA_CALLABLE PX_INLINE PxBounds3 transformSafe(const PxMat33& matrix, const PxBounds3& bounds);
00113
00122     static PX_CUDA_CALLABLE PX_INLINE PxBounds3 transformFast(const PxMat33& matrix, const PxBounds3& bounds);
00123
00132     static PX_CUDA_CALLABLE PX_INLINE PxBounds3 transformSafe(const PxTransform& transform, const PxBounds3& bounds);
00133
00142     static PX_CUDA_CALLABLE PX_INLINE PxBounds3 transformFast(const PxTransform& transform, const PxBounds3& bounds);
00143
00147     PX_CUDA_CALLABLE PX_FORCE_INLINE void setEmpty();
00148
00152     PX_CUDA_CALLABLE PX_FORCE_INLINE void setMaximal();
00153
00158     PX_CUDA_CALLABLE PX_FORCE_INLINE void include(const PxVec3& v);
00159
00164     PX_CUDA_CALLABLE PX_FORCE_INLINE void include(const PxBounds3& b);
00165
00166     PX_CUDA_CALLABLE PX_FORCE_INLINE bool isEmpty() const;
00167
00172     PX_CUDA_CALLABLE PX_FORCE_INLINE bool intersects(const PxBounds3& b) const;
00173
00179     PX_CUDA_CALLABLE PX_FORCE_INLINE bool intersects1D(const PxBounds3& a, uint32_t axis) const;
00180
00185     PX_CUDA_CALLABLE PX_FORCE_INLINE bool contains(const PxVec3& v) const;
00186
00191     PX_CUDA_CALLABLE PX_FORCE_INLINE bool isInside(const PxBounds3& box) const;
00192
00196     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 getCenter() const;
00197
00201     PX_CUDA_CALLABLE PX_FORCE_INLINE float getCenter(uint32_t axis) const;
00202
00206     PX_CUDA_CALLABLE PX_FORCE_INLINE float getExtents(uint32_t axis) const;
00207
00211     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 getDimensions() const;
00212
00216     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 getExtents() const;
00217
00225     PX_CUDA_CALLABLE PX_FORCE_INLINE void scaleSafe(float scale);
00226
00234     PX_CUDA_CALLABLE PX_FORCE_INLINE void scaleFast(float scale);
00235
00241     PX_CUDA_CALLABLE PX_FORCE_INLINE void fattenSafe(float distance);
00242
00248     PX_CUDA_CALLABLE PX_FORCE_INLINE void fattenFast(float distance);
00249
00253     PX_CUDA_CALLABLE PX_FORCE_INLINE bool isFinite() const;
00254
00258     PX_CUDA_CALLABLE PX_FORCE_INLINE bool isValid() const;
00259
00260     PxVec3 minimum, maximum;
00261 };
00262
00263 PX_CUDA_CALLABLE PX_FORCE_INLINE PxBounds3::PxBounds3(const PxVec3& minimum_, const PxVec3& maximum_)
00264 : minimum(minimum_), maximum(maximum_)
00265 {
00266 }
00267
00268 PX_CUDA_CALLABLE PX_FORCE_INLINE PxBounds3 PxBounds3::empty()
00269 {
00270     return PxBounds3(PxVec3(PX_MAX_BOUNDS_EXTENTS), PxVec3(-PX_MAX_BOUNDS_EXTENTS));
00271 }
00272
00273 PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxBounds3::isFinite() const
00274 {
00275     return minimum.isFinite() && maximum.isFinite();
00276 }
00277
00278 PX_CUDA_CALLABLE PX_FORCE_INLINE PxBounds3 PxBounds3::boundsOfPoints(const PxVec3& v0, const PxVec3& v1)
00279 {
00280     return PxBounds3(v0.minimum(v1), v0.maximum(v1));
00281 }
00282
00283 PX_CUDA_CALLABLE PX_FORCE_INLINE PxBounds3 PxBounds3::centerExtents(const PxVec3& center, const PxVec3& extent)
00284 {
00285     return PxBounds3(center - extent, center + extent);
00286 }
00287
00288 PX_CUDA_CALLABLE PX_INLINE PxBounds3
00289 PxBounds3::basisExtent(const PxVec3& center, const PxMat33& basis, const PxVec3& extent)
00290 {
00291     // extended basis vectors
00292     PxVec3 c0 = basis.column0 * extent.x;
00293     PxVec3 c1 = basis.column1 * extent.y;
00294     PxVec3 c2 = basis.column2 * extent.z;
00295
00296     PxVec3 w;
00297     // find combination of base vectors that produces max. distance for each component = sum of abs()
00298     w.x = PxAbs(c0.x) + PxAbs(c1.x) + PxAbs(c2.x);
00299     w.y = PxAbs(c0.y) + PxAbs(c1.y) + PxAbs(c2.y);
00300     w.z = PxAbs(c0.z) + PxAbs(c1.z) + PxAbs(c2.z);
00301
00302     return PxBounds3(center - w, center + w);
00303 }
00304
00305 PX_CUDA_CALLABLE PX_INLINE PxBounds3 PxBounds3::poseExtent(const PxTransform& pose, const PxVec3& extent)
00306 {
00307     return basisExtent(pose.p, PxMat33(pose.q), extent);
00308 }
00309
00310 PX_CUDA_CALLABLE PX_FORCE_INLINE void PxBounds3::setEmpty()
00311 {
00312     minimum = PxVec3(PX_MAX_BOUNDS_EXTENTS);
00313     maximum = PxVec3(-PX_MAX_BOUNDS_EXTENTS);
00314 }
00315
00316 PX_CUDA_CALLABLE PX_FORCE_INLINE void PxBounds3::setMaximal()
00317 {
00318     minimum = PxVec3(-PX_MAX_BOUNDS_EXTENTS);
00319     maximum = PxVec3(PX_MAX_BOUNDS_EXTENTS);
00320 }
00321
00322 PX_CUDA_CALLABLE PX_FORCE_INLINE void PxBounds3::include(const PxVec3& v)
00323 {
00324     PX_ASSERT(isValid());
00325     minimum = minimum.minimum(v);
00326     maximum = maximum.maximum(v);
00327 }
00328
00329 PX_CUDA_CALLABLE PX_FORCE_INLINE void PxBounds3::include(const PxBounds3& b)
00330 {
00331     PX_ASSERT(isValid());
00332     minimum = minimum.minimum(b.minimum);
00333     maximum = maximum.maximum(b.maximum);
00334 }
00335
00336 PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxBounds3::isEmpty() const
00337 {
00338     PX_ASSERT(isValid());
00339     return minimum.x > maximum.x;
00340 }
00341
00342 PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxBounds3::intersects(const PxBounds3& b) const
00343 {
00344     PX_ASSERT(isValid() && b.isValid());
00345     return !(b.minimum.x > maximum.x || minimum.x > b.maximum.x || b.minimum.y > maximum.y || minimum.y > b.maximum.y ||
00346              b.minimum.z > maximum.z || minimum.z > b.maximum.z);
00347 }
00348
00349 PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxBounds3::intersects1D(const PxBounds3& a, uint32_t axis) const
00350 {
00351     PX_ASSERT(isValid() && a.isValid());
00352     return maximum[axis] >= a.minimum[axis] && a.maximum[axis] >= minimum[axis];
00353 }
00354
00355 PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxBounds3::contains(const PxVec3& v) const
00356 {
00357     PX_ASSERT(isValid());
00358
00359     return !(v.x < minimum.x || v.x > maximum.x || v.y < minimum.y || v.y > maximum.y || v.z < minimum.z ||
00360              v.z > maximum.z);
00361 }
00362
00363 PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxBounds3::isInside(const PxBounds3& box) const
00364 {
00365     PX_ASSERT(isValid() && box.isValid());
00366     if(box.minimum.x > minimum.x)
00367         return false;
00368     if(box.minimum.y > minimum.y)
00369         return false;
00370     if(box.minimum.z > minimum.z)
00371         return false;
00372     if(box.maximum.x < maximum.x)
00373         return false;
00374     if(box.maximum.y < maximum.y)
00375         return false;
00376     if(box.maximum.z < maximum.z)
00377         return false;
00378     return true;
00379 }
00380
00381 PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxBounds3::getCenter() const
00382 {
00383     PX_ASSERT(isValid());
00384     return (minimum + maximum) * 0.5f;
00385 }
00386
00387 PX_CUDA_CALLABLE PX_FORCE_INLINE float PxBounds3::getCenter(uint32_t axis) const
00388 {
00389     PX_ASSERT(isValid());
00390     return (minimum[axis] + maximum[axis]) * 0.5f;
00391 }
00392
00393 PX_CUDA_CALLABLE PX_FORCE_INLINE float PxBounds3::getExtents(uint32_t axis) const
00394 {
00395     PX_ASSERT(isValid());
00396     return (maximum[axis] - minimum[axis]) * 0.5f;
00397 }
00398
00399 PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxBounds3::getDimensions() const
00400 {
00401     PX_ASSERT(isValid());
00402     return maximum - minimum;
00403 }
00404
00405 PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxBounds3::getExtents() const
00406 {
00407     PX_ASSERT(isValid());
00408     return getDimensions() * 0.5f;
00409 }
00410
00411 PX_CUDA_CALLABLE PX_FORCE_INLINE void PxBounds3::scaleSafe(float scale)
00412 {
00413     PX_ASSERT(isValid());
00414     if(!isEmpty())
00415         scaleFast(scale);
00416 }
00417
00418 PX_CUDA_CALLABLE PX_FORCE_INLINE void PxBounds3::scaleFast(float scale)
00419 {
00420     PX_ASSERT(isValid());
00421     *this = centerExtents(getCenter(), getExtents() * scale);
00422 }
00423
00424 PX_CUDA_CALLABLE PX_FORCE_INLINE void PxBounds3::fattenSafe(float distance)
00425 {
00426     PX_ASSERT(isValid());
00427     if(!isEmpty())
00428         fattenFast(distance);
00429 }
00430
00431 PX_CUDA_CALLABLE PX_FORCE_INLINE void PxBounds3::fattenFast(float distance)
00432 {
00433     PX_ASSERT(isValid());
00434     minimum.x -= distance;
00435     minimum.y -= distance;
00436     minimum.z -= distance;
00437
00438     maximum.x += distance;
00439     maximum.y += distance;
00440     maximum.z += distance;
00441 }
00442
00443 PX_CUDA_CALLABLE PX_INLINE PxBounds3 PxBounds3::transformSafe(const PxMat33& matrix, const PxBounds3& bounds)
00444 {
00445     PX_ASSERT(bounds.isValid());
00446     return !bounds.isEmpty() ? transformFast(matrix, bounds) : bounds;
00447 }
00448
00449 PX_CUDA_CALLABLE PX_INLINE PxBounds3 PxBounds3::transformFast(const PxMat33& matrix, const PxBounds3& bounds)
00450 {
00451     PX_ASSERT(bounds.isValid());
00452     return PxBounds3::basisExtent(matrix * bounds.getCenter(), matrix, bounds.getExtents());
00453 }
00454
00455 PX_CUDA_CALLABLE PX_INLINE PxBounds3 PxBounds3::transformSafe(const PxTransform& transform, const PxBounds3& bounds)
00456 {
00457     PX_ASSERT(bounds.isValid());
00458     return !bounds.isEmpty() ? transformFast(transform, bounds) : bounds;
00459 }
00460
00461 PX_CUDA_CALLABLE PX_INLINE PxBounds3 PxBounds3::transformFast(const PxTransform& transform, const PxBounds3& bounds)
00462 {
00463     PX_ASSERT(bounds.isValid());
00464     return PxBounds3::basisExtent(transform.transform(bounds.getCenter()), PxMat33(transform.q), bounds.getExtents());
00465 }
00466
00467 PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxBounds3::isValid() const
00468 {
00469     return (isFinite() && (((minimum.x <= maximum.x) && (minimum.y <= maximum.y) && (minimum.z <= maximum.z)) ||
00470                            ((minimum.x == PX_MAX_BOUNDS_EXTENTS) && (minimum.y == PX_MAX_BOUNDS_EXTENTS) &&
00471                             (minimum.z == PX_MAX_BOUNDS_EXTENTS) && (maximum.x == -PX_MAX_BOUNDS_EXTENTS) &&
00472                             (maximum.y == -PX_MAX_BOUNDS_EXTENTS) && (maximum.z == -PX_MAX_BOUNDS_EXTENTS))));
00473 }
00474
00475 #if !PX_DOXYGEN
00476 } // namespace physx
00477 #endif
00478
00480 #endif // #ifndef PXFOUNDATION_PXBOUNDS3_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBoxController.h Source File

PxBoxController.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_CCT_BOX_CONTROLLER
00032 #define PX_PHYSICS_CCT_BOX_CONTROLLER
00033
00037 #include "characterkinematic/PxCharacter.h"
00038 #include "characterkinematic/PxController.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00050 class PxBoxControllerDesc : public PxControllerDesc
00051 {
00052 public:
00056     PX_INLINE                               PxBoxControllerDesc();
00057     PX_INLINE virtual                       ~PxBoxControllerDesc() {}
00058
00062     PX_INLINE                               PxBoxControllerDesc(const PxBoxControllerDesc&);
00063
00067     PX_INLINE PxBoxControllerDesc&          operator=(const PxBoxControllerDesc&);
00068
00072     PX_INLINE virtual   void                setToDefault();
00073
00079     PX_INLINE virtual   bool                isValid()       const;
00080
00086     PxF32               halfHeight;         // Half-height in the "up" direction
00087
00093     PxF32               halfSideExtent;     // Half-extent in the "side" direction
00094
00100     PxF32               halfForwardExtent;  // Half-extent in the "forward" direction
00101
00102 protected:
00103     PX_INLINE void copy(const PxBoxControllerDesc&);
00104 };
00105
00106 PX_INLINE PxBoxControllerDesc::PxBoxControllerDesc() :
00107     PxControllerDesc    (PxControllerShapeType::eBOX),
00108     halfHeight          (1.0f),
00109     halfSideExtent      (0.5f),
00110     halfForwardExtent   (0.5f)
00111 {
00112 }
00113
00114 PX_INLINE PxBoxControllerDesc::PxBoxControllerDesc(const PxBoxControllerDesc& other) : PxControllerDesc(other)
00115 {
00116     copy(other);
00117 }
00118
00119 PX_INLINE PxBoxControllerDesc& PxBoxControllerDesc::operator=(const PxBoxControllerDesc& other)
00120 {
00121     PxControllerDesc::operator=(other);
00122     copy(other);
00123     return *this;
00124 }
00125
00126 PX_INLINE void PxBoxControllerDesc::copy(const PxBoxControllerDesc& other)
00127 {
00128     halfHeight          = other.halfHeight;
00129     halfSideExtent      = other.halfSideExtent;
00130     halfForwardExtent   = other.halfForwardExtent;
00131 }
00132
00133 PX_INLINE void PxBoxControllerDesc::setToDefault()
00134 {
00135     *this = PxBoxControllerDesc();
00136 }
00137
00138 PX_INLINE bool PxBoxControllerDesc::isValid() const
00139 {
00140     if(!PxControllerDesc::isValid())    return false;
00141     if(halfHeight<=0.0f)                return false;
00142     if(halfSideExtent<=0.0f)            return false;
00143     if(halfForwardExtent<=0.0f)         return false;
00144     if(stepOffset>2.0f*halfHeight)      return false;   // Prevents obvious mistakes
00145     return true;
00146 }
00147
00153 class PxBoxController : public PxController
00154 {
00155 public:
00156
00164     virtual     PxF32           getHalfHeight()         const   = 0;
00165
00173     virtual     PxF32           getHalfSideExtent()     const   = 0;
00174
00182     virtual     PxF32           getHalfForwardExtent()  const   = 0;
00183
00194     virtual     bool            setHalfHeight(PxF32 halfHeight)                 = 0;
00195
00206     virtual     bool            setHalfSideExtent(PxF32 halfSideExtent)         = 0;
00207
00218     virtual     bool            setHalfForwardExtent(PxF32 halfForwardExtent)   = 0;
00219
00220 protected:
00221     PX_INLINE                   PxBoxController()   {}
00222     virtual                     ~PxBoxController()  {}
00223 };
00224
00225 #if !PX_DOXYGEN
00226 } // namespace physx
00227 #endif
00228
00230 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBoxGeometry.h Source File

PxBoxGeometry.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_BOX_GEOMETRY
00032 #define PX_PHYSICS_NX_BOX_GEOMETRY
00033
00036 #include "geometry/PxGeometry.h"
00037 #include "foundation/PxVec3.h"
00038
00039 #if !PX_DOXYGEN
00040 namespace physx
00041 {
00042 #endif
00043
00050 class PxBoxGeometry : public PxGeometry
00051 {
00052 public:
00056     PX_INLINE PxBoxGeometry() :                                 PxGeometry(PxGeometryType::eBOX), halfExtents(0,0,0)        {}
00057
00064     PX_INLINE PxBoxGeometry(PxReal hx, PxReal hy, PxReal hz) :  PxGeometry(PxGeometryType::eBOX), halfExtents(hx, hy, hz)   {}
00065
00070     PX_INLINE PxBoxGeometry(PxVec3 halfExtents_) :              PxGeometry(PxGeometryType::eBOX), halfExtents(halfExtents_) {}
00071
00082     PX_INLINE bool isValid() const;
00083
00084 public:
00088     PxVec3 halfExtents;
00089 };
00090
00091
00092 PX_INLINE bool PxBoxGeometry::isValid() const
00093 {
00094     if (mType != PxGeometryType::eBOX)
00095         return false;
00096     if (!halfExtents.isFinite())
00097         return false;
00098     if (halfExtents.x <= 0.0f || halfExtents.y <= 0.0f || halfExtents.z <= 0.0f)
00099         return false;
00100
00101     return true;
00102 }
00103
00104 #if !PX_DOXYGEN
00105 } // namespace physx
00106 #endif
00107
00109 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBroadPhase.h Source File

PxBroadPhase.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_BROAD_PHASE_H
00032 #define PX_PHYSICS_BROAD_PHASE_H
00033
00037 #include "PxPhysXConfig.h"
00038 #include "foundation/PxBounds3.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00045     class PxActor;
00046
00060     struct PxBroadPhaseType
00061     {
00062         enum Enum
00063         {
00064             eSAP,
00065             eMBP,
00066             eGPU,
00067
00068             eLAST
00069         };
00070     };
00071
00089     class PxBroadPhaseCallback
00090     {
00091         public:
00092         virtual             ~PxBroadPhaseCallback() {}
00093
00102         virtual     void    onObjectOutOfBounds(PxShape& shape, PxActor& actor) = 0;
00103
00111         virtual     void    onObjectOutOfBounds(PxAggregate& aggregate) = 0;
00112     };
00113
00134     struct PxBroadPhaseRegion
00135     {
00136         PxBounds3       bounds;
00137         void*           userData;
00138     };
00139
00143     struct PxBroadPhaseRegionInfo
00144     {
00145         PxBroadPhaseRegion  region;
00146         PxU32               nbStaticObjects;
00147         PxU32               nbDynamicObjects;
00148         bool                active;
00149         bool                overlap;
00150     };
00151
00155     struct PxBroadPhaseCaps
00156     {
00157         PxU32   maxNbRegions;
00158         PxU32   maxNbObjects;
00159         bool    needsPredefinedBounds;
00160     };
00161
00162 #if !PX_DOXYGEN
00163 } // namespace physx
00164 #endif
00165
00167 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBroadPhaseExt.h Source File

PxBroadPhaseExt.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_EXTENSIONS_BROAD_PHASE_H
00032 #define PX_PHYSICS_EXTENSIONS_BROAD_PHASE_H
00033
00037 #include "PxPhysXConfig.h"
00038 #include "common/PxPhysXCommonConfig.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00045 class PxBroadPhaseExt
00046 {
00047 public:
00048
00067     static  PxU32   createRegionsFromWorldBounds(PxBounds3* regions, const PxBounds3& globalBounds, PxU32 nbSubdiv, PxU32 upAxis=1);
00068 };
00069
00070 #if !PX_DOXYGEN
00071 } // namespace physx
00072 #endif
00073
00075 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBVH33MidphaseDesc.h Source File

PxBVH33MidphaseDesc.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_BVH_33_MIDPHASE_DESC_H
00032 #define PX_BVH_33_MIDPHASE_DESC_H
00033
00037 #include "foundation/PxPreprocessor.h"
00038 #include "foundation/PxSimpleTypes.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00046 struct PxMeshCookingHint
00047 {
00048     enum Enum
00049     {
00050         eSIM_PERFORMANCE = 0,
00051         eCOOKING_PERFORMANCE = 1
00052     };
00053 };
00054
00061 struct PxBVH33MidphaseDesc
00062 {
00074     PxF32                           meshSizePerformanceTradeOff;
00075
00081     PxMeshCookingHint::Enum         meshCookingHint;
00082
00086     void setToDefault()
00087     {
00088         meshSizePerformanceTradeOff = 0.55f;
00089         meshCookingHint = PxMeshCookingHint::eSIM_PERFORMANCE;
00090     }
00091
00096     bool isValid() const
00097     {
00098         if(meshSizePerformanceTradeOff < 0.0f || meshSizePerformanceTradeOff > 1.0f)
00099             return false;
00100         return true;
00101     }
00102 };
00103
00104 #if !PX_DOXYGEN
00105 } // namespace physx
00106 #endif
00107
00108
00110 #endif // PX_BVH_33_MIDPHASE_DESC_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxBVH34MidphaseDesc.h Source File

PxBVH34MidphaseDesc.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_BVH_34_MIDPHASE_DESC_H
00032 #define PX_BVH_34_MIDPHASE_DESC_H
00033
00037 #include "foundation/PxPreprocessor.h"
00038 #include "foundation/PxSimpleTypes.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00051 struct PxBVH34MidphaseDesc
00052 {
00062     PxU32           numTrisPerLeaf;
00063
00067     void setToDefault()
00068     {
00069         numTrisPerLeaf = 4;
00070     }
00071
00076     bool isValid() const
00077     {
00078         if(numTrisPerLeaf < 4 || numTrisPerLeaf > 15)
00079             return false;
00080         return true;
00081     }
00082 };
00083
00084 #if !PX_DOXYGEN
00085 } // namespace physx
00086 #endif
00087
00088
00090 #endif // PX_BVH_34_MIDPHASE_DESC_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Pxc.h Source File

Pxc.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_COOKING_NX
00032 #define PX_COOKING_NX
00033
00034 #include "foundation/Px.h"
00035
00036 // define API function declaration
00037 #if PX_WINDOWS
00038     #if defined PX_PHYSX_COOKING_EXPORTS
00039         #define PX_PHYSX_COOKING_API __declspec(dllexport)
00040     #else
00041         #define PX_PHYSX_COOKING_API __declspec(dllimport)
00042     #endif
00043 #elif PX_UNIX_FAMILY
00044     #define PX_PHYSX_COOKING_API PX_UNIX_EXPORT
00045 #endif
00046
00047 #if !defined(PX_PHYSX_COOKING_API)
00048     #define PX_PHYSX_COOKING_API
00049 #endif
00050
00051 #ifndef PX_C_EXPORT
00052     #define PX_C_EXPORT extern "C"
00053 #endif
00054
00055 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCapsuleController.h Source File

PxCapsuleController.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_CCT_CAPSULE_CONTROLLER
00032 #define PX_PHYSICS_CCT_CAPSULE_CONTROLLER
00033
00037 #include "characterkinematic/PxCharacter.h"
00038 #include "characterkinematic/PxController.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00045 struct PxCapsuleClimbingMode
00046 {
00047     enum Enum
00048     {
00049         eEASY,
00050         eCONSTRAINED,
00051
00052         eLAST
00053     };
00054 };
00055
00061 class PxCapsuleControllerDesc : public PxControllerDesc
00062 {
00063 public:
00067     PX_INLINE                                   PxCapsuleControllerDesc ();
00068     PX_INLINE virtual                           ~PxCapsuleControllerDesc () {}
00069
00073     PX_INLINE                                   PxCapsuleControllerDesc(const PxCapsuleControllerDesc&);
00074
00078     PX_INLINE PxCapsuleControllerDesc&          operator=(const PxCapsuleControllerDesc&);
00079
00083     PX_INLINE virtual   void                setToDefault();
00089     PX_INLINE virtual   bool                isValid()       const;
00090
00098     PxF32               radius;
00099
00107     PxF32               height;
00108
00116     PxCapsuleClimbingMode::Enum     climbingMode;
00117
00118 protected:
00119     PX_INLINE void                              copy(const PxCapsuleControllerDesc&);
00120 };
00121
00122 PX_INLINE PxCapsuleControllerDesc::PxCapsuleControllerDesc () : PxControllerDesc(PxControllerShapeType::eCAPSULE)
00123 {
00124     radius = height = 0.0f;
00125     climbingMode = PxCapsuleClimbingMode::eEASY;
00126 }
00127
00128 PX_INLINE PxCapsuleControllerDesc::PxCapsuleControllerDesc(const PxCapsuleControllerDesc& other) : PxControllerDesc(other)
00129 {
00130     copy(other);
00131 }
00132
00133 PX_INLINE PxCapsuleControllerDesc& PxCapsuleControllerDesc::operator=(const PxCapsuleControllerDesc& other)
00134 {
00135     PxControllerDesc::operator=(other);
00136     copy(other);
00137     return *this;
00138 }
00139
00140 PX_INLINE void PxCapsuleControllerDesc::copy(const PxCapsuleControllerDesc& other)
00141 {
00142     radius          = other.radius;
00143     height          = other.height;
00144     climbingMode    = other.climbingMode;
00145 }
00146
00147 PX_INLINE void PxCapsuleControllerDesc::setToDefault()
00148 {
00149     *this = PxCapsuleControllerDesc();
00150 }
00151
00152 PX_INLINE bool PxCapsuleControllerDesc::isValid() const
00153 {
00154     if(!PxControllerDesc::isValid())    return false;
00155     if(radius<=0.0f)                    return false;
00156     if(height<=0.0f)                    return false;
00157     if(stepOffset>height+radius*2.0f)   return false;   // Prevents obvious mistakes
00158     return true;
00159 }
00177 class PxCapsuleController : public PxController
00178 {
00179 public:
00180
00188     virtual     PxF32           getRadius() const = 0;
00189
00200     virtual     bool            setRadius(PxF32 radius) = 0;
00201
00209     virtual     PxF32           getHeight() const = 0;
00210
00221     virtual     bool            setHeight(PxF32 height) = 0;
00222
00230     virtual     PxCapsuleClimbingMode::Enum     getClimbingMode()   const   = 0;
00231
00239     virtual     bool            setClimbingMode(PxCapsuleClimbingMode::Enum mode)   = 0;
00240
00241 protected:
00242     PX_INLINE                   PxCapsuleController()   {}
00243     virtual                     ~PxCapsuleController()  {}
00244 };
00245
00246 #if !PX_DOXYGEN
00247 } // namespace physx
00248 #endif
00249
00251 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCapsuleGeometry.h Source File

PxCapsuleGeometry.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_CAPSULE_GEOMETRY
00032 #define PX_PHYSICS_NX_CAPSULE_GEOMETRY
00033
00036 #include "geometry/PxGeometry.h"
00037
00038 #if !PX_DOXYGEN
00039 namespace physx
00040 {
00041 #endif
00042
00054 class PxCapsuleGeometry : public PxGeometry
00055 {
00056 public:
00060     PX_INLINE PxCapsuleGeometry() :                     PxGeometry(PxGeometryType::eCAPSULE), radius(0), halfHeight(0)      {}
00061
00065     PX_INLINE PxCapsuleGeometry(PxReal radius_, PxReal halfHeight_) :   PxGeometry(PxGeometryType::eCAPSULE), radius(radius_), halfHeight(halfHeight_)  {}
00066
00077     PX_INLINE bool isValid() const;
00078
00079 public:
00083     PxReal radius;
00084
00088     PxReal halfHeight;
00089 };
00090
00091
00092 PX_INLINE bool PxCapsuleGeometry::isValid() const
00093 {
00094     if (mType != PxGeometryType::eCAPSULE)
00095         return false;
00096     if (!PxIsFinite(radius) || !PxIsFinite(halfHeight))
00097         return false;
00098     if (radius <= 0.0f || halfHeight <= 0.0f)
00099         return false;
00100
00101     return true;
00102 }
00103
00104
00113 PX_FOUNDATION_API PxTransform PxTransformFromSegment(const PxVec3& p0, const PxVec3& p1, PxReal* halfHeight = NULL);
00114
00115
00116 #if !PX_DOXYGEN
00117 } // namespace physx
00118 #endif
00119
00121 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCharacter.h Source File

PxCharacter.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_CHARACTER_H
00032 #define PX_CHARACTER_H
00033
00037 #include "foundation/Px.h"
00038
00039 // define API function declaration
00040 #if defined PX_PHYSX_STATIC_LIB || defined PX_PHYSX_CHARACTER_STATIC_LIB
00041     #define PX_PHYSX_CHARACTER_API
00042 #else
00043     #if PX_WINDOWS
00044         #if defined PX_PHYSX_CHARACTER_EXPORTS
00045             #define PX_PHYSX_CHARACTER_API __declspec(dllexport)
00046         #else
00047             #define PX_PHYSX_CHARACTER_API __declspec(dllimport)
00048         #endif
00049     #elif PX_UNIX_FAMILY
00050         #define PX_PHYSX_CHARACTER_API PX_UNIX_EXPORT
00051     #else
00052         #define PX_PHYSX_CHARACTER_API
00053     #endif
00054 #endif
00055
00057 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClient.h Source File

PxClient.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_CLIENT
00032 #define PX_PHYSICS_NX_CLIENT
00033
00034 #include "foundation/PxFlags.h"
00035
00036 #if !PX_DOXYGEN
00037 namespace physx
00038 {
00039 #endif
00040
00046 typedef PxU8 PxClientID;
00047
00053 static const PxClientID PX_DEFAULT_CLIENT = 0;
00054
00060 static const PxClientID PX_MAX_CLIENTS = 128;
00061
00069 struct PX_DEPRECATED PxClientBehaviorFlag
00070 {
00071     enum Enum
00072     {
00078         eREPORT_FOREIGN_OBJECTS_TO_TRIGGER_NOTIFY           = (1<<0),
00084         eREPORT_FOREIGN_OBJECTS_TO_CONTACT_NOTIFY           = (1<<1),
00090         eREPORT_FOREIGN_OBJECTS_TO_CONSTRAINT_BREAK_NOTIFY  = (1<<2),
00094         eREPORT_FOREIGN_OBJECTS_TO_SCENE_QUERY              = (1<<3)
00095     };
00096 };
00097
00105 typedef PX_DEPRECATED PxFlags<PxClientBehaviorFlag::Enum, PxU8> PxClientBehaviorFlags;
00106 PX_FLAGS_OPERATORS(PxClientBehaviorFlag::Enum, PxU8)
00107
00108
00109
00116 struct PX_DEPRECATED PxActorClientBehaviorFlag
00117 {
00118     enum Enum
00119     {
00125         eREPORT_TO_FOREIGN_CLIENTS_TRIGGER_NOTIFY           = (1<<0),
00131         eREPORT_TO_FOREIGN_CLIENTS_CONTACT_NOTIFY           = (1<<1),
00137         eREPORT_TO_FOREIGN_CLIENTS_CONSTRAINT_BREAK_NOTIFY  = (1<<2),
00141         eREPORT_TO_FOREIGN_CLIENTS_SCENE_QUERY              = (1<<3)
00142     };
00143 };
00144
00152 typedef PX_DEPRECATED PxFlags<PxActorClientBehaviorFlag::Enum, PxU8> PxActorClientBehaviorFlags;
00153 PX_FLAGS_OPERATORS(PxActorClientBehaviorFlag::Enum, PxU8)
00154
00155 #if !PX_DOXYGEN
00156 } // namespace physx
00157 #endif
00158
00159 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCloth.h Source File

PxCloth.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_CLOTH
00032 #define PX_PHYSICS_NX_CLOTH
00033
00037 #include "PxPhysXConfig.h"
00038 #include "PxActor.h"
00039 #include "PxLockedData.h"
00040 #include "PxFiltering.h"
00041 #include "cloth/PxClothFabric.h"
00042 #include "cloth/PxClothTypes.h"
00043 #include "cloth/PxClothCollisionData.h"
00044
00045 #if !PX_DOXYGEN
00046 namespace physx
00047 {
00048 #endif
00049
00050 class PxScene;
00051
00058 struct PX_DEPRECATED PxClothStretchConfig
00059 {
00067     PxReal stiffness;
00068
00074     PxReal stiffnessMultiplier;
00075
00082     PxReal compressionLimit;
00083
00090     PxReal stretchLimit;
00091
00095     PX_INLINE PxClothStretchConfig( PxReal stiffness_=1.0f,
00096         PxReal stiffnessMultiplier_=1.0f, PxReal compressionLimit_=1.0f, PxReal stretchLimit_=1.0f)
00097         : stiffness(stiffness_)
00098         , stiffnessMultiplier(stiffnessMultiplier_)
00099         , compressionLimit(compressionLimit_)
00100         , stretchLimit(stretchLimit_)
00101     {}
00102 };
00103
00110 struct PX_DEPRECATED PxClothTetherConfig
00111 {
00119     PxReal stiffness;
00120
00127     PxReal stretchLimit;
00128
00132     PX_INLINE PxClothTetherConfig(PxReal stiffness_ = 1.0f, PxReal stretchLimit_ = 1.0f)
00133         : stiffness(stiffness_), stretchLimit(stretchLimit_)
00134     {}
00135 };
00136
00143 struct PX_DEPRECATED PxClothMotionConstraintConfig
00144 {
00151     PxReal scale;
00152
00159     PxReal bias;
00160
00168     PxReal stiffness;
00169
00173     PX_INLINE PxClothMotionConstraintConfig(PxReal radiiScale = 1.0f, PxReal radiiBias = 0.0f, PxReal consStiffness = 1.0f)
00174         : scale(radiiScale), bias(radiiBias), stiffness(consStiffness)
00175     {}
00176 };
00177
00194 class PX_DEPRECATED PxCloth : public PxActor
00195 {
00196 public:
00201     virtual void release() = 0;
00202
00207     virtual PxClothFabric* getFabric() const = 0;
00208
00214     virtual PxBounds3 getWorldBounds(float inflation=1.01f) const = 0;
00215
00220     virtual PxU32 getNbParticles() const = 0;
00221
00242     virtual PxClothParticleData* lockParticleData(PxDataAccessFlags flags) = 0;
00248     virtual PxClothParticleData* lockParticleData() const = 0;
00249
00260     virtual void setParticles(const PxClothParticle* currentParticles, const PxClothParticle* previousParticles) = 0;
00261
00267     virtual void setClothFlag(PxClothFlag::Enum flag, bool value)   = 0;
00272     virtual void setClothFlags(PxClothFlags inFlags)    = 0;
00277     virtual PxClothFlags getClothFlags() const = 0;
00278
00282
00283
00291     virtual void setTargetPose(const PxTransform& pose) = 0;
00300     virtual void setGlobalPose(const PxTransform& pose) = 0;
00305     virtual PxTransform getGlobalPose() const = 0;
00306
00314     virtual void setSolverFrequency(PxReal frequency) = 0;
00319     virtual PxReal getSolverFrequency() const = 0;
00320
00326     virtual PxReal getPreviousTimeStep() const = 0;
00327
00339     virtual void setStiffnessFrequency(PxReal frequency) = 0;
00345     virtual PxReal getStiffnessFrequency() const = 0;
00346
00354     virtual void setLinearInertiaScale(PxVec3 scale) = 0;
00359     virtual PxVec3 getLinearInertiaScale() const = 0;
00367     virtual void setAngularInertiaScale(PxVec3 scale) = 0;
00372     virtual PxVec3 getAngularInertiaScale() const = 0;
00380     virtual void setCentrifugalInertiaScale(PxVec3 scale) = 0;
00385     virtual PxVec3 getCentrifugalInertiaScale() const = 0;
00390     virtual void setInertiaScale(PxReal scale) = 0;
00391
00399     virtual void setDampingCoefficient(PxVec3 dampingCoefficient) = 0;
00404     virtual PxVec3 getDampingCoefficient() const = 0;
00405
00414     virtual void setLinearDragCoefficient(PxVec3 dragCoefficient) = 0;
00419     virtual PxVec3 getLinearDragCoefficient() const = 0;
00428     virtual void setAngularDragCoefficient(PxVec3 dragCoefficient) = 0;
00433     virtual PxVec3 getAngularDragCoefficient() const = 0;
00438     virtual void setDragCoefficient(PxReal scale) = 0;
00439
00445     virtual void setExternalAcceleration(PxVec3 acceleration) = 0;
00450     virtual PxVec3 getExternalAcceleration() const = 0;
00451
00458     virtual void setParticleAccelerations(const PxVec4* particleAccelerations) = 0;
00464     virtual bool getParticleAccelerations(PxVec4* particleAccelerationsBuffer) const = 0;
00469     virtual PxU32 getNbParticleAccelerations() const = 0;
00470
00474     virtual PxVec3 getWindVelocity() const = 0;
00478     virtual void setWindVelocity(PxVec3) = 0;
00482     virtual PxReal getWindDrag() const = 0;
00486     virtual void setWindDrag(PxReal) = 0;
00490     virtual PxReal getWindLift() const = 0;
00494     virtual void setWindLift(PxReal) = 0;
00495
00497
00501
00502
00510     virtual void setMotionConstraints(const PxClothParticleMotionConstraint* motionConstraints) = 0;
00516     virtual bool getMotionConstraints(PxClothParticleMotionConstraint* motionConstraintsBuffer) const = 0;
00521     virtual PxU32 getNbMotionConstraints() const = 0;
00526     virtual void setMotionConstraintConfig(const PxClothMotionConstraintConfig& config) = 0;
00531     virtual PxClothMotionConstraintConfig getMotionConstraintConfig() const = 0;
00532
00540     virtual void setSeparationConstraints(const PxClothParticleSeparationConstraint* separationConstraints) = 0;
00546     virtual bool getSeparationConstraints(PxClothParticleSeparationConstraint* separationConstraintsBuffer) const = 0;
00551     virtual PxU32 getNbSeparationConstraints() const = 0;
00552
00559     virtual void clearInterpolation() = 0;
00560
00566     virtual void setStretchConfig(PxClothFabricPhaseType::Enum type, const PxClothStretchConfig& config) = 0;
00572     virtual PxClothStretchConfig getStretchConfig(PxClothFabricPhaseType::Enum type) const = 0;
00577     virtual void setTetherConfig(const PxClothTetherConfig& config) = 0;
00582     virtual PxClothTetherConfig getTetherConfig() const = 0;
00583
00585
00589
00590
00596     virtual void addCollisionSphere(const PxClothCollisionSphere& sphere) = 0;
00603     virtual void removeCollisionSphere(PxU32 index) = 0;
00612     virtual void setCollisionSpheres(const PxClothCollisionSphere* spheresBuffer, PxU32 count) = 0;
00617     virtual PxU32 getNbCollisionSpheres() const = 0;
00618
00628     virtual void addCollisionCapsule(PxU32 first, PxU32 second) = 0;
00634     virtual void removeCollisionCapsule(PxU32 index) = 0;
00639     virtual PxU32 getNbCollisionCapsules() const = 0;
00640
00647     virtual void addCollisionPlane(const PxClothCollisionPlane& plane) = 0;
00655     virtual void removeCollisionPlane(PxU32 index) = 0;
00664     virtual void setCollisionPlanes(const PxClothCollisionPlane* planesBuffer, PxU32 count) = 0;
00669     virtual PxU32 getNbCollisionPlanes() const = 0;
00670
00678     virtual void addCollisionConvex(PxU32 mask) = 0;
00685     virtual void removeCollisionConvex(PxU32 index) = 0;
00690     virtual PxU32 getNbCollisionConvexes() const = 0;
00691
00697     virtual void addCollisionTriangle(const PxClothCollisionTriangle& triangle) = 0;
00703     virtual void removeCollisionTriangle(PxU32 index) = 0;
00712     virtual void setCollisionTriangles(const PxClothCollisionTriangle* trianglesBuffer, PxU32 count) = 0;
00717     virtual PxU32 getNbCollisionTriangles() const = 0;
00718
00730     virtual void getCollisionData(PxClothCollisionSphere* spheresBuffer, PxU32* capsulesBuffer,
00731         PxClothCollisionPlane* planesBuffer, PxU32* convexesBuffer, PxClothCollisionTriangle* trianglesBuffer) const = 0;
00732
00749     virtual void setVirtualParticles(PxU32 numVirtualParticles, const PxU32* indices, PxU32 numWeights, const PxVec3* weights) = 0;
00754     virtual PxU32 getNbVirtualParticles() const = 0;
00760     virtual void getVirtualParticles(PxU32* indicesBuffer) const = 0;
00765     virtual PxU32 getNbVirtualParticleWeights() const = 0;
00770     virtual void getVirtualParticleWeights(PxVec3* weightsBuffer) const = 0;
00771
00777     virtual void setFrictionCoefficient(PxReal frictionCoefficient) = 0;
00782     virtual PxReal getFrictionCoefficient() const = 0;
00783
00792     virtual void setCollisionMassScale(PxReal scalingCoefficient) = 0;
00797     virtual PxReal getCollisionMassScale() const = 0;
00798
00800
00804
00805
00811     virtual void setSelfCollisionDistance(PxReal distance) = 0;
00816     virtual PxReal getSelfCollisionDistance() const = 0;
00823     virtual void setSelfCollisionStiffness(PxReal stiffness) = 0;
00828     virtual PxReal getSelfCollisionStiffness() const = 0;
00829
00840     virtual void setSelfCollisionIndices(const PxU32* indices, PxU32 nbIndices) = 0;
00846     virtual bool getSelfCollisionIndices(PxU32* indices) const = 0;
00847
00852     virtual PxU32 getNbSelfCollisionIndices() const = 0;
00853
00865     virtual void setRestPositions(const PxVec4* restPositions) = 0;
00871     virtual bool getRestPositions(PxVec4* restPositions) const = 0;
00876     virtual PxU32 getNbRestPositions() const = 0;
00877
00879
00883
00884
00892     virtual void setSimulationFilterData(const PxFilterData& data) = 0;
00893
00899     virtual PxFilterData getSimulationFilterData() const = 0;
00900
00902
00906
00907
00915     virtual void setContactOffset(PxReal offset) = 0;
00916
00921     virtual PxReal getContactOffset() const = 0;
00922
00930     virtual void setRestOffset(PxReal offset) = 0;
00931
00936     virtual PxReal getRestOffset() const = 0;
00937
00939
00943
00944
00952     virtual void setSleepLinearVelocity(PxReal threshold) = 0;
00957     virtual PxReal getSleepLinearVelocity() const = 0;
00967     virtual void setWakeCounter(PxReal wakeCounterValue) = 0;
00973     virtual PxReal getWakeCounter() const = 0;
00980     virtual void wakeUp() = 0;
00985     virtual void putToSleep() = 0;
00991     virtual bool isSleeping() const = 0;
00992
00994
00995     virtual const char* getConcreteTypeName() const { return "PxCloth"; }
00996
00997 protected:
00998     PX_INLINE PxCloth(PxType concreteType, PxBaseFlags baseFlags) : PxActor(concreteType, baseFlags) {}
00999     PX_INLINE PxCloth(PxBaseFlags baseFlags) : PxActor(baseFlags) {}
01000     virtual ~PxCloth() {}
01001     virtual bool isKindOf(const char* name) const { return !::strcmp("PxCloth", name) || PxActor::isKindOf(name); }
01002 };
01003
01004 #if !PX_DOXYGEN
01005 } // namespace physx
01006 #endif
01007
01009 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothCollisionData.h Source File

PxClothCollisionData.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_CLOTH_COLLISION_DATA
00032 #define PX_PHYSICS_NX_CLOTH_COLLISION_DATA
00033
00037 #include "PxPhysXConfig.h"
00038 #include "foundation/PxVec3.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00051 struct PX_DEPRECATED PxClothCollisionSphere
00052 {
00053     PxVec3 pos;
00054     PxReal radius;
00055
00059     PxClothCollisionSphere() {}
00060     PxClothCollisionSphere(const PxVec3& p, PxReal r)
00061         : pos(p), radius(r) {}
00062 };
00063
00070 struct PX_DEPRECATED PxClothCollisionPlane
00071 {
00072     PxVec3 normal;
00073     PxReal distance;
00074
00078     PxClothCollisionPlane() {}
00079     PxClothCollisionPlane(const PxVec3& normal_, PxReal distance_)
00080         : normal(normal_), distance(distance_) {}
00081 };
00082
00087 struct PX_DEPRECATED PxClothCollisionTriangle
00088 {
00089     PxVec3 vertex0;
00090     PxVec3 vertex1;
00091     PxVec3 vertex2;
00092
00096     PxClothCollisionTriangle() {}
00097     PxClothCollisionTriangle(
00098         const PxVec3& v0,
00099         const PxVec3& v1,
00100         const PxVec3& v2) :
00101         vertex0(v0),
00102         vertex1(v1),
00103         vertex2(v2) {}
00104 };
00105
00106
00107 #if !PX_DOXYGEN
00108 } // namespace physx
00109 #endif
00110
00112 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothFabric.h Source File

PxClothFabric.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_CLOTH_FABRIC
00032 #define PX_PHYSICS_NX_CLOTH_FABRIC
00033
00038 #include "common/PxBase.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00050 struct PX_DEPRECATED PxClothFabricPhaseType
00051 {
00052     enum Enum
00053     {
00054         eINVALID,
00055         eVERTICAL,
00056         eHORIZONTAL,
00057         eBENDING,
00058         eSHEARING,
00059         eCOUNT        // internal use only
00060     };
00061 };
00062
00068 struct PX_DEPRECATED PxClothFabricPhase
00069 {
00070     PxClothFabricPhase(PxClothFabricPhaseType::Enum type =
00071         PxClothFabricPhaseType::eINVALID, PxU32 index = 0);
00072
00076     PxClothFabricPhaseType::Enum phaseType;
00077
00081     PxU32 setIndex;
00082 };
00083
00084 PX_INLINE PxClothFabricPhase::PxClothFabricPhase(
00085     PxClothFabricPhaseType::Enum type, PxU32 index)
00086     : phaseType(type)
00087     , setIndex(index)
00088 {}
00089
00095 class PX_DEPRECATED PxClothFabricDesc
00096 {
00097 public:
00099     PxU32 nbParticles;
00100
00102     PxU32 nbPhases;
00104     const PxClothFabricPhase* phases;
00105
00107     PxU32 nbSets;
00109     const PxU32* sets;
00110
00112     const PxU32* indices;
00114     const PxReal* restvalues;
00115
00117     PxU32 nbTethers;
00119     const PxU32* tetherAnchors;
00121     const PxReal* tetherLengths;
00122
00124     const PxU32* triangles;
00126     PxU32 nbTriangles;
00127
00131     PX_INLINE PxClothFabricDesc();
00132
00136     PX_INLINE void setToDefault();
00137
00142     PX_INLINE bool isValid() const;
00143 };
00144
00145 PX_INLINE PxClothFabricDesc::PxClothFabricDesc()
00146 {
00147     setToDefault();
00148 }
00149
00150 PX_INLINE void PxClothFabricDesc::setToDefault()
00151 {
00152     memset(this, 0, sizeof(PxClothFabricDesc));
00153 }
00154
00155 PX_INLINE bool PxClothFabricDesc::isValid() const
00156 {
00157     return nbParticles && nbPhases && phases && restvalues && nbSets
00158         && sets && indices && (!nbTethers || (tetherAnchors && tetherLengths))
00159         && (!nbTriangles || triangles);
00160 }
00161
00162
00185 class PX_DEPRECATED PxClothFabric   : public PxBase
00186 {
00187 public:
00193     virtual void release() = 0;
00194
00199     virtual PxU32 getNbParticles() const = 0;
00200
00205     virtual PxU32 getNbPhases() const = 0;
00206
00211     virtual PxU32 getNbRestvalues() const = 0;
00212
00217     virtual PxU32 getNbSets() const = 0;
00218
00223     virtual PxU32 getNbParticleIndices() const = 0;
00224
00229     virtual PxU32 getNbTethers() const = 0;
00230
00241     virtual PxU32 getPhases(PxClothFabricPhase* userPhaseBuffer, PxU32 bufferSize) const = 0;
00242
00254     virtual PxU32 getSets(PxU32* userSetBuffer, PxU32 bufferSize) const = 0;
00255
00266     virtual PxU32 getParticleIndices(PxU32* userParticleIndexBuffer, PxU32 bufferSize) const = 0;
00267
00281     virtual PxU32 getRestvalues(PxReal* userRestvalueBuffer, PxU32 bufferSize) const = 0;
00282
00295     virtual PxU32 getTetherAnchors(PxU32* userAnchorBuffer, PxU32 bufferSize) const = 0;
00296
00308     virtual PxU32 getTetherLengths(PxReal* userLengthBuffer, PxU32 bufferSize) const = 0;
00309
00310
00315     virtual void scaleRestlengths(PxReal scale) = 0;
00316
00323     virtual PxU32 getReferenceCount() const = 0;
00324
00330     virtual void acquireReference() = 0;
00331
00332
00333     virtual const char* getConcreteTypeName() const { return "PxClothFabric";   }
00334
00335 protected:
00336
00337     PX_INLINE PxClothFabric(PxType concreteType, PxBaseFlags baseFlags) : PxBase(concreteType, baseFlags) {}
00338     PX_INLINE PxClothFabric(PxBaseFlags baseFlags) : PxBase(baseFlags) {}
00339     virtual ~PxClothFabric() {}
00340     virtual bool isKindOf(const char* name) const { return !::strcmp("PxClothFabric", name) || PxBase::isKindOf(name); }
00341 };
00342
00343 #if !PX_DOXYGEN
00344 } // namespace physx
00345 #endif
00346
00348 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothFabricCooker.h Source File

PxClothFabricCooker.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_EXTENSIONS_CLOTH_FABRIC_COOKER_H
00032 #define PX_PHYSICS_EXTENSIONS_CLOTH_FABRIC_COOKER_H
00033
00038 #include "common/PxPhysXCommonConfig.h"
00039 #include "PxClothMeshDesc.h"
00040 #include "cloth/PxClothFabric.h"
00041
00042 #if !PX_DOXYGEN
00043 namespace physx
00044 {
00045 #endif
00046
00047 class PxPhysics;
00048
00049 struct PxFabricCookerImpl;
00050
00054 class PX_DEPRECATED PxClothFabricCooker
00055 {
00056 public:
00066     PxClothFabricCooker(const PxClothMeshDesc& desc, const PxVec3& gravity, bool useGeodesicTether = true);
00067     ~PxClothFabricCooker();
00068
00070     PxClothFabricDesc getDescriptor() const;
00072     void save(PxOutputStream& stream, bool platformMismatch) const;
00073
00074 private:
00075     PxFabricCookerImpl* mImpl;
00076 };
00077
00088 PxClothFabric* PxClothFabricCreate(PxPhysics& physics,
00089     const PxClothMeshDesc& desc, const PxVec3& gravity, bool useGeodesicTether = true);
00090
00091 #if !PX_DOXYGEN
00092 } // namespace physx
00093 #endif
00094
00096 #endif // PX_PHYSICS_EXTENSIONS_CLOTH_FABRIC_COOKER_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothMeshDesc.h Source File

PxClothMeshDesc.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_CLOTHMESHDESC
00032 #define PX_PHYSICS_NX_CLOTHMESHDESC
00033
00037 #include "common/PxPhysXCommonConfig.h"
00038 #include "geometry/PxSimpleTriangleMesh.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00053 class PX_DEPRECATED PxClothMeshDesc
00054 {
00055 public:
00056
00060     PxBoundedData points;
00061
00069     PxBoundedData invMasses;
00070
00085     PxBoundedData triangles;
00086
00101     PxBoundedData quads;
00102
00106     PxMeshFlags flags;
00107
00111     PX_INLINE PxClothMeshDesc();
00115     PX_INLINE void setToDefault();
00120     PX_INLINE bool isValid() const;
00121 };
00122
00123 PX_INLINE PxClothMeshDesc::PxClothMeshDesc()    //constructor sets to default
00124 {
00125 }
00126
00127 PX_INLINE void PxClothMeshDesc::setToDefault()
00128 {
00129     *this = PxClothMeshDesc();
00130 }
00131
00132 PX_INLINE bool PxClothMeshDesc::isValid() const
00133 {
00134     if(points.count < 3)    //at least 1 trig's worth of points
00135         return false;
00136     if(points.count > 0xffff && flags & PxMeshFlag::e16_BIT_INDICES)
00137         return false;
00138     if(!points.data)
00139         return false;
00140     if(points.stride < sizeof(PxVec3))  //should be at least one point's worth of data
00141         return false;
00142
00143     if(invMasses.data && invMasses.stride < sizeof(float))
00144         return false;
00145     if(invMasses.data && invMasses.count != points.count)
00146         return false;
00147
00148     if (!triangles.count && !quads.count)   // no support for non-indexed mesh
00149         return false;
00150     if (triangles.count && !triangles.data)
00151         return false;
00152     if (quads.count && !quads.data)
00153         return false;
00154
00155     PxU32 indexSize = (flags & PxMeshFlag::e16_BIT_INDICES) ? sizeof(PxU16) : sizeof(PxU32);
00156     if(triangles.count && triangles.stride < indexSize*3)
00157         return false;
00158     if(quads.count && quads.stride < indexSize*4)
00159         return false;
00160
00161     return true;
00162 }
00163
00164 #if !PX_DOXYGEN
00165 } // namespace physx
00166 #endif
00167
00169 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothMeshQuadifier.h Source File

PxClothMeshQuadifier.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_EXTENSIONS_CLOTH_EDGE_QUADIFIER_H
00032 #define PX_PHYSICS_EXTENSIONS_CLOTH_EDGE_QUADIFIER_H
00033
00034 #include "common/PxPhysXCommonConfig.h"
00035 #include "PxClothMeshDesc.h"
00036
00037 #if !PX_DOXYGEN
00038 namespace physx
00039 {
00040 #endif
00041
00042 struct PxClothMeshQuadifierImpl;
00043
00047 class PX_DEPRECATED PxClothMeshQuadifier
00048 {
00049 public:
00058     PxClothMeshQuadifier(const PxClothMeshDesc &desc);
00059     ~PxClothMeshQuadifier();
00060
00065     PxClothMeshDesc getDescriptor() const;
00066
00067 private:
00068     PxClothMeshQuadifierImpl* mImpl;
00069
00070 };
00071
00072 #if !PX_DOXYGEN
00073 } // namespace physx
00074 #endif
00075
00076 #endif // PX_PHYSICS_EXTENSIONS_CLOTH_EDGE_QUADIFIER_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothParticleData.h Source File

PxClothParticleData.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_CLOTH_READ_DATA
00032 #define PX_PHYSICS_NX_CLOTH_READ_DATA
00033
00034 #include "PxPhysXConfig.h"
00035
00036 #if PX_USE_CLOTH_API
00037
00042 #include "PxLockedData.h"
00043
00044 #if !PX_DOXYGEN
00045 namespace physx
00046 {
00047 #endif
00048
00049 struct PxClothParticle;
00050
00056 class PX_DEPRECATED PxClothParticleData : public PxLockedData
00057 {
00058 public:
00063     PxClothParticle* particles;
00064
00069     PxClothParticle* previousParticles;
00070 };
00071
00072 #if !PX_DOXYGEN
00073 } // namespace physx
00074 #endif
00075
00078 #endif // PX_USE_CLOTH_API
00079
00080 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothTetherCooker.h Source File

PxClothTetherCooker.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_EXTENSIONS_CLOTH_TETHER_COOKER_H
00032 #define PX_PHYSICS_EXTENSIONS_CLOTH_TETHER_COOKER_H
00033
00034 #include "common/PxPhysXCommonConfig.h"
00035 #include "PxClothMeshDesc.h"
00036
00037 #if !PX_DOXYGEN
00038 namespace physx
00039 {
00040 #endif
00041
00042 struct PxClothSimpleTetherCookerImpl;
00043
00047 class PX_DEPRECATED PxClothSimpleTetherCooker
00048 {
00049 public:
00059     PxClothSimpleTetherCooker(const PxClothMeshDesc &desc);
00060     ~PxClothSimpleTetherCooker();
00061
00067     void getTetherData(PxU32* userTetherAnchors, PxReal* userTetherLengths) const;
00068
00069 private:
00070     PxClothSimpleTetherCookerImpl* mImpl;
00071
00072 };
00073
00074
00075 struct PxClothGeodesicTetherCookerImpl;
00076
00080 class PX_DEPRECATED PxClothGeodesicTetherCooker
00081 {
00082 public:
00096     PxClothGeodesicTetherCooker(const PxClothMeshDesc &desc);
00097     ~PxClothGeodesicTetherCooker();
00098
00104     PxU32 getCookerStatus() const;
00105
00112     PxU32 getNbTethersPerParticle() const;
00113
00120     void getTetherData(PxU32* userTetherAnchors, PxReal* userTetherLengths) const;
00121
00122 private:
00123     PxClothGeodesicTetherCookerImpl* mImpl;
00124
00125 };
00126
00127
00128 #if !PX_DOXYGEN
00129 } // namespace physx
00130 #endif
00131
00132 #endif // PX_PHYSICS_EXTENSIONS_CLOTH_TETHER_COOKER_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxClothTypes.h Source File

PxClothTypes.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_CLOTH_TYPES
00032 #define PX_PHYSICS_NX_CLOTH_TYPES
00033
00040 #include "PxPhysXConfig.h"
00041 #include "foundation/PxFlags.h"
00042
00043 #include "foundation/PxVec3.h"
00044
00045 #if !PX_DOXYGEN
00046 namespace physx
00047 {
00048 #endif
00049
00058 struct PX_DEPRECATED PxClothFlag
00059 {
00060     enum Enum
00061     {
00062         eDEFAULT           = 0,
00063         eCUDA              = (1<<0),
00064         eGPU PX_DEPRECATED = eCUDA,
00065         eSWEPT_CONTACT     = (1<<2),
00066         eSCENE_COLLISION   = (1<<3),
00067         eCOUNT             = 4       // internal use only
00068     };
00069 };
00070
00071 typedef PxFlags<PxClothFlag::Enum,PxU16> PxClothFlags;
00072 PX_FLAGS_OPERATORS(PxClothFlag::Enum, PxU16)
00073
00074
00083 struct PX_DEPRECATED PxClothParticle
00084 {
00085     PxVec3 pos;
00086     PxReal invWeight;
00087
00091     PxClothParticle() {}
00092     PxClothParticle(const PxVec3& pos_, PxReal invWeight_)
00093         : pos(pos_), invWeight(invWeight_){}
00094 };
00095
00102 struct PX_DEPRECATED PxClothParticleMotionConstraint
00103 {
00104     PxVec3 pos;
00105     PxReal radius;
00106
00110     PxClothParticleMotionConstraint() {}
00111     PxClothParticleMotionConstraint(const PxVec3& p, PxReal r)
00112         : pos(p), radius(r){}
00113 };
00114
00121 struct PX_DEPRECATED PxClothParticleSeparationConstraint
00122 {
00123     PxVec3 pos;
00124     PxReal radius;
00125
00129     PxClothParticleSeparationConstraint() {}
00130     PxClothParticleSeparationConstraint(const PxVec3& p, PxReal r)
00131         : pos(p), radius(r){}
00132 };
00133
00134 #if !PX_DOXYGEN
00135 } // namespace physx
00136 #endif
00137
00139 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCollection.h Source File

PxCollection.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_PX_COLLECTION
00032 #define PX_PHYSICS_PX_COLLECTION
00033
00034 #include "PxSerialFramework.h"
00035
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00045 class PxBase;
00046
00105 class PxCollection
00106 {
00107 public:
00108
00122     virtual void                        add(PxBase& object, PxSerialObjectId id = PX_SERIAL_OBJECT_ID_INVALID) = 0;
00123
00131     virtual void                        remove(PxBase& object) = 0;
00132
00139     virtual bool                        contains(PxBase& object) const = 0;
00140
00151     virtual void                        addId(PxBase& object, PxSerialObjectId id) = 0;
00152
00160     virtual void                        removeId(PxSerialObjectId id) = 0;
00161
00170     virtual void                        add(PxCollection& collection) = 0;
00171
00180     virtual void                        remove(PxCollection& collection) = 0;
00181
00187     virtual PxU32                       getNbObjects() const = 0;
00188
00195     virtual PxBase&                     getObject(PxU32 index) const = 0;
00196
00205     virtual PxU32                       getObjects(PxBase** userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const = 0;
00206
00215     virtual PxBase*                     find(PxSerialObjectId id) const = 0;
00216
00222     virtual PxU32                       getNbIds() const = 0;
00223
00232     virtual PxU32                       getIds(PxSerialObjectId* userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const = 0;
00233
00242     virtual PxSerialObjectId            getId(const PxBase& object) const = 0;
00243
00253     virtual void                        release() = 0;
00254
00255 protected:
00256                                         PxCollection()  {}
00257     virtual                             ~PxCollection() {}
00258 };
00259
00260 #if !PX_DOXYGEN
00261 } // namespace physx
00262 #endif
00263
00275 PX_PHYSX_COMMON_API physx::PxCollection* PX_CALL_CONV PxCreateCollection();
00276
00277
00279 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCollectionExt.h Source File

PxCollectionExt.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_COLLECTION_EXT_H
00032 #define PX_COLLECTION_EXT_H
00033
00037 #include "PxPhysXConfig.h"
00038 #include "common/PxCollection.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00045     class PxCollectionExt
00046     {
00047     public:
00065         static void releaseObjects(PxCollection& collection, bool releaseExclusiveShapes = true);
00066
00076         static void remove(PxCollection& collection, PxType concreteType, PxCollection* to = NULL);
00077
00078
00093         static  PxCollection*   createCollection(PxPhysics& physics);
00094
00111         static  PxCollection*   createCollection(PxScene& scene);
00112     };
00113
00114 #if !PX_DOXYGEN
00115 } // namespace physx
00116 #endif
00117
00119 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxConstraint.h Source File

PxConstraint.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_CONSTRAINT
00032 #define PX_PHYSICS_NX_CONSTRAINT
00033
00038 #include "PxPhysXConfig.h"
00039 #include "PxConstraintDesc.h"
00040 #include "common/PxBase.h"
00041
00042 #if !PX_DOXYGEN
00043 namespace physx
00044 {
00045 #endif
00046
00047 class PxRigidActor;
00048 class PxScene;
00049 class PxConstraintConnector;
00050
00063 struct PxConstraintFlag
00064 {
00065     enum Enum
00066     {
00067         eBROKEN                     = 1<<0,
00068         ePROJECT_TO_ACTOR0          = 1<<1,
00069         ePROJECT_TO_ACTOR1          = 1<<2,
00070         ePROJECTION                 = ePROJECT_TO_ACTOR0 | ePROJECT_TO_ACTOR1,
00071         eCOLLISION_ENABLED          = 1<<3,
00072         eVISUALIZATION              = 1<<4,
00073         eDRIVE_LIMITS_ARE_FORCES    = 1<<5,
00074         eIMPROVED_SLERP             = 1<<7,
00075         eDISABLE_PREPROCESSING      = 1<<8,
00076         eGPU_COMPATIBLE             = 1<<9
00077     };
00078 };
00079
00085 typedef PxFlags<PxConstraintFlag::Enum, PxU16> PxConstraintFlags;
00086 PX_FLAGS_OPERATORS(PxConstraintFlag::Enum, PxU16)
00087
00088
00089 struct PxConstraintShaderTable
00090 {
00091     enum
00092     {
00093         eMAX_SOLVERPRPEP_DATASIZE=400
00094     };
00095
00096     PxConstraintSolverPrep          solverPrep;
00097     PxConstraintProject             project;
00098     PxConstraintVisualize           visualize;
00099     PxConstraintFlag::Enum          flag;
00100 };
00101
00102
00109 class PxConstraint : public PxBase
00110 {
00111 public:
00112
00120     virtual void                release()                                                       = 0;
00121
00129     virtual PxScene*            getScene()                                              const   = 0;
00130
00140     virtual void                getActors(PxRigidActor*& actor0, PxRigidActor*& actor1) const   = 0;
00141
00142
00152     virtual void                setActors(PxRigidActor* actor0, PxRigidActor* actor1)           = 0;
00153
00158     virtual void                markDirty()                                                     = 0;
00159
00170     virtual void                setFlags(PxConstraintFlags flags)                               = 0;
00171
00179     virtual PxConstraintFlags   getFlags()                                              const   = 0;
00180
00181
00191     virtual void                setFlag(PxConstraintFlag::Enum flag, bool value)                = 0;
00192
00199     virtual void                getForce(PxVec3& linear, PxVec3& angular)               const   = 0;
00200
00201
00212     virtual bool                isValid() const                                                 = 0;
00213
00224     virtual void                setBreakForce(PxReal linear, PxReal angular)                = 0;
00225
00233     virtual void                getBreakForce(PxReal& linear, PxReal& angular)      const   = 0;
00234
00235
00250     virtual void                setMinResponseThreshold(PxReal threshold)                   = 0;
00251
00258     virtual PxReal              getMinResponseThreshold()                           const   = 0;
00259
00260
00271     virtual void*               getExternalReference(PxU32& typeID)                         = 0;
00272
00281     virtual void                setConstraintFunctions(PxConstraintConnector& connector,
00282                                                        const PxConstraintShaderTable& shaders)      = 0;
00283
00284     virtual const char*         getConcreteTypeName() const { return "PxConstraint"; }
00285
00286 protected:
00287     PX_INLINE                   PxConstraint(PxType concreteType, PxBaseFlags baseFlags) : PxBase(concreteType, baseFlags) {}
00288     PX_INLINE                   PxConstraint(PxBaseFlags baseFlags) : PxBase(baseFlags) {}
00289     virtual                     ~PxConstraint() {}
00290     virtual bool                isKindOf(const char* name) const { return !::strcmp("PxConstraint", name) || PxBase::isKindOf(name); }
00291
00292 };
00293
00294 #if !PX_DOXYGEN
00295 } // namespace physx
00296 #endif
00297
00299 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxConstraintDesc.h Source File

PxConstraintDesc.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_CONSTRAINTDESC
00032 #define PX_PHYSICS_NX_CONSTRAINTDESC
00033
00038 #include "PxPhysXConfig.h"
00039 #include "foundation/PxFlags.h"
00040 #include "foundation/PxVec3.h"
00041 #include "common/PxBase.h"
00042
00043 #if !PX_DOXYGEN
00044 namespace physx { namespace pvdsdk {
00045 #endif
00046     class PvdDataStream;
00047 #if !PX_DOXYGEN
00048 }}
00049 #endif
00050
00051 #if !PX_DOXYGEN
00052 namespace physx
00053 {
00054 #endif
00055
00056 class PxConstraintConnector;
00057 class PxRigidActor;
00058 class PxScene;
00059 class PxConstraintConnector;
00060 class PxRenderBuffer;
00061 class PxDeletionListener;
00062
00069 struct Px1DConstraintFlag
00070 {
00071     PX_CUDA_CALLABLE Px1DConstraintFlag(){}
00072
00073     enum Type
00074     {
00075         eSPRING                     = 1<<0,
00076         eACCELERATION_SPRING        = 1<<1,
00077         eRESTITUTION                = 1<<2,
00078         eKEEPBIAS                   = 1<<3,
00079         eOUTPUT_FORCE               = 1<<4,
00080         eHAS_DRIVE_LIMIT            = 1<<5
00081     };
00082 };
00083
00084 typedef PxFlags<Px1DConstraintFlag::Type, PxU16> Px1DConstraintFlags;
00085 PX_FLAGS_OPERATORS(Px1DConstraintFlag::Type, PxU16)
00086
00087
00091 struct PxConstraintSolveHint
00092 {
00093     enum Enum
00094     {
00095         eNONE               =   0,
00096         eACCELERATION1      =   256,
00097         eSLERP_SPRING       =   258,
00098         eACCELERATION2      =   512,
00099         eACCELERATION3      =   768,
00100         eEQUALITY           =   1024,
00101         eINEQUALITY         =   1025
00102     };
00103 };
00104
00141 PX_ALIGN_PREFIX(16)
00142 struct Px1DConstraint
00143 {
00144     PxVec3              linear0;
00145     PxReal              geometricError;
00146     PxVec3              angular0;
00147     PxReal              velocityTarget;
00148
00149     PxVec3              linear1;
00150     PxReal              minImpulse;
00151     PxVec3              angular1;
00152     PxReal              maxImpulse;
00153
00154     union
00155     {
00156         struct SpringModifiers
00157         {
00158             PxReal      stiffness;
00159             PxReal      damping;
00160         } spring;
00161         struct RestitutionModifiers
00162         {
00163             PxReal      restitution;
00164             PxReal      velocityThreshold;
00165         } bounce;
00166     } mods;
00167
00168     PxReal              forInternalUse;
00169     PxU16               flags;
00170     PxU16               solveHint;
00171 }
00172 PX_ALIGN_SUFFIX(16);
00173
00174
00180 struct PxConstraintVisualizationFlag
00181 {
00182     enum Enum
00183     {
00184         eLOCAL_FRAMES   = 1,
00185         eLIMITS         = 2
00186     };
00187 };
00188
00189 PX_ALIGN_PREFIX(16)
00190 struct PxConstraintInvMassScale
00191 {
00192 //= ATTENTION! =====================================================================================
00193 // Changing the data layout of this class breaks the binary serialization format.  See comments for
00194 // PX_BINARY_SERIAL_VERSION.  If a modification is required, please adjust the getBinaryMetaData
00195 // function.  If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION
00196 // accordingly.
00197 //==================================================================================================
00198
00199     PxReal linear0;
00200     PxReal angular0;
00201     PxReal linear1;
00202     PxReal angular1;
00203
00204     PxConstraintInvMassScale(){}
00205     PxConstraintInvMassScale(PxReal lin0, PxReal ang0, PxReal lin1, PxReal ang1) : linear0(lin0), angular0(ang0), linear1(lin1), angular1(ang1){}
00206 }
00207 PX_ALIGN_SUFFIX(16);
00208
00227 typedef PxU32 (*PxConstraintSolverPrep)(Px1DConstraint* constraints,
00228                                         PxVec3& bodyAWorldOffset,
00229                                         PxU32 maxConstraints,
00230                                         PxConstraintInvMassScale& invMassScale,
00231                                         const void* constantBlock,
00232                                         const PxTransform& bodyAToWorld,
00233                                         const PxTransform& bodyBToWorld);
00234
00246 typedef void (*PxConstraintProject)(const void* constantBlock,
00247                                     PxTransform& bodyAToWorld,
00248                                     PxTransform& bodyBToWorld,
00249                                     bool projectToA);
00250
00254 class PxConstraintVisualizer
00255 {
00256 protected:
00257     virtual ~PxConstraintVisualizer(){}
00258 public:
00259     virtual void visualizeJointFrames( const PxTransform& parent, const PxTransform& child ) = 0;
00260
00261     virtual void visualizeLinearLimit( const PxTransform& t0, const PxTransform& t1, PxReal value, bool active ) = 0;
00262
00263     virtual void visualizeAngularLimit( const PxTransform& t0, PxReal lower, PxReal upper, bool active) = 0;
00264
00265     virtual void visualizeLimitCone( const PxTransform& t, PxReal ySwing, PxReal zSwing, bool active) = 0;
00266
00267     virtual void visualizeDoubleCone( const PxTransform& t, PxReal angle, bool active) = 0;
00268
00269     virtual void visualizeLine(const PxVec3& p0, const PxVec3& p1, PxU32 color) = 0;
00270 };
00271
00284 typedef void (*PxConstraintVisualize)( PxConstraintVisualizer& visualizer,
00285                                       const void* constantBlock,
00286                                       const PxTransform& body0Transform,
00287                                       const PxTransform& body1Transform,
00288                                       PxU32 flags );
00289
00290
00291 struct PxPvdUpdateType
00292 {
00293     enum Enum
00294     {
00295         CREATE_INSTANCE,
00296         RELEASE_INSTANCE,
00297         UPDATE_ALL_PROPERTIES,
00298         UPDATE_SIM_PROPERTIES
00299     };
00300 };
00301
00312 class PxConstraintConnector
00313 {
00314 public:
00320     virtual void*           prepareData()                                                   = 0;
00321
00326     virtual bool            updatePvdProperties(physx::pvdsdk::PvdDataStream& pvdConnection,
00327                                                 const PxConstraint* c,
00328                                                 PxPvdUpdateType::Enum updateType) const     = 0;
00329
00342     virtual void            onConstraintRelease()                                           = 0;
00343
00351     virtual void            onComShift(PxU32 actor)                                         = 0;
00352
00365     virtual void            onOriginShift(const PxVec3& shift)                              = 0;
00366
00379     virtual void*           getExternalReference(PxU32& typeID)                             = 0;
00380
00381
00388     virtual PxBase* getSerializable()                                               = 0;
00389
00393     virtual PxConstraintSolverPrep getPrep() const                                  = 0;
00394
00398     virtual const void* getConstantBlock() const                                    = 0;
00399
00400
00404     virtual ~PxConstraintConnector() {}
00405 };
00406
00407 #if !PX_DOXYGEN
00408 } // namespace physx
00409 #endif
00410
00412 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxConstraintExt.h Source File

PxConstraintExt.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_EXTENSIONS_CONSTRAINT_H
00032 #define PX_PHYSICS_EXTENSIONS_CONSTRAINT_H
00033
00034 #include "foundation/PxPreprocessor.h"
00035
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00053 struct PxConstraintExtIDs
00054 {
00055     enum Enum
00056     {
00057         eJOINT,
00058         eVEHICLE_SUSP_LIMIT,
00059         eVEHICLE_STICKY_TYRE,
00060         eNEXT_FREE_ID,
00061         eINVALID_ID = 0x7fffffff
00062     };
00063 };
00064
00065 #if !PX_DOXYGEN
00066 } // namespace physx
00067 #endif
00068
00070 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxContact.h Source File

PxContact.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_CONTACT_H
00032 #define PX_CONTACT_H
00033
00034 #include "foundation/PxVec3.h"
00035 #include "foundation/PxAssert.h"
00036
00037 #if !PX_DOXYGEN
00038 namespace physx
00039 {
00040 #endif
00041
00042 #if PX_VC
00043 #pragma warning(push)
00044 #pragma warning(disable: 4324)  // Padding was added at the end of a structure because of a __declspec(align) value.
00045 #endif
00046
00047 #define PXC_CONTACT_NO_FACE_INDEX 0xffffffff
00048
00049 PX_ALIGN_PREFIX(16)
00050 struct PxMassModificationProps
00051 {
00052     PxReal mInvMassScale0;
00053     PxReal mInvInertiaScale0;
00054     PxReal mInvMassScale1;
00055     PxReal mInvInertiaScale1;
00056 }
00057 PX_ALIGN_SUFFIX(16);
00058
00063 PX_ALIGN_PREFIX(16)
00064 struct PxContactPatch
00065 {
00066     enum PxContactPatchFlags
00067     {
00068         eHAS_FACE_INDICES = 1,
00069         eMODIFIABLE = 2,
00070         eFORCE_NO_RESPONSE = 4,
00071         eHAS_MODIFIED_MASS_RATIOS = 8,
00072         eHAS_TARGET_VELOCITY = 16,
00073         eHAS_MAX_IMPULSE = 32,
00074         eREGENERATE_PATCHES = 64,
00075
00076         eCOMPRESSED_MODIFIED_CONTACT = 128
00077     };
00078
00079     PX_ALIGN(16, PxMassModificationProps mMassModification);            //16
00083     PX_ALIGN(16, PxVec3 normal);                                    //28
00087     PxReal  restitution;                                            //32
00088
00089     PxReal  dynamicFriction;                                        //36
00090     PxReal  staticFriction;                                         //40
00091     PxU8    startContactIndex;                                      //41
00092     PxU8    nbContacts;                                             //42  //Can be a U8
00093
00094     PxU8    materialFlags;                                          //43  //Can be a U16
00095     PxU8    internalFlags;                                          //44  //Can be a U16
00096     PxU16   materialIndex0;                                         //46  //Can be a U16
00097     PxU16   materialIndex1;                                         //48  //Can be a U16
00098
00099
00100 }
00101 PX_ALIGN_SUFFIX(16);
00102
00107 PX_ALIGN_PREFIX(16)
00108 struct PxContact
00109 {
00113     PxVec3  contact;                            //12
00117     PxReal  separation;                         //16
00118 }
00119 PX_ALIGN_SUFFIX(16);
00120
00121 PX_ALIGN_PREFIX(16)
00122 struct PxExtendedContact : public PxContact
00123 {
00127     PX_ALIGN(16, PxVec3 targetVelocity);        //28
00131     PxReal  maxImpulse;                         //32
00132 }
00133 PX_ALIGN_SUFFIX(16);
00134
00139 PX_ALIGN_PREFIX(16)
00140 struct PxModifiableContact : public PxExtendedContact
00141 {
00145     PX_ALIGN(16, PxVec3 normal);                    //44
00149     PxReal  restitution;                            //48
00150
00154     PxU32   materialFlags;                          //52
00155
00159     PxU16   materialIndex0;                         //54
00163     PxU16   materialIndex1;                         //56
00167     PxReal  staticFriction;                         //60
00171     PxReal dynamicFriction;                         //64
00172 }
00173 PX_ALIGN_SUFFIX(16);
00174
00178 struct PxContactStreamIterator
00179 {
00180     enum StreamFormat
00181     {
00182         eSIMPLE_STREAM,
00183         eMODIFIABLE_STREAM,
00184         eCOMPRESSED_MODIFIABLE_STREAM
00185     };
00191     PxVec3 zero;
00195     const PxContactPatch* patch;
00196
00200     const PxContact* contact;
00201
00205     const PxU32* faceIndice;
00206
00207
00211     PxU32 totalPatches;
00212
00216     PxU32 totalContacts;
00217
00221     PxU32 nextContactIndex;
00222
00226     PxU32 nextPatchIndex;
00227
00228     /*
00229     \brief Size of contact patch header
00230     \note This varies whether the patch is modifiable or not.
00231     */
00232     PxU32 contactPatchHeaderSize;
00237     PxU32 contactPointSize;
00241     StreamFormat mStreamFormat;
00245     PxU32 forceNoResponse;
00246
00247     bool pointStepped;
00248
00249     PxU32 hasFaceIndices;
00250
00254     PX_CUDA_CALLABLE PX_FORCE_INLINE PxContactStreamIterator(const PxU8* contactPatches, const PxU8* contactPoints, const PxU32* contactFaceIndices, PxU32 nbPatches, PxU32 nbContacts)
00255         : zero(0.f)
00256     {
00257         bool modify = false;
00258         bool compressedModify = false;
00259         bool response = false;
00260         bool indices = false;
00261
00262         PxU32 pointSize = 0;
00263         PxU32 patchHeaderSize = sizeof(PxContactPatch);
00264
00265         const PxContactPatch* patches = reinterpret_cast<const PxContactPatch*>(contactPatches);
00266
00267         if(patches)
00268         {
00269             modify = (patches->internalFlags & PxContactPatch::eMODIFIABLE) != 0;
00270             compressedModify = (patches->internalFlags & PxContactPatch::eCOMPRESSED_MODIFIED_CONTACT) != 0;
00271             indices = (patches->internalFlags & PxContactPatch::eHAS_FACE_INDICES) != 0;
00272
00273             patch = patches;
00274
00275             contact = reinterpret_cast<const PxContact*>(contactPoints);
00276
00277             faceIndice = contactFaceIndices;
00278
00279             pointSize = compressedModify ?  sizeof(PxExtendedContact) : modify ? sizeof(PxModifiableContact) : sizeof(PxContact);
00280
00281             response = (patch->internalFlags & PxContactPatch::eFORCE_NO_RESPONSE) == 0;
00282         }
00283
00284
00285         mStreamFormat = compressedModify ? eCOMPRESSED_MODIFIABLE_STREAM : modify ? eMODIFIABLE_STREAM : eSIMPLE_STREAM;
00286         hasFaceIndices = PxU32(indices);
00287         forceNoResponse = PxU32(!response);
00288
00289         contactPatchHeaderSize = patchHeaderSize;
00290         contactPointSize = pointSize;
00291         nextPatchIndex = 0;
00292         nextContactIndex = 0;
00293         totalContacts = nbContacts;
00294         totalPatches = nbPatches;
00295
00296         pointStepped = false;
00297     }
00298
00303     PX_CUDA_CALLABLE PX_FORCE_INLINE bool hasNextPatch() const
00304     {
00305         return nextPatchIndex < totalPatches;
00306     }
00307
00312     PX_CUDA_CALLABLE PX_FORCE_INLINE PxU32 getTotalContactCount() const
00313     {
00314         return totalContacts;
00315     }
00316
00317     PX_CUDA_CALLABLE PX_FORCE_INLINE PxU32 getTotalPatchCount() const
00318     {
00319         return totalPatches;
00320     }
00321
00325     PX_CUDA_CALLABLE PX_INLINE void nextPatch()
00326     {
00327         PX_ASSERT(nextPatchIndex < totalPatches);
00328         if(nextPatchIndex)
00329         {
00330             if(nextContactIndex < patch->nbContacts)
00331             {
00332                 PxU32 nbToStep = patch->nbContacts - this->nextContactIndex;
00333                 contact = reinterpret_cast<const PxContact*>(reinterpret_cast<const PxU8*>(contact) + contactPointSize * nbToStep);
00334             }
00335             patch = reinterpret_cast<const PxContactPatch*>(reinterpret_cast<const PxU8*>(patch) + contactPatchHeaderSize);
00336         }
00337         nextPatchIndex++;
00338         nextContactIndex = 0;
00339     }
00340
00345     PX_CUDA_CALLABLE PX_FORCE_INLINE bool hasNextContact() const
00346     {
00347         return nextContactIndex < (patch->nbContacts);
00348     }
00349
00353     PX_CUDA_CALLABLE PX_FORCE_INLINE void nextContact()
00354     {
00355         PX_ASSERT(nextContactIndex < patch->nbContacts);
00356         if(pointStepped)
00357         {
00358             contact = reinterpret_cast<const PxContact*>(reinterpret_cast<const PxU8*>(contact) + contactPointSize);
00359             faceIndice++;
00360         }
00361         nextContactIndex++;
00362         pointStepped = true;
00363     }
00364
00365
00370     PX_CUDA_CALLABLE PX_FORCE_INLINE const PxVec3& getContactNormal() const
00371     {
00372         return getContactPatch().normal;
00373     }
00374
00379     PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal getInvMassScale0() const
00380     {
00381         return patch->mMassModification.mInvMassScale0;
00382     }
00383
00388     PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal getInvMassScale1() const
00389     {
00390         return patch->mMassModification.mInvMassScale1;
00391     }
00392
00397     PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal getInvInertiaScale0() const
00398     {
00399         return patch->mMassModification.mInvInertiaScale0;
00400     }
00401
00406     PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal getInvInertiaScale1() const
00407     {
00408         return patch->mMassModification.mInvInertiaScale1;
00409     }
00410
00415     PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal getMaxImpulse() const
00416     {
00417         return mStreamFormat != eSIMPLE_STREAM ? getExtendedContact().maxImpulse : PX_MAX_REAL;
00418     }
00419
00424     PX_CUDA_CALLABLE PX_FORCE_INLINE const PxVec3& getTargetVel() const
00425     {
00426         return mStreamFormat != eSIMPLE_STREAM ? getExtendedContact().targetVelocity : zero;
00427     }
00428
00433     PX_CUDA_CALLABLE PX_FORCE_INLINE const PxVec3& getContactPoint() const
00434     {
00435         return contact->contact;
00436     }
00437
00442     PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal getSeparation() const
00443     {
00444         return contact->separation;
00445     }
00446
00451     PX_CUDA_CALLABLE PX_FORCE_INLINE PxU32 getFaceIndex0() const
00452     {
00453         return PXC_CONTACT_NO_FACE_INDEX;
00454     }
00455
00460     PX_CUDA_CALLABLE PX_FORCE_INLINE PxU32 getFaceIndex1() const
00461     {
00462         return hasFaceIndices ? *faceIndice : PXC_CONTACT_NO_FACE_INDEX;
00463     }
00464
00469     PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal getStaticFriction() const
00470     {
00471         return getContactPatch().staticFriction;
00472     }
00473
00478     PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal getDynamicFriction() const
00479     {
00480         return getContactPatch().dynamicFriction;
00481     }
00482
00487     PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal getRestitution() const
00488     {
00489         return getContactPatch().restitution;
00490     }
00491
00496     PX_CUDA_CALLABLE PX_FORCE_INLINE PxU32 getMaterialFlags() const
00497     {
00498         return getContactPatch().materialFlags;
00499     }
00500
00505     PX_CUDA_CALLABLE PX_FORCE_INLINE PxU16 getMaterialIndex0() const
00506     {
00507         return PxU16(getContactPatch().materialIndex0);
00508     }
00509
00514     PX_CUDA_CALLABLE PX_FORCE_INLINE PxU16 getMaterialIndex1() const
00515     {
00516         return PxU16(getContactPatch().materialIndex1);
00517     }
00518
00522     bool advanceToIndex(const PxU32 initialIndex)
00523     {
00524         PX_ASSERT(this->nextPatchIndex == 0 && this->nextContactIndex == 0);
00525
00526         PxU32 numToAdvance = initialIndex;
00527
00528         if(numToAdvance == 0)
00529         {
00530             PX_ASSERT(hasNextPatch());
00531             nextPatch();
00532             return true;
00533         }
00534
00535         while(numToAdvance)
00536         {
00537             while(hasNextPatch())
00538             {
00539                 nextPatch();
00540                 PxU32 patchSize = patch->nbContacts;
00541                 if(numToAdvance <= patchSize)
00542                 {
00543                     contact = reinterpret_cast<const PxContact*>(reinterpret_cast<const PxU8*>(contact) + contactPointSize * numToAdvance);
00544                     nextContactIndex += numToAdvance;
00545                     return true;
00546                 }
00547                 else
00548                 {
00549                     numToAdvance -= patchSize;
00550                 }
00551             }
00552         }
00553         return false;
00554     }
00555
00556 private:
00557
00561     PX_CUDA_CALLABLE PX_FORCE_INLINE const PxContactPatch& getContactPatch() const
00562     {
00563         return *static_cast<const PxContactPatch*>(patch);
00564     }
00565
00566     PX_CUDA_CALLABLE PX_FORCE_INLINE const PxExtendedContact& getExtendedContact() const
00567     {
00568         PX_ASSERT(mStreamFormat == eMODIFIABLE_STREAM || mStreamFormat == eCOMPRESSED_MODIFIABLE_STREAM);
00569         return *static_cast<const PxExtendedContact*>(contact);
00570     }
00571
00572 };
00573
00574
00575 #if PX_VC
00576 #pragma warning(pop)
00577 #endif
00578
00579 #if !PX_DOXYGEN
00580 } // namespace physx
00581 #endif
00582
00583 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxContactModifyCallback.h Source File

PxContactModifyCallback.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_CONTACT_MODIFY_CALLBACK
00032 #define PX_CONTACT_MODIFY_CALLBACK
00033
00037 #include "PxPhysXConfig.h"
00038 #include "PxShape.h"
00039 #include "PxContact.h"
00040 #include "foundation/PxTransform.h"
00041
00042 #if !PX_DOXYGEN
00043 namespace physx
00044 {
00045 #endif
00046
00047 class PxShape;
00048
00061 class PxContactSet
00062 {
00063 public:
00069     PX_FORCE_INLINE     const PxVec3& getPoint(PxU32 i) const           { return mContacts[i].contact;      }
00070
00076     PX_FORCE_INLINE     void setPoint(PxU32 i, const PxVec3& p)         { mContacts[i].contact = p; }
00077
00083     PX_FORCE_INLINE     const PxVec3& getNormal(PxU32 i) const          { return mContacts[i].normal;   }
00084
00092     PX_FORCE_INLINE     void setNormal(PxU32 i, const PxVec3& n)
00093     {
00094         PxContactPatch* patch = getPatch();
00095         patch->internalFlags |= PxContactPatch::eREGENERATE_PATCHES;
00096         mContacts[i].normal = n;
00097     }
00098
00104     PX_FORCE_INLINE     PxReal getSeparation(PxU32 i) const             { return mContacts[i].separation;   }
00105
00111     PX_FORCE_INLINE     void setSeparation(PxU32 i, PxReal s)           { mContacts[i].separation = s; }
00112
00119     PX_FORCE_INLINE     const PxVec3& getTargetVelocity(PxU32 i) const  { return mContacts[i].targetVelocity;   }
00120
00126     PX_FORCE_INLINE     void setTargetVelocity(PxU32 i, const PxVec3& v)
00127     {
00128         PxContactPatch* patch = getPatch();
00129         patch->internalFlags |= PxContactPatch::eHAS_TARGET_VELOCITY;
00130         mContacts[i].targetVelocity = v;
00131     }
00132
00138     PX_FORCE_INLINE     PxU32 getInternalFaceIndex0(PxU32 i)            { PX_UNUSED(i); return PXC_CONTACT_NO_FACE_INDEX; }
00139
00145     PX_FORCE_INLINE     PxU32 getInternalFaceIndex1(PxU32 i)
00146     {
00147         PxContactPatch* patch = getPatch();
00148         if (patch->internalFlags & PxContactPatch::eHAS_FACE_INDICES)
00149         {
00150             return reinterpret_cast<PxU32*>(mContacts + mCount)[mCount + i];
00151         }
00152         return PXC_CONTACT_NO_FACE_INDEX;
00153     }
00154
00160     PX_FORCE_INLINE     PxReal getMaxImpulse(PxU32 i) const             { return mContacts[i].maxImpulse;   }
00161
00169     PX_FORCE_INLINE     void setMaxImpulse(PxU32 i, PxReal s)
00170     {
00171         PxContactPatch* patch = getPatch();
00172         patch->internalFlags |= PxContactPatch::eHAS_MAX_IMPULSE;
00173         mContacts[i].maxImpulse = s;
00174     }
00175
00181     PX_FORCE_INLINE     PxReal getRestitution(PxU32 i) const            { return mContacts[i].restitution; }
00182
00190     PX_FORCE_INLINE     void setRestitution(PxU32 i, PxReal r)
00191     {
00192         PxContactPatch* patch = getPatch();
00193         patch->internalFlags |= PxContactPatch::eREGENERATE_PATCHES;
00194         mContacts[i].restitution = r;
00195     }
00196
00202     PX_FORCE_INLINE     PxReal getStaticFriction(PxU32 i) const { return mContacts[i].staticFriction; }
00203
00209     PX_FORCE_INLINE     void setStaticFriction(PxU32 i, PxReal f)
00210     {
00211         PxContactPatch* patch = getPatch();
00212         patch->internalFlags |= PxContactPatch::eREGENERATE_PATCHES;
00213         mContacts[i].staticFriction = f;
00214     }
00215
00221     PX_FORCE_INLINE     PxReal getDynamicFriction(PxU32 i) const { return mContacts[i].dynamicFriction; }
00222
00228     PX_FORCE_INLINE     void setDynamicFriction(PxU32 i, PxReal f)
00229     {
00230         PxContactPatch* patch = getPatch();
00231         patch->internalFlags |= PxContactPatch::eREGENERATE_PATCHES;
00232         mContacts[i].dynamicFriction = f;
00233     }
00234
00240     PX_FORCE_INLINE     void ignore(PxU32 i)                            { mContacts[i].maxImpulse = 0.f; }
00241
00245     PX_FORCE_INLINE     PxU32 size() const                              { return mCount; }
00246
00253     PX_FORCE_INLINE     PxReal getInvMassScale0() const
00254     {
00255         PxContactPatch* patch = getPatch();
00256         return patch->mMassModification.mInvMassScale0;
00257     }
00258
00265     PX_FORCE_INLINE     PxReal getInvMassScale1() const
00266     {
00267         PxContactPatch* patch = getPatch();
00268         return patch->mMassModification.mInvMassScale1;
00269     }
00270
00277     PX_FORCE_INLINE     PxReal getInvInertiaScale0() const
00278     {
00279         PxContactPatch* patch = getPatch();
00280         return patch->mMassModification.mInvInertiaScale0;
00281     }
00282
00289     PX_FORCE_INLINE     PxReal getInvInertiaScale1() const
00290     {
00291         PxContactPatch* patch = getPatch();
00292         return patch->mMassModification.mInvInertiaScale1;
00293     }
00294
00301     PX_FORCE_INLINE     void setInvMassScale0(const PxReal scale)
00302     {
00303         PxContactPatch* patch = getPatch();
00304         patch->mMassModification.mInvMassScale0 = scale;
00305         patch->internalFlags |= PxContactPatch::eHAS_MODIFIED_MASS_RATIOS;
00306     }
00307
00314     PX_FORCE_INLINE     void setInvMassScale1(const PxReal scale)
00315     {
00316         PxContactPatch* patch = getPatch();
00317         patch->mMassModification.mInvMassScale1 = scale;
00318         patch->internalFlags |= PxContactPatch::eHAS_MODIFIED_MASS_RATIOS;
00319     }
00320
00327     PX_FORCE_INLINE     void setInvInertiaScale0(const PxReal scale)
00328     {
00329         PxContactPatch* patch = getPatch();
00330         patch->mMassModification.mInvInertiaScale0 = scale;
00331         patch->internalFlags |= PxContactPatch::eHAS_MODIFIED_MASS_RATIOS;
00332     }
00333
00340     PX_FORCE_INLINE     void setInvInertiaScale1(const PxReal scale)
00341     {
00342         PxContactPatch* patch = getPatch();
00343         patch->mMassModification.mInvInertiaScale1 = scale;
00344         patch->internalFlags |= PxContactPatch::eHAS_MODIFIED_MASS_RATIOS;
00345     }
00346
00347 protected:
00348
00349     PX_FORCE_INLINE PxContactPatch* getPatch() const
00350     {
00351         const size_t headerOffset = sizeof(PxContactPatch)*mCount;
00352         return reinterpret_cast<PxContactPatch*>(reinterpret_cast<PxU8*>(mContacts) - headerOffset);
00353     }
00354
00355     PxU32                   mCount;
00356     PxModifiableContact*    mContacts;
00357 };
00358
00359
00360
00367 class PxContactModifyPair
00368 {
00369 public:
00370
00377     const PxRigidActor*     actor[2];
00384     const PxShape*          shape[2];
00385
00394     PxTransform             transform[2];
00395
00400     PxContactSet            contacts;
00401 };
00402
00403
00422 class PxContactModifyCallback
00423 {
00424 public:
00425
00436     virtual void onContactModify(PxContactModifyPair* const pairs, PxU32 count) = 0;
00437
00438 protected:
00439     virtual ~PxContactModifyCallback(){}
00440 };
00441
00460 class PxCCDContactModifyCallback
00461 {
00462 public:
00463
00474     virtual void onCCDContactModify(PxContactModifyPair* const pairs, PxU32 count) = 0;
00475
00476 protected:
00477     virtual ~PxCCDContactModifyCallback(){}
00478 };
00479
00480
00481 #if !PX_DOXYGEN
00482 } // namespace physx
00483 #endif
00484
00486 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxController.h Source File

PxController.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031
00032 #ifndef PX_PHYSICS_CCT_CONTROLLER
00033 #define PX_PHYSICS_CCT_CONTROLLER
00034
00038 #include "characterkinematic/PxCharacter.h"
00039 #include "characterkinematic/PxExtended.h"
00040 #include "characterkinematic/PxControllerObstacles.h"
00041 #include "PxQueryFiltering.h"
00042 #include "foundation/PxErrorCallback.h"
00043
00044 #if !PX_DOXYGEN
00045 namespace physx
00046 {
00047 #endif
00048
00052 struct PxControllerShapeType
00053 {
00054     enum Enum
00055     {
00061         eBOX,
00062
00068         eCAPSULE,
00069
00070         eFORCE_DWORD = 0x7fffffff
00071     };
00072 };
00073
00074 class PxShape;
00075 class PxScene;
00076 class PxController;
00077 class PxRigidDynamic;
00078 class PxMaterial;
00079 struct PxFilterData;
00080 class PxQueryFilterCallback;
00081 class PxControllerBehaviorCallback;
00082 class PxObstacleContext;
00083 class PxObstacle;
00084
00090 struct PxControllerNonWalkableMode
00091 {
00092     enum Enum
00093     {
00094         ePREVENT_CLIMBING,
00095         ePREVENT_CLIMBING_AND_FORCE_SLIDING
00096     };
00097 };
00098
00102 struct PxControllerCollisionFlag
00103 {
00104     enum Enum
00105     {
00106         eCOLLISION_SIDES    = (1<<0),
00107         eCOLLISION_UP       = (1<<1),
00108         eCOLLISION_DOWN     = (1<<2)
00109     };
00110 };
00111
00117 typedef PxFlags<PxControllerCollisionFlag::Enum, PxU8> PxControllerCollisionFlags;
00118 PX_FLAGS_OPERATORS(PxControllerCollisionFlag::Enum, PxU8)
00119
00120
00121
00124 struct PxControllerState
00125 {
00126     PxVec3          deltaXP;
00127     PxShape*        touchedShape;
00128     PxRigidActor*   touchedActor;
00129     ObstacleHandle  touchedObstacleHandle;  // Obstacle on which the CCT is standing
00130     PxU32           collisionFlags;
00131     bool            standOnAnotherCCT;
00132     bool            standOnObstacle;
00133     bool            isMovingUp;
00134 };
00135
00139 struct PxControllerStats
00140 {
00141     PxU16           nbIterations;
00142     PxU16           nbFullUpdates;
00143     PxU16           nbPartialUpdates;
00144     PxU16           nbTessellation;
00145 };
00146
00150 struct PxControllerHit
00151 {
00152     PxController*   controller;
00153     PxExtendedVec3  worldPos;
00154     PxVec3          worldNormal;
00155     PxVec3          dir;
00156     PxF32           length;
00157 };
00158
00164 struct PxControllerShapeHit : public PxControllerHit
00165 {
00166     PxShape*        shape;
00167     PxRigidActor*   actor;
00168     PxU32           triangleIndex;
00169 };
00170
00176 struct PxControllersHit : public PxControllerHit
00177 {
00178     PxController*   other;
00179 };
00180
00186 struct PxControllerObstacleHit : public PxControllerHit
00187 {
00188     const void*     userData;
00189 };
00190
00198 class PxUserControllerHitReport
00199 {
00200 public:
00201
00211     virtual void onShapeHit(const PxControllerShapeHit& hit) = 0;
00212
00220     virtual void onControllerHit(const PxControllersHit& hit) = 0;
00221
00229     virtual void onObstacleHit(const PxControllerObstacleHit& hit) = 0;
00230
00231 protected:
00232     virtual ~PxUserControllerHitReport(){}
00233 };
00234
00235
00247 class PxControllerFilterCallback
00248 {
00249 public:
00250     virtual ~PxControllerFilterCallback(){}
00251
00259     virtual bool filter(const PxController& a, const PxController& b) = 0;
00260 };
00261
00279 class PxControllerFilters
00280 {
00281     public:
00282
00283     PX_INLINE                   PxControllerFilters(const PxFilterData* filterData=NULL, PxQueryFilterCallback* cb=NULL, PxControllerFilterCallback* cctFilterCb=NULL) :
00284                                     mFilterData         (filterData),
00285                                     mFilterCallback     (cb),
00286                                     mFilterFlags        (PxQueryFlag::eSTATIC|PxQueryFlag::eDYNAMIC|PxQueryFlag::ePREFILTER),
00287                                     mCCTFilterCallback  (cctFilterCb)
00288                                 {}
00289
00290     // CCT-vs-shapes:
00291     const PxFilterData*         mFilterData;
00292
00293     PxQueryFilterCallback*      mFilterCallback;
00294     PxQueryFlags                mFilterFlags;
00295     // CCT-vs-CCT:
00296     PxControllerFilterCallback* mCCTFilterCallback;
00297 };
00298
00304 class PxControllerDesc
00305 {
00306 public:
00307
00313     PX_INLINE virtual   bool                        isValid()       const;
00314
00322     PX_INLINE           PxControllerShapeType::Enum     getType()       const   { return mType;     }
00323
00331     PxExtendedVec3              position;
00332
00341     PxVec3                      upDirection;
00342
00357     PxF32                       slopeLimit;
00358
00370     PxF32                       invisibleWallHeight;
00371
00395     PxF32                       maxJumpHeight;
00396
00408     PxF32                       contactOffset;
00409
00421     PxF32                       stepOffset;
00422
00430     PxF32                       density;
00431
00440     PxF32                       scaleCoeff;
00441
00450     PxF32                       volumeGrowth;
00451
00463     PxUserControllerHitReport*  reportCallback;
00464
00476     PxControllerBehaviorCallback*   behaviorCallback;
00477
00487     PxControllerNonWalkableMode::Enum   nonWalkableMode;
00488
00498     PxMaterial*                 material;
00499
00511     bool                        registerDeletionListener;
00512
00518     void*                       userData;
00519
00520 protected:
00521     const PxControllerShapeType::Enum mType;
00522
00526     PX_INLINE                                       PxControllerDesc(PxControllerShapeType::Enum);
00527     PX_INLINE virtual                               ~PxControllerDesc();
00528
00532     PX_INLINE                                       PxControllerDesc(const PxControllerDesc&);
00533
00537     PX_INLINE PxControllerDesc&                     operator=(const PxControllerDesc&);
00538
00539     PX_INLINE void                                  copy(const PxControllerDesc&);
00540 };
00541
00542 PX_INLINE PxControllerDesc::PxControllerDesc(PxControllerShapeType::Enum t) : mType(t)
00543 {
00544     upDirection         = PxVec3(0.0f, 1.0f, 0.0f);
00545     slopeLimit          = 0.707f;
00546     contactOffset       = 0.1f;
00547     stepOffset          = 0.5f;
00548     density             = 10.0f;
00549     scaleCoeff          = 0.8f;
00550     volumeGrowth        = 1.5f;
00551     reportCallback      = NULL;
00552     behaviorCallback    = NULL;
00553     userData            = NULL;
00554     nonWalkableMode     = PxControllerNonWalkableMode::ePREVENT_CLIMBING;
00555     position.x          = PxExtended(0.0);
00556     position.y          = PxExtended(0.0);
00557     position.z          = PxExtended(0.0);
00558     material            = NULL;
00559     invisibleWallHeight = 0.0f;
00560     maxJumpHeight       = 0.0f;
00561     registerDeletionListener = true;
00562 }
00563
00564 PX_INLINE PxControllerDesc::PxControllerDesc(const PxControllerDesc& other) : mType(other.mType)
00565 {
00566     copy(other);
00567 }
00568
00569 PX_INLINE PxControllerDesc& PxControllerDesc::operator=(const PxControllerDesc& other)
00570 {
00571     copy(other);
00572     return *this;
00573 }
00574
00575 PX_INLINE void PxControllerDesc::copy(const PxControllerDesc& other)
00576 {
00577     upDirection         = other.upDirection;
00578     slopeLimit          = other.slopeLimit;
00579     contactOffset       = other.contactOffset;
00580     stepOffset          = other.stepOffset;
00581     density             = other.density;
00582     scaleCoeff          = other.scaleCoeff;
00583     volumeGrowth        = other.volumeGrowth;
00584     reportCallback      = other.reportCallback;
00585     behaviorCallback    = other.behaviorCallback;
00586     userData            = other.userData;
00587     nonWalkableMode     = other.nonWalkableMode;
00588     position.x          = other.position.x;
00589     position.y          = other.position.y;
00590     position.z          = other.position.z;
00591     material            = other.material;
00592     invisibleWallHeight = other.invisibleWallHeight;
00593     maxJumpHeight       = other.maxJumpHeight;
00594     registerDeletionListener = other.registerDeletionListener;
00595 }
00596
00597 PX_INLINE PxControllerDesc::~PxControllerDesc()
00598 {
00599 }
00600
00601 PX_INLINE bool PxControllerDesc::isValid() const
00602 {
00603     if(     mType!=PxControllerShapeType::eBOX
00604         &&  mType!=PxControllerShapeType::eCAPSULE)
00605         return false;
00606     if(scaleCoeff<0.0f)     return false;
00607     if(volumeGrowth<1.0f)   return false;
00608     if(density<0.0f)        return false;
00609     if(slopeLimit<0.0f)     return false;
00610     if(stepOffset<0.0f)     return false;
00611     if(contactOffset<=0.0f) return false;
00612     if(!material)           return false;
00613
00614     return true;
00615 }
00616
00617
00623 class PxController
00624 {
00625 public:
00626     //*********************************************************************
00627     // DEPRECATED FUNCTIONS:
00628     //
00629     //  PX_DEPRECATED virtual   void                        setInteraction(PxCCTInteractionMode::Enum flag) = 0;
00630     //  PX_DEPRECATED virtual   PxCCTInteractionMode::Enum  getInteraction()                    const       = 0;
00631     //  PX_DEPRECATED virtual   void                        setGroupsBitmask(PxU32 bitmask)                 = 0;
00632     //  PX_DEPRECATED virtual   PxU32                       getGroupsBitmask()                  const       = 0;
00633     //
00634     //  => replaced with:
00635     //
00636     //  PxControllerFilters::mCCTFilterCallback. Please define a PxControllerFilterCallback object and emulate the old interaction mode there.
00637     //
00638     //*********************************************************************
00639
00645     virtual     PxControllerShapeType::Enum getType()       const           = 0;
00646
00650     virtual     void                    release() = 0;
00651
00663     virtual     PxControllerCollisionFlags  move(const PxVec3& disp, PxF32 minDist, PxF32 elapsedTime, const PxControllerFilters& filters, const PxObstacleContext* obstacles=NULL) = 0;
00664
00680     virtual     bool                    setPosition(const PxExtendedVec3& position) = 0;
00681
00695     virtual     const PxExtendedVec3&   getPosition()           const   = 0;
00696
00713     virtual     bool                    setFootPosition(const PxExtendedVec3& position) = 0;
00714
00724     virtual     PxExtendedVec3          getFootPosition()       const   = 0;
00725
00733     virtual     PxRigidDynamic*         getActor()              const   = 0;
00734
00742     virtual     void                    setStepOffset(const PxF32 offset) =0;
00743
00751     virtual     PxF32                   getStepOffset()                     const       =0;
00752
00760     virtual     void                        setNonWalkableMode(PxControllerNonWalkableMode::Enum flag)  = 0;
00761
00769     virtual     PxControllerNonWalkableMode::Enum   getNonWalkableMode()                const       = 0;
00770
00778     virtual     PxF32                   getContactOffset()                  const       =0;
00779
00787     virtual     void                    setContactOffset(PxF32 offset)                  =0;
00788
00796     virtual     PxVec3                  getUpDirection()                    const       =0;
00797
00805     virtual     void                    setUpDirection(const PxVec3& up)                =0;
00806
00814     virtual     PxF32                   getSlopeLimit()                     const       =0;
00815
00827     virtual     void                    setSlopeLimit(PxF32 slopeLimit)                 =0;
00828
00844     virtual     void                    invalidateCache()           = 0;
00845
00851     virtual     PxScene*                getScene()                      = 0;
00852
00860     virtual     void*                   getUserData()       const       = 0;
00861
00869     virtual     void                    setUserData(void* userData)     = 0;
00870
00878     virtual     void                    getState(PxControllerState& state)  const       = 0;
00879
00887     virtual     void                    getStats(PxControllerStats& stats)  const       = 0;
00888
00899     virtual     void                    resize(PxReal height)   = 0;
00900
00901 protected:
00902     PX_INLINE                           PxController()                  {}
00903     virtual                             ~PxController()                 {}
00904 };
00905
00906 #if !PX_DOXYGEN
00907 } // namespace physx
00908 #endif
00909
00911 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxControllerBehavior.h Source File

PxControllerBehavior.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PX_PHYSICS_CCT_BEHAVIOR
00031 #define PX_PHYSICS_CCT_BEHAVIOR
00032
00036 #include "PxFiltering.h"
00037 #include "characterkinematic/PxCharacter.h"
00038
00039 #if !PX_DOXYGEN
00040 namespace physx
00041 {
00042 #endif
00043
00044     class PxShape;
00045     class PxObstacle;
00046     class PxController;
00047
00051     struct PxControllerBehaviorFlag
00052     {
00053         enum Enum
00054         {
00055             eCCT_CAN_RIDE_ON_OBJECT     = (1<<0),
00056             eCCT_SLIDE                  = (1<<1),
00057             eCCT_USER_DEFINED_RIDE      = (1<<2)
00058         };
00059     };
00060
00066     typedef PxFlags<PxControllerBehaviorFlag::Enum, PxU8> PxControllerBehaviorFlags;
00067     PX_FLAGS_OPERATORS(PxControllerBehaviorFlag::Enum, PxU8)
00068
00069
00074     class PxControllerBehaviorCallback
00075     {
00076     public:
00092         virtual PxControllerBehaviorFlags getBehaviorFlags(const PxShape& shape, const PxActor& actor) = 0;
00093
00109         virtual PxControllerBehaviorFlags getBehaviorFlags(const PxController& controller) = 0;
00110
00125         virtual PxControllerBehaviorFlags getBehaviorFlags(const PxObstacle& obstacle) = 0;
00126
00127     protected:
00128         virtual ~PxControllerBehaviorCallback(){}
00129     };
00130
00131 #if !PX_DOXYGEN
00132 }
00133 #endif
00134
00136 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxControllerManager.h Source File

PxControllerManager.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_CCT_MANAGER
00032 #define PX_PHYSICS_CCT_MANAGER
00033
00037 #include "characterkinematic/PxCharacter.h"
00038
00039 #include "PxPhysXConfig.h"
00040 #include "foundation/PxFlags.h"
00041 #include "foundation/PxErrorCallback.h"
00042 #include "common/PxRenderBuffer.h"
00043
00044 #if !PX_DOXYGEN
00045 namespace physx
00046 {
00047 #endif
00048
00049 class PxPhysics;
00050 class PxScene;
00051 class PxController;
00052 class PxControllerDesc;
00053 class PxObstacleContext;
00054 class PxControllerFilterCallback;
00055
00059 struct PxControllerDebugRenderFlag
00060 {
00061     enum Enum
00062     {
00063         eTEMPORAL_BV    = (1<<0),
00064         eCACHED_BV      = (1<<1),
00065         eOBSTACLES      = (1<<2),
00066
00067         eNONE           = 0,
00068         eALL            = 0xffffffff
00069     };
00070 };
00071
00077 typedef PxFlags<PxControllerDebugRenderFlag::Enum, PxU32> PxControllerDebugRenderFlags;
00078 PX_FLAGS_OPERATORS(PxControllerDebugRenderFlag::Enum, PxU32)
00079
00080
00081
00086 class PX_PHYSX_CHARACTER_API PxControllerManager
00087 {
00088 public:
00097     virtual void                release() = 0;
00098
00104     virtual PxScene&            getScene() const = 0;
00105
00111     virtual PxU32               getNbControllers() const = 0;
00112
00119     virtual PxController*       getController(PxU32 index) = 0;
00120
00129     virtual PxController*       createController(const PxControllerDesc& desc) = 0;
00130
00134     virtual void                purgeControllers() = 0;
00135
00143     virtual PxRenderBuffer&     getRenderBuffer()       = 0;
00144
00152     virtual void                setDebugRenderingFlags(PxControllerDebugRenderFlags flags)  = 0;
00153
00159     virtual PxU32               getNbObstacleContexts() const = 0;
00160
00167     virtual PxObstacleContext*  getObstacleContext(PxU32 index) = 0;
00168
00176     virtual PxObstacleContext*  createObstacleContext() = 0;
00177
00195     virtual void                computeInteractions(PxF32 elapsedTime, PxControllerFilterCallback* cctFilterCb=NULL) = 0;
00196
00210     virtual void                setTessellation(bool flag, float maxEdgeLength) = 0;
00211
00231     virtual void                setOverlapRecoveryModule(bool flag) = 0;
00232
00242     virtual void                setPreciseSweeps(bool flag) = 0;
00243
00257     virtual void                setPreventVerticalSlidingAgainstCeiling(bool flag) = 0;
00258
00271     virtual void                shiftOrigin(const PxVec3& shift) = 0;
00272
00273 protected:
00274     PxControllerManager() {}
00275     virtual ~PxControllerManager() {}
00276 };
00277
00278 #if !PX_DOXYGEN
00279 } // namespace physx
00280 #endif
00281
00298 PX_C_EXPORT PX_PHYSX_CHARACTER_API physx::PxControllerManager* PX_CALL_CONV PxCreateControllerManager(physx::PxScene& scene, bool lockingEnabled = false);
00299
00301 #endif //PX_PHYSICS_CCT_MANAGER


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxControllerObstacles.h Source File

PxControllerObstacles.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PX_PHYSICS_CCT_OBSTACLES
00031 #define PX_PHYSICS_CCT_OBSTACLES
00032
00036 #include "characterkinematic/PxCharacter.h"
00037 #include "characterkinematic/PxExtended.h"
00038 #include "geometry/PxGeometry.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00045     class PxControllerManager;
00046
00047     #define INVALID_OBSTACLE_HANDLE 0xffffffff
00048
00054     class PxObstacle
00055     {
00056         protected:
00057                                                 PxObstacle() :
00058                                                     mType       (PxGeometryType::eINVALID),
00059                                                     mUserData   (NULL),
00060                                                     mPos        (0.0, 0.0, 0.0),
00061                                                     mRot        (PxQuat(PxIdentity))
00062                                                 {}
00063
00064                         PxGeometryType::Enum    mType;
00065         public:
00066
00067         PX_FORCE_INLINE PxGeometryType::Enum    getType()   const   { return mType; }
00068
00069                         void*                   mUserData;
00070                         PxExtendedVec3          mPos;
00071                         PxQuat                  mRot;
00072     };
00073
00079     class PxBoxObstacle : public PxObstacle
00080     {
00081         public:
00082                                                 PxBoxObstacle() :
00083                                                     mHalfExtents(0.0f)
00084                                                 { mType = PxGeometryType::eBOX;      }
00085
00086                         PxVec3                  mHalfExtents;
00087     };
00088
00094     class PxCapsuleObstacle : public PxObstacle
00095     {
00096         public:
00097                                                 PxCapsuleObstacle() :
00098                                                     mHalfHeight (0.0f),
00099                                                     mRadius     (0.0f)
00100                                                 { mType = PxGeometryType::eCAPSULE;  }
00101
00102                         PxReal                  mHalfHeight;
00103                         PxReal                  mRadius;
00104     };
00105
00106     typedef PxU32   ObstacleHandle;
00107
00115     class PxObstacleContext
00116     {
00117         public:
00118                                     PxObstacleContext()     {}
00119         virtual                     ~PxObstacleContext()    {}
00120
00124         virtual void                release()                                                           = 0;
00125
00131         virtual PxControllerManager&    getControllerManager() const                                    = 0;
00132
00140         virtual ObstacleHandle      addObstacle(const PxObstacle& obstacle)                             = 0;
00141
00149         virtual bool                removeObstacle(ObstacleHandle handle)                               = 0;
00150
00159         virtual bool                updateObstacle(ObstacleHandle handle, const PxObstacle& obstacle)   = 0;
00160
00166         virtual PxU32               getNbObstacles()                                            const   = 0;
00167
00175         virtual const PxObstacle*   getObstacle(PxU32 i)                                        const   = 0;
00176
00184         virtual const PxObstacle*   getObstacleByHandle(ObstacleHandle handle)                  const   = 0;
00185     };
00186
00187 #if !PX_DOXYGEN
00188 }
00189 #endif
00190
00192 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxConvexMesh.h Source File

PxConvexMesh.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_GEOMUTILS_NX_CONVEXMESH
00032 #define PX_PHYSICS_GEOMUTILS_NX_CONVEXMESH
00033
00037 #include "foundation/Px.h"
00038 #include "common/PxBase.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00051 struct PxHullPolygon
00052 {
00053     PxReal          mPlane[4];
00054     PxU16           mNbVerts;
00055     PxU16           mIndexBase;
00056 };
00057
00084 class PxConvexMesh  : public PxBase
00085 {
00086 public:
00087
00093     PX_PHYSX_COMMON_API virtual PxU32               getNbVertices()                                 const   = 0;
00094
00100     PX_PHYSX_COMMON_API virtual const PxVec3*       getVertices()                                   const   = 0;
00101
00107     PX_PHYSX_COMMON_API virtual const PxU8*         getIndexBuffer()                                const   = 0;
00108
00114     PX_PHYSX_COMMON_API virtual PxU32               getNbPolygons()                                 const   = 0;
00115
00123     PX_PHYSX_COMMON_API virtual bool                getPolygonData(PxU32 index, PxHullPolygon& data)    const   = 0;
00124
00130     PX_PHYSX_COMMON_API virtual void                release()                                                   = 0;
00131
00140     PX_PHYSX_COMMON_API virtual PxU32               getReferenceCount()                                 const   = 0;
00141
00147     PX_PHYSX_COMMON_API virtual void                acquireReference()                                          = 0;
00148
00165     PX_PHYSX_COMMON_API virtual void                getMassInformation(PxReal& mass, PxMat33& localInertia, PxVec3& localCenterOfMass)      const   = 0;
00166
00172     PX_PHYSX_COMMON_API virtual PxBounds3           getLocalBounds()    const   = 0;
00173
00174     PX_PHYSX_COMMON_API virtual const char*         getConcreteTypeName() const { return "PxConvexMesh"; }
00175
00183     PX_PHYSX_COMMON_API virtual bool                isGpuCompatible() const = 0;
00184
00185 protected:
00186                         PX_INLINE                   PxConvexMesh(PxType concreteType, PxBaseFlags baseFlags) : PxBase(concreteType, baseFlags) {}
00187                         PX_INLINE                   PxConvexMesh(PxBaseFlags baseFlags) : PxBase(baseFlags) {}
00188     PX_PHYSX_COMMON_API virtual                     ~PxConvexMesh() {}
00189     PX_PHYSX_COMMON_API virtual bool                isKindOf(const char* name) const { return !::strcmp("PxConvexMesh", name) || PxBase::isKindOf(name); }
00190 };
00191
00192 #if !PX_DOXYGEN
00193 } // namespace physx
00194 #endif
00195
00197 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxConvexMeshDesc.h Source File

PxConvexMeshDesc.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_COLLISION_NXCONVEXMESHDESC
00032 #define PX_COLLISION_NXCONVEXMESHDESC
00033
00037 #include "foundation/PxVec3.h"
00038 #include "foundation/PxFlags.h"
00039 #include "common/PxCoreUtilityTypes.h"
00040 #include "geometry/PxConvexMesh.h"
00041
00042 #if !PX_DOXYGEN
00043 namespace physx
00044 {
00045 #endif
00046
00050 struct PxConvexFlag
00051 {
00052     enum Enum
00053     {
00059         e16_BIT_INDICES     =   (1<<0),
00060
00068         eCOMPUTE_CONVEX     =   (1<<1),
00069
00081         eCHECK_ZERO_AREA_TRIANGLES      =   (1<<2),
00082
00092         PX_DEPRECATED eINFLATE_CONVEX       =   (1<<3),
00093
00101         eQUANTIZE_INPUT = (1 << 4),
00102
00110         eDISABLE_MESH_VALIDATION = (1 << 5),
00111
00129         ePLANE_SHIFTING = (1 << 6),
00130
00135         eFAST_INERTIA_COMPUTATION = (1 << 7),
00136
00142         eGPU_COMPATIBLE = (1 << 8),
00143
00150         eSHIFT_VERTICES = (1 << 9)
00151     };
00152 };
00153
00159 typedef PxFlags<PxConvexFlag::Enum,PxU16> PxConvexFlags;
00160 PX_FLAGS_OPERATORS(PxConvexFlag::Enum,PxU16)
00161
00162
00169 class PxConvexMeshDesc
00170 {
00171 public:
00172
00178     PxBoundedData points;
00179
00188     PxBoundedData polygons;
00189
00200     PxBoundedData indices;
00201
00207     PxConvexFlags flags;
00208
00222     PxU16 vertexLimit;
00223
00233     PxU16 quantizedCount;
00234
00238     PX_INLINE PxConvexMeshDesc();
00242     PX_INLINE void setToDefault();
00248     PX_INLINE bool isValid() const;
00249 };
00250
00251 PX_INLINE PxConvexMeshDesc::PxConvexMeshDesc()  //constructor sets to default
00252 : vertexLimit(255), quantizedCount(255)
00253 {
00254 }
00255
00256 PX_INLINE void PxConvexMeshDesc::setToDefault()
00257 {
00258     *this = PxConvexMeshDesc();
00259 }
00260
00261 PX_INLINE bool PxConvexMeshDesc::isValid() const
00262 {
00263     // Check geometry
00264     if(points.count < 3 ||  //at least 1 trig's worth of points
00265         (points.count > 0xffff && flags & PxConvexFlag::e16_BIT_INDICES))
00266         return false;
00267     if(!points.data)
00268         return false;
00269     if(points.stride < sizeof(PxVec3))  //should be at least one point's worth of data
00270         return false;
00271     if (quantizedCount < 4)
00272         return false;
00273
00274     // Check topology
00275     if(polygons.data)
00276     {
00277         if(polygons.count < 4) // we require 2 neighbors for each vertex - 4 polygons at least
00278             return false;
00279
00280         if(!indices.data) // indices must be provided together with polygons
00281             return false;
00282
00283         PxU32 limit = (flags & PxConvexFlag::e16_BIT_INDICES) ? sizeof(PxU16) : sizeof(PxU32);
00284         if(indices.stride < limit)
00285             return false;
00286
00287         limit = sizeof(PxHullPolygon);
00288         if(polygons.stride < limit)
00289             return false;
00290     }
00291     else
00292     {
00293         // We can compute the hull from the vertices
00294         if(!(flags & PxConvexFlag::eCOMPUTE_CONVEX))
00295             return false;   // If the mesh is convex and we're not allowed to compute the hull,
00296                             // you have to provide it completely (geometry & topology).
00297     }
00298
00299     if((flags & PxConvexFlag::ePLANE_SHIFTING) &&  vertexLimit < 4)
00300     {
00301         return false;
00302     }
00303
00304     if (!(flags & PxConvexFlag::ePLANE_SHIFTING) && vertexLimit < 8)
00305     {
00306         return false;
00307     }
00308
00309     if(vertexLimit > 256)
00310     {
00311         return false;
00312     }
00313     return true;
00314 }
00315
00316 #if !PX_DOXYGEN
00317 } // namespace physx
00318 #endif
00319
00321 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxConvexMeshExt.h Source File

PxConvexMeshExt.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_EXTENSIONS_CONVEX_MESH_H
00032 #define PX_PHYSICS_EXTENSIONS_CONVEX_MESH_H
00033
00037 #include "PxPhysXConfig.h"
00038 #include "common/PxPhysXCommonConfig.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00045     class PxConvexMeshGeometry;
00046
00063     PxU32 PxFindFaceIndex(const PxConvexMeshGeometry& convexGeom,
00064                                    const PxTransform& geomPose,
00065                                    const PxVec3& impactPos,
00066                                    const PxVec3& unitDir);
00067
00068 #if !PX_DOXYGEN
00069 } // namespace physx
00070 #endif
00071
00073 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxConvexMeshGeometry.h Source File

PxConvexMeshGeometry.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_CONVEXMESH_GEOMETRY
00032 #define PX_PHYSICS_NX_CONVEXMESH_GEOMETRY
00033
00036 #include "geometry/PxGeometry.h"
00037 #include "geometry/PxMeshScale.h"
00038 #include "common/PxCoreUtilityTypes.h"
00039 #include "geometry/PxConvexMesh.h"
00040
00041 #if !PX_DOXYGEN
00042 namespace physx
00043 {
00044 #endif
00045
00046 class PxConvexMesh;
00047
00053 struct PxConvexMeshGeometryFlag
00054 {
00055     enum Enum
00056     {
00057         eTIGHT_BOUNDS = (1<<0)
00058     };
00059 };
00060
00066 typedef PxFlags<PxConvexMeshGeometryFlag::Enum,PxU8> PxConvexMeshGeometryFlags;
00067 PX_FLAGS_OPERATORS(PxConvexMeshGeometryFlag::Enum,PxU8)
00068
00069
00080 class PxConvexMeshGeometry : public PxGeometry
00081 {
00082 public:
00088     PX_INLINE PxConvexMeshGeometry() :
00089         PxGeometry  (PxGeometryType::eCONVEXMESH),
00090         scale       (PxMeshScale(1.0f)),
00091         convexMesh  (NULL),
00092         maxMargin   (3.4e38f)
00093     {}
00094
00103     PX_INLINE PxConvexMeshGeometry( PxConvexMesh* mesh,
00104                                     const PxMeshScale& scaling = PxMeshScale(),
00105                                     PxConvexMeshGeometryFlags flags = PxConvexMeshGeometryFlags(),
00106                                     float margin = 3.4e38f) :
00107         PxGeometry  (PxGeometryType::eCONVEXMESH),
00108         scale       (scaling),
00109         convexMesh  (mesh),
00110         maxMargin   (margin),
00111         meshFlags(flags)
00112     {
00113     }
00114
00125     PX_INLINE bool isValid() const;
00126
00127 public:
00128     PxMeshScale                 scale;
00129     PxConvexMesh*               convexMesh;
00130     PxReal                      maxMargin;
00131     PxConvexMeshGeometryFlags   meshFlags;
00132     PxPadding<3>                paddingFromFlags;
00133 };
00134
00135
00136 PX_INLINE bool PxConvexMeshGeometry::isValid() const
00137 {
00138     if(mType != PxGeometryType::eCONVEXMESH)
00139         return false;
00140     if(!scale.scale.isFinite() || !scale.rotation.isUnit())
00141         return false;
00142     if(!scale.isValidForConvexMesh())
00143         return false;
00144     if(!convexMesh)
00145         return false;
00146     if (maxMargin < 0.0f)
00147         return false;
00148
00149     return true;
00150 }
00151
00152 #if !PX_DOXYGEN
00153 } // namespace physx
00154 #endif
00155
00157 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCooking.h Source File

PxCooking.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_COOKING_H
00032 #define PX_COOKING_H
00033
00036 #include "common/PxPhysXCommonConfig.h"
00037 #include "common/PxTolerancesScale.h"
00038 #include "cooking/Pxc.h"
00039
00040 #include "cooking/PxConvexMeshDesc.h"
00041 #include "cooking/PxTriangleMeshDesc.h"
00042 #include "cooking/PxMidphaseDesc.h"
00043 #include "geometry/PxTriangleMesh.h"
00044
00045 #if !PX_DOXYGEN
00046 namespace physx
00047 {
00048 #endif
00049
00050 class PxBinaryConverter;
00051 class PxPhysicsInsertionCallback;
00052 class PxFoundation;
00053
00054 struct PX_DEPRECATED PxPlatform
00055 {
00056     enum Enum
00057     {
00058         ePC,
00059         eARM
00060     };
00061 };
00062
00063 PX_DEPRECATED PX_FORCE_INLINE PxU32 PxGetGaussMapVertexLimitForPlatform(PxPlatform::Enum targetPlatform)
00064 {
00065     PX_ASSERT_WITH_MESSAGE( (targetPlatform >= PxPlatform::ePC) &&
00066                             (targetPlatform <= PxPlatform::eARM),
00067                             "Unexpected platform in PxGetGaussMapVertexLimitForPlatform");
00068
00069     PxU32 limit = 0;
00070     switch(targetPlatform)
00071     {
00072         case PxPlatform::ePC:
00073             limit = 32;     break;
00074         case PxPlatform::eARM:
00075             limit = 32;     break;
00076     }
00077     return limit;
00078 }
00079
00083 struct PxConvexMeshCookingResult
00084 {
00085     enum Enum
00086     {
00090         eSUCCESS,
00091
00097         eZERO_AREA_TEST_FAILED,
00098
00106         ePOLYGONS_LIMIT_REACHED,
00107
00111         eFAILURE
00112     };
00113 };
00114
00116 struct PxConvexMeshCookingType
00117 {
00118     enum Enum
00119     {
00132         eINFLATION_INCREMENTAL_HULL PX_DEPRECATED = 0,
00133
00139         eQUICKHULL
00140     };
00141 };
00142
00146 struct PxTriangleMeshCookingResult
00147 {
00148     enum Enum
00149     {
00153         eSUCCESS            = 0,
00154
00158         eLARGE_TRIANGLE,
00159
00163         eFAILURE
00164     };
00165 };
00166
00173 struct PxMeshPreprocessingFlag
00174 {
00175     enum Enum
00176     {
00180         eWELD_VERTICES                  =   1 << 0,
00181
00190         eDISABLE_CLEAN_MESH                             =   1 << 1,
00191
00195         eDISABLE_ACTIVE_EDGES_PRECOMPUTE                =   1 << 2,
00196
00202         eFORCE_32BIT_INDICES                            =   1 << 3
00203     };
00204 };
00205
00206 typedef PxFlags<PxMeshPreprocessingFlag::Enum,PxU32> PxMeshPreprocessingFlags;
00207
00214 struct PxCookingParams
00215 {
00225     PxPlatform::Enum    targetPlatform;
00248     PX_DEPRECATED float     skinWidth;
00249
00262     float       areaTestEpsilon;
00263
00284     float       planeTolerance;
00285
00293     PxConvexMeshCookingType::Enum convexMeshCookingType;
00294
00302     bool        suppressTriangleMeshRemapTable;
00303
00310     bool        buildTriangleAdjacencies;
00311
00317     bool        buildGPUData;
00318
00326     PxTolerancesScale scale;
00327
00333     PxMeshPreprocessingFlags    meshPreprocessParams;
00334
00344     PX_DEPRECATED PxMeshCookingHint::Enum           meshCookingHint;
00345
00359     PX_DEPRECATED PxF32 meshSizePerformanceTradeOff;
00360
00376     PxReal      meshWeldTolerance;
00377
00388     PxMidphaseDesc midphaseDesc;
00389
00397     PxU32   gaussMapLimit;
00398
00399     PxCookingParams(const PxTolerancesScale& sc):
00400         skinWidth                       (0.025f*sc.length),
00401         areaTestEpsilon                 (0.06f*sc.length*sc.length),
00402         planeTolerance                  (0.0007f),
00403         convexMeshCookingType           (PxConvexMeshCookingType::eQUICKHULL),
00404         suppressTriangleMeshRemapTable  (false),
00405         buildTriangleAdjacencies        (false),
00406         buildGPUData                    (false),
00407         scale                           (sc),
00408         meshPreprocessParams            (0),
00409         meshCookingHint                 (PxMeshCookingHint::eSIM_PERFORMANCE),
00410         meshSizePerformanceTradeOff     (0.55f),
00411         meshWeldTolerance               (0.f)
00412     {
00413 #if PX_INTEL_FAMILY
00414         targetPlatform = PxPlatform::ePC;
00415 #elif PX_ARM_FAMILY
00416         targetPlatform = PxPlatform::eARM;
00417 #else
00418 #error Unknown platform
00419 #endif
00420         gaussMapLimit = PxGetGaussMapVertexLimitForPlatform(targetPlatform);
00421     }
00422 };
00423
00424 class PxCooking
00425 {
00426 public:
00435     virtual void  release() = 0;
00436
00444     virtual void  setParams(const PxCookingParams& params) = 0;
00445
00453     virtual const PxCookingParams& getParams() const = 0;
00454
00460     virtual bool  platformMismatch() const = 0;
00461
00482     virtual bool  cookTriangleMesh(const PxTriangleMeshDesc& desc, PxOutputStream& stream, PxTriangleMeshCookingResult::Enum* condition = NULL) const = 0;
00483
00496     virtual PxTriangleMesh*    createTriangleMesh(const PxTriangleMeshDesc& desc, PxPhysicsInsertionCallback& insertionCallback, PxTriangleMeshCookingResult::Enum* condition = NULL) const = 0;
00497
00511     virtual bool  validateTriangleMesh(const PxTriangleMeshDesc& desc) const = 0;
00512
00536     virtual bool  cookConvexMesh(const PxConvexMeshDesc& desc, PxOutputStream& stream, PxConvexMeshCookingResult::Enum* condition = NULL) const = 0;
00537
00553     virtual PxConvexMesh*    createConvexMesh(const PxConvexMeshDesc& desc, PxPhysicsInsertionCallback& insertionCallback, PxConvexMeshCookingResult::Enum* condition = NULL) const = 0;
00554
00568     virtual bool  validateConvexMesh(const PxConvexMeshDesc& desc) const = 0;
00569
00570
00592     virtual bool  computeHullPolygons(const PxSimpleTriangleMesh& mesh, PxAllocatorCallback& inCallback, PxU32& nbVerts, PxVec3*& vertices,
00593                                             PxU32& nbIndices, PxU32*& indices, PxU32& nbPolygons, PxHullPolygon*& hullPolygons) const = 0;
00594
00609     virtual bool  cookHeightField(const PxHeightFieldDesc& desc, PxOutputStream& stream) const = 0;
00610
00620     virtual PxHeightField*    createHeightField(const PxHeightFieldDesc& desc, PxPhysicsInsertionCallback& insertionCallback) const = 0;
00621
00622
00623 protected:
00624     virtual ~PxCooking(){}
00625 };
00626
00627 #if !PX_DOXYGEN
00628 } // namespace physx
00629 #endif
00630
00648 PX_C_EXPORT PX_PHYSX_COOKING_API physx::PxCooking* PX_CALL_CONV PxCreateCooking(physx::PxU32 version,
00649                                                                                 physx::PxFoundation& foundation,
00650                                                                                 const physx::PxCookingParams& params);
00651
00653 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCoreUtilityTypes.h Source File

PxCoreUtilityTypes.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_CORE_UTILTY_TYPES_H
00032 #define PX_CORE_UTILTY_TYPES_H
00033
00037 #include "foundation/PxAssert.h"
00038 #include "foundation/PxMemory.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00045
00046 struct PxStridedData
00047 {
00053     PxU32 stride;
00054     const void* data;
00055
00056     PxStridedData() : stride( 0 ), data( NULL ) {}
00057
00058     template<typename TDataType>
00059     PX_INLINE const TDataType& at( PxU32 idx ) const
00060     {
00061         PxU32 theStride( stride );
00062         if ( theStride == 0 )
00063             theStride = sizeof( TDataType );
00064         PxU32 offset( theStride * idx );
00065         return *(reinterpret_cast<const TDataType*>( reinterpret_cast< const PxU8* >( data ) + offset ));
00066     }
00067 };
00068
00069 template<typename TDataType>
00070 struct PxTypedStridedData
00071 {
00072     PxU32 stride;
00073     const TDataType* data;
00074
00075     PxTypedStridedData()
00076         : stride( 0 )
00077         , data( NULL )
00078     {
00079     }
00080
00081 };
00082
00083 struct PxBoundedData : public PxStridedData
00084 {
00085     PxU32 count;
00086     PxBoundedData() : count( 0 ) {}
00087 };
00088
00089 template<PxU8 TNumBytes>
00090 struct PxPadding
00091 {
00092     PxU8 mPadding[TNumBytes];
00093     PxPadding()
00094     {
00095         for ( PxU8 idx =0; idx < TNumBytes; ++idx )
00096             mPadding[idx] = 0;
00097     }
00098 };
00099
00100 template <PxU32 NB_ELEMENTS> class PxFixedSizeLookupTable
00101 {
00102 //= ATTENTION! =====================================================================================
00103 // Changing the data layout of this class breaks the binary serialization format.  See comments for
00104 // PX_BINARY_SERIAL_VERSION.  If a modification is required, please adjust the getBinaryMetaData
00105 // function.  If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION
00106 // accordingly.
00107 //==================================================================================================
00108 public:
00109
00110     PxFixedSizeLookupTable()
00111         : mNbDataPairs(0)
00112     {
00113     }
00114
00115     PxFixedSizeLookupTable(const PxEMPTY) {}
00116
00117     PxFixedSizeLookupTable(const PxReal* dataPairs, const PxU32 numDataPairs)
00118     {
00119         PxMemCopy(mDataPairs,dataPairs,sizeof(PxReal)*2*numDataPairs);
00120         mNbDataPairs=numDataPairs;
00121     }
00122
00123     PxFixedSizeLookupTable(const PxFixedSizeLookupTable& src)
00124     {
00125         PxMemCopy(mDataPairs,src.mDataPairs,sizeof(PxReal)*2*src.mNbDataPairs);
00126         mNbDataPairs=src.mNbDataPairs;
00127     }
00128
00129     ~PxFixedSizeLookupTable()
00130     {
00131     }
00132
00133     PxFixedSizeLookupTable& operator=(const PxFixedSizeLookupTable& src)
00134     {
00135         PxMemCopy(mDataPairs,src.mDataPairs,sizeof(PxReal)*2*src.mNbDataPairs);
00136         mNbDataPairs=src.mNbDataPairs;
00137         return *this;
00138     }
00139
00140     PX_FORCE_INLINE void addPair(const PxReal x, const PxReal y)
00141     {
00142         PX_ASSERT(mNbDataPairs<NB_ELEMENTS);
00143         mDataPairs[2*mNbDataPairs+0]=x;
00144         mDataPairs[2*mNbDataPairs+1]=y;
00145         mNbDataPairs++;
00146     }
00147
00148     PX_FORCE_INLINE PxReal getYVal(const PxReal x) const
00149     {
00150         if(0==mNbDataPairs)
00151         {
00152             PX_ASSERT(false);
00153             return 0;
00154         }
00155
00156         if(1==mNbDataPairs || x<getX(0))
00157         {
00158             return getY(0);
00159         }
00160
00161         PxReal x0=getX(0);
00162         PxReal y0=getY(0);
00163
00164         for(PxU32 i=1;i<mNbDataPairs;i++)
00165         {
00166             const PxReal x1=getX(i);
00167             const PxReal y1=getY(i);
00168
00169             if((x>=x0)&&(x<x1))
00170             {
00171                 return (y0+(y1-y0)*(x-x0)/(x1-x0));
00172             }
00173
00174             x0=x1;
00175             y0=y1;
00176         }
00177
00178         PX_ASSERT(x>=getX(mNbDataPairs-1));
00179         return getY(mNbDataPairs-1);
00180     }
00181
00182     PxU32 getNbDataPairs() const {return mNbDataPairs;}
00183
00184     void clear()
00185     {
00186         memset(mDataPairs, 0, NB_ELEMENTS*2*sizeof(PxReal));
00187         mNbDataPairs = 0;
00188     }
00189
00190     PX_FORCE_INLINE PxReal getX(const PxU32 i) const
00191     {
00192         return mDataPairs[2*i];
00193     }
00194     PX_FORCE_INLINE PxReal getY(const PxU32 i) const
00195     {
00196         return mDataPairs[2*i+1];
00197     }
00198
00199     PxReal mDataPairs[2*NB_ELEMENTS];
00200     PxU32 mNbDataPairs;
00201     PxU32 mPad[3];
00202
00203
00204 };
00205
00206 #if !PX_DOXYGEN
00207 } // namespace physx
00208 #endif
00209
00211 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCpuDispatcher.h Source File

PxCpuDispatcher.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027
00028 #ifndef PXTASK_PXCPUDISPATCHER_H
00029 #define PXTASK_PXCPUDISPATCHER_H
00030
00031 #include "task/PxTaskDefine.h"
00032 #include "foundation/PxSimpleTypes.h"
00033
00034 namespace physx
00035 {
00036
00037 class PxBaseTask;
00038
00049 class PxCpuDispatcher
00050 {
00051 public:
00063     virtual void submitTask( PxBaseTask& task ) = 0;
00064
00072     virtual uint32_t getWorkerCount() const = 0;
00073
00074     virtual ~PxCpuDispatcher() {}
00075 };
00076
00077 } // end physx namespace
00078
00079 #endif // PXTASK_PXCPUDISPATCHER_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCudaContextManager.h Source File

PxCudaContextManager.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027
00028
00029 #ifndef PXCUDACONTEXTMANAGER_PXCUDACONTEXTMANAGER_H
00030 #define PXCUDACONTEXTMANAGER_PXCUDACONTEXTMANAGER_H
00031
00032 #include "foundation/PxPreprocessor.h"
00033
00034 #if PX_SUPPORT_GPU_PHYSX
00035
00036 #include "foundation/PxSimpleTypes.h"
00037 #include "foundation/PxErrorCallback.h"
00038 #include "foundation/PxFlags.h"
00039 #include "task/PxTaskDefine.h"
00040 #include "cudamanager/PxCudaMemoryManager.h"
00041
00042 /* Forward decl to avoid inclusion of cuda.h */
00043 typedef struct CUctx_st *CUcontext;
00044 typedef struct CUgraphicsResource_st *CUgraphicsResource;
00045 typedef int CUdevice;
00046
00047 namespace physx
00048 {
00049
00050 class PxGpuDispatcher;
00051
00052
00054 struct PxCudaInteropMode
00055 {
00059     enum Enum
00060     {
00061         NO_INTEROP = 0,
00062         D3D10_INTEROP,
00063         D3D11_INTEROP,
00064         OGL_INTEROP,
00065
00066         COUNT
00067     };
00068 };
00069
00070 struct PxCudaInteropRegisterFlag
00071 {
00072     enum Enum
00073     {
00074         eNONE           = 0x00,
00075         eREAD_ONLY      = 0x01,
00076         eWRITE_DISCARD  = 0x02,
00077         eSURFACE_LDST   = 0x04,
00078         eTEXTURE_GATHER = 0x08
00079     };
00080 };
00081
00087 typedef PxFlags<PxCudaInteropRegisterFlag::Enum, uint32_t> PxCudaInteropRegisterFlags;
00088 PX_FLAGS_OPERATORS(PxCudaInteropRegisterFlag::Enum, uint32_t)
00089
00090
00091 class PxCudaContextManagerDesc
00092 {
00093 public:
00115     CUcontext            *ctx;
00116
00124     void                 *graphicsDevice;
00125
00126 #if PX_SUPPORT_GPU_PHYSX
00127
00134     const char*          appGUID;
00135 #endif
00136
00143     PxCudaInteropMode::Enum interopMode;
00144
00145
00161     uint32_t    memoryBaseSize[PxCudaBufferMemorySpace::COUNT];
00162
00172     uint32_t    memoryPageSize[PxCudaBufferMemorySpace::COUNT];
00173
00180     uint32_t    maxMemorySize[PxCudaBufferMemorySpace::COUNT];
00181
00182     PX_INLINE PxCudaContextManagerDesc()
00183     {
00184         ctx = NULL;
00185         interopMode = PxCudaInteropMode::NO_INTEROP;
00186         graphicsDevice = 0;
00187 #if PX_SUPPORT_GPU_PHYSX
00188         appGUID  = NULL;
00189 #endif
00190         for(uint32_t i = 0; i < PxCudaBufferMemorySpace::COUNT; i++)
00191         {
00192             memoryBaseSize[i] = 0;
00193             memoryPageSize[i] = 2 * 1024*1024;
00194             maxMemorySize[i] = UINT32_MAX;
00195         }
00196     }
00197 };
00198
00199
00217 class PxCudaContextManager
00218 {
00219 public:
00235     virtual void acquireContext() = 0;
00236
00244     virtual void releaseContext() = 0;
00245
00249     virtual CUcontext getContext() = 0;
00250
00257     virtual PxCudaMemoryManager *getMemoryManager() = 0;
00258
00263     virtual class physx::PxGpuDispatcher *getGpuDispatcher() = 0;
00264
00274     virtual bool contextIsValid() const = 0;
00275
00276     /* Query CUDA context and device properties, without acquiring context */
00277
00278     virtual bool supportsArchSM10() const = 0;
00279     virtual bool supportsArchSM11() const = 0;
00280     virtual bool supportsArchSM12() const = 0;
00281     virtual bool supportsArchSM13() const = 0;
00282     virtual bool supportsArchSM20() const = 0;
00283     virtual bool supportsArchSM30() const = 0;
00284     virtual bool supportsArchSM35() const = 0;
00285     virtual bool supportsArchSM50() const = 0;
00286     virtual bool supportsArchSM52() const = 0;
00287     virtual bool supportsArchSM60() const = 0;
00288     virtual bool isIntegrated() const = 0;
00289     virtual bool canMapHostMemory() const = 0;
00290     virtual int  getDriverVersion() const = 0;
00291     virtual size_t getDeviceTotalMemBytes() const = 0;
00292     virtual int getMultiprocessorCount() const = 0;
00293     virtual unsigned int getClockRate() const = 0;
00294     virtual int  getSharedMemPerBlock() const = 0;
00295     virtual int  getSharedMemPerMultiprocessor() const = 0;
00296     virtual unsigned int getMaxThreadsPerBlock() const = 0;
00297     virtual const char *getDeviceName() const = 0;
00298     virtual CUdevice getDevice() const = 0;
00299     virtual PxCudaInteropMode::Enum getInteropMode() const = 0;
00300
00301     virtual void setUsingConcurrentStreams(bool) = 0;
00302     virtual bool getUsingConcurrentStreams() const = 0;
00303     /* End query methods that don't require context to be acquired */
00304
00325     virtual bool registerResourceInCudaGL(CUgraphicsResource &resource, uint32_t buffer, PxCudaInteropRegisterFlags flags = PxCudaInteropRegisterFlags()) = 0;
00326
00347     virtual bool registerResourceInCudaD3D(CUgraphicsResource &resource, void *resourcePointer, PxCudaInteropRegisterFlags flags = PxCudaInteropRegisterFlags()) = 0;
00348
00356     virtual bool unregisterResourceInCuda(CUgraphicsResource resource) = 0;
00357
00365     virtual int usingDedicatedGPU() const = 0;
00366
00382     virtual void release() = 0;
00383
00384 protected:
00385
00389     virtual ~PxCudaContextManager() {}
00390 };
00391
00395 class PxScopedCudaLock
00396 {
00397 public:
00401     PxScopedCudaLock(PxCudaContextManager& ctx) : mCtx(&ctx)
00402     {
00403         mCtx->acquireContext();
00404     }
00405
00409     ~PxScopedCudaLock()
00410     {
00411         mCtx->releaseContext();
00412     }
00413
00414 protected:
00415
00419     PxCudaContextManager* mCtx;
00420 };
00421
00422 } // end physx namespace
00423
00424 #endif // PX_SUPPORT_GPU_PHYSX
00425 #endif // PXCUDACONTEXTMANAGER_PXCUDACONTEXTMANAGER_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCudaMemoryManager.h Source File

PxCudaMemoryManager.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027
00028 #ifndef PXCUDACONTEXTMANAGER_PXCUDAMEMORYMANAGER_H
00029 #define PXCUDACONTEXTMANAGER_PXCUDAMEMORYMANAGER_H
00030
00031 #include "foundation/PxPreprocessor.h"
00032
00033 #if PX_SUPPORT_GPU_PHYSX
00034
00035 #include "task/PxTaskDefine.h"
00036
00037 // some macros to keep the source code more readable
00038 #define PX_ALLOC_INFO(name, ID) __FILE__, __LINE__, name, physx::PxAllocId::ID
00039 #define PX_ALLOC_INFO_PARAMS_DECL(p0, p1, p2, p3)  const char* file = p0, int line = p1, const char* allocName = p2, physx::PxAllocId::Enum allocId = physx::PxAllocId::p3
00040 #define PX_ALLOC_INFO_PARAMS_DEF()  const char* file, int line, const char* allocName, physx::PxAllocId::Enum allocId
00041 #define PX_ALLOC_INFO_PARAMS_INPUT()  file, line, allocName, allocId
00042 #define PX_ALLOC_INFO_PARAMS_INPUT_INFO(info) info.getFileName(), info.getLine(), info.getAllocName(), info.getAllocId()
00043
00044 #ifndef NULL // don't want to include <string.h>
00045 #define NULL 0
00046 #endif
00047
00048 namespace physx
00049 {
00050
00051 PX_PUSH_PACK_DEFAULT
00052
00057 struct PxAllocId
00058 {
00062     enum Enum
00063     {
00064         UNASSIGNED,
00065         APEX,
00066         PARTICLES,
00067         GPU_UTIL,
00068         CLOTH,
00069         NUM_IDS
00070     };
00071 };
00072
00074 struct PxCudaBufferMemorySpace
00075 {
00079     enum Enum
00080     {
00081         T_GPU,
00082         T_PINNED_HOST,
00083         T_WRITE_COMBINED,
00084         T_HOST,
00085         COUNT
00086     };
00087 };
00088
00090 class PxAllocInfo
00091 {
00092 public:
00096     PxAllocInfo() {}
00097
00101     PxAllocInfo(const char* file, int line, const char* allocName, PxAllocId::Enum allocId)
00102         : mFileName(file)
00103         , mLine(line)
00104         , mAllocName(allocName)
00105         , mAllocId(allocId)
00106     {}
00107
00109     inline  const char*         getFileName() const
00110     {
00111         return mFileName;
00112     }
00113
00115     inline  int                 getLine() const
00116     {
00117         return mLine;
00118     }
00119
00121     inline  const char*         getAllocName() const
00122     {
00123         return mAllocName;
00124     }
00125
00127     inline  PxAllocId::Enum     getAllocId() const
00128     {
00129         return mAllocId;
00130     }
00131
00132 private:
00133     const char*         mFileName;
00134     int                 mLine;
00135     const char*         mAllocName;
00136     PxAllocId::Enum     mAllocId;
00137 };
00138
00140 struct PxAllocIdStats
00141 {
00142     size_t size;
00143     size_t maxSize;
00144     size_t elements;
00145     size_t maxElements;
00146 };
00147
00148 class PxCudaMemoryManager;
00149 typedef size_t PxCudaBufferPtr;
00150
00152 struct PxCudaBufferFlags
00153 {
00155     enum Enum
00156     {
00157         F_READ          = (1 << 0),
00158         F_WRITE         = (1 << 1),
00159         F_READ_WRITE    = F_READ | F_WRITE
00160     };
00161 };
00162
00163
00165 struct PxCudaMemoryManagerStats
00166 {
00167
00168     size_t          heapSize;
00169     size_t          totalAllocated;
00170     size_t          maxAllocated;
00171     PxAllocIdStats  allocIdStats[PxAllocId::NUM_IDS];
00172 };
00173
00174
00176 struct PxCudaBufferType
00177 {
00179     PX_INLINE PxCudaBufferType(const PxCudaBufferType& t)
00180         : memorySpace(t.memorySpace)
00181         , flags(t.flags)
00182     {}
00183
00185     PX_INLINE PxCudaBufferType(PxCudaBufferMemorySpace::Enum _memSpace, PxCudaBufferFlags::Enum _flags)
00186         : memorySpace(_memSpace)
00187         , flags(_flags)
00188     {}
00189
00190     PxCudaBufferMemorySpace::Enum   memorySpace;
00191     PxCudaBufferFlags::Enum         flags;
00192 };
00193
00194
00196 class PxCudaBuffer
00197 {
00198 public:
00200     virtual PxCudaMemoryManager*            getCudaMemoryManager() const = 0;
00201
00203     virtual bool                        free() = 0;
00204
00209     virtual bool                        realloc(size_t size, PX_ALLOC_INFO_PARAMS_DECL(NULL, 0, NULL, UNASSIGNED)) = 0;
00210
00212     virtual const PxCudaBufferType&     getType() const = 0;
00213
00215     virtual PxCudaBufferPtr             getPtr() const = 0;
00216
00218     virtual size_t                      getSize() const = 0;
00219
00220 protected:
00222     virtual ~PxCudaBuffer() {}
00223 };
00224
00225
00227 class PxCudaMemoryManager
00228 {
00229 public:
00231     virtual PxCudaBuffer*               alloc(const PxCudaBufferType& type, size_t size, PX_ALLOC_INFO_PARAMS_DECL(NULL, 0, NULL, UNASSIGNED)) = 0;
00232
00234     virtual PxCudaBufferPtr             alloc(PxCudaBufferMemorySpace::Enum memorySpace, size_t size, PX_ALLOC_INFO_PARAMS_DECL(NULL, 0, NULL, UNASSIGNED)) = 0;
00235
00237     virtual bool                        free(PxCudaBufferMemorySpace::Enum memorySpace, PxCudaBufferPtr addr) = 0;
00238
00240     virtual bool                        realloc(PxCudaBufferMemorySpace::Enum memorySpace, PxCudaBufferPtr addr, size_t size, PX_ALLOC_INFO_PARAMS_DECL(NULL, 0, NULL, UNASSIGNED)) = 0;
00241
00243     virtual void                        getStats(const PxCudaBufferType& type, PxCudaMemoryManagerStats& outStats) = 0;
00244
00247     virtual bool                        reserve(const PxCudaBufferType& type, size_t size) = 0;
00248
00252     virtual bool                        setPageSize(const PxCudaBufferType& type, size_t size) = 0;
00253
00256     virtual bool                        setMaxMemorySize(const PxCudaBufferType& type, size_t size) = 0;
00257
00259     virtual size_t                      getBaseSize(const PxCudaBufferType& type) = 0;
00260
00262     virtual size_t                      getPageSize(const PxCudaBufferType& type) = 0;
00263
00265     virtual size_t                      getMaxMemorySize(const PxCudaBufferType& type) = 0;
00266
00268     virtual PxCudaBufferPtr             getMappedPinnedPtr(PxCudaBufferPtr hostPtr) = 0;
00269
00270 protected:
00272     virtual ~PxCudaMemoryManager() {}
00273 };
00274
00275 PX_POP_PACK
00276
00277
00278 } // end physx namespace
00279
00280 #endif // PX_SUPPORT_GPU_PHYSX
00281 #endif // PXCUDACONTEXTMANAGER_PXCUDAMEMORYMANAGER_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxD6Joint.h Source File

PxD6Joint.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_D6JOINT_H
00032 #define PX_D6JOINT_H
00033
00037 #include "extensions/PxJoint.h"
00038 #include "extensions/PxJointLimit.h"
00039 #include "foundation/PxFlags.h"
00040
00041 #if !PX_DOXYGEN
00042 namespace physx
00043 {
00044 #endif
00045
00046 class PxD6Joint;
00047
00060 PxD6Joint*          PxD6JointCreate(PxPhysics& physics,
00061                                     PxRigidActor* actor0, const PxTransform& localFrame0,
00062                                     PxRigidActor* actor1, const PxTransform& localFrame1);
00063
00064
00065
00066
00073 struct PxD6Axis
00074 {
00075     enum Enum
00076     {
00077         eX      = 0,
00078         eY      = 1,
00079         eZ      = 2,
00080         eTWIST  = 3,
00081         eSWING1 = 4,
00082         eSWING2 = 5,
00083         eCOUNT  = 6
00084     };
00085 };
00086
00087
00093 struct PxD6Motion
00094 {
00095     enum Enum
00096     {
00097         eLOCKED,
00098         eLIMITED,
00099         eFREE
00100     };
00101 };
00102
00103
00120 struct PxD6Drive
00121 {
00122     enum Enum
00123     {
00124         eX          = 0,
00125         eY          = 1,
00126         eZ          = 2,
00127         eSWING      = 3,
00128         eTWIST      = 4,
00129         eSLERP      = 5,
00130         eCOUNT      = 6
00131     };
00132 };
00133
00140 struct PxD6JointDriveFlag
00141 {
00142     enum Enum
00143     {
00144         eACCELERATION   = 1
00145     };
00146 };
00147 typedef PxFlags<PxD6JointDriveFlag::Enum, PxU32> PxD6JointDriveFlags;
00148 PX_FLAGS_OPERATORS(PxD6JointDriveFlag::Enum, PxU32)
00149
00150
00151
00157 class PxD6JointDrive : public PxSpring
00158 {
00159 //= ATTENTION! =====================================================================================
00160 // Changing the data layout of this class breaks the binary serialization format.  See comments for
00161 // PX_BINARY_SERIAL_VERSION.  If a modification is required, please adjust the getBinaryMetaData
00162 // function.  If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION
00163 // accordingly.
00164 //==================================================================================================
00165
00166 public:
00167     PxReal                  forceLimit;
00168     PxD6JointDriveFlags     flags;
00169
00170
00175     PxD6JointDrive(): PxSpring(0,0), forceLimit(PX_MAX_F32), flags(0) {}
00176
00187     PxD6JointDrive(PxReal driveStiffness, PxReal driveDamping, PxReal driveForceLimit, bool isAcceleration = false)
00188     : PxSpring(driveStiffness, driveDamping)
00189     , forceLimit(driveForceLimit)
00190     , flags(isAcceleration?PxU32(PxD6JointDriveFlag::eACCELERATION) : 0)
00191     {}
00192
00197     bool isValid() const
00198     {
00199         return PxIsFinite(stiffness) && stiffness>=0 &&
00200                PxIsFinite(damping) && damping >=0 &&
00201                PxIsFinite(forceLimit) && forceLimit >=0;
00202     }
00203 };
00204
00205
00238 class PxD6Joint : public PxJoint
00239 {
00240 public:
00241
00256     virtual void                setMotion(PxD6Axis::Enum axis, PxD6Motion::Enum type)           = 0;
00257
00268     virtual PxD6Motion::Enum    getMotion(PxD6Axis::Enum axis)          const                   = 0;
00269
00274     virtual PxReal              getTwist()                              const                   = 0;
00275
00280     virtual PxReal              getSwingYAngle()                        const                   = 0;
00281
00286     virtual PxReal              getSwingZAngle()                        const                   = 0;
00287
00288
00299     virtual void                setLinearLimit(const PxJointLinearLimit& limit)                     = 0;
00300
00309     virtual PxJointLinearLimit  getLinearLimit()                        const                   = 0;
00310
00311
00323     virtual void                setTwistLimit(const PxJointAngularLimitPair& limit)             = 0;
00324
00325
00333     virtual PxJointAngularLimitPair getTwistLimit()                         const                   = 0;
00334
00346     virtual void                setSwingLimit(const PxJointLimitCone& limit)                        = 0;
00347
00355     virtual PxJointLimitCone    getSwingLimit()                         const                   = 0;
00356
00368     virtual void                setDrive(PxD6Drive::Enum index, const PxD6JointDrive& drive)        = 0;
00369
00377     virtual PxD6JointDrive      getDrive(PxD6Drive::Enum index) const                           = 0;
00378
00390     virtual void                setDrivePosition(const PxTransform& pose)                       = 0;
00391
00398     virtual PxTransform         getDrivePosition()                      const                   = 0;
00399
00400
00412     virtual void                setDriveVelocity(const PxVec3& linear,
00413                                                  const PxVec3& angular)                         = 0;
00414
00424     virtual void                getDriveVelocity(PxVec3& linear,
00425                                                  PxVec3& angular)       const                   = 0;
00426
00427
00447     virtual void                setProjectionLinearTolerance(PxReal tolerance)                  = 0;
00448
00449
00458     virtual PxReal              getProjectionLinearTolerance()          const                   = 0;
00459
00482     virtual void                setProjectionAngularTolerance(PxReal tolerance)                         = 0;
00483
00492     virtual PxReal              getProjectionAngularTolerance()         const                   = 0;
00493
00497     virtual const char*         getConcreteTypeName() const { return "PxD6Joint"; }
00498
00499
00500 protected:
00501
00502     //serialization
00503
00507     PX_INLINE                   PxD6Joint(PxType concreteType, PxBaseFlags baseFlags) : PxJoint(concreteType, baseFlags) {}
00508
00512     PX_INLINE                   PxD6Joint(PxBaseFlags baseFlags) : PxJoint(baseFlags) {}
00513
00517     virtual bool                isKindOf(const char* name) const { return !::strcmp("PxD6Joint", name) || PxJoint::isKindOf(name); }
00518
00519     //~serialization
00520 };
00521
00522 #if !PX_DOXYGEN
00523 } // namespace physx
00524 #endif
00525
00527 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDefaultAllocator.h Source File

PxDefaultAllocator.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_DEFAULT_ALLOCATOR_H
00032 #define PX_DEFAULT_ALLOCATOR_H
00033
00037 #include "foundation/PxAllocatorCallback.h"
00038 #include "foundation/PxAssert.h"
00039 #include "common/PxPhysXCommonConfig.h"
00040
00041 #include <stdlib.h>
00042
00043 #if PX_WINDOWS || PX_LINUX_FAMILY || PX_SWITCH
00044 #include <malloc.h>
00045 #endif
00046
00047 #if !PX_DOXYGEN
00048 namespace physx
00049 {
00050 #endif
00051
00052 #if PX_WINDOWS
00053 // on win32 we only have 8-byte alignment guaranteed, but the CRT provides special aligned allocation fns
00054 PX_FORCE_INLINE void* platformAlignedAlloc(size_t size)
00055 {
00056     return _aligned_malloc(size, 16);
00057 }
00058
00059 PX_FORCE_INLINE void platformAlignedFree(void* ptr)
00060 {
00061     _aligned_free(ptr);
00062 }
00063 #elif PX_LINUX_FAMILY || PX_SWITCH
00064 PX_FORCE_INLINE void* platformAlignedAlloc(size_t size)
00065 {
00066     return ::memalign(16, size);
00067 }
00068
00069 PX_FORCE_INLINE void platformAlignedFree(void* ptr)
00070 {
00071     ::free(ptr);
00072 }
00073 #else
00074 // on all other platforms we get 16-byte alignment by default
00075 PX_FORCE_INLINE void* platformAlignedAlloc(size_t size)
00076 {
00077     return ::malloc(size);
00078 }
00079
00080 PX_FORCE_INLINE void platformAlignedFree(void* ptr)
00081 {
00082     ::free(ptr);
00083 }
00084 #endif
00085
00089 class PxDefaultAllocator : public PxAllocatorCallback
00090 {
00091 public:
00092     void* allocate(size_t size, const char*, const char*, int)
00093     {
00094         void* ptr = platformAlignedAlloc(size);
00095         PX_ASSERT((reinterpret_cast<size_t>(ptr) & 15)==0);
00096         return ptr;
00097     }
00098
00099     void deallocate(void* ptr)
00100     {
00101         platformAlignedFree(ptr);
00102     }
00103 };
00104
00105 #if !PX_DOXYGEN
00106 } // namespace physx
00107 #endif
00108
00110 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDefaultCpuDispatcher.h Source File

PxDefaultCpuDispatcher.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_EXTENSIONS_DEFAULT_CPU_DISPATCHER_H
00032 #define PX_PHYSICS_EXTENSIONS_DEFAULT_CPU_DISPATCHER_H
00033
00037 #include "common/PxPhysXCommonConfig.h"
00038 #include "task/PxCpuDispatcher.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00050 class PxDefaultCpuDispatcher: public PxCpuDispatcher
00051 {
00052 public:
00060     virtual void release() = 0;
00061
00069     virtual void setRunProfiled(bool runProfiled) = 0;
00070
00076     virtual bool getRunProfiled() const = 0;
00077 };
00078
00079
00091 PxDefaultCpuDispatcher* PxDefaultCpuDispatcherCreate(PxU32 numThreads, PxU32* affinityMasks = NULL);
00092
00093 #if !PX_DOXYGEN
00094 } // namespace physx
00095 #endif
00096
00098 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDefaultErrorCallback.h Source File

PxDefaultErrorCallback.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PX_PHYSICS_EXTENSIONS_DEFAULT_ERROR_CALLBACK_H
00031 #define PX_PHYSICS_EXTENSIONS_DEFAULT_ERROR_CALLBACK_H
00032
00033 #include "foundation/PxErrorCallback.h"
00034 #include "PxPhysXConfig.h"
00035
00036 #if !PX_DOXYGEN
00037 namespace physx
00038 {
00039 #endif
00040
00049     class PxDefaultErrorCallback : public PxErrorCallback
00050     {
00051     public:
00052         PxDefaultErrorCallback();
00053         ~PxDefaultErrorCallback();
00054
00055         virtual void reportError(PxErrorCode::Enum code, const char* message, const char* file, int line);
00056     };
00057
00058 #if !PX_DOXYGEN
00059 } // namespace physx
00060 #endif
00061
00062 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDefaultSimulationFilterShader.h Source File

PxDefaultSimulationFilterShader.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_EXTENSIONS_DEFAULTSIMULATIONFILTERSHADER_H
00032 #define PX_PHYSICS_EXTENSIONS_DEFAULTSIMULATIONFILTERSHADER_H
00033
00037 #include "PxPhysXConfig.h"
00038
00039 #include "PxFiltering.h"
00040
00041 #if !PX_DOXYGEN
00042 namespace physx
00043 {
00044 #endif
00045
00046 class PxActor;
00047
00070 class PxGroupsMask
00071 {
00072 public:
00073     PX_INLINE   PxGroupsMask():bits0(0),bits1(0),bits2(0),bits3(0) {}
00074     PX_INLINE   ~PxGroupsMask() {}
00075
00076     PxU16       bits0, bits1, bits2, bits3;
00077 };
00078
00084 struct PxFilterOp
00085 {
00086     enum Enum
00087     {
00088         PX_FILTEROP_AND,
00089         PX_FILTEROP_OR,
00090         PX_FILTEROP_XOR,
00091         PX_FILTEROP_NAND,
00092         PX_FILTEROP_NOR,
00093         PX_FILTEROP_NXOR,
00094         PX_FILTEROP_SWAP_AND
00095     };
00096 };
00097
00116 PxFilterFlags PxDefaultSimulationFilterShader(
00117     PxFilterObjectAttributes attributes0,
00118     PxFilterData filterData0,
00119     PxFilterObjectAttributes attributes1,
00120     PxFilterData filterData1,
00121     PxPairFlags& pairFlags,
00122     const void* constantBlock,
00123     PxU32 constantBlockSize);
00124
00137 bool PxGetGroupCollisionFlag(const PxU16 group1, const PxU16 group2);
00138
00150 void PxSetGroupCollisionFlag(const PxU16 group1, const PxU16 group2, const bool enable);
00151
00163 PxU16 PxGetGroup(const PxActor& actor);
00164
00175 void PxSetGroup(PxActor& actor, const PxU16 collisionGroup);
00176
00186 void PxGetFilterOps(PxFilterOp::Enum& op0, PxFilterOp::Enum& op1, PxFilterOp::Enum& op2);
00187
00197 void PxSetFilterOps(const PxFilterOp::Enum& op0, const PxFilterOp::Enum& op1, const PxFilterOp::Enum& op2);
00198
00206 bool PxGetFilterBool();
00207
00215 void PxSetFilterBool(const bool enable);
00216
00225 void PxGetFilterConstants(PxGroupsMask& c0, PxGroupsMask& c1);
00226
00235 void PxSetFilterConstants(const PxGroupsMask& c0, const PxGroupsMask& c1);
00236
00246 PxGroupsMask PxGetGroupsMask(const PxActor& actor);
00247
00256 void PxSetGroupsMask(PxActor& actor, const PxGroupsMask& mask);
00257
00258 #if !PX_DOXYGEN
00259 } // namespace physx
00260 #endif
00261
00263 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDefaultStreams.h Source File

PxDefaultStreams.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_EXTENSIONS_DEFAULT_STREAMS_H
00032 #define PX_PHYSICS_EXTENSIONS_DEFAULT_STREAMS_H
00033
00037 #include <stdio.h>
00038 #include "common/PxPhysXCommonConfig.h"
00039 #include "foundation/PxIO.h"
00040 #include "foundation/PxFoundation.h"
00041
00042 typedef FILE* PxFileHandle;
00043
00044 #if !PX_DOXYGEN
00045 namespace physx
00046 {
00047 #endif
00048
00055 class PxDefaultMemoryOutputStream: public PxOutputStream
00056 {
00057 public:
00058                         PxDefaultMemoryOutputStream(PxAllocatorCallback &allocator = PxGetFoundation().getAllocatorCallback());
00059     virtual             ~PxDefaultMemoryOutputStream();
00060
00061     virtual PxU32       write(const void* src, PxU32 count);
00062
00063     virtual PxU32       getSize()   const   {   return mSize; }
00064     virtual PxU8*       getData()   const   {   return mData; }
00065
00066 private:
00067         PxDefaultMemoryOutputStream(const PxDefaultMemoryOutputStream&);
00068         PxDefaultMemoryOutputStream& operator=(const PxDefaultMemoryOutputStream&);
00069
00070         PxAllocatorCallback&    mAllocator;
00071         PxU8*                   mData;
00072         PxU32                   mSize;
00073         PxU32                   mCapacity;
00074 };
00075
00082 class PxDefaultMemoryInputData: public PxInputData
00083 {
00084 public:
00085                         PxDefaultMemoryInputData(PxU8* data, PxU32 length);
00086
00087     virtual     PxU32   read(void* dest, PxU32 count);
00088     virtual     PxU32   getLength() const;
00089     virtual     void    seek(PxU32 pos);
00090     virtual     PxU32   tell() const;
00091
00092 private:
00093         PxU32       mSize;
00094         const PxU8* mData;
00095         PxU32       mPos;
00096 };
00097
00098
00099
00106 class PxDefaultFileOutputStream: public PxOutputStream
00107 {
00108 public:
00109                         PxDefaultFileOutputStream(const char* name);
00110     virtual             ~PxDefaultFileOutputStream();
00111
00112     virtual     PxU32   write(const void* src, PxU32 count);
00113     virtual     bool    isValid();
00114 private:
00115         PxFileHandle    mFile;
00116 };
00117
00118
00125 class PxDefaultFileInputData: public PxInputData
00126 {
00127 public:
00128                         PxDefaultFileInputData(const char* name);
00129     virtual             ~PxDefaultFileInputData();
00130
00131     virtual     PxU32   read(void* dest, PxU32 count);
00132     virtual     void    seek(PxU32 pos);
00133     virtual     PxU32   tell() const;
00134     virtual     PxU32   getLength() const;
00135
00136                 bool    isValid() const;
00137 private:
00138         PxFileHandle    mFile;
00139         PxU32           mLength;
00140 };
00141
00142 #if !PX_DOXYGEN
00143 }
00144 #endif
00145
00148 #endif
00149


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDeletionListener.h Source File

PxDeletionListener.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_DELETIONLISTENER
00032 #define PX_PHYSICS_NX_DELETIONLISTENER
00033
00037 #include "PxPhysXConfig.h"
00038 #include "common/PxBase.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00045
00051 struct PxDeletionEventFlag
00052 {
00053     enum Enum
00054     {
00055         eUSER_RELEASE                   = (1<<0),
00056         eMEMORY_RELEASE                 = (1<<1)
00057     };
00058 };
00059
00065 typedef PxFlags<PxDeletionEventFlag::Enum,PxU8> PxDeletionEventFlags;
00066 PX_FLAGS_OPERATORS(PxDeletionEventFlag::Enum,PxU8)
00067
00068
00069
00073 class PxDeletionListener
00074 {
00075 public:
00093     virtual void onRelease(const PxBase* observed, void* userData, PxDeletionEventFlag::Enum deletionEvent) = 0;
00094
00095 protected:
00096     PxDeletionListener() {}
00097     virtual ~PxDeletionListener() {}
00098 };
00099
00100
00101 #if !PX_DOXYGEN
00102 } // namespace physx
00103 #endif
00104
00106 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDistanceJoint.h Source File

PxDistanceJoint.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_DISTANCEJOINT_H
00032 #define PX_DISTANCEJOINT_H
00033
00037 #include "extensions/PxJoint.h"
00038
00039 #if !PX_DOXYGEN
00040 namespace physx
00041 {
00042 #endif
00043
00044 class PxDistanceJoint;
00045
00058 PxDistanceJoint*    PxDistanceJointCreate(PxPhysics& physics,
00059                                           PxRigidActor* actor0, const PxTransform& localFrame0,
00060                                           PxRigidActor* actor1, const PxTransform& localFrame1);
00061
00062
00069 struct PxDistanceJointFlag
00070 {
00071     enum Enum
00072     {
00073         eMAX_DISTANCE_ENABLED   = 1<<1,
00074         eMIN_DISTANCE_ENABLED   = 1<<2,
00075         eSPRING_ENABLED         = 1<<3
00076     };
00077 };
00078
00079 typedef PxFlags<PxDistanceJointFlag::Enum, PxU16> PxDistanceJointFlags;
00080 PX_FLAGS_OPERATORS(PxDistanceJointFlag::Enum, PxU16)
00081
00082
00087 class PxDistanceJoint : public PxJoint
00088 {
00089 public:
00090
00091
00096     virtual PxReal                  getDistance() const                                 = 0;
00097
00111     virtual void                    setMinDistance(PxReal distance)                     = 0;
00112
00121     virtual PxReal                  getMinDistance()                            const   = 0;
00122
00123
00137     virtual void                    setMaxDistance(PxReal distance)                     = 0;
00138
00147     virtual PxReal                  getMaxDistance()                            const   = 0;
00148
00149
00158     virtual void                    setTolerance(PxReal tolerance)                      = 0;
00159
00160
00174     virtual PxReal                  getTolerance()                              const   = 0;
00175
00189     virtual void                    setStiffness(PxReal stiffness)                  = 0;
00190
00199     virtual PxReal                  getStiffness()                                  const   = 0;
00200
00201
00215     virtual void                    setDamping(PxReal damping)                          = 0;
00216
00217
00226     virtual PxReal                  getDamping()                                    const   = 0;
00227
00238     virtual void                    setDistanceJointFlags(PxDistanceJointFlags flags) = 0;
00239
00240
00250     virtual void                    setDistanceJointFlag(PxDistanceJointFlag::Enum flag, bool value) = 0;
00251
00260     virtual PxDistanceJointFlags    getDistanceJointFlags(void)                 const   = 0;
00261
00265     virtual const char*             getConcreteTypeName() const { return "PxDistanceJoint"; }
00266
00267 protected:
00268
00269     //serialization
00270
00274     PX_INLINE                       PxDistanceJoint(PxType concreteType, PxBaseFlags baseFlags) : PxJoint(concreteType, baseFlags) {}
00275
00279     PX_INLINE                       PxDistanceJoint(PxBaseFlags baseFlags)  : PxJoint(baseFlags) {}
00280
00284     virtual bool                    isKindOf(const char* name)  const { return !::strcmp("PxDistanceJoint", name) || PxJoint::isKindOf(name);   }
00285
00286     //~serialization
00287 };
00288
00289 #if !PX_DOXYGEN
00290 } // namespace physx
00291 #endif
00292
00294 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxErrorCallback.h Source File

PxErrorCallback.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PXFOUNDATION_PXERRORCALLBACK_H
00031 #define PXFOUNDATION_PXERRORCALLBACK_H
00032
00037 #include "foundation/PxErrors.h"
00038 #if !PX_DOXYGEN
00039 namespace physx
00040 {
00041 #endif
00042
00051 class PxErrorCallback
00052 {
00053   public:
00054     virtual ~PxErrorCallback()
00055     {
00056     }
00057
00065     virtual void reportError(PxErrorCode::Enum code, const char* message, const char* file, int line) = 0;
00066 };
00067
00068 #if !PX_DOXYGEN
00069 } // namespace physx
00070 #endif
00071
00073 #endif // #ifndef PXFOUNDATION_PXERRORCALLBACK_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxErrors.h Source File

PxErrors.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PXFOUNDATION_PXERRORS_H
00031 #define PXFOUNDATION_PXERRORS_H
00032
00036 #include "foundation/Px.h"
00037
00038 #if !PX_DOXYGEN
00039 namespace physx
00040 {
00041 #endif
00042
00051 struct PxErrorCode
00052 {
00053     enum Enum
00054     {
00055         eNO_ERROR          = 0,
00056
00058         eDEBUG_INFO        = 1,
00059
00061         eDEBUG_WARNING     = 2,
00062
00064         eINVALID_PARAMETER = 4,
00065
00067         eINVALID_OPERATION = 8,
00068
00070         eOUT_OF_MEMORY     = 16,
00071
00075         eINTERNAL_ERROR    = 32,
00076
00078         eABORT             = 64,
00079
00081         ePERF_WARNING      = 128,
00082
00084         eMASK_ALL          = -1
00085     };
00086 };
00087
00088 #if !PX_DOXYGEN
00089 } // namespace physx
00090 #endif
00091
00093 #endif // #ifndef PXFOUNDATION_PXERRORS_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxExtended.h Source File

PxExtended.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_CCT_EXTENDED
00032 #define PX_PHYSICS_CCT_EXTENDED
00033
00037 // This needs to be included in Foundation just for the debug renderer
00038
00039 #include "PxPhysXConfig.h"
00040 #include "foundation/PxTransform.h"
00041 #include "foundation/PxAssert.h"
00042
00043 #if !PX_DOXYGEN
00044 namespace physx
00045 {
00046 #endif
00047
00048 // This has to be done here since it also changes the top-level "Px" and "Np" APIs
00049 #define PX_BIG_WORLDS
00050
00051 #ifdef PX_BIG_WORLDS
00052 typedef double  PxExtended;
00053 #define PX_MAX_EXTENDED PX_MAX_F64
00054 #define PxExtendedAbs(x)    fabs(x)
00055
00056 struct PxExtendedVec3
00057 {
00058     PX_INLINE   PxExtendedVec3()                                                                    {}
00059     PX_INLINE   PxExtendedVec3(PxExtended _x, PxExtended _y, PxExtended _z) : x(_x), y(_y), z(_z)   {}
00060
00061     PX_INLINE   bool isZero()   const
00062     {
00063         if(x!=0.0 || y!=0.0 || z!=0.0)  return false;
00064         return true;
00065     }
00066
00067     PX_INLINE PxExtended    dot(const PxVec3& v) const
00068     {
00069         return x * PxExtended(v.x) + y * PxExtended(v.y) + z * PxExtended(v.z);
00070     }
00071
00072     PX_INLINE   PxExtended distanceSquared(const PxExtendedVec3& v) const
00073     {
00074         PxExtended dx = x - v.x;
00075         PxExtended dy = y - v.y;
00076         PxExtended dz = z - v.z;
00077         return dx * dx + dy * dy + dz * dz;
00078     }
00079
00080     PX_INLINE PxExtended magnitudeSquared() const
00081     {
00082         return x * x + y * y + z * z;
00083     }
00084
00085     PX_INLINE PxExtended magnitude() const
00086     {
00087         return PxSqrt(x * x + y * y + z * z);
00088     }
00089
00090     PX_INLINE   PxExtended  normalize()
00091     {
00092         PxExtended m = magnitude();
00093         if (m != 0.0)
00094         {
00095             const PxExtended il =  PxExtended(1.0) / m;
00096             x *= il;
00097             y *= il;
00098             z *= il;
00099         }
00100         return m;
00101     }
00102
00103     PX_INLINE   bool isFinite() const
00104     {
00105         return PxIsFinite(x) && PxIsFinite(y) && PxIsFinite(z);
00106     }
00107
00108     PX_INLINE   void maximum(const PxExtendedVec3& v)
00109     {
00110         if (x < v.x) x = v.x;
00111         if (y < v.y) y = v.y;
00112         if (z < v.z) z = v.z;
00113     }
00114
00115
00116     PX_INLINE   void minimum(const PxExtendedVec3& v)
00117     {
00118         if (x > v.x) x = v.x;
00119         if (y > v.y) y = v.y;
00120         if (z > v.z) z = v.z;
00121     }
00122
00123     PX_INLINE   void    set(PxExtended x_, PxExtended y_, PxExtended z_)
00124     {
00125         this->x = x_;
00126         this->y = y_;
00127         this->z = z_;
00128     }
00129
00130     PX_INLINE void  setPlusInfinity()
00131     {
00132         x = y = z = PX_MAX_EXTENDED;
00133     }
00134
00135     PX_INLINE void  setMinusInfinity()
00136     {
00137         x = y = z = -PX_MAX_EXTENDED;
00138     }
00139
00140     PX_INLINE void  cross(const PxExtendedVec3& left, const PxVec3& right)
00141     {
00142         // temps needed in case left or right is this.
00143         PxExtended a = (left.y * PxExtended(right.z)) - (left.z * PxExtended(right.y));
00144         PxExtended b = (left.z * PxExtended(right.x)) - (left.x * PxExtended(right.z));
00145         PxExtended c = (left.x * PxExtended(right.y)) - (left.y * PxExtended(right.x));
00146
00147         x = a;
00148         y = b;
00149         z = c;
00150     }
00151
00152     PX_INLINE void  cross(const PxExtendedVec3& left, const PxExtendedVec3& right)
00153     {
00154         // temps needed in case left or right is this.
00155         PxExtended a = (left.y * right.z) - (left.z * right.y);
00156         PxExtended b = (left.z * right.x) - (left.x * right.z);
00157         PxExtended c = (left.x * right.y) - (left.y * right.x);
00158
00159         x = a;
00160         y = b;
00161         z = c;
00162     }
00163
00164     PX_INLINE PxExtendedVec3 cross(const PxExtendedVec3& v) const
00165     {
00166         PxExtendedVec3 temp;
00167         temp.cross(*this,v);
00168         return temp;
00169     }
00170
00171     PX_INLINE void  cross(const PxVec3& left, const PxExtendedVec3& right)
00172     {
00173         // temps needed in case left or right is this.
00174         PxExtended a = (PxExtended(left.y) * right.z) - (PxExtended(left.z) * right.y);
00175         PxExtended b = (PxExtended(left.z) * right.x) - (PxExtended(left.x) * right.z);
00176         PxExtended c = (PxExtended(left.x) * right.y) - (PxExtended(left.y) * right.x);
00177
00178         x = a;
00179         y = b;
00180         z = c;
00181     }
00182
00183     PX_INLINE   PxExtendedVec3      operator-()     const
00184     {
00185         return PxExtendedVec3(-x, -y, -z);
00186     }
00187
00188     PX_INLINE   PxExtendedVec3&     operator+=(const PxExtendedVec3& v)
00189     {
00190         x += v.x;
00191         y += v.y;
00192         z += v.z;
00193         return *this;
00194     }
00195
00196     PX_INLINE   PxExtendedVec3&     operator-=(const PxExtendedVec3& v)
00197     {
00198         x -= v.x;
00199         y -= v.y;
00200         z -= v.z;
00201         return *this;
00202     }
00203
00204     PX_INLINE   PxExtendedVec3&     operator+=(const PxVec3& v)
00205     {
00206         x += PxExtended(v.x);
00207         y += PxExtended(v.y);
00208         z += PxExtended(v.z);
00209         return *this;
00210     }
00211
00212     PX_INLINE   PxExtendedVec3&     operator-=(const PxVec3& v)
00213     {
00214         x -= PxExtended(v.x);
00215         y -= PxExtended(v.y);
00216         z -= PxExtended(v.z);
00217         return *this;
00218     }
00219
00220     PX_INLINE   PxExtendedVec3&     operator*=(const PxReal& s)
00221     {
00222         x *= PxExtended(s);
00223         y *= PxExtended(s);
00224         z *= PxExtended(s);
00225         return *this;
00226     }
00227
00228     PX_INLINE   PxExtendedVec3      operator+(const PxExtendedVec3& v)  const
00229     {
00230         return PxExtendedVec3(x + v.x, y + v.y, z + v.z);
00231     }
00232
00233     PX_INLINE   PxVec3          operator-(const PxExtendedVec3& v)  const
00234     {
00235         return PxVec3(PxReal(x - v.x), PxReal(y - v.y), PxReal(z - v.z));
00236     }
00237
00238     PX_INLINE   PxExtended&         operator[](int index)
00239     {
00240         PX_ASSERT(index>=0 && index<=2);
00241
00242         return reinterpret_cast<PxExtended*>(this)[index];
00243     }
00244
00245
00246     PX_INLINE   PxExtended          operator[](int index) const
00247     {
00248         PX_ASSERT(index>=0 && index<=2);
00249
00250         return reinterpret_cast<const PxExtended*>(this)[index];
00251     }
00252
00253     PxExtended x,y,z;
00254 };
00255
00256     PX_FORCE_INLINE PxVec3 toVec3(const PxExtendedVec3& v)
00257     {
00258         return PxVec3(float(v.x), float(v.y), float(v.z));
00259     }
00260
00261 #else
00262 // Big worlds not defined
00263
00264 typedef PxVec3      PxExtendedVec3;
00265 typedef PxReal      PxExtended;
00266 #define PX_MAX_EXTENDED PX_MAX_F32
00267 #define PxExtendedAbs(x)    fabsf(x)
00268 #endif
00269
00270 #if !PX_DOXYGEN
00271 } // namespace physx
00272 #endif
00273
00275 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxExtensionsAPI.h Source File

PxExtensionsAPI.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_EXTENSIONS_API_H
00032 #define PX_EXTENSIONS_API_H
00033
00037 #include "foundation/PxErrorCallback.h"
00038 #include "extensions/PxDefaultAllocator.h"
00039 #include "extensions/PxConstraintExt.h"
00040 #include "extensions/PxDistanceJoint.h"
00041 #include "extensions/PxFixedJoint.h"
00042 #include "extensions/PxPrismaticJoint.h"
00043 #include "extensions/PxRevoluteJoint.h"
00044 #include "extensions/PxSphericalJoint.h"
00045 #include "extensions/PxD6Joint.h"
00046 #include "extensions/PxDefaultSimulationFilterShader.h"
00047 #include "extensions/PxDefaultErrorCallback.h"
00048 #include "extensions/PxDefaultStreams.h"
00049 #include "extensions/PxRigidActorExt.h"
00050 #include "extensions/PxRigidBodyExt.h"
00051 #include "extensions/PxShapeExt.h"
00052 #include "extensions/PxParticleExt.h"
00053 #include "extensions/PxTriangleMeshExt.h"
00054 #include "extensions/PxSerialization.h"
00055 #include "extensions/PxDefaultCpuDispatcher.h"
00056 #include "extensions/PxSmoothNormals.h"
00057 #include "extensions/PxSimpleFactory.h"
00058 #include "extensions/PxStringTableExt.h"
00059 #include "extensions/PxClothFabricCooker.h"
00060 #include "extensions/PxBroadPhaseExt.h"
00061 #include "extensions/PxClothMeshQuadifier.h"
00062 #include "extensions/PxMassProperties.h"
00063 #include "extensions/PxSceneQueryExt.h"
00064
00076 PX_C_EXPORT bool PX_CALL_CONV PxInitExtensions(physx::PxPhysics& physics, physx::PxPvd* pvd);
00077
00087 PX_C_EXPORT void PX_CALL_CONV PxCloseExtensions();
00088
00090 #endif // PX_EXTENSIONS_API_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxFileBuf.h Source File

PxFileBuf.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PSFILEBUFFER_PXFILEBUF_H
00032 #define PSFILEBUFFER_PXFILEBUF_H
00033
00038 #if !PX_DOXYGEN
00039 namespace physx
00040 {
00041
00042 namespace general_PxIOStream2
00043 {
00044 #endif
00045
00046 PX_PUSH_PACK_DEFAULT
00047
00058 class PxFileBuf
00059 {
00060 public:
00061
00062     enum EndianMode
00063     {
00064         ENDIAN_NONE     = 0, // do no conversion for endian mode
00065         ENDIAN_BIG      = 1, // always read/write data as natively big endian (Power PC, etc.)
00066         ENDIAN_LITTLE   = 2 // always read/write data as natively little endian (Intel, etc.) Default Behavior!
00067     };
00068
00069     PxFileBuf(EndianMode mode=ENDIAN_LITTLE)
00070     {
00071         setEndianMode(mode);
00072     }
00073
00074     virtual ~PxFileBuf(void)
00075     {
00076
00077     }
00078
00084     static const uint32_t STREAM_SEEK_END=0xFFFFFFFF;
00085
00086     enum OpenMode
00087     {
00088         OPEN_FILE_NOT_FOUND,
00089         OPEN_READ_ONLY,                 // open file buffer stream for read only access
00090         OPEN_WRITE_ONLY,                // open file buffer stream for write only access
00091         OPEN_READ_WRITE_NEW,            // open a new file for both read/write access
00092         OPEN_READ_WRITE_EXISTING        // open an existing file for both read/write access
00093     };
00094
00095     virtual OpenMode    getOpenMode(void) const  = 0;
00096
00097     bool isOpen(void) const
00098     {
00099         return getOpenMode()!=OPEN_FILE_NOT_FOUND;
00100     }
00101
00102     enum SeekType
00103     {
00104         SEEKABLE_NO         = 0,
00105         SEEKABLE_READ       = 0x1,
00106         SEEKABLE_WRITE      = 0x2,
00107         SEEKABLE_READWRITE  = 0x3
00108     };
00109
00110     virtual SeekType isSeekable(void) const = 0;
00111
00112     void    setEndianMode(EndianMode e)
00113     {
00114         mEndianMode = e;
00115         if ( (e==ENDIAN_BIG && !isBigEndian() ) ||
00116              (e==ENDIAN_LITTLE && isBigEndian() ) )
00117         {
00118             mEndianSwap = true;
00119         }
00120         else
00121         {
00122             mEndianSwap = false;
00123         }
00124     }
00125
00126     EndianMode  getEndianMode(void) const
00127     {
00128         return mEndianMode;
00129     }
00130
00131     virtual uint32_t getFileLength(void) const = 0;
00132
00139     virtual uint32_t    seekRead(uint32_t loc) = 0;
00140
00147     virtual uint32_t    seekWrite(uint32_t loc) = 0;
00148
00157     virtual uint32_t    read(void *mem,uint32_t len) = 0;
00158
00159
00168     virtual uint32_t    peek(void *mem,uint32_t len) = 0;
00169
00178     virtual uint32_t    write(const void *mem,uint32_t len) = 0;
00179
00185     virtual uint32_t    tellRead(void) const = 0;
00186
00192     virtual uint32_t    tellWrite(void) const = 0;
00193
00197     virtual void    flush(void) = 0;
00198
00202     virtual void close(void) {}
00203
00204     void release(void)
00205     {
00206         delete this;
00207     }
00208
00209     static PX_INLINE bool isBigEndian()
00210      {
00211        int32_t i = 1;
00212         return *(reinterpret_cast<char*>(&i))==0;
00213     }
00214
00215     PX_INLINE void swap2Bytes(void* _data) const
00216     {
00217         char *data = static_cast<char *>(_data);
00218         char one_byte;
00219         one_byte = data[0]; data[0] = data[1]; data[1] = one_byte;
00220     }
00221
00222     PX_INLINE void swap4Bytes(void* _data) const
00223     {
00224         char *data = static_cast<char *>(_data);
00225         char one_byte;
00226         one_byte = data[0]; data[0] = data[3]; data[3] = one_byte;
00227         one_byte = data[1]; data[1] = data[2]; data[2] = one_byte;
00228     }
00229
00230     PX_INLINE void swap8Bytes(void *_data) const
00231     {
00232         char *data = static_cast<char *>(_data);
00233         char one_byte;
00234         one_byte = data[0]; data[0] = data[7]; data[7] = one_byte;
00235         one_byte = data[1]; data[1] = data[6]; data[6] = one_byte;
00236         one_byte = data[2]; data[2] = data[5]; data[5] = one_byte;
00237         one_byte = data[3]; data[3] = data[4]; data[4] = one_byte;
00238     }
00239
00240
00241     PX_INLINE void storeDword(uint32_t v)
00242     {
00243         if ( mEndianSwap )
00244             swap4Bytes(&v);
00245
00246         write(&v,sizeof(v));
00247     }
00248
00249     PX_INLINE void storeFloat(float v)
00250     {
00251         if ( mEndianSwap )
00252             swap4Bytes(&v);
00253         write(&v,sizeof(v));
00254     }
00255
00256     PX_INLINE void storeDouble(double v)
00257     {
00258         if ( mEndianSwap )
00259             swap8Bytes(&v);
00260         write(&v,sizeof(v));
00261     }
00262
00263     PX_INLINE  void storeByte(uint8_t b)
00264     {
00265         write(&b,sizeof(b));
00266     }
00267
00268     PX_INLINE void storeWord(uint16_t w)
00269     {
00270         if ( mEndianSwap )
00271             swap2Bytes(&w);
00272         write(&w,sizeof(w));
00273     }
00274
00275     uint8_t readByte(void)
00276     {
00277         uint8_t v=0;
00278         read(&v,sizeof(v));
00279         return v;
00280     }
00281
00282     uint16_t readWord(void)
00283     {
00284         uint16_t v=0;
00285         read(&v,sizeof(v));
00286         if ( mEndianSwap )
00287             swap2Bytes(&v);
00288         return v;
00289     }
00290
00291     uint32_t readDword(void)
00292     {
00293         uint32_t v=0;
00294         read(&v,sizeof(v));
00295         if ( mEndianSwap )
00296             swap4Bytes(&v);
00297         return v;
00298     }
00299
00300     float readFloat(void)
00301     {
00302         float v=0;
00303         read(&v,sizeof(v));
00304         if ( mEndianSwap )
00305             swap4Bytes(&v);
00306         return v;
00307     }
00308
00309     double readDouble(void)
00310     {
00311         double v=0;
00312         read(&v,sizeof(v));
00313         if ( mEndianSwap )
00314             swap8Bytes(&v);
00315         return v;
00316     }
00317
00318 private:
00319     bool        mEndianSwap;    // whether or not the endian should be swapped on the current platform
00320     EndianMode  mEndianMode;    // the current endian mode behavior for the stream
00321 };
00322
00323 PX_POP_PACK
00324
00325 #if !PX_DOXYGEN
00326 } // end of namespace
00327
00328 using namespace general_PxIOStream2;
00329
00330 namespace general_PxIOStream = general_PxIOStream2;
00331
00332 } // end of namespace
00333 #endif
00334
00337 #endif // PSFILEBUFFER_PXFILEBUF_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxFiltering.h Source File

PxFiltering.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_FILTERING
00032 #define PX_PHYSICS_NX_FILTERING
00033
00037 #include "PxPhysXConfig.h"
00038 #include "foundation/PxFlags.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00045 class PxActor;
00046 class PxShape;
00047
00048 static const PxU32 INVALID_FILTER_PAIR_INDEX = 0xffffffff;
00049
00055 struct PxPairFlag
00056 {
00057     enum Enum
00058     {
00064         eSOLVE_CONTACT                      = (1<<0),
00065
00073         eMODIFY_CONTACTS                    = (1<<1),
00074
00089         eNOTIFY_TOUCH_FOUND                 = (1<<2),
00090
00109         eNOTIFY_TOUCH_PERSISTS              = (1<<3),
00110
00127         eNOTIFY_TOUCH_LOST                  = (1<<4),
00128
00147         eNOTIFY_TOUCH_CCD                   = (1<<5),
00148
00158         eNOTIFY_THRESHOLD_FORCE_FOUND       = (1<<6),
00159
00172         eNOTIFY_THRESHOLD_FORCE_PERSISTS    = (1<<7),
00173
00186         eNOTIFY_THRESHOLD_FORCE_LOST        = (1<<8),
00187
00197         eNOTIFY_CONTACT_POINTS              = (1<<9),
00198
00204         eDETECT_DISCRETE_CONTACT            = (1<<10),
00205
00218         eDETECT_CCD_CONTACT                 = (1<<11),
00219
00232         ePRE_SOLVER_VELOCITY                = (1<<12),
00233
00242         ePOST_SOLVER_VELOCITY               = (1<<13),
00243
00258         eCONTACT_EVENT_POSE                 = (1<<14),
00259
00260         eNEXT_FREE                          = (1<<15),
00261
00265         eCONTACT_DEFAULT                    = eSOLVE_CONTACT | eDETECT_DISCRETE_CONTACT,
00266
00270         eTRIGGER_DEFAULT                    = eNOTIFY_TOUCH_FOUND | eNOTIFY_TOUCH_LOST | eDETECT_DISCRETE_CONTACT
00271     };
00272 };
00273
00279 typedef PxFlags<PxPairFlag::Enum, PxU16> PxPairFlags;
00280 PX_FLAGS_OPERATORS(PxPairFlag::Enum, PxU16)
00281
00282
00283
00284
00289 struct PxFilterFlag
00290 {
00291     enum Enum
00292     {
00304         eKILL               = (1<<0),
00305
00319         eSUPPRESS           = (1<<1),
00320
00326         eCALLBACK           = (1<<2),
00327
00337         eNOTIFY             = (1<<3) | eCALLBACK,
00338
00350         eDEFAULT = 0
00351     };
00352 };
00353
00359 typedef PxFlags<PxFilterFlag::Enum, PxU16> PxFilterFlags;
00360 PX_FLAGS_OPERATORS(PxFilterFlag::Enum, PxU16)
00361
00362
00363
00368 struct PxFilterData
00369 {
00370 //= ATTENTION! =====================================================================================
00371 // Changing the data layout of this class breaks the binary serialization format.  See comments for
00372 // PX_BINARY_SERIAL_VERSION.  If a modification is required, please adjust the getBinaryMetaData
00373 // function.  If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION
00374 // accordingly.
00375 //==================================================================================================
00376
00377     PX_INLINE PxFilterData(const PxEMPTY)
00378     {
00379     }
00380
00384     PX_INLINE PxFilterData()
00385     {
00386         word0 = word1 = word2 = word3 = 0;
00387     }
00388
00392     PX_INLINE PxFilterData(const PxFilterData& fd) : word0(fd.word0), word1(fd.word1), word2(fd.word2), word3(fd.word3) {}
00393
00397     PX_INLINE PxFilterData(PxU32 w0, PxU32 w1, PxU32 w2, PxU32 w3) : word0(w0), word1(w1), word2(w2), word3(w3) {}
00398
00402     PX_INLINE void setToDefault()
00403     {
00404         *this = PxFilterData();
00405     }
00406
00410     PX_INLINE void operator = (const PxFilterData& fd)
00411     {
00412         word0 = fd.word0;
00413         word1 = fd.word1;
00414         word2 = fd.word2;
00415         word3 = fd.word3;
00416     }
00417
00421     PX_INLINE bool operator == (const PxFilterData& a) const
00422     {
00423         return a.word0 == word0 && a.word1 == word1 && a.word2 == word2 && a.word3 == word3;
00424     }
00425
00429     PX_INLINE bool operator != (const PxFilterData& a) const
00430     {
00431         return !(a == *this);
00432     }
00433
00434     PxU32 word0;
00435     PxU32 word1;
00436     PxU32 word2;
00437     PxU32 word3;
00438 };
00439
00440
00446 struct PxFilterObjectType
00447 {
00448     enum Enum
00449     {
00454         eRIGID_STATIC,
00455
00460         eRIGID_DYNAMIC,
00461
00467         ePARTICLE_SYSTEM PX_DEPRECATED,
00468
00474         ePARTICLE_FLUID PX_DEPRECATED,
00475
00480         eARTICULATION,
00481
00486         eCLOTH,
00487
00488         //brief internal use only!
00489         eMAX_TYPE_COUNT = 16,
00490
00491         //brief internal use only!
00492         eUNDEFINED = eMAX_TYPE_COUNT-1
00493     };
00494 };
00495
00496
00497 // For internal use only
00498 struct PxFilterObjectFlag
00499 {
00500     enum Enum
00501     {
00502         eKINEMATIC      = (1<<4),
00503         eTRIGGER        = (1<<5)
00504     };
00505 };
00506
00507
00513 typedef PxU32 PxFilterObjectAttributes;
00514
00515
00524 PX_INLINE PxFilterObjectType::Enum PxGetFilterObjectType(PxFilterObjectAttributes attr)
00525 {
00526     return static_cast<PxFilterObjectType::Enum>( (attr & (PxFilterObjectType::eMAX_TYPE_COUNT-1)) );
00527 }
00528
00529
00538 PX_INLINE bool PxFilterObjectIsKinematic(PxFilterObjectAttributes attr)
00539 {
00540     return ((attr & PxFilterObjectFlag::eKINEMATIC) != 0);
00541 }
00542
00543
00552 PX_INLINE bool PxFilterObjectIsTrigger(PxFilterObjectAttributes attr)
00553 {
00554     return ((attr & PxFilterObjectFlag::eTRIGGER) != 0);
00555 }
00556
00557
00612 typedef PxFilterFlags (*PxSimulationFilterShader)
00613     (PxFilterObjectAttributes attributes0, PxFilterData filterData0,
00614      PxFilterObjectAttributes attributes1, PxFilterData filterData1,
00615      PxPairFlags& pairFlags, const void* constantBlock, PxU32 constantBlockSize);
00616
00617
00618
00641 class PxSimulationFilterCallback
00642 {
00643 public:
00644
00668     virtual     PxFilterFlags   pairFound(  PxU32 pairID,
00669         PxFilterObjectAttributes attributes0, PxFilterData filterData0, const PxActor* a0, const PxShape* s0,
00670         PxFilterObjectAttributes attributes1, PxFilterData filterData1, const PxActor* a1, const PxShape* s1,
00671         PxPairFlags& pairFlags) = 0;
00672
00688     virtual     void            pairLost(   PxU32 pairID,
00689         PxFilterObjectAttributes attributes0,
00690         PxFilterData filterData0,
00691         PxFilterObjectAttributes attributes1,
00692         PxFilterData filterData1,
00693         bool objectRemoved) = 0;
00694
00717     virtual     bool            statusChange(PxU32& pairID, PxPairFlags& pairFlags, PxFilterFlags& filterFlags) = 0;
00718
00719 protected:
00720     virtual                     ~PxSimulationFilterCallback() {}
00721 };
00722
00723
00724 struct PxFilterInfo
00725 {
00726     PX_FORCE_INLINE PxFilterInfo()                              :   filterFlags(0), pairFlags(0), filterPairIndex(INVALID_FILTER_PAIR_INDEX)            {}
00727     PX_FORCE_INLINE PxFilterInfo(PxFilterFlags filterFlags_)    :   filterFlags(filterFlags_), pairFlags(0), filterPairIndex(INVALID_FILTER_PAIR_INDEX) {}
00728
00729     PxFilterFlags   filterFlags;
00730     PxPairFlags     pairFlags;
00731     PxU32           filterPairIndex;
00732 };
00733
00734 struct PxPairFilteringMode
00735 {
00736     enum Enum
00737     {
00742         eKEEP,
00743
00748         eSUPPRESS,
00749
00753         eKILL,
00754
00758         eDEFAULT
00759     };
00760 };
00761
00762 #if !PX_DOXYGEN
00763 } // namespace physx
00764 #endif
00765
00767 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxFixedJoint.h Source File

PxFixedJoint.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_FIXEDJOINT_H
00032 #define PX_FIXEDJOINT_H
00033
00037 #include "extensions/PxJoint.h"
00038
00039 #if !PX_DOXYGEN
00040 namespace physx
00041 {
00042 #endif
00043
00044 class PxFixedJoint;
00045
00058 PxFixedJoint*       PxFixedJointCreate(PxPhysics& physics,
00059                                        PxRigidActor* actor0, const PxTransform& localFrame0,
00060                                        PxRigidActor* actor1, const PxTransform& localFrame1);
00061
00062
00071 class PxFixedJoint : public PxJoint
00072 {
00073 public:
00074
00094     virtual void                setProjectionLinearTolerance(PxReal tolerance)                  = 0;
00095
00104     virtual PxReal              getProjectionLinearTolerance()          const                   = 0;
00105
00125     virtual void                setProjectionAngularTolerance(PxReal tolerance)                         = 0;
00126
00135     virtual PxReal              getProjectionAngularTolerance()         const                   = 0;
00136
00140     virtual const char*         getConcreteTypeName() const { return "PxFixedJoint"; }
00141
00142 protected:
00143
00144     //serialization
00145
00149     PX_INLINE                   PxFixedJoint(PxType concreteType, PxBaseFlags baseFlags) : PxJoint(concreteType, baseFlags) {}
00150
00154     PX_INLINE                   PxFixedJoint(PxBaseFlags baseFlags) : PxJoint(baseFlags)    {}
00155
00159     virtual bool                isKindOf(const char* name) const { return !::strcmp("PxFixedJoint", name) || PxJoint::isKindOf(name);   }
00160
00161     //~serialization
00162 };
00163
00164 #if !PX_DOXYGEN
00165 } // namespace physx
00166 #endif
00167
00169 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxFlags.h Source File

PxFlags.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PXFOUNDATION_PXFLAGS_H
00031 #define PXFOUNDATION_PXFLAGS_H
00032
00037 #include "foundation/Px.h"
00038
00039 #if !PX_DOXYGEN
00040 namespace physx
00041 {
00042 #endif
00043
00072 template <typename enumtype, typename storagetype = uint32_t>
00073 class PxFlags
00074 {
00075   public:
00076     typedef storagetype InternalType;
00077
00078     PX_CUDA_CALLABLE PX_INLINE explicit PxFlags(const PxEMPTY)
00079     {
00080     }
00081     PX_CUDA_CALLABLE PX_INLINE PxFlags(void);
00082     PX_CUDA_CALLABLE PX_INLINE PxFlags(enumtype e);
00083     PX_CUDA_CALLABLE PX_INLINE PxFlags(const PxFlags<enumtype, storagetype>& f);
00084     PX_CUDA_CALLABLE PX_INLINE explicit PxFlags(storagetype b);
00085
00086     PX_CUDA_CALLABLE PX_INLINE bool isSet(enumtype e) const;
00087     PX_CUDA_CALLABLE PX_INLINE PxFlags<enumtype, storagetype>& set(enumtype e);
00088     PX_CUDA_CALLABLE PX_INLINE bool operator==(enumtype e) const;
00089     PX_CUDA_CALLABLE PX_INLINE bool operator==(const PxFlags<enumtype, storagetype>& f) const;
00090     PX_CUDA_CALLABLE PX_INLINE bool operator==(bool b) const;
00091     PX_CUDA_CALLABLE PX_INLINE bool operator!=(enumtype e) const;
00092     PX_CUDA_CALLABLE PX_INLINE bool operator!=(const PxFlags<enumtype, storagetype>& f) const;
00093
00094     PX_CUDA_CALLABLE PX_INLINE PxFlags<enumtype, storagetype>& operator=(const PxFlags<enumtype, storagetype>& f);
00095     PX_CUDA_CALLABLE PX_INLINE PxFlags<enumtype, storagetype>& operator=(enumtype e);
00096
00097     PX_CUDA_CALLABLE PX_INLINE PxFlags<enumtype, storagetype>& operator|=(enumtype e);
00098     PX_CUDA_CALLABLE PX_INLINE PxFlags<enumtype, storagetype>& operator|=(const PxFlags<enumtype, storagetype>& f);
00099     PX_CUDA_CALLABLE PX_INLINE PxFlags<enumtype, storagetype> operator|(enumtype e) const;
00100     PX_CUDA_CALLABLE PX_INLINE PxFlags<enumtype, storagetype> operator|(const PxFlags<enumtype, storagetype>& f) const;
00101
00102     PX_CUDA_CALLABLE PX_INLINE PxFlags<enumtype, storagetype>& operator&=(enumtype e);
00103     PX_CUDA_CALLABLE PX_INLINE PxFlags<enumtype, storagetype>& operator&=(const PxFlags<enumtype, storagetype>& f);
00104     PX_CUDA_CALLABLE PX_INLINE PxFlags<enumtype, storagetype> operator&(enumtype e) const;
00105     PX_CUDA_CALLABLE PX_INLINE PxFlags<enumtype, storagetype> operator&(const PxFlags<enumtype, storagetype>& f) const;
00106
00107     PX_CUDA_CALLABLE PX_INLINE PxFlags<enumtype, storagetype>& operator^=(enumtype e);
00108     PX_CUDA_CALLABLE PX_INLINE PxFlags<enumtype, storagetype>& operator^=(const PxFlags<enumtype, storagetype>& f);
00109     PX_CUDA_CALLABLE PX_INLINE PxFlags<enumtype, storagetype> operator^(enumtype e) const;
00110     PX_CUDA_CALLABLE PX_INLINE PxFlags<enumtype, storagetype> operator^(const PxFlags<enumtype, storagetype>& f) const;
00111
00112     PX_CUDA_CALLABLE PX_INLINE PxFlags<enumtype, storagetype> operator~(void) const;
00113
00114     PX_CUDA_CALLABLE PX_INLINE operator bool(void) const;
00115     PX_CUDA_CALLABLE PX_INLINE operator uint8_t(void) const;
00116     PX_CUDA_CALLABLE PX_INLINE operator uint16_t(void) const;
00117     PX_CUDA_CALLABLE PX_INLINE operator uint32_t(void) const;
00118
00119     PX_CUDA_CALLABLE PX_INLINE void clear(enumtype e);
00120
00121   public:
00122     friend PX_INLINE PxFlags<enumtype, storagetype> operator&(enumtype a, PxFlags<enumtype, storagetype>& b)
00123     {
00124         PxFlags<enumtype, storagetype> out;
00125         out.mBits = a & b.mBits;
00126         return out;
00127     }
00128
00129   private:
00130     storagetype mBits;
00131 };
00132
00133 #define PX_FLAGS_OPERATORS(enumtype, storagetype)                                                                      \
00134     PX_INLINE PxFlags<enumtype, storagetype> operator|(enumtype a, enumtype b)                                         \
00135     {                                                                                                                  \
00136         PxFlags<enumtype, storagetype> r(a);                                                                           \
00137         r |= b;                                                                                                        \
00138         return r;                                                                                                      \
00139     }                                                                                                                  \
00140     PX_INLINE PxFlags<enumtype, storagetype> operator&(enumtype a, enumtype b)                                         \
00141     {                                                                                                                  \
00142         PxFlags<enumtype, storagetype> r(a);                                                                           \
00143         r &= b;                                                                                                        \
00144         return r;                                                                                                      \
00145     }                                                                                                                  \
00146     PX_INLINE PxFlags<enumtype, storagetype> operator~(enumtype a)                                                     \
00147     {                                                                                                                  \
00148         return ~PxFlags<enumtype, storagetype>(a);                                                                     \
00149     }
00150
00151 #define PX_FLAGS_TYPEDEF(x, y)                                                                                         \
00152     typedef PxFlags<x::Enum, y> x##s;                                                                                  \
00153     PX_FLAGS_OPERATORS(x::Enum, y)
00154
00155 template <typename enumtype, typename storagetype>
00156 PX_INLINE PxFlags<enumtype, storagetype>::PxFlags(void)
00157 {
00158     mBits = 0;
00159 }
00160
00161 template <typename enumtype, typename storagetype>
00162 PX_INLINE PxFlags<enumtype, storagetype>::PxFlags(enumtype e)
00163 {
00164     mBits = static_cast<storagetype>(e);
00165 }
00166
00167 template <typename enumtype, typename storagetype>
00168 PX_INLINE PxFlags<enumtype, storagetype>::PxFlags(const PxFlags<enumtype, storagetype>& f)
00169 {
00170     mBits = f.mBits;
00171 }
00172
00173 template <typename enumtype, typename storagetype>
00174 PX_INLINE PxFlags<enumtype, storagetype>::PxFlags(storagetype b)
00175 {
00176     mBits = b;
00177 }
00178
00179 template <typename enumtype, typename storagetype>
00180 PX_INLINE bool PxFlags<enumtype, storagetype>::isSet(enumtype e) const
00181 {
00182     return (mBits & static_cast<storagetype>(e)) == static_cast<storagetype>(e);
00183 }
00184
00185 template <typename enumtype, typename storagetype>
00186 PX_INLINE PxFlags<enumtype, storagetype>& PxFlags<enumtype, storagetype>::set(enumtype e)
00187 {
00188     mBits = static_cast<storagetype>(e);
00189     return *this;
00190 }
00191
00192 template <typename enumtype, typename storagetype>
00193 PX_INLINE bool PxFlags<enumtype, storagetype>::operator==(enumtype e) const
00194 {
00195     return mBits == static_cast<storagetype>(e);
00196 }
00197
00198 template <typename enumtype, typename storagetype>
00199 PX_INLINE bool PxFlags<enumtype, storagetype>::operator==(const PxFlags<enumtype, storagetype>& f) const
00200 {
00201     return mBits == f.mBits;
00202 }
00203
00204 template <typename enumtype, typename storagetype>
00205 PX_INLINE bool PxFlags<enumtype, storagetype>::operator==(bool b) const
00206 {
00207     return bool(*this) == b;
00208 }
00209
00210 template <typename enumtype, typename storagetype>
00211 PX_INLINE bool PxFlags<enumtype, storagetype>::operator!=(enumtype e) const
00212 {
00213     return mBits != static_cast<storagetype>(e);
00214 }
00215
00216 template <typename enumtype, typename storagetype>
00217 PX_INLINE bool PxFlags<enumtype, storagetype>::operator!=(const PxFlags<enumtype, storagetype>& f) const
00218 {
00219     return mBits != f.mBits;
00220 }
00221
00222 template <typename enumtype, typename storagetype>
00223 PX_INLINE PxFlags<enumtype, storagetype>& PxFlags<enumtype, storagetype>::operator=(enumtype e)
00224 {
00225     mBits = static_cast<storagetype>(e);
00226     return *this;
00227 }
00228
00229 template <typename enumtype, typename storagetype>
00230 PX_INLINE PxFlags<enumtype, storagetype>& PxFlags<enumtype, storagetype>::operator=(const PxFlags<enumtype, storagetype>& f)
00231 {
00232     mBits = f.mBits;
00233     return *this;
00234 }
00235
00236 template <typename enumtype, typename storagetype>
00237 PX_INLINE PxFlags<enumtype, storagetype>& PxFlags<enumtype, storagetype>::operator|=(enumtype e)
00238 {
00239     mBits |= static_cast<storagetype>(e);
00240     return *this;
00241 }
00242
00243 template <typename enumtype, typename storagetype>
00244 PX_INLINE PxFlags<enumtype, storagetype>& PxFlags<enumtype, storagetype>::
00245 operator|=(const PxFlags<enumtype, storagetype>& f)
00246 {
00247     mBits |= f.mBits;
00248     return *this;
00249 }
00250
00251 template <typename enumtype, typename storagetype>
00252 PX_INLINE PxFlags<enumtype, storagetype> PxFlags<enumtype, storagetype>::operator|(enumtype e) const
00253 {
00254     PxFlags<enumtype, storagetype> out(*this);
00255     out |= e;
00256     return out;
00257 }
00258
00259 template <typename enumtype, typename storagetype>
00260 PX_INLINE PxFlags<enumtype, storagetype> PxFlags<enumtype, storagetype>::
00261 operator|(const PxFlags<enumtype, storagetype>& f) const
00262 {
00263     PxFlags<enumtype, storagetype> out(*this);
00264     out |= f;
00265     return out;
00266 }
00267
00268 template <typename enumtype, typename storagetype>
00269 PX_INLINE PxFlags<enumtype, storagetype>& PxFlags<enumtype, storagetype>::operator&=(enumtype e)
00270 {
00271     mBits &= static_cast<storagetype>(e);
00272     return *this;
00273 }
00274
00275 template <typename enumtype, typename storagetype>
00276 PX_INLINE PxFlags<enumtype, storagetype>& PxFlags<enumtype, storagetype>::
00277 operator&=(const PxFlags<enumtype, storagetype>& f)
00278 {
00279     mBits &= f.mBits;
00280     return *this;
00281 }
00282
00283 template <typename enumtype, typename storagetype>
00284 PX_INLINE PxFlags<enumtype, storagetype> PxFlags<enumtype, storagetype>::operator&(enumtype e) const
00285 {
00286     PxFlags<enumtype, storagetype> out = *this;
00287     out.mBits &= static_cast<storagetype>(e);
00288     return out;
00289 }
00290
00291 template <typename enumtype, typename storagetype>
00292 PX_INLINE PxFlags<enumtype, storagetype> PxFlags<enumtype, storagetype>::
00293 operator&(const PxFlags<enumtype, storagetype>& f) const
00294 {
00295     PxFlags<enumtype, storagetype> out = *this;
00296     out.mBits &= f.mBits;
00297     return out;
00298 }
00299
00300 template <typename enumtype, typename storagetype>
00301 PX_INLINE PxFlags<enumtype, storagetype>& PxFlags<enumtype, storagetype>::operator^=(enumtype e)
00302 {
00303     mBits ^= static_cast<storagetype>(e);
00304     return *this;
00305 }
00306
00307 template <typename enumtype, typename storagetype>
00308 PX_INLINE PxFlags<enumtype, storagetype>& PxFlags<enumtype, storagetype>::
00309 operator^=(const PxFlags<enumtype, storagetype>& f)
00310 {
00311     mBits ^= f.mBits;
00312     return *this;
00313 }
00314
00315 template <typename enumtype, typename storagetype>
00316 PX_INLINE PxFlags<enumtype, storagetype> PxFlags<enumtype, storagetype>::operator^(enumtype e) const
00317 {
00318     PxFlags<enumtype, storagetype> out = *this;
00319     out.mBits ^= static_cast<storagetype>(e);
00320     return out;
00321 }
00322
00323 template <typename enumtype, typename storagetype>
00324 PX_INLINE PxFlags<enumtype, storagetype> PxFlags<enumtype, storagetype>::
00325 operator^(const PxFlags<enumtype, storagetype>& f) const
00326 {
00327     PxFlags<enumtype, storagetype> out = *this;
00328     out.mBits ^= f.mBits;
00329     return out;
00330 }
00331
00332 template <typename enumtype, typename storagetype>
00333 PX_INLINE PxFlags<enumtype, storagetype> PxFlags<enumtype, storagetype>::operator~(void) const
00334 {
00335     PxFlags<enumtype, storagetype> out;
00336     out.mBits = storagetype(~mBits);
00337     return out;
00338 }
00339
00340 template <typename enumtype, typename storagetype>
00341 PX_INLINE PxFlags<enumtype, storagetype>::operator bool(void) const
00342 {
00343     return mBits ? true : false;
00344 }
00345
00346 template <typename enumtype, typename storagetype>
00347 PX_INLINE PxFlags<enumtype, storagetype>::operator uint8_t(void) const
00348 {
00349     return static_cast<uint8_t>(mBits);
00350 }
00351
00352 template <typename enumtype, typename storagetype>
00353 PX_INLINE PxFlags<enumtype, storagetype>::operator uint16_t(void) const
00354 {
00355     return static_cast<uint16_t>(mBits);
00356 }
00357
00358 template <typename enumtype, typename storagetype>
00359 PX_INLINE PxFlags<enumtype, storagetype>::operator uint32_t(void) const
00360 {
00361     return static_cast<uint32_t>(mBits);
00362 }
00363
00364 template <typename enumtype, typename storagetype>
00365 PX_INLINE void PxFlags<enumtype, storagetype>::clear(enumtype e)
00366 {
00367     mBits &= ~static_cast<storagetype>(e);
00368 }
00369
00370 #if !PX_DOXYGEN
00371 } // namespace physx
00372 #endif
00373
00375 #endif // #ifndef PXFOUNDATION_PXFLAGS_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxForceMode.h Source File

PxForceMode.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_FORCE_MODE
00032 #define PX_PHYSICS_NX_FORCE_MODE
00033
00034 #include "foundation/PxPreprocessor.h"
00035
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00050 struct PxForceMode
00051 {
00052     enum Enum
00053     {
00054         eFORCE,
00055         eIMPULSE,
00056         eVELOCITY_CHANGE,
00057         eACCELERATION
00058     };
00059 };
00060
00061 #if !PX_DOXYGEN
00062 } // namespace physx
00063 #endif
00064
00066 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxFoundation.h Source File

PxFoundation.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PX_FOUNDATION_PX_FOUNDATION_H
00031 #define PX_FOUNDATION_PX_FOUNDATION_H
00032
00037 #include "foundation/Px.h"
00038 #include "foundation/PxErrors.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00050 class PX_FOUNDATION_API PxFoundation
00051 {
00052   public:
00062     virtual void release() = 0;
00063
00067     virtual PxErrorCallback& getErrorCallback() = 0;
00068
00072     virtual void setErrorLevel(PxErrorCode::Enum mask = PxErrorCode::eMASK_ALL) = 0;
00073
00077     virtual PxErrorCode::Enum getErrorLevel() const = 0;
00078
00082     virtual PxAllocatorCallback& getAllocatorCallback() = 0;
00083
00087     virtual bool getReportAllocationNames() const = 0;
00088
00093     virtual void setReportAllocationNames(bool value) = 0;
00094
00095   protected:
00096     virtual ~PxFoundation()
00097     {
00098     }
00099 };
00100
00101 #if !PX_DOXYGEN
00102 } // namespace physx
00103 #endif
00104
00120 PX_C_EXPORT PX_FOUNDATION_API physx::PxFoundation* PX_CALL_CONV
00121 PxCreateFoundation(physx::PxU32 version, physx::PxAllocatorCallback& allocator, physx::PxErrorCallback& errorCallback);
00129 #if PX_CLANG
00130 #if PX_LINUX
00131     #pragma clang diagnostic push
00132     #pragma clang diagnostic ignored "-Wreturn-type-c-linkage"
00133 #endif // PX_LINUX
00134 #endif // PX_CLANG
00135 PX_C_EXPORT PX_FOUNDATION_API physx::PxFoundation& PX_CALL_CONV PxGetFoundation();
00136 #if PX_CLANG
00137 #if PX_LINUX
00138     #pragma clang diagnostic pop
00139 #endif // PX_LINUX
00140 #endif // PX_CLANG
00141
00142 namespace physx
00143 {
00144 class PxProfilerCallback;
00145 }
00146
00150 PX_C_EXPORT PX_FOUNDATION_API physx::PxProfilerCallback* PX_CALL_CONV PxGetProfilerCallback();
00151
00155 PX_C_EXPORT PX_FOUNDATION_API void PX_CALL_CONV PxSetProfilerCallback(physx::PxProfilerCallback* profiler);
00156
00158 #endif // PX_FOUNDATION_PX_FOUNDATION_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxFoundationVersion.h Source File

PxFoundationVersion.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PX_FOUNDATION_VERSION_NUMBER_H
00031 #define PX_FOUNDATION_VERSION_NUMBER_H
00032
00033 /*
00034 VersionNumbers:  The combination of these
00035 numbers uniquely identifies the API, and should
00036 be incremented when the SDK API changes.  This may
00037 include changes to file formats.
00038
00039 This header is included in the main SDK header files
00040 so that the entire SDK and everything that builds on it
00041 is completely rebuilt when this file changes.  Thus,
00042 this file is not to include a frequently changing
00043 build number.  See BuildNumber.h for that.
00044
00045 Each of these three values should stay below 255 because
00046 sometimes they are stored in a byte.
00047 */
00052 #define PX_FOUNDATION_VERSION_MAJOR 1
00053 #define PX_FOUNDATION_VERSION_MINOR 0
00054 #define PX_FOUNDATION_VERSION_BUGFIX 0
00055
00060 #define PX_FOUNDATION_VERSION                                                                                          \
00061     ((PX_FOUNDATION_VERSION_MAJOR << 24) + (PX_FOUNDATION_VERSION_MINOR << 16) + (PX_FOUNDATION_VERSION_BUGFIX << 8) + 0)
00062
00063 #endif // PX_FOUNDATION_VERSION_NUMBER_H
00064


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxGeometry.h Source File

PxGeometry.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_GEOMETRY
00032 #define PX_PHYSICS_NX_GEOMETRY
00033
00037 #include "common/PxPhysXCommonConfig.h"
00038 #include "foundation/PxFlags.h"
00039 #include "foundation/PxMath.h"
00040
00041 #if !PX_DOXYGEN
00042 namespace physx
00043 {
00044 #endif
00045
00051 struct PxGeometryType
00052 {
00053     enum Enum
00054     {
00055         eSPHERE,
00056         ePLANE,
00057         eCAPSULE,
00058         eBOX,
00059         eCONVEXMESH,
00060         eTRIANGLEMESH,
00061         eHEIGHTFIELD,
00062
00063         eGEOMETRY_COUNT,
00064         eINVALID = -1
00065     };
00066 };
00067
00076 class PxGeometry
00077 {
00078 public:
00083     PX_CUDA_CALLABLE PX_FORCE_INLINE PxGeometryType::Enum getType() const   { return mType; }
00084
00085 protected:
00086     PX_CUDA_CALLABLE PX_FORCE_INLINE PxGeometry(PxGeometryType::Enum type) : mType(type) {}
00087     PxGeometryType::Enum mType;
00088 };
00089
00090 #if !PX_DOXYGEN
00091 } // namespace physx
00092 #endif
00093
00095 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxGeometryHelpers.h Source File

PxGeometryHelpers.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_GEOMETRYHELPERS
00032 #define PX_PHYSICS_GEOMETRYHELPERS
00033
00037 #include "common/PxPhysXCommonConfig.h"
00038 #include "PxGeometry.h"
00039 #include "PxBoxGeometry.h"
00040 #include "PxSphereGeometry.h"
00041 #include "PxCapsuleGeometry.h"
00042 #include "PxPlaneGeometry.h"
00043 #include "PxConvexMeshGeometry.h"
00044 #include "PxTriangleMeshGeometry.h"
00045 #include "PxHeightFieldGeometry.h"
00046 #include "foundation/PxPlane.h"
00047 #include "foundation/PxTransform.h"
00048 #include "foundation/PxUnionCast.h"
00049
00050 #if !PX_DOXYGEN
00051 namespace physx
00052 {
00053 #endif
00054
00064 PX_ALIGN_PREFIX(4)
00065 class PxGeometryHolder
00066 {
00067 public:
00068     PX_FORCE_INLINE PxGeometryType::Enum getType() const
00069     {
00070         return any().getType();
00071     }
00072
00073     PX_FORCE_INLINE PxGeometry& any()
00074     {
00075         return *PxUnionCast<PxGeometry*>(&bytes.geometry);
00076     }
00077
00078     PX_FORCE_INLINE const PxGeometry& any() const
00079     {
00080         return *PxUnionCast<const PxGeometry*>(&bytes.geometry);
00081     }
00082
00083     PX_FORCE_INLINE PxSphereGeometry& sphere()
00084     {
00085         return get<PxSphereGeometry, PxGeometryType::eSPHERE>();
00086     }
00087
00088     PX_FORCE_INLINE const PxSphereGeometry& sphere() const
00089     {
00090         return get<const PxSphereGeometry, PxGeometryType::eSPHERE>();
00091     }
00092
00093     PX_FORCE_INLINE PxPlaneGeometry& plane()
00094     {
00095         return get<PxPlaneGeometry, PxGeometryType::ePLANE>();
00096     }
00097
00098     PX_FORCE_INLINE const PxPlaneGeometry& plane() const
00099     {
00100         return get<const PxPlaneGeometry, PxGeometryType::ePLANE>();
00101     }
00102
00103     PX_FORCE_INLINE PxCapsuleGeometry& capsule()
00104     {
00105         return get<PxCapsuleGeometry, PxGeometryType::eCAPSULE>();
00106     }
00107
00108     PX_FORCE_INLINE const PxCapsuleGeometry& capsule() const
00109     {
00110         return get<const PxCapsuleGeometry, PxGeometryType::eCAPSULE>();
00111     }
00112
00113     PX_FORCE_INLINE PxBoxGeometry& box()
00114     {
00115         return get<PxBoxGeometry, PxGeometryType::eBOX>();
00116     }
00117
00118     PX_FORCE_INLINE const PxBoxGeometry& box() const
00119     {
00120         return get<const PxBoxGeometry, PxGeometryType::eBOX>();
00121     }
00122
00123     PX_FORCE_INLINE PxConvexMeshGeometry& convexMesh()
00124     {
00125         return get<PxConvexMeshGeometry, PxGeometryType::eCONVEXMESH>();
00126     }
00127
00128     PX_FORCE_INLINE const PxConvexMeshGeometry& convexMesh() const
00129     {
00130         return get<const PxConvexMeshGeometry, PxGeometryType::eCONVEXMESH>();
00131     }
00132
00133     PX_FORCE_INLINE PxTriangleMeshGeometry& triangleMesh()
00134     {
00135         return get<PxTriangleMeshGeometry, PxGeometryType::eTRIANGLEMESH>();
00136     }
00137
00138     PX_FORCE_INLINE const PxTriangleMeshGeometry& triangleMesh() const
00139     {
00140         return get<const PxTriangleMeshGeometry, PxGeometryType::eTRIANGLEMESH>();
00141     }
00142
00143     PX_FORCE_INLINE PxHeightFieldGeometry& heightField()
00144     {
00145         return get<PxHeightFieldGeometry, PxGeometryType::eHEIGHTFIELD>();
00146     }
00147
00148     PX_FORCE_INLINE const PxHeightFieldGeometry& heightField() const
00149     {
00150         return get<const PxHeightFieldGeometry, PxGeometryType::eHEIGHTFIELD>();
00151     }
00152
00153     PX_FORCE_INLINE void storeAny(const PxGeometry& geometry)
00154     {
00155         PX_ASSERT_WITH_MESSAGE( (geometry.getType() >= PxGeometryType::eSPHERE) &&
00156                                 (geometry.getType() < PxGeometryType::eGEOMETRY_COUNT),
00157                                 "Unexpected GeometryType in PxGeometryHolder::storeAny");
00158
00159         switch(geometry.getType())
00160         {
00161         case PxGeometryType::eSPHERE:       put<PxSphereGeometry>(geometry); break;
00162         case PxGeometryType::ePLANE:        put<PxPlaneGeometry>(geometry); break;
00163         case PxGeometryType::eCAPSULE:      put<PxCapsuleGeometry>(geometry); break;
00164         case PxGeometryType::eBOX:          put<PxBoxGeometry>(geometry); break;
00165         case PxGeometryType::eCONVEXMESH:   put<PxConvexMeshGeometry>(geometry); break;
00166         case PxGeometryType::eTRIANGLEMESH: put<PxTriangleMeshGeometry>(geometry); break;
00167         case PxGeometryType::eHEIGHTFIELD:  put<PxHeightFieldGeometry>(geometry); break;
00168         case PxGeometryType::eGEOMETRY_COUNT:
00169         case PxGeometryType::eINVALID:      break;
00170         }
00171     }
00172
00173     PX_FORCE_INLINE PxGeometryHolder()                          {}
00174     PX_FORCE_INLINE PxGeometryHolder(const PxGeometry& geometry){ storeAny(geometry);   }
00175
00176     private:
00177         template<typename T> void put(const PxGeometry& geometry)
00178         {
00179             static_cast<T&>(any()) = static_cast<const T&>(geometry);
00180         }
00181
00182         template<typename T, PxGeometryType::Enum type> T& get()
00183         {
00184             PX_ASSERT(getType() == type);
00185             return static_cast<T&>(any());
00186         }
00187
00188         template<typename T, PxGeometryType::Enum type> T& get() const
00189         {
00190             PX_ASSERT(getType() == type);
00191             return static_cast<T&>(any());
00192         }
00193
00194     union {
00195         PxU8    geometry[sizeof(PxGeometry)];
00196         PxU8    box[sizeof(PxBoxGeometry)];
00197         PxU8    sphere[sizeof(PxSphereGeometry)];
00198         PxU8    capsule[sizeof(PxCapsuleGeometry)];
00199         PxU8    plane[sizeof(PxPlaneGeometry)];
00200         PxU8    convex[sizeof(PxConvexMeshGeometry)];
00201         PxU8    mesh[sizeof(PxTriangleMeshGeometry)];
00202         PxU8    heightfield[sizeof(PxHeightFieldGeometry)];
00203     } bytes;
00204 }
00205 PX_ALIGN_SUFFIX(4);
00206
00207
00208
00209
00210 #if !PX_DOXYGEN
00211 } // namespace physx
00212 #endif
00213
00215 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxGeometryQuery.h Source File

PxGeometryQuery.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_GEOMUTILS_PX_GEOMETRY_QUERY
00032 #define PX_PHYSICS_GEOMUTILS_PX_GEOMETRY_QUERY
00033
00040 #define PX_MAX_SWEEP_DISTANCE 1e8f
00041
00046 #include "common/PxPhysXCommonConfig.h"
00047 #include "PxQueryReport.h"
00048
00049 #if !PX_DOXYGEN
00050 namespace physx
00051 {
00052 #endif
00053
00054 class PxGeometry;
00055 struct PxSweepHit;
00056 struct PxRaycastHit;
00057
00058 class PxTriangle;
00059
00063 class PxGeometryQuery
00064 {
00065 public:
00066
00091     PX_PHYSX_COMMON_API static bool sweep(const PxVec3& unitDir,
00092                             const PxReal maxDist,
00093                             const PxGeometry& geom0,
00094                             const PxTransform& pose0,
00095                             const PxGeometry& geom1,
00096                             const PxTransform& pose1,
00097                             PxSweepHit& sweepHit,
00098                             PxHitFlags hitFlags = PxHitFlag::eDEFAULT,
00099                             const PxReal inflation = 0.f);
00100
00101
00118     PX_PHYSX_COMMON_API static bool overlap(const PxGeometry& geom0, const PxTransform& pose0,
00119                                             const PxGeometry& geom1, const PxTransform& pose1);
00120
00121
00137     PX_PHYSX_COMMON_API static PxU32 raycast(const PxVec3& origin,
00138                             const PxVec3& unitDir,
00139                             const PxGeometry& geom,
00140                             const PxTransform& pose,
00141                             PxReal maxDist,
00142                             PxHitFlags hitFlags,
00143                             PxU32 maxHits,
00144                             PxRaycastHit* PX_RESTRICT rayHits);
00145
00176     PX_PHYSX_COMMON_API static bool     computePenetration(PxVec3& direction, PxF32& depth,
00177                                             const PxGeometry& geom0, const PxTransform& pose0,
00178                                             const PxGeometry& geom1, const PxTransform& pose1);
00179
00193     PX_PHYSX_COMMON_API static PxReal pointDistance(const PxVec3& point, const PxGeometry& geom, const PxTransform& pose, PxVec3* closestPoint=NULL);
00194
00195
00206     PX_PHYSX_COMMON_API static PxBounds3 getWorldBounds(const PxGeometry& geom, const PxTransform& pose, float inflation=1.01f);
00207
00216     PX_PHYSX_COMMON_API static bool isValid(const PxGeometry& geom);
00217 };
00218
00219
00220 #if !PX_DOXYGEN
00221 }
00222 #endif
00223
00225 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxGpu.h Source File

PxGpu.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027
00028 #ifndef PX_GPU_H
00029 #define PX_GPU_H
00030
00031 #include "PxPhysXConfig.h"
00032
00033
00034 #if PX_SUPPORT_GPU_PHYSX
00035
00036 #include "cudamanager/PxCudaContextManager.h"
00037 #include "cudamanager/PxCudaMemoryManager.h"
00038 #include "cudamanager/PxGpuCopyDesc.h"
00039 #include "foundation/Px.h"
00040 #include "foundation/PxPreprocessor.h"
00041 #include "common/PxPhysXCommonConfig.h"
00042 #include "foundation/PxFoundation.h"
00043
00055 class PxGpuLoadHook
00056 {
00057 public:
00058     PxGpuLoadHook() {}
00059     virtual ~PxGpuLoadHook() {}
00060
00061     virtual const char* getPhysXGpuDEBUGDllName() const = 0;
00062     virtual const char* getPhysXGpuCHECKEDDllName() const = 0;
00063     virtual const char* getPhysXGpuPROFILEDllName() const = 0;
00064     virtual const char* getPhysXGpuDllName() const = 0;
00065
00066 protected:
00067 private:
00068 };
00069
00077 PX_C_EXPORT PX_PHYSX_CORE_API void PX_CALL_CONV PxSetPhysXGpuLoadHook(const PxGpuLoadHook* hook);
00078
00084 PX_C_EXPORT PX_PHYSX_CORE_API int PX_CALL_CONV PxGetSuggestedCudaDeviceOrdinal(physx::PxErrorCallback& errc);
00085
00091 PX_C_EXPORT PX_PHYSX_CORE_API physx::PxCudaContextManager* PX_CALL_CONV PxCreateCudaContextManager(physx::PxFoundation& foundation, const physx::PxCudaContextManagerDesc& desc);
00092
00093 #endif // PX_SUPPORT_GPU_PHYSX
00094
00095 #endif // PX_GPU_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxGpuCopyDesc.h Source File

PxGpuCopyDesc.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027
00028 #ifndef PXCUDACONTEXTMANAGER_PXGPUCOPYDESC_H
00029 #define PXCUDACONTEXTMANAGER_PXGPUCOPYDESC_H
00030
00031 #include "foundation/PxPreprocessor.h"
00032
00033 #if PX_SUPPORT_GPU_PHYSX
00034
00035 #include "task/PxTaskDefine.h"
00036
00037 namespace physx
00038 {
00039
00040 PX_PUSH_PACK_DEFAULT
00041
00049 struct PxGpuCopyDesc
00050 {
00054     enum CopyType
00055     {
00056         HostToDevice,
00057         DeviceToHost,
00058         DeviceToDevice,
00059         DeviceMemset32
00060     };
00061
00062     size_t      dest;
00063     size_t      source;
00064     size_t      bytes;
00065     CopyType    type;
00066
00071     PX_INLINE bool isValid()
00072     {
00073         bool ok = true;
00074         ok &= ((dest & 0x3) == 0);
00075         ok &= ((type == DeviceMemset32) || (source & 0x3) == 0);
00076         ok &= ((bytes & 0x3) == 0);
00077         return ok;
00078     }
00079 };
00080
00081 PX_POP_PACK
00082
00083 } // end physx namespace
00084
00085 #endif // PX_SUPPORT_GPU_PHYSX
00086 #endif // PXCUDACONTEXTMANAGER_PXGPUCOPYDESC_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxGpuCopyDescQueue.h Source File

PxGpuCopyDescQueue.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027
00028 #ifndef PXCUDACONTEXTMANAGER_PXGPUCOPYDESCQUEUE_H
00029 #define PXCUDACONTEXTMANAGER_PXGPUCOPYDESCQUEUE_H
00030
00031 #include "foundation/PxPreprocessor.h"
00032
00033 #if PX_SUPPORT_GPU_PHYSX
00034
00035 #include "foundation/PxAssert.h"
00036 #include "task/PxTaskDefine.h"
00037 #include "task/PxGpuDispatcher.h"
00038 #include "cudamanager/PxGpuCopyDesc.h"
00039 #include "cudamanager/PxCudaContextManager.h"
00040
00041 /* forward decl to avoid including <cuda.h> */
00042 typedef struct CUstream_st* CUstream;
00043
00044 namespace physx
00045 {
00046
00047 PX_PUSH_PACK_DEFAULT
00048
00050 class PxGpuCopyDescQueue
00051 {
00052 public:
00054     PxGpuCopyDescQueue(PxGpuDispatcher& d)
00055         : mDispatcher(d)
00056         , mBuffer(0)
00057         , mStream(0)
00058         , mReserved(0)
00059         , mOccupancy(0)
00060         , mFlushed(0)
00061     {
00062     }
00063
00065     ~PxGpuCopyDescQueue()
00066     {
00067         if (mBuffer)
00068         {
00069             mDispatcher.getCudaContextManager()->getMemoryManager()->free(PxCudaBufferMemorySpace::T_PINNED_HOST, (size_t) mBuffer);
00070         }
00071     }
00072
00078     void reset(CUstream stream, uint32_t reserveSize)
00079     {
00080         if (reserveSize > mReserved)
00081         {
00082             if (mBuffer)
00083             {
00084                 mDispatcher.getCudaContextManager()->getMemoryManager()->free(
00085                     PxCudaBufferMemorySpace::T_PINNED_HOST,
00086                     (size_t) mBuffer);
00087                 mReserved = 0;
00088             }
00089             mBuffer = (PxGpuCopyDesc*) mDispatcher.getCudaContextManager()->getMemoryManager()->alloc(
00090                           PxCudaBufferMemorySpace::T_PINNED_HOST,
00091                           reserveSize * sizeof(PxGpuCopyDesc),
00092                           PX_ALLOC_INFO("PxGpuCopyDescQueue", GPU_UTIL));
00093             if (mBuffer)
00094             {
00095                 mReserved = reserveSize;
00096             }
00097         }
00098
00099         mOccupancy = 0;
00100         mFlushed = 0;
00101         mStream = stream;
00102     }
00103
00105     void enqueue(PxGpuCopyDesc& desc)
00106     {
00107         PX_ASSERT(desc.isValid());
00108         if (desc.bytes == 0)
00109         {
00110             return;
00111         }
00112
00113         if (mOccupancy < mReserved)
00114         {
00115             mBuffer[ mOccupancy++ ] = desc;
00116         }
00117         else
00118         {
00119             mDispatcher.launchCopyKernel(&desc, 1, mStream);
00120         }
00121     }
00122
00124     void flushEnqueued()
00125     {
00126         if (mOccupancy > mFlushed)
00127         {
00128             mDispatcher.launchCopyKernel(mBuffer + mFlushed, mOccupancy - mFlushed, mStream);
00129             mFlushed = mOccupancy;
00130         }
00131     }
00132
00133 private:
00134     PxGpuDispatcher&    mDispatcher;
00135     PxGpuCopyDesc*  mBuffer;
00136     CUstream        mStream;
00137     uint32_t        mReserved;
00138     uint32_t        mOccupancy;
00139     uint32_t        mFlushed;
00140
00141     void operator=(const PxGpuCopyDescQueue&); // prevent a warning...
00142 };
00143
00144 PX_POP_PACK
00145
00146 } // end physx namespace
00147
00148 #endif // PX_SUPPORT_GPU_PHYSX
00149 #endif // PXCUDACONTEXTMANAGER_PXGPUCOPYDESCQUEUE_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxGpuDispatcher.h Source File

PxGpuDispatcher.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027
00028 #ifndef PXTASK_PXGPUDISPATCHER_H
00029 #define PXTASK_PXGPUDISPATCHER_H
00030
00031 #include "task/PxTaskDefine.h"
00032 #include "task/PxTask.h"
00033
00034 /* forward decl to avoid including <cuda.h> */
00035 typedef struct CUstream_st* CUstream;
00036
00037 namespace physx
00038 {
00039
00040 struct PxGpuCopyDesc;
00041 class PxCudaContextManager;
00042
00043 PX_PUSH_PACK_DEFAULT
00044
00045 class PxTaskManager;
00046
00071 class PxGpuDispatcher
00072 {
00073 public:
00080     virtual void                startSimulation() = 0;
00081
00091     virtual void                startGroup() = 0;
00092
00100     virtual void                submitTask(PxTask& task) = 0;
00101
00110     virtual void                finishGroup() = 0;
00111
00135     virtual void                addCompletionPrereq(PxBaseTask& task) = 0;
00136
00143     virtual PxCudaContextManager* getCudaContextManager() = 0;
00144
00151     virtual void                stopSimulation() = 0;
00152
00172     virtual bool                failureDetected() const = 0;
00173
00180     virtual void                forceFailureMode() = 0;
00181
00201     virtual void                launchCopyKernel(PxGpuCopyDesc* desc, uint32_t count, CUstream stream) = 0;
00202
00209     virtual PxBaseTask&         getPreLaunchTask() = 0;
00210
00217     virtual void                addPreLaunchDependent(PxBaseTask& dependent) = 0;
00218
00225     virtual PxBaseTask&         getPostLaunchTask() = 0;
00226
00233     virtual void                addPostLaunchDependent(PxBaseTask& dependent) = 0;
00234
00235 protected:
00240     virtual ~PxGpuDispatcher() {}
00241 };
00242
00243 PX_POP_PACK
00244
00245 } // end physx namespace
00246
00247
00248 #endif // PXTASK_PXGPUDISPATCHER_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxGpuTask.h Source File

PxGpuTask.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027
00028
00029 #ifndef PXTASK_PXGPUTASK_H
00030 #define PXTASK_PXGPUTASK_H
00031
00032 #include "task/PxTaskDefine.h"
00033 #include "task/PxTask.h"
00034 #include "task/PxGpuDispatcher.h"
00035
00036 namespace physx
00037 {
00038
00039 PX_PUSH_PACK_DEFAULT
00040
00051 struct PxGpuTaskHint
00052 {
00054     enum Enum
00055     {
00056         HostToDevice,
00057         Kernel,
00058         DeviceToHost,
00059
00060         NUM_GPU_TASK_HINTS
00061     };
00062 };
00063
00067 class PxGpuTask : public PxTask
00068 {
00069 public:
00070     PxGpuTask() : mComp(NULL) {}
00071
00083     virtual bool    launchInstance(CUstream stream, int kernelIndex) = 0;
00084
00088     virtual PxGpuTaskHint::Enum getTaskHint() const = 0;
00089
00094     void setCompletionTask(PxBaseTask& task)
00095     {
00096         mComp = &task;
00097     }
00098
00099     void release()
00100     {
00101         if (mComp)
00102         {
00103             mComp->removeReference();
00104             mComp = NULL;
00105         }
00106         PxTask::release();
00107     }
00108
00109 protected:
00111     PxBaseTask* mComp;
00112 };
00113
00114 PX_POP_PACK
00115
00116 } // end physx namespace
00117
00118 #endif // PXTASK_PXGPUTASK_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxHeightField.h Source File

PxHeightField.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_GEOMUTILS_NX_HEIGHTFIELD
00032 #define PX_PHYSICS_GEOMUTILS_NX_HEIGHTFIELD
00033
00037 #include "geometry/PxHeightFieldFlag.h"
00038 #include "geometry/PxHeightFieldSample.h"
00039 #include "common/PxBase.h"
00040
00041 #if !PX_DOXYGEN
00042 namespace physx
00043 {
00044 #endif
00045
00046 class PxHeightFieldDesc;
00047
00085 class PxHeightField : public PxBase
00086 {
00087     public:
00093     PX_PHYSX_COMMON_API virtual     void                        release() = 0;
00094
00107     PX_PHYSX_COMMON_API virtual     PxU32                       saveCells(void* destBuffer, PxU32 destBufferSize) const = 0;
00108
00129     PX_PHYSX_COMMON_API virtual     bool                        modifySamples(PxI32 startCol, PxI32 startRow, const PxHeightFieldDesc& subfieldDesc, bool shrinkBounds = false) = 0;
00130
00138     PX_PHYSX_COMMON_API virtual     PxU32                       getNbRows()                 const = 0;
00139
00147     PX_PHYSX_COMMON_API virtual     PxU32                       getNbColumns()              const = 0;
00148
00156     PX_PHYSX_COMMON_API virtual     PxHeightFieldFormat::Enum   getFormat()                 const = 0;
00157
00165     PX_PHYSX_COMMON_API virtual     PxU32                       getSampleStride()           const = 0;
00166
00174     PX_PHYSX_COMMON_API virtual     PxReal                      getThickness()              const = 0;
00175
00183     PX_PHYSX_COMMON_API virtual     PxReal                      getConvexEdgeThreshold()    const = 0;
00184
00192     PX_PHYSX_COMMON_API virtual     PxHeightFieldFlags          getFlags()                  const = 0;
00193
00199     PX_PHYSX_COMMON_API virtual     PxReal                      getHeight(PxReal x, PxReal z) const = 0;
00200
00209     PX_PHYSX_COMMON_API virtual     PxU32                       getReferenceCount()         const   = 0;
00210
00216     PX_PHYSX_COMMON_API virtual void                            acquireReference()                  = 0;
00217
00226     PX_PHYSX_COMMON_API virtual PxMaterialTableIndex    getTriangleMaterialIndex(PxTriangleID triangleIndex) const = 0;
00227
00236     PX_PHYSX_COMMON_API virtual PxVec3                  getTriangleNormal(PxTriangleID triangleIndex) const = 0;
00237
00245     PX_PHYSX_COMMON_API virtual const PxHeightFieldSample&  getSample(PxU32 row, PxU32 column) const = 0;
00246
00255     PX_PHYSX_COMMON_API virtual     PxU32                       getTimestamp()          const   = 0;
00256
00257     PX_PHYSX_COMMON_API virtual const char*             getConcreteTypeName() const { return "PxHeightField"; }
00258
00259 protected:
00260                         PX_INLINE                       PxHeightField(PxType concreteType, PxBaseFlags baseFlags) : PxBase(concreteType, baseFlags) {}
00261                         PX_INLINE                       PxHeightField(PxBaseFlags baseFlags) : PxBase(baseFlags) {}
00262     PX_PHYSX_COMMON_API virtual                         ~PxHeightField() {}
00263     PX_PHYSX_COMMON_API virtual bool                    isKindOf(const char* name) const { return !::strcmp("PxHeightField", name) || PxBase::isKindOf(name); }
00264 };
00265
00266 #if !PX_DOXYGEN
00267 } // namespace physx
00268 #endif
00269
00271 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxHeightFieldDesc.h Source File

PxHeightFieldDesc.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_COLLISION_NXHEIGHTFIELDDESC
00032 #define PX_COLLISION_NXHEIGHTFIELDDESC
00033
00037 #include "foundation/PxBounds3.h"
00038 #include "common/PxPhysXCommonConfig.h"
00039 #include "geometry/PxHeightFieldFlag.h"
00040 #include "common/PxCoreUtilityTypes.h"
00041
00042 #if !PX_DOXYGEN
00043 namespace physx
00044 {
00045 #endif
00046
00055 class PxHeightFieldDesc
00056 {
00057 public:
00058
00067     PxU32                           nbRows;
00068
00077     PxU32                           nbColumns;
00078
00088     PxHeightFieldFormat::Enum       format;
00089
00108     PxStridedData                   samples;
00109
00127     PX_DEPRECATED PxReal                    thickness;
00128
00143     PxReal                  convexEdgeThreshold;
00144
00152     PxHeightFieldFlags      flags;
00153
00157     PX_INLINE               PxHeightFieldDesc();
00158
00162     PX_INLINE       void    setToDefault();
00163
00168     PX_INLINE       bool    isValid() const;
00169 };
00170
00171 PX_INLINE PxHeightFieldDesc::PxHeightFieldDesc()    //constructor sets to default
00172 {
00173     nbColumns                   = 0;
00174     nbRows                      = 0;
00175     format                      = PxHeightFieldFormat::eS16_TM;
00176     thickness                   = -1.0f;
00177     convexEdgeThreshold         = 0.0f;
00178     flags                       = PxHeightFieldFlags();
00179 }
00180
00181 PX_INLINE void PxHeightFieldDesc::setToDefault()
00182 {
00183     *this = PxHeightFieldDesc();
00184 }
00185
00186 PX_INLINE bool PxHeightFieldDesc::isValid() const
00187 {
00188     if (nbColumns < 2)
00189         return false;
00190     if (nbRows < 2)
00191         return false;
00192     if(format != PxHeightFieldFormat::eS16_TM)
00193         return false;
00194     if (samples.stride < 4)
00195         return false;
00196     if (convexEdgeThreshold < 0)
00197         return false;
00198     if ((flags & PxHeightFieldFlag::eNO_BOUNDARY_EDGES) != flags)
00199         return false;
00200     if (thickness < -PX_MAX_BOUNDS_EXTENTS || thickness > PX_MAX_BOUNDS_EXTENTS)
00201         return false;
00202     return true;
00203 }
00204
00205 #if !PX_DOXYGEN
00206 } // namespace physx
00207 #endif
00208
00210 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxHeightFieldFlag.h Source File

PxHeightFieldFlag.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_COLLISION_NXHEIGHTFIELDFLAG
00032 #define PX_COLLISION_NXHEIGHTFIELDFLAG
00033
00037 #include "foundation/PxFlags.h"
00038
00039 #if !PX_DOXYGEN
00040 namespace physx
00041 {
00042 #endif
00043
00048 struct PxHeightFieldFormat
00049 {
00050     enum Enum
00051     {
00072         eS16_TM = (1 << 0)
00073     };
00074 };
00075
00080 struct PxHeightFieldTessFlag
00081 {
00082     enum Enum
00083     {
00123         e0TH_VERTEX_SHARED = (1 << 0)
00124     };
00125 };
00126
00127
00131 struct PxHeightFieldFlag
00132 {
00133     enum Enum
00134     {
00145         eNO_BOUNDARY_EDGES = (1 << 0)
00146     };
00147 };
00148
00154 typedef PxFlags<PxHeightFieldFlag::Enum,PxU16> PxHeightFieldFlags;
00155 PX_FLAGS_OPERATORS(PxHeightFieldFlag::Enum,PxU16)
00156
00157 #if !PX_DOXYGEN
00158 } // namespace physx
00159 #endif
00160
00162 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxHeightFieldGeometry.h Source File

PxHeightFieldGeometry.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_HEIGHTFIELD_GEOMETRY
00032 #define PX_PHYSICS_NX_HEIGHTFIELD_GEOMETRY
00033
00036 #include "geometry/PxTriangleMeshGeometry.h"
00037 #include "common/PxCoreUtilityTypes.h"
00038
00039 #if !PX_DOXYGEN
00040 namespace physx
00041 {
00042 #endif
00043
00044 #define PX_MIN_HEIGHTFIELD_XZ_SCALE 1e-8f
00045 #define PX_MIN_HEIGHTFIELD_Y_SCALE (0.0001f / PxReal(0xFFFF))
00046
00047 class PxHeightField;
00048
00056 class PxHeightFieldGeometry : public PxGeometry
00057 {
00058 public:
00059     PX_INLINE PxHeightFieldGeometry() :
00060         PxGeometry      (PxGeometryType::eHEIGHTFIELD),
00061         heightField     (NULL),
00062         heightScale     (1.0f),
00063         rowScale        (1.0f),
00064         columnScale     (1.0f),
00065         heightFieldFlags(0)
00066     {}
00067
00068     PX_INLINE PxHeightFieldGeometry(PxHeightField* hf,
00069                                     PxMeshGeometryFlags flags,
00070                                     PxReal heightScale_,
00071                                     PxReal rowScale_,
00072                                     PxReal columnScale_) :
00073         PxGeometry          (PxGeometryType::eHEIGHTFIELD),
00074         heightField         (hf) ,
00075         heightScale         (heightScale_),
00076         rowScale            (rowScale_),
00077         columnScale         (columnScale_),
00078         heightFieldFlags    (flags)
00079         {
00080         }
00081
00092     PX_INLINE bool isValid() const;
00093
00094 public:
00098     PxHeightField*          heightField;
00099
00103     PxReal                  heightScale;
00104
00108     PxReal                  rowScale;
00109
00113     PxReal                  columnScale;
00114
00118     PxMeshGeometryFlags     heightFieldFlags;
00119
00120     PxPadding<3>            paddingFromFlags;
00121 };
00122
00123
00124 PX_INLINE bool PxHeightFieldGeometry::isValid() const
00125 {
00126     if (mType != PxGeometryType::eHEIGHTFIELD)
00127         return false;
00128     if (!PxIsFinite(heightScale) || !PxIsFinite(rowScale) || !PxIsFinite(columnScale))
00129         return false;
00130     if (rowScale < PX_MIN_HEIGHTFIELD_XZ_SCALE || columnScale < PX_MIN_HEIGHTFIELD_XZ_SCALE || heightScale < PX_MIN_HEIGHTFIELD_Y_SCALE)
00131         return false;
00132     if (!heightField)
00133         return false;
00134
00135     return true;
00136 }
00137
00138 #if !PX_DOXYGEN
00139 } // namespace physx
00140 #endif
00141
00143 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxHeightFieldSample.h Source File

PxHeightFieldSample.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NXHEIGHTFIELDSAMPLE
00032 #define PX_PHYSICS_NXHEIGHTFIELDSAMPLE
00033
00036 #include "common/PxPhysXCommonConfig.h"
00037 #include "foundation/PxBitAndData.h"
00038
00039 #if !PX_DOXYGEN
00040 namespace physx
00041 {
00042 #endif
00043
00049 struct PxHeightFieldMaterial
00050 {
00051     enum Enum
00052     {
00053         eHOLE = 127
00054     };
00055 };
00056
00068 struct PxHeightFieldSample
00069 {
00070 //= ATTENTION! =====================================================================================
00071 // Changing the data layout of this class breaks the binary serialization format.  See comments for
00072 // PX_BINARY_SERIAL_VERSION.  If a modification is required, please adjust the getBinaryMetaData
00073 // function.  If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION
00074 // accordingly.
00075 //==================================================================================================
00076
00084     PxI16           height;
00085
00101     PxBitAndByte    materialIndex0;
00102
00103     PX_CUDA_CALLABLE PX_FORCE_INLINE    PxU8    tessFlag()  const   { return PxU8(materialIndex0.isBitSet() ? 1 : 0);       }   // PT: explicit conversion to make sure we don't break the code
00104     PX_CUDA_CALLABLE PX_FORCE_INLINE    void    setTessFlag()       { materialIndex0.setBit();                      }
00105     PX_CUDA_CALLABLE PX_FORCE_INLINE    void    clearTessFlag()     { materialIndex0.clearBit();                    }
00106
00116     PxBitAndByte    materialIndex1;
00117 };
00118
00119 #if !PX_DOXYGEN
00120 } // namespace physx
00121 #endif
00122
00124 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxImmediateMode.h Source File

PxImmediateMode.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PX_PHYSICS_IMMEDIATE_MODE
00031 #define PX_PHYSICS_IMMEDIATE_MODE
00032
00035 #include "PxPhysXConfig.h"
00036 #include "solver/PxSolverDefs.h"
00037 #include "collision/PxCollisionDefs.h"
00038
00039 #if !PX_DOXYGEN
00040 namespace physx
00041 {
00042 #endif
00043
00044 #if !PX_DOXYGEN
00045 namespace immediate
00046 {
00047 #endif
00048
00052     struct PxRigidBodyData
00053     {
00054         PX_ALIGN(16, PxVec3 linearVelocity);
00055         PxReal invMass;
00056         PxVec3 angularVelocity;
00057         PxReal maxDepenetrationVelocity;
00058         PxVec3 invInertia;
00059         PxReal maxContactImpulse;
00060         PxTransform body2World;
00061         PxReal linearDamping;
00062         PxReal angularDamping;
00063         PxReal maxLinearVelocitySq;
00064         PxReal maxAngularVelocitySq;
00065         PxU32 pad;
00066     };
00067
00071     class PxContactRecorder
00072     {
00073     public:
00081         virtual bool recordContacts(const Gu::ContactPoint* contactPoints, const PxU32 nbContacts, const PxU32 index) = 0;
00082
00083         virtual ~PxContactRecorder(){}
00084     };
00085
00094     PX_C_EXPORT PX_PHYSX_CORE_API void PxConstructSolverBodies(const PxRigidBodyData* inRigidData, PxSolverBodyData* outSolverBodyData, const PxU32 nbBodies, const PxVec3& gravity, const PxReal dt);
00095
00101     PX_C_EXPORT PX_PHYSX_CORE_API void PxConstructStaticSolverBody(const PxTransform& globalPose,PxSolverBodyData& solverBodyData);
00102
00118     PX_C_EXPORT PX_PHYSX_CORE_API PxU32 PxBatchConstraints(PxSolverConstraintDesc* solverConstraintDescs, const PxU32 nbConstraints, PxSolverBody* solverBodies, PxU32 nbBodies, PxConstraintBatchHeader* outBatchHeaders,
00119         PxSolverConstraintDesc* outOrderedConstraintDescs);
00120
00139     PX_C_EXPORT PX_PHYSX_CORE_API bool PxCreateContactConstraints(PxConstraintBatchHeader* batchHeader, const PxU32 nbHeaders, PxSolverContactDesc* contactDescs,
00140         PxConstraintAllocator& allocator, PxReal invDt, PxReal bounceThreshold, PxReal frictionOffsetThreshold, PxReal correlationDistance);
00141
00152     PX_C_EXPORT PX_PHYSX_CORE_API bool PxCreateJointConstraints(PxConstraintBatchHeader* batchHeader, const PxU32 nbHeaders, PxSolverConstraintPrepDesc* jointDescs, PxConstraintAllocator& allocator, PxReal dt, PxReal invDt);
00153
00165     PX_C_EXPORT PX_PHYSX_CORE_API bool PxCreateJointConstraintsWithShaders(PxConstraintBatchHeader* batchHeader, const PxU32 nbBatchHeaders, PxConstraint** constraints, PxSolverConstraintPrepDesc* jointDescs, PxConstraintAllocator& allocator, PxReal dt, PxReal invDt);
00166
00179     PX_C_EXPORT PX_PHYSX_CORE_API void PxSolveConstraints(PxConstraintBatchHeader* batchHeaders, const PxU32 nbBatchHeaders, PxSolverConstraintDesc* solverConstraintDescs, PxSolverBody* solverBodies,
00180         PxVec3* linearMotionVelocity, PxVec3* angularMotionVelocity, const PxU32 nbSolverBodies, const PxU32 nbPositionIterations, const PxU32 nbVelocityIterations);
00181
00192     PX_C_EXPORT PX_PHYSX_CORE_API void PxIntegrateSolverBodies(PxSolverBodyData* solverBodyData, PxSolverBody* solverBody, const PxVec3* linearMotionVelocity, const PxVec3* angularMotionState, const PxU32 nbBodiesToIntegrate, PxReal dt);
00193
00214     PX_C_EXPORT PX_PHYSX_CORE_API bool PxGenerateContacts(const PxGeometry* const * geom0, const PxGeometry* const * geom1, const PxTransform* pose0, const PxTransform* pose1, PxCache* contactCache, const PxU32 nbPairs, PxContactRecorder& contactRecorder,
00215         const PxReal contactDistance, const PxReal meshContactMargin, const PxReal toleranceLength, PxCacheAllocator& allocator);
00216
00217 #if !PX_DOXYGEN
00218 }
00219 #endif
00220
00221
00222 #if !PX_DOXYGEN
00223 }
00224 #endif
00225
00227 #endif
00228


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxIntrinsics.h Source File

PxIntrinsics.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PXFOUNDATION_PXINTRINSICS_H
00031 #define PXFOUNDATION_PXINTRINSICS_H
00032
00033 #include "foundation/PxPreprocessor.h"
00034
00035 #if PX_WINDOWS_FAMILY
00036 #include "foundation/windows/PxWindowsIntrinsics.h"
00037 #elif(PX_LINUX || PX_ANDROID || PX_APPLE_FAMILY || PX_PS4)
00038 #include "foundation/unix/PxUnixIntrinsics.h"
00039 #elif PX_XBOXONE
00040 #include "foundation/XboxOne/PxXboxOneIntrinsics.h"
00041 #elif PX_SWITCH
00042 #include "foundation/switch/PxSwitchIntrinsics.h"
00043 #else
00044 #error "Platform not supported!"
00045 #endif
00046
00047 #endif // #ifndef PXFOUNDATION_PXINTRINSICS_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxIO.h Source File

PxIO.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PXFOUNDATION_PXIO_H
00031 #define PXFOUNDATION_PXIO_H
00032
00037 #include "foundation/PxSimpleTypes.h"
00038
00039 #if !PX_DOXYGEN
00040 namespace physx
00041 {
00042 #endif
00043
00050 class PxInputStream
00051 {
00052   public:
00062     virtual uint32_t read(void* dest, uint32_t count) = 0;
00063
00064     virtual ~PxInputStream()
00065     {
00066     }
00067 };
00068
00075 class PxInputData : public PxInputStream
00076 {
00077   public:
00084     virtual uint32_t getLength() const = 0;
00085
00093     virtual void seek(uint32_t offset) = 0;
00094
00101     virtual uint32_t tell() const = 0;
00102
00103     virtual ~PxInputData()
00104     {
00105     }
00106 };
00107
00114 class PxOutputStream
00115 {
00116   public:
00126     virtual uint32_t write(const void* src, uint32_t count) = 0;
00127
00128     virtual ~PxOutputStream()
00129     {
00130     }
00131 };
00132
00133 #if !PX_DOXYGEN
00134 } // namespace physx
00135 #endif
00136
00138 #endif // #ifndef PXFOUNDATION_PXIO_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxJoint.h Source File

PxJoint.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_JOINTCONSTRAINT_H
00032 #define PX_JOINTCONSTRAINT_H
00033
00037 #include "foundation/PxTransform.h"
00038 #include "PxRigidActor.h"
00039 #include "PxConstraint.h"
00040 #include "common/PxBase.h"
00041
00042 #if !PX_DOXYGEN
00043 namespace physx
00044 {
00045 #endif
00046
00047 class PxRigidActor;
00048 class PxScene;
00049 class PxPhysics;
00050 class PxConstraint;
00051
00057 struct PxJointConcreteType
00058 {
00059     enum Enum
00060     {
00061         eSPHERICAL = PxConcreteType::eFIRST_PHYSX_EXTENSION,
00062         eREVOLUTE,
00063         ePRISMATIC,
00064         eFIXED,
00065         eDISTANCE,
00066         eD6,
00067         eLast
00068     };
00069 };
00070
00071 PX_DEFINE_TYPEINFO(PxJoint,             PxConcreteType::eUNDEFINED)
00072 PX_DEFINE_TYPEINFO(PxD6Joint,           PxJointConcreteType::eD6)
00073 PX_DEFINE_TYPEINFO(PxDistanceJoint,     PxJointConcreteType::eDISTANCE)
00074 PX_DEFINE_TYPEINFO(PxFixedJoint,        PxJointConcreteType::eFIXED)
00075 PX_DEFINE_TYPEINFO(PxPrismaticJoint,    PxJointConcreteType::ePRISMATIC)
00076 PX_DEFINE_TYPEINFO(PxRevoluteJoint,     PxJointConcreteType::eREVOLUTE)
00077 PX_DEFINE_TYPEINFO(PxSphericalJoint,    PxJointConcreteType::eSPHERICAL)
00078
00085 struct PxJointActorIndex
00086 {
00087     enum Enum
00088     {
00089         eACTOR0,
00090         eACTOR1,
00091         COUNT
00092     };
00093 };
00094
00099 class PxJoint : public PxBase
00100 {
00101 //= ATTENTION! =====================================================================================
00102 // Changing the data layout of this class breaks the binary serialization format.  See comments for
00103 // PX_BINARY_SERIAL_VERSION.  If a modification is required, please adjust the getBinaryMetaData
00104 // function.  If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION
00105 // accordingly.
00106 //==================================================================================================
00107 public:
00108
00120     virtual void                setActors(PxRigidActor* actor0, PxRigidActor* actor1)           = 0;
00121
00131     virtual void                getActors(PxRigidActor*& actor0, PxRigidActor*& actor1) const   = 0;
00132
00144     virtual void                setLocalPose(PxJointActorIndex::Enum actor, const PxTransform& localPose) = 0;
00145
00156     virtual PxTransform         getLocalPose(PxJointActorIndex::Enum actor) const = 0;
00157
00158
00166     virtual PxTransform         getRelativeTransform()              const   = 0;
00167
00175     virtual PxVec3              getRelativeLinearVelocity()         const   = 0;
00176
00183     virtual PxVec3              getRelativeAngularVelocity()        const   = 0;
00184
00185
00198     virtual void                setBreakForce(PxReal force, PxReal torque)                      = 0;
00199
00208     virtual void                getBreakForce(PxReal& force, PxReal& torque)            const   = 0;
00209
00217     virtual void                setConstraintFlags(PxConstraintFlags flags)                     = 0;
00218
00227     virtual void                setConstraintFlag(PxConstraintFlag::Enum flag, bool value)      = 0;
00228
00229
00237     virtual PxConstraintFlags   getConstraintFlags()                                    const   = 0;
00238
00239
00240
00248     virtual void                setInvMassScale0(PxReal invMassScale)                           = 0;
00249
00258     virtual PxReal              getInvMassScale0() const                                        = 0;
00259
00268     virtual void                setInvInertiaScale0(PxReal invInertiaScale)                     = 0;
00269
00277     virtual PxReal              getInvInertiaScale0() const                                     = 0;
00278
00279
00287     virtual void                setInvMassScale1(PxReal invMassScale)                           = 0;
00288
00297     virtual PxReal              getInvMassScale1() const                                        = 0;
00298
00307     virtual void                setInvInertiaScale1(PxReal invInertiaScale)                     = 0;
00308
00316     virtual PxReal              getInvInertiaScale1() const                                     = 0;
00317
00318
00327     virtual PxConstraint*       getConstraint()                                         const   = 0;
00328
00340     virtual void                setName(const char* name)                                       = 0;
00341
00350     virtual const char*         getName()                                               const   = 0;
00351
00358     virtual void                release()                                                       = 0;
00359
00360
00361
00369     virtual PxScene*            getScene()                                              const   = 0;
00370
00371     void*                       userData;
00372
00373     //serialization
00374
00378     static  void                getBinaryMetaData(PxOutputStream& stream);
00379
00380     //~serialization
00381
00382 protected:
00383     virtual                     ~PxJoint() {}
00384
00385     //serialization
00386
00390     PX_INLINE                   PxJoint(PxType concreteType, PxBaseFlags baseFlags) : PxBase(concreteType, baseFlags), userData(NULL) {}
00391
00395     PX_INLINE                   PxJoint(PxBaseFlags baseFlags)  : PxBase(baseFlags) {}
00396
00400     virtual bool                isKindOf(const char* name) const { return !::strcmp("PxJoint", name) || PxBase::isKindOf(name); }
00401
00402     //~serialization
00403 };
00404
00405 class PxSpring
00406 {
00407 //= ATTENTION! =====================================================================================
00408 // Changing the data layout of this class breaks the binary serialization format.  See comments for
00409 // PX_BINARY_SERIAL_VERSION.  If a modification is required, please adjust the getBinaryMetaData
00410 // function.  If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION
00411 // accordingly.
00412 //==================================================================================================
00413 public:
00414
00415     PxReal                  stiffness;
00416     PxReal                  damping;
00417
00418     PxSpring(PxReal stiffness_, PxReal damping_): stiffness(stiffness_), damping(damping_) {}
00419 };
00420
00421
00422 #if !PX_DOXYGEN
00423 } // namespace physx
00424 #endif
00425
00440 PX_C_EXPORT void PX_CALL_CONV PxSetJointGlobalFrame(physx::PxJoint& joint, const physx::PxVec3* wsAnchor, const physx::PxVec3* wsAxis);
00441
00443 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxJointLimit.h Source File

PxJointLimit.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_EXTENSIONS_JOINT_LIMIT
00032 #define PX_EXTENSIONS_JOINT_LIMIT
00033
00037 #include "foundation/PxMath.h"
00038 #include "PxPhysXConfig.h"
00039 #include "common/PxTolerancesScale.h"
00040 #include "PxJoint.h"
00041
00042 #if !PX_DOXYGEN
00043 namespace physx
00044 {
00045 #endif
00046
00055 class PxJointLimitParameters
00056 {
00057 //= ATTENTION! =====================================================================================
00058 // Changing the data layout of this class breaks the binary serialization format.  See comments for
00059 // PX_BINARY_SERIAL_VERSION.  If a modification is required, please adjust the getBinaryMetaData
00060 // function.  If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION
00061 // accordingly.
00062 //==================================================================================================
00063 public:
00083     PxReal restitution;
00084
00085
00090     PxReal bounceThreshold;
00097     PxReal stiffness;
00098
00105     PxReal damping;
00106
00123     PxReal contactDistance;
00124
00125
00126
00127     PxJointLimitParameters()
00128     : restitution(0)
00129     , bounceThreshold(0)
00130     , stiffness(0)
00131     , damping(0)
00132     , contactDistance(0)
00133     {
00134     }
00135
00141     PX_INLINE bool isValid() const
00142     {
00143         return  PxIsFinite(restitution) && restitution >= 0 && restitution <= 1 &&
00144                 PxIsFinite(stiffness) && stiffness >= 0 &&
00145                 PxIsFinite(damping) && damping >= 0 &&
00146                 PxIsFinite(bounceThreshold) && bounceThreshold >= 0 &&
00147                 PxIsFinite(contactDistance) && contactDistance >= 0;
00148     }
00149
00150     PX_INLINE bool isSoft() const
00151     {
00152         return damping>0 || stiffness>0;
00153     }
00154
00155 protected:
00156     ~PxJointLimitParameters() {}
00157 };
00158
00159
00163 class PxJointLinearLimit : public PxJointLimitParameters
00164 {
00165 //= ATTENTION! =====================================================================================
00166 // Changing the data layout of this class breaks the binary serialization format.  See comments for
00167 // PX_BINARY_SERIAL_VERSION.  If a modification is required, please adjust the getBinaryMetaData
00168 // function.  If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION
00169 // accordingly.
00170 //==================================================================================================
00171 public:
00178     PxReal value;
00179
00190     PxJointLinearLimit(const PxTolerancesScale& scale, PxReal extent, PxReal contactDist = -1)
00191     : value(extent)
00192     {
00193         PxJointLimitParameters::contactDistance = contactDist == -1 ? 0.01f*scale.length : contactDist;
00194     }
00195
00196
00206     PxJointLinearLimit(PxReal extent, const PxSpring& spring)
00207     : value(extent)
00208     {
00209         stiffness = spring.stiffness;
00210         damping = spring.damping;
00211     }
00212
00213
00214
00220     PX_INLINE bool isValid() const
00221     {
00222         return PxJointLimitParameters::isValid() &&
00223                PxIsFinite(value) &&
00224                value > 0;
00225     }
00226 };
00227
00228
00233 class PxJointLinearLimitPair : public PxJointLimitParameters
00234 {
00235 //= ATTENTION! =====================================================================================
00236 // Changing the data layout of this class breaks the binary serialization format.  See comments for
00237 // PX_BINARY_SERIAL_VERSION.  If a modification is required, please adjust the getBinaryMetaData
00238 // function.  If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION
00239 // accordingly.
00240 //==================================================================================================
00241 public:
00250     PxReal upper, lower;
00251
00252
00264     PxJointLinearLimitPair(const PxTolerancesScale& scale, PxReal lowerLimit, PxReal upperLimit, PxReal contactDist = -1)
00265     : upper(upperLimit)
00266     , lower(lowerLimit)
00267     {
00268         PxJointLimitParameters::contactDistance = contactDist == -1 ? PxMin(scale.length * 0.01f, (upperLimit*0.49f-lowerLimit*0.49f)) : contactDist;
00269         bounceThreshold = 2*scale.length;
00270     }
00271
00272
00283     PxJointLinearLimitPair(PxReal lowerLimit, PxReal upperLimit, const PxSpring& spring)
00284     : upper(upperLimit)
00285     , lower(lowerLimit)
00286     {
00287         stiffness = spring.stiffness;
00288         damping = spring.damping;
00289     }
00290
00291
00297     PX_INLINE bool isValid() const
00298     {
00299         return PxJointLimitParameters::isValid() &&
00300                PxIsFinite(upper) && PxIsFinite(lower) && upper >= lower &&
00301                PxIsFinite(upper - lower) &&
00302                PxIsFinite(contactDistance) && contactDistance <= upper - lower;
00303     }
00304 };
00305
00306
00307 class PxJointAngularLimitPair : public PxJointLimitParameters
00308 {
00309 //= ATTENTION! =====================================================================================
00310 // Changing the data layout of this class breaks the binary serialization format.  See comments for
00311 // PX_BINARY_SERIAL_VERSION.  If a modification is required, please adjust the getBinaryMetaData
00312 // function.  If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION
00313 // accordingly.
00314 //==================================================================================================
00315 public:
00323     PxReal upper, lower;
00324
00325
00338     PxJointAngularLimitPair(PxReal lowerLimit, PxReal upperLimit, PxReal contactDist = -1)
00339     : upper(upperLimit)
00340     , lower(lowerLimit)
00341     {
00342         PxJointLimitParameters::contactDistance = contactDist ==-1 ? PxMin(0.1f, 0.49f*(upperLimit-lowerLimit)) : contactDist;
00343         bounceThreshold = 0.5f;
00344     }
00345
00346
00359     PxJointAngularLimitPair(PxReal lowerLimit, PxReal upperLimit, const PxSpring& spring)
00360     : upper(upperLimit)
00361     , lower(lowerLimit)
00362     {
00363         stiffness = spring.stiffness;
00364         damping = spring.damping;
00365     }
00366
00367
00373     PX_INLINE bool isValid() const
00374     {
00375         return PxJointLimitParameters::isValid() &&
00376                PxIsFinite(upper) && PxIsFinite(lower) && upper >= lower &&
00377                PxIsFinite(contactDistance) && contactDistance <= upper - lower;
00378     }
00379 };
00380
00381
00382
00390 class PxJointLimitCone : public PxJointLimitParameters
00391 {
00392 //= ATTENTION! =====================================================================================
00393 // Changing the data layout of this class breaks the binary serialization format.  See comments for
00394 // PX_BINARY_SERIAL_VERSION.  If a modification is required, please adjust the getBinaryMetaData
00395 // function.  If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION
00396 // accordingly.
00397 //==================================================================================================
00398 public:
00406     PxReal yAngle;
00407
00408
00416     PxReal zAngle;
00417
00428     PxJointLimitCone(PxReal yLimitAngle, PxReal zLimitAngle, PxReal contactDist = -1):
00429       yAngle(yLimitAngle),
00430       zAngle(zLimitAngle)
00431       {
00432             PxJointLimitParameters::contactDistance = contactDist == -1 ? PxMin(0.1f, PxMin(yLimitAngle, zLimitAngle)*0.49f) : contactDist;
00433             bounceThreshold = 0.5f;
00434       }
00435
00436
00437
00448       PxJointLimitCone(PxReal yLimitAngle, PxReal zLimitAngle, const PxSpring& spring):
00449       yAngle(yLimitAngle),
00450       zAngle(zLimitAngle)
00451       {
00452           stiffness = spring.stiffness;
00453           damping = spring.damping;
00454       }
00455
00456
00462     PX_INLINE bool isValid() const
00463     {
00464         return PxJointLimitParameters::isValid() &&
00465                PxIsFinite(yAngle) && yAngle>0 && yAngle<PxPi &&
00466                PxIsFinite(zAngle) && zAngle>0 && zAngle<PxPi;
00467     }
00468 };
00469
00470 #if !PX_DOXYGEN
00471 } // namespace physx
00472 #endif
00473
00475 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxLockedData.h Source File

PxLockedData.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_LOCKED_DATA
00032 #define PX_PHYSICS_NX_LOCKED_DATA
00033
00037 #include "PxPhysXConfig.h"
00038 #include "foundation/PxFlags.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00045 struct PxDataAccessFlag
00046 {
00047     enum Enum
00048     {
00049         eREADABLE = (1 << 0),
00050         eWRITABLE = (1 << 1),
00051         eDEVICE   = (1 << 2)
00052     };
00053 };
00054
00060 typedef PxFlags<PxDataAccessFlag::Enum,PxU8> PxDataAccessFlags;
00061 PX_FLAGS_OPERATORS(PxDataAccessFlag::Enum,PxU8)
00062
00063
00064
00067 class PxLockedData
00068 {
00069 public:
00070
00075     virtual PxDataAccessFlags getDataAccessFlags() = 0;
00076
00080     virtual void unlock() = 0;
00081
00085     virtual ~PxLockedData() {}
00086 };
00087
00088 #if !PX_DOXYGEN
00089 } // namespace physx
00090 #endif
00091
00093 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMassProperties.h Source File

PxMassProperties.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_EXTENSIONS_MASS_PROPERTIES_H
00032 #define PX_PHYSICS_EXTENSIONS_MASS_PROPERTIES_H
00033
00037 #include "PxPhysXConfig.h"
00038 #include "foundation/PxMath.h"
00039 #include "foundation/PxMathUtils.h"
00040 #include "foundation/PxVec3.h"
00041 #include "foundation/PxMat33.h"
00042 #include "foundation/PxQuat.h"
00043 #include "foundation/PxTransform.h"
00044 #include "geometry/PxGeometry.h"
00045 #include "geometry/PxBoxGeometry.h"
00046 #include "geometry/PxSphereGeometry.h"
00047 #include "geometry/PxCapsuleGeometry.h"
00048 #include "geometry/PxConvexMeshGeometry.h"
00049 #include "geometry/PxConvexMesh.h"
00050
00051 #if !PX_DOXYGEN
00052 namespace physx
00053 {
00054 #endif
00055
00063 class PxMassProperties
00064 {
00065 public:
00069     PX_FORCE_INLINE PxMassProperties() : inertiaTensor(PxIdentity), centerOfMass(0.0f), mass(1.0f) {}
00070
00074     PX_FORCE_INLINE PxMassProperties(const PxReal m, const PxMat33& inertiaT, const PxVec3& com) : inertiaTensor(inertiaT), centerOfMass(com), mass(m) {}
00075
00083     PxMassProperties(const PxGeometry& geometry)
00084     {
00085         switch (geometry.getType())
00086         {
00087             case PxGeometryType::eSPHERE:
00088             {
00089                 const PxSphereGeometry& s = static_cast<const PxSphereGeometry&>(geometry);
00090                 mass = (4.0f / 3.0f) * PxPi * s.radius * s.radius * s.radius;
00091                 inertiaTensor = PxMat33::createDiagonal(PxVec3(2.0f / 5.0f * mass * s.radius * s.radius));
00092                 centerOfMass = PxVec3(0.0f);
00093             }
00094             break;
00095
00096             case PxGeometryType::eBOX:
00097             {
00098                 const PxBoxGeometry& b = static_cast<const PxBoxGeometry&>(geometry);
00099                 mass = b.halfExtents.x * b.halfExtents.y * b.halfExtents.z * 8.0f;
00100                 PxVec3 d2 = b.halfExtents.multiply(b.halfExtents);
00101                 inertiaTensor = PxMat33::createDiagonal(PxVec3(d2.y + d2.z, d2.x + d2.z, d2.x + d2.y)) * (mass * 1.0f / 3.0f);
00102                 centerOfMass = PxVec3(0.0f);
00103             }
00104             break;
00105
00106             case PxGeometryType::eCAPSULE:
00107             {
00108                 const PxCapsuleGeometry& c = static_cast<const PxCapsuleGeometry&>(geometry);
00109                 PxReal r = c.radius, h = c.halfHeight;
00110                 mass = ((4.0f / 3.0f) * r + 2 * c.halfHeight) * PxPi * r * r;
00111
00112                 PxReal a = r*r*r * (8.0f / 15.0f) + h*r*r * (3.0f / 2.0f) + h*h*r * (4.0f / 3.0f) + h*h*h * (2.0f / 3.0f);
00113                 PxReal b = r*r*r * (8.0f / 15.0f) + h*r*r;
00114                 inertiaTensor = PxMat33::createDiagonal(PxVec3(b, a, a) * PxPi * r * r);
00115                 centerOfMass = PxVec3(0.0f);
00116             }
00117             break;
00118
00119             case PxGeometryType::eCONVEXMESH:
00120             {
00121                 const PxConvexMeshGeometry& c = static_cast<const PxConvexMeshGeometry&>(geometry);
00122                 PxVec3 unscaledCoM;
00123                 PxMat33 unscaledInertiaTensorNonCOM; // inertia tensor of convex mesh in mesh local space
00124                 PxMat33 unscaledInertiaTensorCOM;
00125                 PxReal unscaledMass;
00126                 c.convexMesh->getMassInformation(unscaledMass, unscaledInertiaTensorNonCOM, unscaledCoM);
00127
00128                 // inertia tensor relative to center of mass
00129                 unscaledInertiaTensorCOM[0][0] = unscaledInertiaTensorNonCOM[0][0] - unscaledMass*PxReal((unscaledCoM.y*unscaledCoM.y+unscaledCoM.z*unscaledCoM.z));
00130                 unscaledInertiaTensorCOM[1][1] = unscaledInertiaTensorNonCOM[1][1] - unscaledMass*PxReal((unscaledCoM.z*unscaledCoM.z+unscaledCoM.x*unscaledCoM.x));
00131                 unscaledInertiaTensorCOM[2][2] = unscaledInertiaTensorNonCOM[2][2] - unscaledMass*PxReal((unscaledCoM.x*unscaledCoM.x+unscaledCoM.y*unscaledCoM.y));
00132                 unscaledInertiaTensorCOM[0][1] = unscaledInertiaTensorCOM[1][0] = (unscaledInertiaTensorNonCOM[0][1] + unscaledMass*PxReal(unscaledCoM.x*unscaledCoM.y));
00133                 unscaledInertiaTensorCOM[1][2] = unscaledInertiaTensorCOM[2][1] = (unscaledInertiaTensorNonCOM[1][2] + unscaledMass*PxReal(unscaledCoM.y*unscaledCoM.z));
00134                 unscaledInertiaTensorCOM[0][2] = unscaledInertiaTensorCOM[2][0] = (unscaledInertiaTensorNonCOM[0][2] + unscaledMass*PxReal(unscaledCoM.z*unscaledCoM.x));
00135
00136                 const PxMeshScale& s = c.scale;
00137                 mass = unscaledMass * s.scale.x * s.scale.y * s.scale.z;
00138                 centerOfMass = s.rotation.rotate(s.scale.multiply(s.rotation.rotateInv(unscaledCoM)));
00139                 inertiaTensor = scaleInertia(unscaledInertiaTensorCOM, s.rotation, s.scale);
00140             }
00141             break;
00142
00143             case PxGeometryType::eHEIGHTFIELD:
00144             case PxGeometryType::ePLANE:
00145             case PxGeometryType::eTRIANGLEMESH:
00146             case PxGeometryType::eINVALID:
00147             case PxGeometryType::eGEOMETRY_COUNT:
00148             {
00149                 *this = PxMassProperties();
00150             }
00151             break;
00152         }
00153
00154         PX_ASSERT(inertiaTensor.column0.isFinite() && inertiaTensor.column1.isFinite() && inertiaTensor.column2.isFinite());
00155         PX_ASSERT(centerOfMass.isFinite());
00156         PX_ASSERT(PxIsFinite(mass));
00157     }
00158
00165     PX_FORCE_INLINE PxMassProperties operator*(const PxReal scale) const
00166     {
00167         PX_ASSERT(PxIsFinite(scale));
00168
00169         return PxMassProperties(mass * scale, inertiaTensor * scale, centerOfMass);
00170     }
00171
00177     PX_FORCE_INLINE void translate(const PxVec3& t)
00178     {
00179         PX_ASSERT(t.isFinite());
00180
00181         inertiaTensor = translateInertia(inertiaTensor, mass, t);
00182         centerOfMass += t;
00183
00184         PX_ASSERT(inertiaTensor.column0.isFinite() && inertiaTensor.column1.isFinite() && inertiaTensor.column2.isFinite());
00185         PX_ASSERT(centerOfMass.isFinite());
00186     }
00187
00195     PX_FORCE_INLINE static PxVec3 getMassSpaceInertia(const PxMat33& inertia, PxQuat& massFrame)
00196     {
00197         PX_ASSERT(inertia.column0.isFinite() && inertia.column1.isFinite() && inertia.column2.isFinite());
00198
00199         PxVec3 diagT = PxDiagonalize(inertia, massFrame);
00200         PX_ASSERT(diagT.isFinite());
00201         PX_ASSERT(massFrame.isFinite());
00202         return diagT;
00203     }
00204
00213     PX_FORCE_INLINE static PxMat33 translateInertia(const PxMat33& inertia, const PxReal mass, const PxVec3& t)
00214     {
00215         PX_ASSERT(inertia.column0.isFinite() && inertia.column1.isFinite() && inertia.column2.isFinite());
00216         PX_ASSERT(PxIsFinite(mass));
00217         PX_ASSERT(t.isFinite());
00218
00219         PxMat33 s(  PxVec3(0,t.z,-t.y),
00220                     PxVec3(-t.z,0,t.x),
00221                     PxVec3(t.y,-t.x,0) );
00222
00223         PxMat33 translatedIT = s.getTranspose() * s * mass + inertia;
00224         PX_ASSERT(translatedIT.column0.isFinite() && translatedIT.column1.isFinite() && translatedIT.column2.isFinite());
00225         return translatedIT;
00226     }
00227
00235     PX_FORCE_INLINE static PxMat33 rotateInertia(const PxMat33& inertia, const PxQuat& q)
00236     {
00237         PX_ASSERT(inertia.column0.isFinite() && inertia.column1.isFinite() && inertia.column2.isFinite());
00238         PX_ASSERT(q.isUnit());
00239
00240         PxMat33 m(q);
00241         PxMat33 rotatedIT = m * inertia * m.getTranspose();
00242         PX_ASSERT(rotatedIT.column0.isFinite() && rotatedIT.column1.isFinite() && rotatedIT.column2.isFinite());
00243         return rotatedIT;
00244     }
00245
00254     static PxMat33 scaleInertia(const PxMat33& inertia, const PxQuat& scaleRotation, const PxVec3& scale)
00255     {
00256         PX_ASSERT(inertia.column0.isFinite() && inertia.column1.isFinite() && inertia.column2.isFinite());
00257         PX_ASSERT(scaleRotation.isUnit());
00258         PX_ASSERT(scale.isFinite());
00259
00260         PxMat33 localInertiaT = rotateInertia(inertia, scaleRotation); // rotate inertia into scaling frame
00261         PxVec3 diagonal(localInertiaT[0][0], localInertiaT[1][1], localInertiaT[2][2]);
00262
00263         PxVec3 xyz2 = PxVec3(diagonal.dot(PxVec3(0.5f))) - diagonal; // original x^2, y^2, z^2
00264         PxVec3 scaledxyz2 = xyz2.multiply(scale).multiply(scale);
00265
00266         PxReal  xx = scaledxyz2.y + scaledxyz2.z,
00267                 yy = scaledxyz2.z + scaledxyz2.x,
00268                 zz = scaledxyz2.x + scaledxyz2.y;
00269
00270         PxReal  xy = localInertiaT[0][1] * scale.x * scale.y,
00271                 xz = localInertiaT[0][2] * scale.x * scale.z,
00272                 yz = localInertiaT[1][2] * scale.y * scale.z;
00273
00274         PxMat33 scaledInertia(  PxVec3(xx, xy, xz),
00275                                 PxVec3(xy, yy, yz),
00276                                 PxVec3(xz, yz, zz));
00277
00278         PxMat33 scaledIT = rotateInertia(scaledInertia * (scale.x * scale.y * scale.z), scaleRotation.getConjugate());
00279         PX_ASSERT(scaledIT.column0.isFinite() && scaledIT.column1.isFinite() && scaledIT.column2.isFinite());
00280         return scaledIT;
00281     }
00282
00291     static PxMassProperties sum(const PxMassProperties* props, const PxTransform* transforms, const PxU32 count)
00292     {
00293         PxReal combinedMass = 0.0f;
00294         PxVec3 combinedCoM(0.0f);
00295         PxMat33 combinedInertiaT = PxMat33(PxZero);
00296
00297         for(PxU32 i = 0; i < count; i++)
00298         {
00299             PX_ASSERT(props[i].inertiaTensor.column0.isFinite() && props[i].inertiaTensor.column1.isFinite() && props[i].inertiaTensor.column2.isFinite());
00300             PX_ASSERT(props[i].centerOfMass.isFinite());
00301             PX_ASSERT(PxIsFinite(props[i].mass));
00302
00303             combinedMass += props[i].mass;
00304             const PxVec3 comTm = transforms[i].transform(props[i].centerOfMass);
00305             combinedCoM += comTm * props[i].mass;
00306         }
00307
00308         combinedCoM /= combinedMass;
00309
00310         for(PxU32 i = 0; i < count; i++)
00311         {
00312             const PxVec3 comTm = transforms[i].transform(props[i].centerOfMass);
00313             combinedInertiaT += translateInertia(rotateInertia(props[i].inertiaTensor, transforms[i].q), props[i].mass, combinedCoM - comTm);
00314         }
00315
00316         PX_ASSERT(combinedInertiaT.column0.isFinite() && combinedInertiaT.column1.isFinite() && combinedInertiaT.column2.isFinite());
00317         PX_ASSERT(combinedCoM.isFinite());
00318         PX_ASSERT(PxIsFinite(combinedMass));
00319
00320         return PxMassProperties(combinedMass, combinedInertiaT, combinedCoM);
00321     }
00322
00323
00324     PxMat33 inertiaTensor;
00325     PxVec3  centerOfMass;
00326     PxReal  mass;
00327 };
00328
00329 #if !PX_DOXYGEN
00330 } // namespace physx
00331 #endif
00332
00334 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMat33.h Source File

PxMat33.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PXFOUNDATION_PXMAT33_H
00031 #define PXFOUNDATION_PXMAT33_H
00032
00036 #include "foundation/PxVec3.h"
00037 #include "foundation/PxQuat.h"
00038
00039 #if !PX_DOXYGEN
00040 namespace physx
00041 {
00042 #endif
00043
00090 class PxMat33
00091 {
00092   public:
00094     PX_CUDA_CALLABLE PX_FORCE_INLINE PxMat33()
00095     {
00096     }
00097
00099     PX_CUDA_CALLABLE PX_INLINE PxMat33(PxIDENTITY r)
00100     : column0(1.0f, 0.0f, 0.0f), column1(0.0f, 1.0f, 0.0f), column2(0.0f, 0.0f, 1.0f)
00101     {
00102         PX_UNUSED(r);
00103     }
00104
00106     PX_CUDA_CALLABLE PX_INLINE PxMat33(PxZERO r) : column0(0.0f), column1(0.0f), column2(0.0f)
00107     {
00108         PX_UNUSED(r);
00109     }
00110
00112     PX_CUDA_CALLABLE PxMat33(const PxVec3& col0, const PxVec3& col1, const PxVec3& col2)
00113     : column0(col0), column1(col1), column2(col2)
00114     {
00115     }
00116
00118     explicit PX_CUDA_CALLABLE PX_INLINE PxMat33(float r)
00119     : column0(r, 0.0f, 0.0f), column1(0.0f, r, 0.0f), column2(0.0f, 0.0f, r)
00120     {
00121     }
00122
00124     explicit PX_CUDA_CALLABLE PX_INLINE PxMat33(float values[])
00125     : column0(values[0], values[1], values[2])
00126     , column1(values[3], values[4], values[5])
00127     , column2(values[6], values[7], values[8])
00128     {
00129     }
00130
00132     explicit PX_CUDA_CALLABLE PX_FORCE_INLINE PxMat33(const PxQuat& q)
00133     {
00134         const float x = q.x;
00135         const float y = q.y;
00136         const float z = q.z;
00137         const float w = q.w;
00138
00139         const float x2 = x + x;
00140         const float y2 = y + y;
00141         const float z2 = z + z;
00142
00143         const float xx = x2 * x;
00144         const float yy = y2 * y;
00145         const float zz = z2 * z;
00146
00147         const float xy = x2 * y;
00148         const float xz = x2 * z;
00149         const float xw = x2 * w;
00150
00151         const float yz = y2 * z;
00152         const float yw = y2 * w;
00153         const float zw = z2 * w;
00154
00155         column0 = PxVec3(1.0f - yy - zz, xy + zw, xz - yw);
00156         column1 = PxVec3(xy - zw, 1.0f - xx - zz, yz + xw);
00157         column2 = PxVec3(xz + yw, yz - xw, 1.0f - xx - yy);
00158     }
00159
00161     PX_CUDA_CALLABLE PX_INLINE PxMat33(const PxMat33& other)
00162     : column0(other.column0), column1(other.column1), column2(other.column2)
00163     {
00164     }
00165
00167     PX_CUDA_CALLABLE PX_FORCE_INLINE PxMat33& operator=(const PxMat33& other)
00168     {
00169         column0 = other.column0;
00170         column1 = other.column1;
00171         column2 = other.column2;
00172         return *this;
00173     }
00174
00176     PX_CUDA_CALLABLE PX_INLINE static const PxMat33 createDiagonal(const PxVec3& d)
00177     {
00178         return PxMat33(PxVec3(d.x, 0.0f, 0.0f), PxVec3(0.0f, d.y, 0.0f), PxVec3(0.0f, 0.0f, d.z));
00179     }
00180
00184     PX_CUDA_CALLABLE PX_INLINE bool operator==(const PxMat33& m) const
00185     {
00186         return column0 == m.column0 && column1 == m.column1 && column2 == m.column2;
00187     }
00188
00190     PX_CUDA_CALLABLE PX_FORCE_INLINE const PxMat33 getTranspose() const
00191     {
00192         const PxVec3 v0(column0.x, column1.x, column2.x);
00193         const PxVec3 v1(column0.y, column1.y, column2.y);
00194         const PxVec3 v2(column0.z, column1.z, column2.z);
00195
00196         return PxMat33(v0, v1, v2);
00197     }
00198
00200     PX_CUDA_CALLABLE PX_INLINE const PxMat33 getInverse() const
00201     {
00202         const float det = getDeterminant();
00203         PxMat33 inverse;
00204
00205         if(det != 0)
00206         {
00207             const float invDet = 1.0f / det;
00208
00209             inverse.column0.x = invDet * (column1.y * column2.z - column2.y * column1.z);
00210             inverse.column0.y = invDet * -(column0.y * column2.z - column2.y * column0.z);
00211             inverse.column0.z = invDet * (column0.y * column1.z - column0.z * column1.y);
00212
00213             inverse.column1.x = invDet * -(column1.x * column2.z - column1.z * column2.x);
00214             inverse.column1.y = invDet * (column0.x * column2.z - column0.z * column2.x);
00215             inverse.column1.z = invDet * -(column0.x * column1.z - column0.z * column1.x);
00216
00217             inverse.column2.x = invDet * (column1.x * column2.y - column1.y * column2.x);
00218             inverse.column2.y = invDet * -(column0.x * column2.y - column0.y * column2.x);
00219             inverse.column2.z = invDet * (column0.x * column1.y - column1.x * column0.y);
00220
00221             return inverse;
00222         }
00223         else
00224         {
00225             return PxMat33(PxIdentity);
00226         }
00227     }
00228
00230     PX_CUDA_CALLABLE PX_INLINE float getDeterminant() const
00231     {
00232         return column0.dot(column1.cross(column2));
00233     }
00234
00236     PX_CUDA_CALLABLE PX_INLINE const PxMat33 operator-() const
00237     {
00238         return PxMat33(-column0, -column1, -column2);
00239     }
00240
00242     PX_CUDA_CALLABLE PX_INLINE const PxMat33 operator+(const PxMat33& other) const
00243     {
00244         return PxMat33(column0 + other.column0, column1 + other.column1, column2 + other.column2);
00245     }
00246
00248     PX_CUDA_CALLABLE PX_INLINE const PxMat33 operator-(const PxMat33& other) const
00249     {
00250         return PxMat33(column0 - other.column0, column1 - other.column1, column2 - other.column2);
00251     }
00252
00254     PX_CUDA_CALLABLE PX_INLINE const PxMat33 operator*(float scalar) const
00255     {
00256         return PxMat33(column0 * scalar, column1 * scalar, column2 * scalar);
00257     }
00258
00259     friend PxMat33 operator*(float, const PxMat33&);
00260
00262     PX_CUDA_CALLABLE PX_INLINE const PxVec3 operator*(const PxVec3& vec) const
00263     {
00264         return transform(vec);
00265     }
00266
00267     // a <op>= b operators
00268
00270     PX_CUDA_CALLABLE PX_FORCE_INLINE const PxMat33 operator*(const PxMat33& other) const
00271     {
00272         // Rows from this <dot> columns from other
00273         // column0 = transform(other.column0) etc
00274         return PxMat33(transform(other.column0), transform(other.column1), transform(other.column2));
00275     }
00276
00278     PX_CUDA_CALLABLE PX_INLINE PxMat33& operator+=(const PxMat33& other)
00279     {
00280         column0 += other.column0;
00281         column1 += other.column1;
00282         column2 += other.column2;
00283         return *this;
00284     }
00285
00287     PX_CUDA_CALLABLE PX_INLINE PxMat33& operator-=(const PxMat33& other)
00288     {
00289         column0 -= other.column0;
00290         column1 -= other.column1;
00291         column2 -= other.column2;
00292         return *this;
00293     }
00294
00296     PX_CUDA_CALLABLE PX_INLINE PxMat33& operator*=(float scalar)
00297     {
00298         column0 *= scalar;
00299         column1 *= scalar;
00300         column2 *= scalar;
00301         return *this;
00302     }
00303
00305     PX_CUDA_CALLABLE PX_INLINE PxMat33& operator*=(const PxMat33& other)
00306     {
00307         *this = *this * other;
00308         return *this;
00309     }
00310
00312     PX_DEPRECATED PX_CUDA_CALLABLE PX_FORCE_INLINE float operator()(unsigned int row, unsigned int col) const
00313     {
00314         return (*this)[col][row];
00315     }
00316
00318     PX_DEPRECATED PX_CUDA_CALLABLE PX_FORCE_INLINE float& operator()(unsigned int row, unsigned int col)
00319     {
00320         return (*this)[col][row];
00321     }
00322
00323     // Transform etc
00324
00326     PX_CUDA_CALLABLE PX_FORCE_INLINE const PxVec3 transform(const PxVec3& other) const
00327     {
00328         return column0 * other.x + column1 * other.y + column2 * other.z;
00329     }
00330
00332     PX_CUDA_CALLABLE PX_INLINE const PxVec3 transformTranspose(const PxVec3& other) const
00333     {
00334         return PxVec3(column0.dot(other), column1.dot(other), column2.dot(other));
00335     }
00336
00337     PX_CUDA_CALLABLE PX_FORCE_INLINE const float* front() const
00338     {
00339         return &column0.x;
00340     }
00341
00342     PX_DEPRECATED PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3& operator[](unsigned int num)
00343     {
00344         return (&column0)[num];
00345     }
00346     PX_DEPRECATED PX_CUDA_CALLABLE PX_FORCE_INLINE const PxVec3& operator[](unsigned int num) const
00347     {
00348         return (&column0)[num];
00349     }
00350
00351     // Data, see above for format!
00352
00353     PxVec3 column0, column1, column2; // the three base vectors
00354 };
00355
00356 // implementation from PxQuat.h
00357 PX_CUDA_CALLABLE PX_INLINE PxQuat::PxQuat(const PxMat33& m)
00358 {
00359     if(m.column2.z < 0)
00360     {
00361         if(m.column0.x > m.column1.y)
00362         {
00363             float t = 1 + m.column0.x - m.column1.y - m.column2.z;
00364             *this = PxQuat(t, m.column0.y + m.column1.x, m.column2.x + m.column0.z, m.column1.z - m.column2.y) *
00365                     (0.5f / PxSqrt(t));
00366         }
00367         else
00368         {
00369             float t = 1 - m.column0.x + m.column1.y - m.column2.z;
00370             *this = PxQuat(m.column0.y + m.column1.x, t, m.column1.z + m.column2.y, m.column2.x - m.column0.z) *
00371                     (0.5f / PxSqrt(t));
00372         }
00373     }
00374     else
00375     {
00376         if(m.column0.x < -m.column1.y)
00377         {
00378             float t = 1 - m.column0.x - m.column1.y + m.column2.z;
00379             *this = PxQuat(m.column2.x + m.column0.z, m.column1.z + m.column2.y, t, m.column0.y - m.column1.x) *
00380                     (0.5f / PxSqrt(t));
00381         }
00382         else
00383         {
00384             float t = 1 + m.column0.x + m.column1.y + m.column2.z;
00385             *this = PxQuat(m.column1.z - m.column2.y, m.column2.x - m.column0.z, m.column0.y - m.column1.x, t) *
00386                     (0.5f / PxSqrt(t));
00387         }
00388     }
00389 }
00390
00391 #if !PX_DOXYGEN
00392 } // namespace physx
00393 #endif
00394
00396 #endif // #ifndef PXFOUNDATION_PXMAT33_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMat44.h Source File

PxMat44.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PXFOUNDATION_PXMAT44_H
00031 #define PXFOUNDATION_PXMAT44_H
00032
00036 #include "foundation/PxQuat.h"
00037 #include "foundation/PxVec4.h"
00038 #include "foundation/PxMat33.h"
00039 #include "foundation/PxTransform.h"
00040
00041 #if !PX_DOXYGEN
00042 namespace physx
00043 {
00044 #endif
00045
00054 class PxMat44
00055 {
00056   public:
00058     PX_CUDA_CALLABLE PX_INLINE PxMat44()
00059     {
00060     }
00061
00063     PX_CUDA_CALLABLE PX_INLINE PxMat44(PxIDENTITY r)
00064     : column0(1.0f, 0.0f, 0.0f, 0.0f)
00065     , column1(0.0f, 1.0f, 0.0f, 0.0f)
00066     , column2(0.0f, 0.0f, 1.0f, 0.0f)
00067     , column3(0.0f, 0.0f, 0.0f, 1.0f)
00068     {
00069         PX_UNUSED(r);
00070     }
00071
00073     PX_CUDA_CALLABLE PX_INLINE PxMat44(PxZERO r) : column0(PxZero), column1(PxZero), column2(PxZero), column3(PxZero)
00074     {
00075         PX_UNUSED(r);
00076     }
00077
00079     PX_CUDA_CALLABLE PxMat44(const PxVec4& col0, const PxVec4& col1, const PxVec4& col2, const PxVec4& col3)
00080     : column0(col0), column1(col1), column2(col2), column3(col3)
00081     {
00082     }
00083
00085     explicit PX_CUDA_CALLABLE PX_INLINE PxMat44(float r)
00086     : column0(r, 0.0f, 0.0f, 0.0f)
00087     , column1(0.0f, r, 0.0f, 0.0f)
00088     , column2(0.0f, 0.0f, r, 0.0f)
00089     , column3(0.0f, 0.0f, 0.0f, r)
00090     {
00091     }
00092
00094     PX_CUDA_CALLABLE PxMat44(const PxVec3& col0, const PxVec3& col1, const PxVec3& col2, const PxVec3& col3)
00095     : column0(col0, 0), column1(col1, 0), column2(col2, 0), column3(col3, 1.0f)
00096     {
00097     }
00098
00100     explicit PX_CUDA_CALLABLE PX_INLINE PxMat44(float values[])
00101     : column0(values[0], values[1], values[2], values[3])
00102     , column1(values[4], values[5], values[6], values[7])
00103     , column2(values[8], values[9], values[10], values[11])
00104     , column3(values[12], values[13], values[14], values[15])
00105     {
00106     }
00107
00109     explicit PX_CUDA_CALLABLE PX_INLINE PxMat44(const PxQuat& q)
00110     {
00111         const float x = q.x;
00112         const float y = q.y;
00113         const float z = q.z;
00114         const float w = q.w;
00115
00116         const float x2 = x + x;
00117         const float y2 = y + y;
00118         const float z2 = z + z;
00119
00120         const float xx = x2 * x;
00121         const float yy = y2 * y;
00122         const float zz = z2 * z;
00123
00124         const float xy = x2 * y;
00125         const float xz = x2 * z;
00126         const float xw = x2 * w;
00127
00128         const float yz = y2 * z;
00129         const float yw = y2 * w;
00130         const float zw = z2 * w;
00131
00132         column0 = PxVec4(1.0f - yy - zz, xy + zw, xz - yw, 0.0f);
00133         column1 = PxVec4(xy - zw, 1.0f - xx - zz, yz + xw, 0.0f);
00134         column2 = PxVec4(xz + yw, yz - xw, 1.0f - xx - yy, 0.0f);
00135         column3 = PxVec4(0.0f, 0.0f, 0.0f, 1.0f);
00136     }
00137
00139     explicit PX_CUDA_CALLABLE PX_INLINE PxMat44(const PxVec4& diagonal)
00140     : column0(diagonal.x, 0.0f, 0.0f, 0.0f)
00141     , column1(0.0f, diagonal.y, 0.0f, 0.0f)
00142     , column2(0.0f, 0.0f, diagonal.z, 0.0f)
00143     , column3(0.0f, 0.0f, 0.0f, diagonal.w)
00144     {
00145     }
00146
00148     PX_CUDA_CALLABLE PxMat44(const PxMat33& axes, const PxVec3& position)
00149     : column0(axes.column0, 0.0f), column1(axes.column1, 0.0f), column2(axes.column2, 0.0f), column3(position, 1.0f)
00150     {
00151     }
00152
00153     PX_CUDA_CALLABLE PxMat44(const PxTransform& t)
00154     {
00155         *this = PxMat44(PxMat33(t.q), t.p);
00156     }
00157
00161     PX_CUDA_CALLABLE PX_INLINE bool operator==(const PxMat44& m) const
00162     {
00163         return column0 == m.column0 && column1 == m.column1 && column2 == m.column2 && column3 == m.column3;
00164     }
00165
00167     PX_CUDA_CALLABLE PX_INLINE PxMat44(const PxMat44& other)
00168     : column0(other.column0), column1(other.column1), column2(other.column2), column3(other.column3)
00169     {
00170     }
00171
00173     PX_CUDA_CALLABLE PX_INLINE PxMat44& operator=(const PxMat44& other)
00174     {
00175         column0 = other.column0;
00176         column1 = other.column1;
00177         column2 = other.column2;
00178         column3 = other.column3;
00179         return *this;
00180     }
00181
00183     PX_CUDA_CALLABLE PX_INLINE const PxMat44 getTranspose() const
00184     {
00185         return PxMat44(
00186             PxVec4(column0.x, column1.x, column2.x, column3.x), PxVec4(column0.y, column1.y, column2.y, column3.y),
00187             PxVec4(column0.z, column1.z, column2.z, column3.z), PxVec4(column0.w, column1.w, column2.w, column3.w));
00188     }
00189
00191     PX_CUDA_CALLABLE PX_INLINE const PxMat44 operator-() const
00192     {
00193         return PxMat44(-column0, -column1, -column2, -column3);
00194     }
00195
00197     PX_CUDA_CALLABLE PX_INLINE const PxMat44 operator+(const PxMat44& other) const
00198     {
00199         return PxMat44(column0 + other.column0, column1 + other.column1, column2 + other.column2,
00200                        column3 + other.column3);
00201     }
00202
00204     PX_CUDA_CALLABLE PX_INLINE const PxMat44 operator-(const PxMat44& other) const
00205     {
00206         return PxMat44(column0 - other.column0, column1 - other.column1, column2 - other.column2,
00207                        column3 - other.column3);
00208     }
00209
00211     PX_CUDA_CALLABLE PX_INLINE const PxMat44 operator*(float scalar) const
00212     {
00213         return PxMat44(column0 * scalar, column1 * scalar, column2 * scalar, column3 * scalar);
00214     }
00215
00216     friend PxMat44 operator*(float, const PxMat44&);
00217
00219     PX_CUDA_CALLABLE PX_INLINE const PxMat44 operator*(const PxMat44& other) const
00220     {
00221         // Rows from this <dot> columns from other
00222         // column0 = transform(other.column0) etc
00223         return PxMat44(transform(other.column0), transform(other.column1), transform(other.column2),
00224                        transform(other.column3));
00225     }
00226
00227     // a <op>= b operators
00228
00230     PX_CUDA_CALLABLE PX_INLINE PxMat44& operator+=(const PxMat44& other)
00231     {
00232         column0 += other.column0;
00233         column1 += other.column1;
00234         column2 += other.column2;
00235         column3 += other.column3;
00236         return *this;
00237     }
00238
00240     PX_CUDA_CALLABLE PX_INLINE PxMat44& operator-=(const PxMat44& other)
00241     {
00242         column0 -= other.column0;
00243         column1 -= other.column1;
00244         column2 -= other.column2;
00245         column3 -= other.column3;
00246         return *this;
00247     }
00248
00250     PX_CUDA_CALLABLE PX_INLINE PxMat44& operator*=(float scalar)
00251     {
00252         column0 *= scalar;
00253         column1 *= scalar;
00254         column2 *= scalar;
00255         column3 *= scalar;
00256         return *this;
00257     }
00258
00260     PX_CUDA_CALLABLE PX_INLINE PxMat44& operator*=(const PxMat44& other)
00261     {
00262         *this = *this * other;
00263         return *this;
00264     }
00265
00267     PX_DEPRECATED PX_CUDA_CALLABLE PX_FORCE_INLINE float operator()(unsigned int row, unsigned int col) const
00268     {
00269         return (*this)[col][row];
00270     }
00271
00273     PX_DEPRECATED PX_CUDA_CALLABLE PX_FORCE_INLINE float& operator()(unsigned int row, unsigned int col)
00274     {
00275         return (*this)[col][row];
00276     }
00277
00279     PX_CUDA_CALLABLE PX_INLINE const PxVec4 transform(const PxVec4& other) const
00280     {
00281         return column0 * other.x + column1 * other.y + column2 * other.z + column3 * other.w;
00282     }
00283
00285     PX_CUDA_CALLABLE PX_INLINE const PxVec3 transform(const PxVec3& other) const
00286     {
00287         return transform(PxVec4(other, 1.0f)).getXYZ();
00288     }
00289
00291     PX_CUDA_CALLABLE PX_INLINE const PxVec4 rotate(const PxVec4& other) const
00292     {
00293         return column0 * other.x + column1 * other.y + column2 * other.z; // + column3*0;
00294     }
00295
00297     PX_CUDA_CALLABLE PX_INLINE const PxVec3 rotate(const PxVec3& other) const
00298     {
00299         return rotate(PxVec4(other, 1.0f)).getXYZ();
00300     }
00301
00302     PX_CUDA_CALLABLE PX_INLINE const PxVec3 getBasis(int num) const
00303     {
00304         PX_ASSERT(num >= 0 && num < 3);
00305         return (&column0)[num].getXYZ();
00306     }
00307
00308     PX_CUDA_CALLABLE PX_INLINE const PxVec3 getPosition() const
00309     {
00310         return column3.getXYZ();
00311     }
00312
00313     PX_CUDA_CALLABLE PX_INLINE void setPosition(const PxVec3& position)
00314     {
00315         column3.x = position.x;
00316         column3.y = position.y;
00317         column3.z = position.z;
00318     }
00319
00320     PX_CUDA_CALLABLE PX_FORCE_INLINE const float* front() const
00321     {
00322         return &column0.x;
00323     }
00324
00325     PX_DEPRECATED PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec4& operator[](unsigned int num)
00326     {
00327         return (&column0)[num];
00328     }
00329     PX_DEPRECATED PX_CUDA_CALLABLE PX_FORCE_INLINE const PxVec4& operator[](unsigned int num) const
00330     {
00331         return (&column0)[num];
00332     }
00333
00334     PX_CUDA_CALLABLE PX_INLINE void scale(const PxVec4& p)
00335     {
00336         column0 *= p.x;
00337         column1 *= p.y;
00338         column2 *= p.z;
00339         column3 *= p.w;
00340     }
00341
00342     PX_CUDA_CALLABLE PX_INLINE const PxMat44 inverseRT(void) const
00343     {
00344         PxVec3 r0(column0.x, column1.x, column2.x), r1(column0.y, column1.y, column2.y),
00345             r2(column0.z, column1.z, column2.z);
00346
00347         return PxMat44(r0, r1, r2, -(r0 * column3.x + r1 * column3.y + r2 * column3.z));
00348     }
00349
00350     PX_CUDA_CALLABLE PX_INLINE bool isFinite() const
00351     {
00352         return column0.isFinite() && column1.isFinite() && column2.isFinite() && column3.isFinite();
00353     }
00354
00355     // Data, see above for format!
00356
00357     PxVec4 column0, column1, column2, column3; // the four base vectors
00358 };
00359
00360 // implementation from PxTransform.h
00361 PX_CUDA_CALLABLE PX_FORCE_INLINE PxTransform::PxTransform(const PxMat44& m)
00362 {
00363     PxVec3 column0 = PxVec3(m.column0.x, m.column0.y, m.column0.z);
00364     PxVec3 column1 = PxVec3(m.column1.x, m.column1.y, m.column1.z);
00365     PxVec3 column2 = PxVec3(m.column2.x, m.column2.y, m.column2.z);
00366
00367     q = PxQuat(PxMat33(column0, column1, column2));
00368     p = PxVec3(m.column3.x, m.column3.y, m.column3.z);
00369 }
00370
00371 #if !PX_DOXYGEN
00372 } // namespace physx
00373 #endif
00374
00376 #endif // #ifndef PXFOUNDATION_PXMAT44_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMaterial.h Source File

PxMaterial.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NXMATERIAL
00032 #define PX_PHYSICS_NXMATERIAL
00033
00037 #include "PxPhysXConfig.h"
00038 #include "common/PxBase.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00045 class PxScene;
00046
00052 struct PxMaterialFlag
00053 {
00054     enum Enum
00055     {
00056
00060         eDISABLE_FRICTION = 1 << 0,
00061
00080         eDISABLE_STRONG_FRICTION = 1 << 1
00081     };
00082 };
00083
00089 typedef PxFlags<PxMaterialFlag::Enum,PxU16> PxMaterialFlags;
00090 PX_FLAGS_OPERATORS(PxMaterialFlag::Enum,PxU16)
00091
00092
00093
00112 struct PxCombineMode
00113 {
00114     enum Enum
00115     {
00116         eAVERAGE    = 0,
00117         eMIN        = 1,
00118         eMULTIPLY   = 2,
00119         eMAX        = 3,
00120         eN_VALUES   = 4,
00121         ePAD_32     = 0x7fffffff
00122     };
00123 };
00124
00130 class PxMaterial : public PxBase
00131 {
00132 public:
00133
00139     virtual     void            release() = 0;
00140
00149     virtual PxU32               getReferenceCount() const = 0;
00150
00156     virtual void                acquireReference() = 0;
00157
00169     virtual     void            setDynamicFriction(PxReal coef) = 0;
00170
00178     virtual     PxReal          getDynamicFriction() const = 0;
00179
00191     virtual     void            setStaticFriction(PxReal coef) = 0;
00192
00199     virtual     PxReal          getStaticFriction() const = 0;
00200
00212     virtual     void            setRestitution(PxReal rest) = 0;
00213
00223     virtual     PxReal          getRestitution() const = 0;
00224
00236     virtual     void            setFlag(PxMaterialFlag::Enum flag, bool) = 0;
00237
00238
00247     virtual     void            setFlags( PxMaterialFlags inFlags ) = 0;
00248
00256     virtual     PxMaterialFlags getFlags() const = 0;
00257
00269     virtual     void            setFrictionCombineMode(PxCombineMode::Enum combMode) = 0;
00270
00280     virtual     PxCombineMode::Enum getFrictionCombineMode() const = 0;
00281
00293     virtual     void            setRestitutionCombineMode(PxCombineMode::Enum combMode) = 0;
00294
00304     virtual     PxCombineMode::Enum getRestitutionCombineMode() const = 0;
00305
00306     //public variables:
00307                 void*           userData;
00308
00309     virtual     const char*     getConcreteTypeName() const { return "PxMaterial"; }
00310
00311 protected:
00312     PX_INLINE                   PxMaterial(PxType concreteType, PxBaseFlags baseFlags) : PxBase(concreteType, baseFlags), userData(NULL) {}
00313     PX_INLINE                   PxMaterial(PxBaseFlags baseFlags) : PxBase(baseFlags) {}
00314     virtual                     ~PxMaterial() {}
00315     virtual     bool            isKindOf(const char* name) const { return !::strcmp("PxMaterial", name) || PxBase::isKindOf(name); }
00316
00317 };
00318
00319 #if !PX_DOXYGEN
00320 } // namespace physx
00321 #endif
00322
00324 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMath.h Source File

PxMath.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PXFOUNDATION_PXMATH_H
00031 #define PXFOUNDATION_PXMATH_H
00032
00037 #include "foundation/PxPreprocessor.h"
00038
00039 #if PX_VC
00040 #pragma warning(push)
00041 #pragma warning(disable : 4985) // 'symbol name': attributes not present on previous declaration
00042 #endif
00043 #include <math.h>
00044 #if PX_VC
00045 #pragma warning(pop)
00046 #endif
00047
00048 #include <float.h>
00049 #include "foundation/PxIntrinsics.h"
00050 #include "foundation/PxAssert.h"
00051
00052 #if !PX_DOXYGEN
00053 namespace physx
00054 {
00055 #endif
00056
00057 // constants
00058 static const float PxPi = float(3.141592653589793);
00059 static const float PxHalfPi = float(1.57079632679489661923);
00060 static const float PxTwoPi = float(6.28318530717958647692);
00061 static const float PxInvPi = float(0.31830988618379067154);
00062 static const float PxInvTwoPi = float(0.15915494309189533577);
00063 static const float PxPiDivTwo = float(1.57079632679489661923);
00064 static const float PxPiDivFour = float(0.78539816339744830962);
00065
00069 template <class T>
00070 PX_CUDA_CALLABLE PX_FORCE_INLINE T PxMax(T a, T b)
00071 {
00072     return a < b ? b : a;
00073 }
00074
00076 template <>
00077 PX_CUDA_CALLABLE PX_FORCE_INLINE float PxMax(float a, float b)
00078 {
00079     return intrinsics::selectMax(a, b);
00080 }
00081
00085 template <class T>
00086 PX_CUDA_CALLABLE PX_FORCE_INLINE T PxMin(T a, T b)
00087 {
00088     return a < b ? a : b;
00089 }
00090
00091 template <>
00093 PX_CUDA_CALLABLE PX_FORCE_INLINE float PxMin(float a, float b)
00094 {
00095     return intrinsics::selectMin(a, b);
00096 }
00097
00098 /*
00099 Many of these are just implemented as PX_CUDA_CALLABLE PX_FORCE_INLINE calls to the C lib right now,
00100 but later we could replace some of them with some approximations or more
00101 clever stuff.
00102 */
00103
00107 PX_CUDA_CALLABLE PX_FORCE_INLINE float PxAbs(float a)
00108 {
00109     return intrinsics::abs(a);
00110 }
00111
00112 PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxEquals(float a, float b, float eps)
00113 {
00114     return (PxAbs(a - b) < eps);
00115 }
00116
00120 PX_CUDA_CALLABLE PX_FORCE_INLINE double PxAbs(double a)
00121 {
00122     return ::fabs(a);
00123 }
00124
00128 PX_CUDA_CALLABLE PX_FORCE_INLINE int32_t PxAbs(int32_t a)
00129 {
00130     return ::abs(a);
00131 }
00132
00136 template <class T>
00137 PX_CUDA_CALLABLE PX_FORCE_INLINE T PxClamp(T v, T lo, T hi)
00138 {
00139     PX_ASSERT(lo <= hi);
00140     return PxMin(hi, PxMax(lo, v));
00141 }
00142
00144 PX_CUDA_CALLABLE PX_FORCE_INLINE float PxSqrt(float a)
00145 {
00146     return intrinsics::sqrt(a);
00147 }
00148
00150 PX_CUDA_CALLABLE PX_FORCE_INLINE double PxSqrt(double a)
00151 {
00152     return ::sqrt(a);
00153 }
00154
00156 PX_CUDA_CALLABLE PX_FORCE_INLINE float PxRecipSqrt(float a)
00157 {
00158     return intrinsics::recipSqrt(a);
00159 }
00160
00162 PX_CUDA_CALLABLE PX_FORCE_INLINE double PxRecipSqrt(double a)
00163 {
00164     return 1 / ::sqrt(a);
00165 }
00166
00168
00170 PX_CUDA_CALLABLE PX_FORCE_INLINE float PxSin(float a)
00171 {
00172     return intrinsics::sin(a);
00173 }
00174
00176 PX_CUDA_CALLABLE PX_FORCE_INLINE double PxSin(double a)
00177 {
00178     return ::sin(a);
00179 }
00180
00182 PX_CUDA_CALLABLE PX_FORCE_INLINE float PxCos(float a)
00183 {
00184     return intrinsics::cos(a);
00185 }
00186
00188 PX_CUDA_CALLABLE PX_FORCE_INLINE double PxCos(double a)
00189 {
00190     return ::cos(a);
00191 }
00192
00197 PX_CUDA_CALLABLE PX_FORCE_INLINE float PxTan(float a)
00198 {
00199     return ::tanf(a);
00200 }
00201
00206 PX_CUDA_CALLABLE PX_FORCE_INLINE double PxTan(double a)
00207 {
00208     return ::tan(a);
00209 }
00210
00216 PX_CUDA_CALLABLE PX_FORCE_INLINE float PxAsin(float f)
00217 {
00218     return ::asinf(PxClamp(f, -1.0f, 1.0f));
00219 }
00220
00226 PX_CUDA_CALLABLE PX_FORCE_INLINE double PxAsin(double f)
00227 {
00228     return ::asin(PxClamp(f, -1.0, 1.0));
00229 }
00230
00236 PX_CUDA_CALLABLE PX_FORCE_INLINE float PxAcos(float f)
00237 {
00238     return ::acosf(PxClamp(f, -1.0f, 1.0f));
00239 }
00240
00246 PX_CUDA_CALLABLE PX_FORCE_INLINE double PxAcos(double f)
00247 {
00248     return ::acos(PxClamp(f, -1.0, 1.0));
00249 }
00250
00256 PX_CUDA_CALLABLE PX_FORCE_INLINE float PxAtan(float a)
00257 {
00258     return ::atanf(a);
00259 }
00260
00266 PX_CUDA_CALLABLE PX_FORCE_INLINE double PxAtan(double a)
00267 {
00268     return ::atan(a);
00269 }
00270
00276 PX_CUDA_CALLABLE PX_FORCE_INLINE float PxAtan2(float x, float y)
00277 {
00278     return ::atan2f(x, y);
00279 }
00280
00286 PX_CUDA_CALLABLE PX_FORCE_INLINE double PxAtan2(double x, double y)
00287 {
00288     return ::atan2(x, y);
00289 }
00290
00292 PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxIsFinite(float f)
00293 {
00294     return intrinsics::isFinite(f);
00295 }
00296
00298 PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxIsFinite(double f)
00299 {
00300     return intrinsics::isFinite(f);
00301 }
00302
00303 PX_CUDA_CALLABLE PX_FORCE_INLINE float PxFloor(float a)
00304 {
00305     return ::floorf(a);
00306 }
00307
00308 PX_CUDA_CALLABLE PX_FORCE_INLINE float PxExp(float a)
00309 {
00310     return ::expf(a);
00311 }
00312
00313 PX_CUDA_CALLABLE PX_FORCE_INLINE float PxCeil(float a)
00314 {
00315     return ::ceilf(a);
00316 }
00317
00318 PX_CUDA_CALLABLE PX_FORCE_INLINE float PxSign(float a)
00319 {
00320     return physx::intrinsics::sign(a);
00321 }
00322
00323 PX_CUDA_CALLABLE PX_FORCE_INLINE float PxPow(float x, float y)
00324 {
00325     return ::powf(x, y);
00326 }
00327
00328 PX_CUDA_CALLABLE PX_FORCE_INLINE float PxLog(float x)
00329 {
00330     return ::logf(x);
00331 }
00332
00333 #if !PX_DOXYGEN
00334 } // namespace physx
00335 #endif
00336
00338 #endif // #ifndef PXFOUNDATION_PXMATH_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMathUtils.h Source File

PxMathUtils.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PXFOUNDATION_PXMATHUTILS_H
00031 #define PXFOUNDATION_PXMATHUTILS_H
00032
00037 #include "foundation/Px.h"
00038
00039 #if !PX_DOXYGEN
00040 namespace physx
00041 {
00042 #endif
00043
00052 PX_FOUNDATION_API PxQuat PxShortestRotation(const PxVec3& from, const PxVec3& target);
00053
00054 /* \brief diagonalizes a 3x3 symmetric matrix y
00055
00056 The returned matrix satisfies M = R * D * R', where R is the rotation matrix for the output quaternion, R' its
00057 transpose, and D the diagonal matrix
00058
00059 If the matrix is not symmetric, the result is undefined.
00060
00061 \param[in] m the matrix to diagonalize
00062 \param[out] axes a quaternion rotation which diagonalizes the matrix
00063 \return the vector diagonal of the diagonalized matrix.
00064 */
00065
00066 PX_FOUNDATION_API PxVec3 PxDiagonalize(const PxMat33& m, PxQuat& axes);
00067
00068 #if !PX_DOXYGEN
00069 } // namespace physx
00070 #endif
00071
00073 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMemory.h Source File

PxMemory.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PXFOUNDATION_PXMEMORY_H
00031 #define PXFOUNDATION_PXMEMORY_H
00032
00037 #include "foundation/Px.h"
00038 #include "foundation/PxIntrinsics.h"
00039 #include "foundation/PxSimpleTypes.h"
00040
00041 #if !PX_DOXYGEN
00042 namespace physx
00043 {
00044 #endif
00045
00054 PX_FORCE_INLINE void* PxMemZero(void* dest, PxU32 count)
00055 {
00056     return physx::intrinsics::memZero(dest, count);
00057 }
00058
00068 PX_FORCE_INLINE void* PxMemSet(void* dest, PxI32 c, PxU32 count)
00069 {
00070     return physx::intrinsics::memSet(dest, c, count);
00071 }
00072
00084 PX_FORCE_INLINE void* PxMemCopy(void* dest, const void* src, PxU32 count)
00085 {
00086     return physx::intrinsics::memCopy(dest, src, count);
00087 }
00088
00100 PX_FORCE_INLINE void* PxMemMove(void* dest, const void* src, PxU32 count)
00101 {
00102     return physx::intrinsics::memMove(dest, src, count);
00103 }
00104
00105 #if !PX_DOXYGEN
00106 } // namespace physx
00107 #endif
00108
00110 #endif // PXFOUNDATION_PXMEMORY_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMeshQuery.h Source File

PxMeshQuery.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_GEOMUTILS_PX_MESH_QUERY
00032 #define PX_PHYSICS_GEOMUTILS_PX_MESH_QUERY
00033
00038 #include "common/PxPhysXCommonConfig.h"
00039 #include "PxQueryReport.h"
00040
00041 #if !PX_DOXYGEN
00042 namespace physx
00043 {
00044 #endif
00045
00046 class PxGeometry;
00047 class PxConvexMeshGeometry;
00048 class PxTriangleMeshGeometry;
00049 class PxHeightFieldGeometry;
00050
00051 class PxTriangle;
00052
00053 class PxMeshQuery
00054 {
00055 public:
00056
00073     PX_PHYSX_COMMON_API static void getTriangle(const PxTriangleMeshGeometry& triGeom, const PxTransform& transform, PxTriangleID triangleIndex, PxTriangle& triangle, PxU32* vertexIndices=NULL, PxU32* adjacencyIndices=NULL);
00074
00075
00092     PX_PHYSX_COMMON_API static void getTriangle(const PxHeightFieldGeometry& hfGeom, const PxTransform& transform, PxTriangleID triangleIndex, PxTriangle& triangle, PxU32* vertexIndices=NULL, PxU32* adjacencyIndices=NULL);
00093
00094
00112     PX_PHYSX_COMMON_API static PxU32 findOverlapTriangleMesh(   const PxGeometry& geom, const PxTransform& geomPose,
00113                                                                 const PxTriangleMeshGeometry& meshGeom, const PxTransform& meshPose,
00114                                                                 PxU32* results, PxU32 maxResults, PxU32 startIndex, bool& overflow);
00115
00133     PX_PHYSX_COMMON_API static PxU32 findOverlapHeightField(const PxGeometry& geom, const PxTransform& geomPose,
00134                                                             const PxHeightFieldGeometry& hfGeom, const PxTransform& hfPose,
00135                                                             PxU32* results, PxU32 maxResults, PxU32 startIndex, bool& overflow);
00136
00137
00170     PX_PHYSX_COMMON_API static bool sweep(const PxVec3& unitDir,
00171                             const PxReal distance,
00172                             const PxGeometry& geom,
00173                             const PxTransform& pose,
00174                             PxU32 triangleCount,
00175                             const PxTriangle* triangles,
00176                             PxSweepHit& sweepHit,
00177                             PxHitFlags hitFlags = PxHitFlag::eDEFAULT,
00178                             const PxU32* cachedIndex = NULL,
00179                             const PxReal inflation = 0.0f,
00180                             bool doubleSided = false);
00181 };
00182
00183
00184 #if !PX_DOXYGEN
00185 }
00186 #endif
00187
00189 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMeshScale.h Source File

PxMeshScale.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_MESHSCALE
00032 #define PX_PHYSICS_NX_MESHSCALE
00033
00037 #include "common/PxPhysXCommonConfig.h"
00038 #include "foundation/PxMat33.h"
00039 #include "foundation/PxAssert.h"
00040
00043 #define PX_MESH_SCALE_MIN 1e-6f
00044
00047 #define PX_MESH_SCALE_MAX 1e6f
00048
00049 #if !PX_DOXYGEN
00050 namespace physx
00051 {
00052 #endif
00053
00068 class PxMeshScale
00069 {
00070 //= ATTENTION! =====================================================================================
00071 // Changing the data layout of this class breaks the binary serialization format.  See comments for
00072 // PX_BINARY_SERIAL_VERSION.  If a modification is required, please adjust the getBinaryMetaData
00073 // function.  If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION
00074 // accordingly.
00075 //==================================================================================================
00076 public:
00080     PX_CUDA_CALLABLE PX_FORCE_INLINE PxMeshScale(): scale(1.0f), rotation(PxIdentity)
00081     {
00082     }
00083
00087     explicit PX_CUDA_CALLABLE PX_FORCE_INLINE PxMeshScale(PxReal r): scale(r), rotation(PxIdentity)
00088     {
00089     }
00090
00094     PX_CUDA_CALLABLE PX_FORCE_INLINE PxMeshScale(const PxVec3& s)
00095     {
00096         scale = s;
00097         rotation = PxQuat(PxIdentity);
00098     }
00099
00103     PX_CUDA_CALLABLE PX_FORCE_INLINE PxMeshScale(const PxVec3& s, const PxQuat& r)
00104     {
00105         PX_ASSERT(r.isUnit());
00106         scale = s;
00107         rotation = r;
00108     }
00109
00110
00114     PX_CUDA_CALLABLE PX_FORCE_INLINE bool isIdentity()  const
00115     {
00116         return (scale.x == 1.0f && scale.y == 1.0f && scale.z == 1.0f);
00117     }
00118
00122     PX_CUDA_CALLABLE PX_FORCE_INLINE  PxMeshScale getInverse() const
00123     {
00124         return PxMeshScale(PxVec3(1.0f/scale.x, 1.0f/scale.y, 1.0f/scale.z), rotation);
00125     }
00126
00130     PX_CUDA_CALLABLE PX_FORCE_INLINE PxMat33 toMat33() const
00131     {
00132         PxMat33 rot(rotation);
00133         PxMat33 trans = rot.getTranspose();
00134         trans.column0 *= scale[0];
00135         trans.column1 *= scale[1];
00136         trans.column2 *= scale[2];
00137         return trans * rot;
00138     }
00139
00143     PX_CUDA_CALLABLE PX_FORCE_INLINE bool hasNegativeDeterminant() const
00144     {
00145         return (scale.x * scale.y * scale.z < 0.0f);
00146     }
00147
00148     PxVec3      transform(const PxVec3& v) const
00149     {
00150         return rotation.rotateInv(scale.multiply(rotation.rotate(v)));
00151     }
00152
00153     bool        isValidForTriangleMesh() const
00154     {
00155         PxVec3 absXYZ = scale.abs();
00156         return (absXYZ.maxElement() <= PX_MESH_SCALE_MAX) && (absXYZ.minElement() >= PX_MESH_SCALE_MIN);
00157     }
00158
00159     bool        isValidForConvexMesh() const
00160     {
00161         return (scale.maxElement() <= PX_MESH_SCALE_MAX) && (scale.minElement() >= PX_MESH_SCALE_MIN);
00162     }
00163
00164     PxVec3      scale;
00165     PxQuat      rotation;
00166
00167
00168 };
00169
00170 #if !PX_DOXYGEN
00171 } // namespace physx
00172 #endif
00173
00175 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMetaData.h Source File

PxMetaData.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_METADATA_H
00032 #define PX_PHYSICS_METADATA_H
00033
00037 #include "foundation/Px.h"
00038 #include "foundation/PxIO.h"
00039 #include "PxMetaDataFlags.h"
00040
00041
00042 #if !PX_DOXYGEN
00043 namespace physx
00044 {
00045 #endif
00046
00052     struct PxMetaDataEntry
00053     {
00054         const char*     type;
00055         const char*     name;
00056         PxU32           offset;
00057         PxU32           size;
00058         PxU32           count;
00059         PxU32           offsetSize;
00060         PxU32           flags;
00061         PxU32           alignment;
00062     };
00063
00064     #define PX_STORE_METADATA(stream, metaData) stream.write(&metaData, sizeof(PxMetaDataEntry))
00065
00066     #define PX_SIZE_OF(Class, Member)   sizeof((reinterpret_cast<Class*>(0))->Member)
00067
00071     #define PX_DEF_BIN_METADATA_ITEM(stream, Class, type, name, flags) \
00072     { \
00073         PxMetaDataEntry tmp = { #type, #name, PxU32(PX_OFFSET_OF_RT(Class, name)), PX_SIZE_OF(Class, name), \
00074                                 1, 0, flags, 0}; \
00075         PX_STORE_METADATA(stream, tmp); \
00076     }
00077
00082     #define PX_DEF_BIN_METADATA_ITEMS(stream, Class, type, name, flags, count) \
00083     { \
00084         PxMetaDataEntry tmp = { #type, #name, PxU32(PX_OFFSET_OF_RT(Class, name)), PX_SIZE_OF(Class, name), \
00085                             count, 0, flags, 0}; \
00086         PX_STORE_METADATA(stream, tmp); \
00087     }
00088
00094     #define PX_DEF_BIN_METADATA_ITEMS_AUTO(stream, Class, type, name, flags) \
00095     { \
00096         PxMetaDataEntry tmp = { #type, #name, PxU32(PX_OFFSET_OF_RT(Class, name)), PX_SIZE_OF(Class, name), \
00097                             sizeof((reinterpret_cast<Class*>(0))->name)/sizeof(type), 0, flags, 0}; \
00098                             PX_STORE_METADATA(stream, tmp); \
00099     }
00100
00104     #define PX_DEF_BIN_METADATA_CLASS(stream, Class) \
00105     { \
00106         PxMetaDataEntry tmp = { #Class, 0, 0, sizeof(Class), 0, 0, PxMetaDataFlag::eCLASS, 0 }; \
00107         PX_STORE_METADATA(stream, tmp); \
00108     }
00109
00113     #define PX_DEF_BIN_METADATA_VCLASS(stream, Class) \
00114     { \
00115         PxMetaDataEntry tmp = { #Class, 0, 0, sizeof(Class), 0, 0, PxMetaDataFlag::eCLASS|PxMetaDataFlag::eVIRTUAL, 0}; \
00116         PX_STORE_METADATA(stream, tmp); \
00117     }
00118
00122     #define PX_DEF_BIN_METADATA_TYPEDEF(stream, newType, oldType) \
00123     { \
00124         PxMetaDataEntry tmp = { #newType, #oldType, 0, 0, 0, 0, PxMetaDataFlag::eTYPEDEF, 0 }; \
00125         PX_STORE_METADATA(stream, tmp); \
00126     }
00127
00131     #define PX_DEF_BIN_METADATA_BASE_CLASS(stream, Class, BaseClass) \
00132     { \
00133         Class* myClass = reinterpret_cast<Class*>(42);                                                          \
00134         BaseClass* s = static_cast<BaseClass*>(myClass);                                                        \
00135         const PxU32 offset = PxU32(size_t(s) - size_t(myClass));                                                \
00136         PxMetaDataEntry tmp = { #Class, #BaseClass, offset, sizeof(Class), 0, 0, PxMetaDataFlag::eCLASS, 0 };   \
00137         PX_STORE_METADATA(stream, tmp);                                                                         \
00138     }
00139
00143     #define PX_DEF_BIN_METADATA_UNION(stream, Class, name) \
00144     { \
00145         PxMetaDataEntry tmp = { #Class, 0, PxU32(PX_OFFSET_OF_RT(Class, name)), PX_SIZE_OF(Class, name), \
00146                             1, 0, PxMetaDataFlag::eUNION, 0 }; \
00147         PX_STORE_METADATA(stream, tmp); \
00148     }
00149
00153     #define PX_DEF_BIN_METADATA_UNION_TYPE(stream, Class, type, enumValue)  \
00154     { \
00155         PxMetaDataEntry tmp = { #Class, #type, enumValue, 0, 0, 0, PxMetaDataFlag::eUNION, 0 }; \
00156         PX_STORE_METADATA(stream, tmp); \
00157     }
00158
00162     #define PX_DEF_BIN_METADATA_EXTRA_ITEM(stream, Class, type, control, align) \
00163     { \
00164         PxMetaDataEntry tmp = { #type, 0, PxU32(PX_OFFSET_OF_RT(Class, control)), sizeof(type), 0, PxU32(PX_SIZE_OF(Class, control)), \
00165                             PxMetaDataFlag::eEXTRA_DATA|PxMetaDataFlag::eEXTRA_ITEM, align }; \
00166         PX_STORE_METADATA(stream, tmp); \
00167     }
00168
00172     #define PX_DEF_BIN_METADATA_EXTRA_ITEMS(stream, Class, type, control, count, flags, align)  \
00173     { \
00174         PxMetaDataEntry tmp = { #type, 0, PxU32(PX_OFFSET_OF_RT(Class, control)), PxU32(PX_SIZE_OF(Class, control)), \
00175                             PxU32(PX_OFFSET_OF_RT(Class, count)), PxU32(PX_SIZE_OF(Class, count)), \
00176                             PxMetaDataFlag::eEXTRA_DATA|PxMetaDataFlag::eEXTRA_ITEMS|flags, align }; \
00177         PX_STORE_METADATA(stream, tmp); \
00178     }
00179
00185     #define PX_DEF_BIN_METADATA_EXTRA_ITEMS_MASKED_CONTROL(stream, Class, type, control, controlMask ,count, flags, align) \
00186     { \
00187         PxMetaDataEntry tmp = { #type, 0, PxU32(PX_OFFSET_OF_RT(Class, control)), PxU32(PX_SIZE_OF(Class, control)), \
00188                             PxU32(PX_OFFSET_OF_RT(Class, count)), PxU32(PX_SIZE_OF(Class, count)), \
00189                             PxMetaDataFlag::eCONTROL_MASK|PxMetaDataFlag::eEXTRA_DATA|PxMetaDataFlag::eEXTRA_ITEMS|flags|(controlMask & PxMetaDataFlag::eCONTROL_MASK_RANGE) << 16, \
00190                             align}; \
00191         PX_STORE_METADATA(stream, tmp); \
00192     }
00193
00198     #define PX_DEF_BIN_METADATA_EXTRA_ARRAY(stream, Class, type, dyn_count, align, flags) \
00199     { \
00200         PxMetaDataEntry tmp = { #type, 0, PxU32(PX_OFFSET_OF_RT(Class, dyn_count)), PX_SIZE_OF(Class, dyn_count), align, 0, \
00201                             PxMetaDataFlag::eEXTRA_DATA|flags, align }; \
00202         PX_STORE_METADATA(stream, tmp); \
00203     }
00204
00208     #define PX_DEF_BIN_METADATA_EXTRA_NAME(stream, Class, control, align) \
00209     { \
00210         PxMetaDataEntry tmp = { "char", "string", 0, 0, 0, 0, PxMetaDataFlag::eEXTRA_DATA|PxMetaDataFlag::eEXTRA_NAME, align }; \
00211         PX_STORE_METADATA(stream, tmp); \
00212     }
00213
00217     #define PX_DEF_BIN_METADATA_EXTRA_ALIGN(stream, Class, align)   \
00218     { \
00219         PxMetaDataEntry tmp = { "PxU8", "Alignment", 0, 0, 0, 0, PxMetaDataFlag::eEXTRA_DATA|PxMetaDataFlag::eALIGNMENT, align}; \
00220         PX_STORE_METADATA(stream, tmp); \
00221     }
00222
00223 #if !PX_DOXYGEN
00224 } // namespace physx
00225 #endif
00226
00228 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMetaDataFlags.h Source File

PxMetaDataFlags.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_METADATA_FLAGS
00032 #define PX_PHYSICS_METADATA_FLAGS
00033
00034 #include "foundation/Px.h"
00035
00036 #if !PX_DOXYGEN
00037 namespace physx
00038 {
00039 #endif
00040
00046     struct PxMetaDataFlag
00047     {
00048         enum Enum
00049         {
00050             eCLASS                  = (1<<0),
00051             eVIRTUAL                = (1<<1),
00052             eTYPEDEF                = (1<<2),
00053             ePTR                    = (1<<3),
00054             eEXTRA_DATA             = (1<<4),
00055             eEXTRA_ITEM             = (1<<5),
00056             eEXTRA_ITEMS            = (1<<6),
00057             eEXTRA_NAME             = (1<<7),
00058             eUNION                  = (1<<8),
00059             ePADDING                = (1<<9),
00060             eALIGNMENT              = (1<<10),
00061             eCOUNT_MASK_MSB         = (1<<11),
00062             eCOUNT_SKIP_IF_ONE      = (1<<12),
00063             eCONTROL_FLIP           = (1<<13),
00064             eCONTROL_MASK           = (1<<14),
00065             eCONTROL_MASK_RANGE     = 0x000000FF,
00066             eFORCE_DWORD            = 0x7fffffff
00067         };
00068     };
00069
00070 #if !PX_DOXYGEN
00071 }
00072 #endif
00073
00074 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMidphaseDesc.h Source File

PxMidphaseDesc.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_MIDPHASE_DESC_H
00032 #define PX_MIDPHASE_DESC_H
00033
00037 #include "geometry/PxTriangleMesh.h"
00038 #include "cooking/PxBVH33MidphaseDesc.h"
00039 #include "cooking/PxBVH34MidphaseDesc.h"
00040
00041 #if !PX_DOXYGEN
00042 namespace physx
00043 {
00044 #endif
00045
00052 class PxMidphaseDesc
00053 {
00054 public:
00055     PX_FORCE_INLINE PxMidphaseDesc(): mType(PxMeshMidPhase::eINVALID) { }
00056
00063     PX_FORCE_INLINE PxMeshMidPhase::Enum getType() const { return mType; }
00064
00070     union {
00071         PxBVH33MidphaseDesc  mBVH33Desc;
00072         PxBVH34MidphaseDesc  mBVH34Desc;
00073     };
00074
00081     void setToDefault(PxMeshMidPhase::Enum type)
00082     {
00083         mType = type;
00084         if(type==PxMeshMidPhase::eBVH33)
00085             mBVH33Desc.setToDefault();
00086         else if(type==PxMeshMidPhase::eBVH34)
00087             mBVH34Desc.setToDefault();
00088     }
00089
00094     bool isValid() const
00095     {
00096         if(mType==PxMeshMidPhase::eBVH33)
00097             return mBVH33Desc.isValid();
00098         else if(mType==PxMeshMidPhase::eBVH34)
00099             return mBVH34Desc.isValid();
00100         return true;
00101     }
00102
00103     PX_FORCE_INLINE PxMidphaseDesc&     operator=(PxMeshMidPhase::Enum descType)
00104     {
00105         setToDefault(descType);
00106         return *this;
00107     }
00108
00109 protected:
00110     PxMeshMidPhase::Enum    mType;
00111 };
00112
00113 #if !PX_DOXYGEN
00114 } // namespace physx
00115 #endif
00116
00117
00119 #endif // PX_MIDPHASE_DESC_UNION_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxParticleBase.h Source File

PxParticleBase.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_PX_PARTICLEBASE
00032 #define PX_PHYSICS_PX_PARTICLEBASE
00033
00040 #include "PxPhysXConfig.h"
00041 #include "foundation/PxBounds3.h"
00042 #include "PxFiltering.h"
00043 #include "particles/PxParticleBaseFlag.h"
00044 #include "PxActor.h"
00045 #include "particles/PxParticleCreationData.h"
00046 #include "particles/PxParticleReadData.h"
00047 #include "PxForceMode.h"
00048
00049 #if !PX_DOXYGEN
00050 namespace physx
00051 {
00052 #endif
00053
00069 class PX_DEPRECATED PxParticleBase : public PxActor
00070 {
00071
00072     public:
00073
00074 /************************************************************************************************/
00075
00079
00092     virtual     PxParticleReadData*         lockParticleReadData(PxDataAccessFlags flags) = 0;
00093
00099     virtual     PxParticleReadData*         lockParticleReadData() = 0;
00100
00114     virtual     bool                        createParticles(const PxParticleCreationData& creationData)                                     = 0;
00115
00128     virtual     void                        releaseParticles(PxU32 numParticles, const PxStrideIterator<const PxU32>& indexBuffer)                  = 0;
00129
00135     virtual     void                        releaseParticles()                                                                                      = 0;
00136
00148     virtual     void                        setPositions(PxU32 numParticles, const PxStrideIterator<const PxU32>& indexBuffer,
00149                                                          const PxStrideIterator<const PxVec3>& positionBuffer)                                      = 0;
00150
00162     virtual     void                        setVelocities(PxU32 numParticles, const PxStrideIterator<const PxU32>& indexBuffer,
00163                                                           const PxStrideIterator<const PxVec3>& velocityBuffer)                                     = 0;
00164
00179     virtual     void                        setRestOffsets(PxU32 numParticles, const PxStrideIterator<const PxU32>& indexBuffer,
00180                                                            const PxStrideIterator<const PxF32>& restOffsetBuffer)                                   = 0;
00181
00182
00193     virtual     void                        addForces(PxU32 numParticles, const PxStrideIterator<const PxU32>& indexBuffer,
00194                                                       const PxStrideIterator<const PxVec3>& forceBuffer, PxForceMode::Enum forceMode)               = 0;
00195
00197 /************************************************************************************************/
00198
00202
00208     virtual     PxReal                      getDamping()                                                const   = 0;
00209
00215     virtual     void                        setDamping(PxReal damp)                                             = 0;
00216
00222     virtual     PxVec3                      getExternalAcceleration()                                   const   = 0;
00223
00231     virtual     void                        setExternalAcceleration(const PxVec3&acceleration)                  = 0;
00232
00239     virtual     void                        getProjectionPlane(PxVec3& normal, PxReal& distance)        const   = 0;
00240
00251     virtual     void                        setProjectionPlane(const PxVec3& normal, PxReal distance)           = 0;
00253 /************************************************************************************************/
00254
00258
00264     virtual     PxReal                      getParticleMass()                                           const   = 0;
00265
00271     virtual     void                        setParticleMass(PxReal mass)                                        = 0;
00272
00278     virtual     PxReal                      getRestitution()                                            const   = 0;
00279
00287     virtual     void                        setRestitution(PxReal rest)                                         = 0;
00288
00294     virtual     PxReal                      getDynamicFriction()                                        const   = 0;
00295
00303     virtual     void                        setDynamicFriction(PxReal friction)                                 = 0;
00304
00310     virtual     PxReal                      getStaticFriction()                                         const   = 0;
00311
00319     virtual     void                        setStaticFriction(PxReal friction)                                  = 0;
00320
00322 /************************************************************************************************/
00323
00327
00333     virtual     void                        setSimulationFilterData(const PxFilterData& data)                   = 0;
00334
00340     virtual     PxFilterData                getSimulationFilterData()                                   const   = 0;
00341
00343 /************************************************************************************************/
00344
00351     virtual     void                        setParticleBaseFlag(PxParticleBaseFlag::Enum flag, bool val)    = 0;
00352
00358     virtual     PxParticleBaseFlags         getParticleBaseFlags()                                  const   = 0;
00359
00360 /************************************************************************************************/
00361
00365
00371     virtual     PxU32                       getMaxParticles()                                       const   = 0;
00372
00379     virtual     PxReal                      getMaxMotionDistance()                                  const   = 0;
00380
00387     virtual     void                        setMaxMotionDistance(PxReal distance)                           = 0;
00388
00394     virtual     PxReal                      getRestOffset()                                         const   = 0;
00395
00402     virtual     void                        setRestOffset(PxReal restOffset)                                = 0;
00403
00409     virtual     PxReal                      getContactOffset()                                      const   = 0;
00410
00417     virtual     void                        setContactOffset(PxReal contactOffset)                          = 0;
00418
00426     virtual     PxReal                      getGridSize()                                           const   = 0;
00427
00435     virtual     void                        setGridSize(PxReal gridSize)                                    = 0;
00436
00442     virtual     PxParticleReadDataFlags     getParticleReadDataFlags()                              const   = 0;
00443
00450     virtual     void                        setParticleReadDataFlag(PxParticleReadDataFlag::Enum flag, bool val)= 0;
00451
00452 protected:
00453     PX_INLINE                               PxParticleBase(PxType concreteType, PxBaseFlags baseFlags) : PxActor(concreteType, baseFlags) {}
00454     PX_INLINE                               PxParticleBase(PxBaseFlags baseFlags) : PxActor(baseFlags) {}
00455     virtual                                 ~PxParticleBase() {}
00456     virtual     bool                        isKindOf(const char* name) const { return !::strcmp("PxParticleBase", name) || PxActor::isKindOf(name); }
00457
00459 /************************************************************************************************/
00460 };
00461
00462 #if !PX_DOXYGEN
00463 } // namespace physx
00464 #endif
00465
00467 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxParticleBaseFlag.h Source File

PxParticleBaseFlag.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PARTICLE_BASE_FLAG
00032 #define PX_PARTICLE_BASE_FLAG
00033
00037 #include "foundation/PxFlags.h"
00038
00039 #if !PX_DOXYGEN
00040 namespace physx
00041 {
00042 #endif
00043
00049 struct PX_DEPRECATED PxParticleBaseFlag
00050 {
00051     enum Enum
00052     {
00062         eCOLLISION_TWOWAY                   = (1<<0),
00063
00072         eCOLLISION_WITH_DYNAMIC_ACTORS      = (1<<1),
00073
00077         eENABLED                            = (1<<2),
00078
00084         ePROJECT_TO_PLANE                   = (1<<3),
00085
00093         ePER_PARTICLE_REST_OFFSET           = (1<<4),
00094
00102         ePER_PARTICLE_COLLISION_CACHE_HINT  = (1<<5),
00103
00112         eGPU                                = (1<<6)
00113     };
00114 };
00115
00116
00124 typedef PX_DEPRECATED PxFlags<PxParticleBaseFlag::Enum, PxU16> PxParticleBaseFlags;
00125 PX_FLAGS_OPERATORS(PxParticleBaseFlag::Enum,PxU16)
00126
00127 #if !PX_DOXYGEN
00128 } // namespace physx
00129 #endif
00130
00132 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxParticleCreationData.h Source File

PxParticleCreationData.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PARTICLESYSTEM_NXPARTICLECREATIONDATA
00032 #define PX_PARTICLESYSTEM_NXPARTICLECREATIONDATA
00033
00037 #include "PxPhysXConfig.h"
00038 #include "foundation/PxVec3.h"
00039 #include "foundation/PxStrideIterator.h"
00040
00041 #if !PX_DOXYGEN
00042 namespace physx
00043 {
00044 #endif
00045
00056 class PX_DEPRECATED PxParticleCreationData
00057 {
00058 public:
00059
00063     PxU32                                   numParticles;
00064
00070     PxStrideIterator<const PxU32>           indexBuffer;
00071
00077     PxStrideIterator<const PxVec3>          positionBuffer;
00078
00084     PxStrideIterator<const PxVec3>          velocityBuffer;
00085
00093     PxStrideIterator<const PxF32>           restOffsetBuffer;
00094
00105     PxStrideIterator<const PxU32>           flagBuffer;
00106
00110     PX_INLINE void setToDefault();
00111
00115     PX_INLINE bool isValid() const;
00116
00120     PX_INLINE   PxParticleCreationData();
00121 };
00122
00123 PX_INLINE PxParticleCreationData::PxParticleCreationData()
00124 {
00125     indexBuffer                 = PxStrideIterator<const PxU32>();
00126     positionBuffer              = PxStrideIterator<const PxVec3>();
00127     velocityBuffer              = PxStrideIterator<const PxVec3>();
00128     restOffsetBuffer            = PxStrideIterator<const PxF32>();
00129     flagBuffer                  = PxStrideIterator<const PxU32>();
00130 }
00131
00132 PX_INLINE void PxParticleCreationData::setToDefault()
00133 {
00134     *this = PxParticleCreationData();
00135 }
00136
00137 PX_INLINE bool PxParticleCreationData::isValid() const
00138 {
00139     if (numParticles > 0 && !(indexBuffer.ptr() && positionBuffer.ptr())) return false;
00140     return true;
00141 }
00142
00143 #if !PX_DOXYGEN
00144 } // namespace physx
00145 #endif
00146
00148 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxParticleExt.h Source File

PxParticleExt.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_EXTENSIONS_PARTICLEEXT_H
00032 #define PX_PHYSICS_EXTENSIONS_PARTICLEEXT_H
00033
00037 #include "PxPhysXConfig.h"
00038 #include "foundation/PxStrideIterator.h"
00039 #include "foundation/PxBounds3.h"
00040
00041 #if !PX_DOXYGEN
00042 namespace physx
00043 {
00044 #endif
00045
00050 class PX_DEPRECATED PxParticleExt
00051 {
00052 public:
00053
00054     struct ParticleBounds
00055     {
00056         PxBounds3 bounds;
00057         PxU32 firstParticle;
00058         PxU32 numParticles;
00059     };
00060
00098     static PxU32 buildBoundsHash(PxU32* sortedParticleIndices,
00099                                  ParticleBounds* particleBounds,
00100                                  const PxStrideIterator<const PxVec3>& positionBuffer,
00101                                  const PxU32 validParticleRange,
00102                                  const PxU32* validParticleBitmap,
00103                                  const PxU32 hashSize,
00104                                  const PxU32 maxBounds,
00105                                  const PxReal gridSpacing);
00106
00116     class IndexPool
00117     {
00118     public:
00125         virtual     PxU32   allocateIndices(PxU32 num, const PxStrideIterator<PxU32>& indexBuffer)      = 0;
00126
00133         virtual     void    freeIndices(PxU32 num, const PxStrideIterator<const PxU32>& indexBuffer)    = 0;
00134
00138         virtual     void    freeIndices()                                                               = 0;
00139
00143         virtual     void    release()                                                                   = 0;
00144
00148         virtual ~IndexPool() {}
00149     };
00150
00155     static IndexPool* createIndexPool(PxU32 maxParticles);
00156
00163     static IndexPool* createIndexPool(PxU32 maxParticles, PxU32 validParticleRange, const PxU32* validParticleBitmap);
00164
00165 };
00166
00167 #if !PX_DOXYGEN
00168 } // namespace physx
00169 #endif
00170
00172 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxParticleFlag.h Source File

PxParticleFlag.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PARTICLE_FLAG
00032 #define PX_PARTICLE_FLAG
00033
00034 #include "foundation/PxPreprocessor.h"
00035
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00050 struct PX_DEPRECATED PxParticleFlag
00051     {
00052     enum Enum
00053         {
00060             eVALID                              = (1<<0),
00061
00067             eCOLLISION_WITH_STATIC              = (1<<1),
00068
00074             eCOLLISION_WITH_DYNAMIC             = (1<<2),
00075
00082             eCOLLISION_WITH_DRAIN               = (1<<3),
00083
00089             eSPATIAL_DATA_STRUCTURE_OVERFLOW    = (1<<4)
00090         };
00091     };
00092
00093 #if !PX_DOXYGEN
00094 } // namespace physx
00095 #endif
00096
00098 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxParticleFluid.h Source File

PxParticleFluid.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_PARTICLEFLUID
00032 #define PX_PHYSICS_NX_PARTICLEFLUID
00033
00036 #include "particles/PxParticleFluidReadData.h"
00037 #include "particles/PxParticleBase.h"
00038
00039 #if !PX_DOXYGEN
00040 namespace physx
00041 {
00042 #endif
00043
00069 class PX_DEPRECATED PxParticleFluid : public PxParticleBase
00070 {
00071
00072 public:
00073
00074 /************************************************************************************************/
00075
00079
00086     virtual     PxParticleFluidReadData*        lockParticleFluidReadData(PxDataAccessFlags flags)  = 0;
00087
00094     virtual     PxParticleFluidReadData*        lockParticleFluidReadData() = 0;
00095
00097 /************************************************************************************************/
00098
00099
00103
00109     virtual     PxReal                          getStiffness()                                          const   = 0;
00110
00116     virtual     void                            setStiffness(PxReal stiffness)                                  = 0;
00117
00123     virtual     PxReal                          getViscosity()                                          const   = 0;
00124
00130     virtual     void                            setViscosity(PxReal viscosity)                                  = 0;
00131
00133 /************************************************************************************************/
00134
00138
00144     virtual     PxReal                          getRestParticleDistance()                               const   = 0;
00145
00147 /************************************************************************************************/
00148
00152
00158     virtual     void                            setRestParticleDistance(PxReal restParticleDistance)            = 0;
00159
00161 /************************************************************************************************/
00162
00163     virtual     const char*                     getConcreteTypeName() const { return "PxParticleFluid"; }
00164
00165 protected:
00166     PX_INLINE                                   PxParticleFluid(PxType concreteType, PxBaseFlags baseFlags) : PxParticleBase(concreteType, baseFlags) {}
00167     PX_INLINE                                   PxParticleFluid(PxBaseFlags baseFlags) : PxParticleBase(baseFlags) {}
00168     virtual                                     ~PxParticleFluid() {}
00169     virtual     bool                            isKindOf(const char* name) const { return !::strcmp("PxParticleFluid", name) || PxParticleBase::isKindOf(name);  }
00170 };
00171
00172 #if !PX_DOXYGEN
00173 } // namespace physx
00174 #endif
00175
00177 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxParticleFluidReadData.h Source File

PxParticleFluidReadData.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PARTICLESYSTEM_NXPARTICLEFLUIDREADDATA
00032 #define PX_PARTICLESYSTEM_NXPARTICLEFLUIDREADDATA
00033
00037 #include "particles/PxParticleReadData.h"
00038
00039 #if !PX_DOXYGEN
00040 namespace physx
00041 {
00042 #endif
00043
00053 class PX_DEPRECATED PxParticleFluidReadData : public PxParticleReadData
00054     {
00055     public:
00056
00074     PxStrideIterator<const PxF32> densityBuffer;
00075
00079     virtual ~PxParticleFluidReadData() {}
00080
00081     };
00082
00083 #if !PX_DOXYGEN
00084 } // namespace physx
00085 #endif
00086
00088 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxParticleGpu.h Source File

PxParticleGpu.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PARTICLE_GPU_H
00032 #define PX_PARTICLE_GPU_H
00033
00037 #include "PxPhysXConfig.h"
00038
00039 #if PX_SUPPORT_GPU_PHYSX
00040
00041 #include "common/PxPhysXCommonConfig.h"
00042 #include "task/PxTask.h"
00043
00044 #if !PX_DOXYGEN
00045 namespace physx
00046 {
00047 #endif
00048
00056 struct PX_DEPRECATED PxTriangleMeshCacheStatistics
00057 {
00058     PxU32   bytesTotal;
00059     PxU32   bytesUsed;
00060     PxU32   bytesUsedMax;
00061     PxReal  percentageHitrate;
00062
00063     PxTriangleMeshCacheStatistics() : bytesTotal(0), bytesUsed(0), bytesUsedMax(0), percentageHitrate(0.0f) {}
00064 };
00065
00070 class PX_DEPRECATED PxParticleGpu
00071 {
00072 public:
00073
00085     PX_PHYSX_CORE_API static bool createTriangleMeshMirror(const class PxTriangleMesh& triangleMesh, PxCudaContextManager& contextManager);
00086
00097     PX_PHYSX_CORE_API static void releaseTriangleMeshMirror(const class PxTriangleMesh& triangleMesh, PxCudaContextManager* contextManager = NULL);
00098
00110     PX_PHYSX_CORE_API static bool createHeightFieldMirror(const class PxHeightField& heightField, PxCudaContextManager& contextManager);
00111
00122     PX_PHYSX_CORE_API static void releaseHeightFieldMirror(const class PxHeightField& heightField, PxCudaContextManager* contextManager = NULL);
00123
00135     PX_PHYSX_CORE_API static bool createConvexMeshMirror(const class PxConvexMesh& convexMesh, PxCudaContextManager& contextManager);
00136
00147     PX_PHYSX_CORE_API static void releaseConvexMeshMirror(const class PxConvexMesh& convexMesh, PxCudaContextManager* contextManager = NULL);
00148
00161     PX_PHYSX_CORE_API static void setExplicitCudaFlushCountHint(const class PxScene& scene, PxU32 cudaFlushCount);
00162
00173     PX_PHYSX_CORE_API static bool setTriangleMeshCacheSizeHint(const class PxScene& scene, PxU32 size);
00174
00185     PX_PHYSX_CORE_API static PxTriangleMeshCacheStatistics getTriangleMeshCacheStatistics(const class PxScene& scene);
00186
00187 };
00188
00189 #if !PX_DOXYGEN
00190 } // namespace physx
00191 #endif
00192
00193 #endif // PX_SUPPORT_GPU_PHYSX
00194
00196 #endif //PX_PARTICLE_GPU_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxParticleReadData.h Source File

PxParticleReadData.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PARTICLESYSTEM_NXPARTICLEREADDATA
00032 #define PX_PARTICLESYSTEM_NXPARTICLEREADDATA
00033
00037 #include "foundation/PxStrideIterator.h"
00038 #include "foundation/PxFlags.h"
00039 #include "PxLockedData.h"
00040 #include "PxParticleFlag.h"
00041
00042 #if !PX_DOXYGEN
00043 namespace physx
00044 {
00045 #endif
00046
00053 struct PX_DEPRECATED PxParticleReadDataFlag
00054     {
00055     enum Enum
00056         {
00061             ePOSITION_BUFFER            = (1<<0),
00062
00067             eVELOCITY_BUFFER            = (1<<1),
00068
00076             eREST_OFFSET_BUFFER         = (1<<2),
00077
00082             eFLAGS_BUFFER               = (1<<3),
00083
00088             eCOLLISION_NORMAL_BUFFER    = (1<<4),
00089
00094             eCOLLISION_VELOCITY_BUFFER  = (1<<5),
00095
00100             eDENSITY_BUFFER             = (1<<6)
00101         };
00102     };
00103
00111 typedef PX_DEPRECATED PxFlags<PxParticleReadDataFlag::Enum, PxU16> PxParticleReadDataFlags;
00112 PX_FLAGS_OPERATORS(PxParticleReadDataFlag::Enum,PxU16)
00113
00114
00121 typedef PX_DEPRECATED PxFlags<PxParticleFlag::Enum, PxU16> PxParticleFlags;
00122 PX_FLAGS_OPERATORS(PxParticleFlag::Enum,PxU16)
00123
00143 class PX_DEPRECATED PxParticleReadData : public PxLockedData
00144     {
00145     public:
00146
00150     PxU32                                       nbValidParticles;
00151
00155     PxU32                                       validParticleRange;
00156
00161     const PxU32*                                validParticleBitmap;
00162
00166     PxStrideIterator<const PxVec3>              positionBuffer;
00167
00171     PxStrideIterator<const PxVec3>              velocityBuffer;
00172
00176     PxStrideIterator<const PxF32>               restOffsetBuffer;
00177
00181     PxStrideIterator<const PxParticleFlags>     flagsBuffer;
00182
00189     PxStrideIterator<const PxVec3>              collisionNormalBuffer;
00190
00198     PxStrideIterator<const PxVec3>              collisionVelocityBuffer;
00199
00204     virtual PxDataAccessFlags getDataAccessFlags() = 0;
00205
00210     virtual void unlock() = 0;
00211
00215     virtual ~PxParticleReadData() {}
00216
00217     };
00218
00219 #if !PX_DOXYGEN
00220 } // namespace physx
00221 #endif
00222
00224 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxParticleSystem.h Source File

PxParticleSystem.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_PX_PARTICLESYSTEM
00032 #define PX_PHYSICS_PX_PARTICLESYSTEM
00033
00037 #include "particles/PxParticleBase.h"
00038
00039 #if !PX_DOXYGEN
00040 namespace physx
00041 {
00042 #endif
00043
00064 class PX_DEPRECATED PxParticleSystem : public PxParticleBase
00065 {
00066 public:
00067
00068         virtual     const char*                 getConcreteTypeName() const { return "PxParticleSystem"; }
00069
00070 /************************************************************************************************/
00071
00072 protected:
00073     PX_INLINE                                   PxParticleSystem(PxType concreteType, PxBaseFlags baseFlags) : PxParticleBase(concreteType, baseFlags) {}
00074     PX_INLINE                                   PxParticleSystem(PxBaseFlags baseFlags) : PxParticleBase(baseFlags) {}
00075     virtual                                     ~PxParticleSystem() {}
00076     virtual         bool                        isKindOf(const char* name) const { return !::strcmp("PxParticleSystem", name) || PxParticleBase::isKindOf(name);  }
00077
00078 };
00079
00080 #if !PX_DOXYGEN
00081 } // namespace physx
00082 #endif
00083
00085 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPhysics.h Source File

PxPhysics.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_PHYSICS
00032 #define PX_PHYSICS_NX_PHYSICS
00033
00034
00039 #include "PxPhysXConfig.h"
00040 #include "PxDeletionListener.h"
00041 #include "foundation/PxTransform.h"
00042 #include "PxShape.h"
00043
00044
00045 #if PX_USE_CLOTH_API
00046 #include "cloth/PxClothTypes.h"
00047 #include "cloth/PxClothFabric.h"
00048 #endif
00049
00050
00051 #if !PX_DOXYGEN
00052 namespace physx
00053 {
00054 #endif
00055
00056 class PxPvd;
00057 class PxPhysicsInsertionCallback;
00058
00059 class PxRigidActor;
00060 class PxConstraintConnector;
00061 struct PxConstraintShaderTable;
00062
00063 class PxGeometry;
00064 class PxFoundation;
00065 class PxSerializationRegistry;
00066
00067 class PxPruningStructure;
00068
00079 class PxPhysics
00080 {
00081 public:
00082
00086
00087
00088
00089     virtual ~PxPhysics() {}
00090
00091
00110     virtual void release() = 0;
00111
00116     virtual PxFoundation&       getFoundation() = 0;
00117
00127     virtual PxAggregate*        createAggregate(PxU32 maxSize, bool enableSelfCollision)    = 0;
00128
00133     virtual const PxTolerancesScale&        getTolerancesScale() const = 0;
00134
00135
00137
00140
00151     virtual PxTriangleMesh*    createTriangleMesh(PxInputStream& stream) = 0;
00152
00153
00154
00162     virtual PxU32               getNbTriangleMeshes() const = 0;
00163
00178     virtual PxU32               getTriangleMeshes(PxTriangleMesh** userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const = 0;
00179
00190     virtual PxHeightField*      createHeightField(PxInputStream& stream) = 0;
00191
00199     virtual PxU32               getNbHeightFields() const = 0;
00200
00215     virtual PxU32               getHeightFields(PxHeightField** userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const = 0;
00216
00227     virtual PxConvexMesh*       createConvexMesh(PxInputStream &stream)                 = 0;
00228
00236     virtual PxU32               getNbConvexMeshes() const = 0;
00237
00252     virtual PxU32               getConvexMeshes(PxConvexMesh** userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const = 0;
00253
00254
00255 #if PX_USE_CLOTH_API
00256
00268     PX_DEPRECATED virtual PxClothFabric*    createClothFabric(PxInputStream& stream) = 0;
00269
00284     PX_DEPRECATED virtual PxClothFabric*    createClothFabric(const PxClothFabricDesc& desc) = 0;
00285
00295     PX_DEPRECATED virtual PxU32 getNbClothFabrics() const = 0;
00296
00312     PX_DEPRECATED virtual   PxU32   getClothFabrics(PxClothFabric** userBuffer, PxU32 bufferSize) const = 0;
00313 #endif
00314
00316
00319
00331     virtual PxScene*            createScene(const PxSceneDesc& sceneDesc) = 0;
00332
00340     virtual PxU32               getNbScenes()           const   = 0;
00341
00356     virtual PxU32               getScenes(PxScene** userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const = 0;
00357
00359
00362
00372     virtual PxRigidStatic*      createRigidStatic(const PxTransform& pose) = 0;
00373
00374
00375
00385     virtual PxRigidDynamic*      createRigidDynamic(const PxTransform& pose) = 0;
00386
00387
00388 #if PX_USE_PARTICLE_SYSTEM_API
00389
00400     PX_DEPRECATED virtual PxParticleSystem* createParticleSystem(PxU32 maxParticles, bool perParticleRestOffset = false) = 0;
00401
00413     PX_DEPRECATED virtual PxParticleFluid*  createParticleFluid(PxU32 maxParticles, bool perParticleRestOffset = false) = 0;
00414 #endif
00415
00416
00417 #if PX_USE_CLOTH_API
00418
00431     PX_DEPRECATED virtual PxCloth*  createCloth(const PxTransform& globalPose, PxClothFabric& fabric, const PxClothParticle* particles, PxClothFlags flags) = 0;
00432 #endif
00433
00447     virtual PxPruningStructure* createPruningStructure(PxRigidActor*const* actors, PxU32 nbActors)  = 0;
00448
00450
00453
00454
00470     PX_FORCE_INLINE PxShape*    createShape(    const PxGeometry& geometry,
00471                                                 const PxMaterial& material,
00472                                                 bool isExclusive = false,
00473                                                 PxShapeFlags shapeFlags = PxShapeFlag::eVISUALIZATION | PxShapeFlag::eSCENE_QUERY_SHAPE | PxShapeFlag::eSIMULATION_SHAPE)
00474     {
00475         PxMaterial* materialPtr = const_cast<PxMaterial*>(&material);
00476         return createShape(geometry, &materialPtr, 1, isExclusive, shapeFlags);
00477     }
00478
00479
00496     virtual PxShape*            createShape(const PxGeometry& geometry,
00497                                             PxMaterial*const * materials,
00498                                             PxU16 materialCount,
00499                                             bool isExclusive = false,
00500                                             PxShapeFlags shapeFlags = PxShapeFlag::eVISUALIZATION | PxShapeFlag::eSCENE_QUERY_SHAPE | PxShapeFlag::eSIMULATION_SHAPE) = 0;
00501
00502
00510     virtual PxU32               getNbShapes() const = 0;
00511
00526     virtual PxU32               getShapes(PxShape** userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const = 0;
00527
00529
00532
00533
00550     virtual PxConstraint*      createConstraint(PxRigidActor* actor0, PxRigidActor* actor1, PxConstraintConnector& connector, const PxConstraintShaderTable& shaders, PxU32 dataSize)       = 0;
00551
00552
00560     virtual PxArticulation*      createArticulation() = 0;
00561
00563
00566
00567
00579     virtual PxMaterial*        createMaterial(PxReal staticFriction, PxReal dynamicFriction, PxReal restitution)        = 0;
00580
00581
00589     virtual PxU32               getNbMaterials() const = 0;
00590
00605     virtual PxU32               getMaterials(PxMaterial** userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const = 0;
00606
00608
00611
00627     virtual void registerDeletionListener(PxDeletionListener& observer, const PxDeletionEventFlags& deletionEvents, bool restrictedObjectSet = false) = 0;
00628
00638     virtual void unregisterDeletionListener(PxDeletionListener& observer) = 0;
00639
00655     virtual void registerDeletionListenerObjects(PxDeletionListener& observer, const PxBase* const* observables, PxU32 observableCount) = 0;
00656
00672     virtual void unregisterDeletionListenerObjects(PxDeletionListener& observer, const PxBase* const* observables, PxU32 observableCount) = 0;
00673
00682     virtual PxPhysicsInsertionCallback& getPhysicsInsertionCallback() = 0;
00683
00685 };
00686
00687 #if !PX_DOXYGEN
00688 } // namespace physx
00689 #endif
00690
00698 PX_C_EXPORT PX_PHYSX_CORE_API void PX_CALL_CONV PxRegisterArticulations(physx::PxPhysics& physics);
00699
00717 PX_C_EXPORT PX_PHYSX_CORE_API void PX_CALL_CONV PxRegisterHeightFields(physx::PxPhysics& physics);
00718
00731 PX_DEPRECATED PX_C_EXPORT PX_PHYSX_CORE_API void PX_CALL_CONV PxRegisterLegacyHeightFields(physx::PxPhysics& physics);
00732
00740 PX_DEPRECATED PX_INLINE void PX_CALL_CONV PxRegisterUnifiedHeightFields(physx::PxPhysics& physics)
00741 {
00742     PxRegisterHeightFields(physics);
00743 }
00744
00745
00755 PX_DEPRECATED PX_C_EXPORT PX_PHYSX_CORE_API void PX_CALL_CONV PxRegisterCloth(physx::PxPhysics& physics);
00756
00766 PX_DEPRECATED PX_C_EXPORT PX_PHYSX_CORE_API void PX_CALL_CONV PxRegisterParticles(physx::PxPhysics& physics);
00767
00789 PX_C_EXPORT PX_PHYSX_CORE_API physx::PxPhysics* PX_CALL_CONV PxCreateBasePhysics(physx::PxU32 version,
00790                                                                                  physx::PxFoundation& foundation,
00791                                                                                  const physx::PxTolerancesScale& scale,
00792                                                                                  bool trackOutstandingAllocations = false,
00793                                                                                  physx::PxPvd* pvd = NULL);
00794
00822 PX_INLINE physx::PxPhysics* PxCreatePhysics(physx::PxU32 version,
00823                                             physx::PxFoundation& foundation,
00824                                             const physx::PxTolerancesScale& scale,
00825                                             bool trackOutstandingAllocations = false,
00826                                             physx::PxPvd* pvd = NULL )
00827 {
00828     physx::PxPhysics* physics = PxCreateBasePhysics(version, foundation, scale, trackOutstandingAllocations, pvd);
00829     if(!physics)
00830         return NULL;
00831
00832     PxRegisterArticulations(*physics);
00833     PxRegisterHeightFields(*physics);
00834     PxRegisterCloth(*physics);
00835     PxRegisterParticles(*physics);
00836
00837     return physics;
00838 }
00839
00847 PX_C_EXPORT PX_PHYSX_CORE_API physx::PxPhysics& PX_CALL_CONV PxGetPhysics();
00848
00850 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPhysicsAPI.h Source File

PxPhysicsAPI.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NXPHYSICS_API
00032 #define PX_PHYSICS_NXPHYSICS_API
00033
00044 // Foundation SDK
00045 #include "foundation/Px.h"
00046 #include "foundation/PxAllocatorCallback.h"
00047 #include "foundation/PxAssert.h"
00048 #include "foundation/PxBitAndData.h"
00049 #include "foundation/PxBounds3.h"
00050 #include "foundation/PxErrorCallback.h"
00051 #include "foundation/PxErrors.h"
00052 #include "foundation/PxFlags.h"
00053 #include "foundation/PxFoundation.h"
00054 #include "foundation/PxFoundationVersion.h"
00055 #include "foundation/PxIntrinsics.h"
00056 #include "foundation/PxIO.h"
00057 #include "foundation/PxMat33.h"
00058 #include "foundation/PxMat44.h"
00059 #include "foundation/PxMath.h"
00060 #include "foundation/PxMathUtils.h"
00061 #include "foundation/PxPlane.h"
00062 #include "foundation/PxPreprocessor.h"
00063 #include "foundation/PxQuat.h"
00064 #include "foundation/PxSimpleTypes.h"
00065 #include "foundation/PxStrideIterator.h"
00066 #include "foundation/PxTransform.h"
00067 #include "foundation/PxUnionCast.h"
00068 #include "foundation/PxVec2.h"
00069 #include "foundation/PxVec3.h"
00070 #include "foundation/PxVec4.h"
00071
00072 //Not physics specific utilities and common code
00073 #include "common/PxCoreUtilityTypes.h"
00074 #include "common/PxPhysXCommonConfig.h"
00075 #include "common/PxRenderBuffer.h"
00076 #include "common/PxBase.h"
00077 #include "common/PxTolerancesScale.h"
00078 #include "common/PxTypeInfo.h"
00079 #include "common/PxStringTable.h"
00080 #include "common/PxSerializer.h"
00081 #include "common/PxMetaData.h"
00082 #include "common/PxMetaDataFlags.h"
00083 #include "common/PxSerialFramework.h"
00084 #include "common/PxPhysicsInsertionCallback.h"
00085
00086 //Task Manager
00087 #include "task/PxTask.h"
00088
00089 // Cuda Mananger
00090 #if PX_SUPPORT_GPU_PHYSX
00091 #include "gpu/PxGpu.h"
00092 #endif
00093
00094 //Geometry Library
00095 #include "geometry/PxBoxGeometry.h"
00096 #include "geometry/PxCapsuleGeometry.h"
00097 #include "geometry/PxConvexMesh.h"
00098 #include "geometry/PxConvexMeshGeometry.h"
00099 #include "geometry/PxGeometry.h"
00100 #include "geometry/PxGeometryHelpers.h"
00101 #include "geometry/PxGeometryQuery.h"
00102 #include "geometry/PxHeightField.h"
00103 #include "geometry/PxHeightFieldDesc.h"
00104 #include "geometry/PxHeightFieldFlag.h"
00105 #include "geometry/PxHeightFieldGeometry.h"
00106 #include "geometry/PxHeightFieldSample.h"
00107 #include "geometry/PxMeshQuery.h"
00108 #include "geometry/PxMeshScale.h"
00109 #include "geometry/PxPlaneGeometry.h"
00110 #include "geometry/PxSimpleTriangleMesh.h"
00111 #include "geometry/PxSphereGeometry.h"
00112 #include "geometry/PxTriangle.h"
00113 #include "geometry/PxTriangleMesh.h"
00114 #include "geometry/PxTriangleMeshGeometry.h"
00115
00116
00117 // PhysX Core SDK
00118 #include "PxActor.h"
00119 #include "PxAggregate.h"
00120 #include "PxArticulation.h"
00121 #include "PxArticulationJoint.h"
00122 #include "PxArticulationLink.h"
00123 #include "PxBatchQuery.h"
00124 #include "PxBatchQueryDesc.h"
00125 #include "PxClient.h"
00126 #include "PxConstraint.h"
00127 #include "PxConstraintDesc.h"
00128 #include "PxContact.h"
00129 #include "PxContactModifyCallback.h"
00130 #include "PxDeletionListener.h"
00131 #include "PxFiltering.h"
00132 #include "PxForceMode.h"
00133 #include "PxLockedData.h"
00134 #include "PxMaterial.h"
00135 #include "PxPhysics.h"
00136 #include "PxPhysicsVersion.h"
00137 #include "PxPhysXConfig.h"
00138 #include "PxQueryFiltering.h"
00139 #include "PxQueryReport.h"
00140 #include "PxRigidActor.h"
00141 #include "PxRigidBody.h"
00142 #include "PxRigidDynamic.h"
00143 #include "PxRigidStatic.h"
00144 #include "PxScene.h"
00145 #include "PxSceneDesc.h"
00146 #include "PxSceneLock.h"
00147 #include "PxShape.h"
00148 #include "PxSimulationEventCallback.h"
00149 #include "PxSimulationStatistics.h"
00150 #include "PxSpatialIndex.h"
00151 #include "PxVisualizationParameter.h"
00152 #include "PxVolumeCache.h"
00153 #include "PxPruningStructure.h"
00154
00155 //Character Controller
00156 #include "characterkinematic/PxBoxController.h"
00157 #include "characterkinematic/PxCapsuleController.h"
00158 #include "characterkinematic/PxCharacter.h"
00159 #include "characterkinematic/PxController.h"
00160 #include "characterkinematic/PxControllerBehavior.h"
00161 #include "characterkinematic/PxControllerManager.h"
00162 #include "characterkinematic/PxControllerObstacles.h"
00163 #include "characterkinematic/PxExtended.h"
00164
00165 //Cloth Simulation
00166 #if PX_USE_CLOTH_API
00167 #include "cloth/PxCloth.h"
00168 #include "cloth/PxClothCollisionData.h"
00169 #include "cloth/PxClothFabric.h"
00170 #include "cloth/PxClothParticleData.h"
00171 #include "cloth/PxClothTypes.h"
00172 #endif
00173
00174 //Cooking (data preprocessing)
00175 #include "cooking/Pxc.h"
00176 #include "cooking/PxConvexMeshDesc.h"
00177 #include "cooking/PxCooking.h"
00178 #include "cooking/PxTriangleMeshDesc.h"
00179 #include "cooking/PxBVH33MidphaseDesc.h"
00180 #include "cooking/PxBVH34MidphaseDesc.h"
00181 #include "cooking/PxMidphaseDesc.h"
00182
00183 //Extensions to the SDK
00184 #include "extensions/PxDefaultStreams.h"
00185 #include "extensions/PxDistanceJoint.h"
00186 #include "extensions/PxExtensionsAPI.h"
00187 #include "extensions/PxFixedJoint.h"
00188 #include "extensions/PxJoint.h"
00189 #include "extensions/PxJointLimit.h"
00190 #include "extensions/PxParticleExt.h"
00191 #include "extensions/PxPrismaticJoint.h"
00192 #include "extensions/PxRevoluteJoint.h"
00193 #include "extensions/PxRigidBodyExt.h"
00194 #include "extensions/PxShapeExt.h"
00195 #include "extensions/PxSimpleFactory.h"
00196 #include "extensions/PxSmoothNormals.h"
00197 #include "extensions/PxSphericalJoint.h"
00198 #include "extensions/PxStringTableExt.h"
00199 #include "extensions/PxTriangleMeshExt.h"
00200 #include "extensions/PxConvexMeshExt.h"
00201
00202 //Serialization
00203 #include "extensions/PxSerialization.h"
00204 #include "extensions/PxBinaryConverter.h"
00205 #include "extensions/PxRepXSerializer.h"
00206
00207 //Particle Simulation
00208 #if PX_USE_PARTICLE_SYSTEM_API
00209 #include "particles/PxParticleBase.h"
00210 #include "particles/PxParticleBaseFlag.h"
00211 #include "particles/PxParticleCreationData.h"
00212 #include "particles/PxParticleFlag.h"
00213 #include "particles/PxParticleFluid.h"
00214 #include "particles/PxParticleFluidReadData.h"
00215 #include "particles/PxParticleReadData.h"
00216 #include "particles/PxParticleSystem.h"
00217 #endif
00218
00219 //Vehicle Simulation
00220 #include "vehicle/PxVehicleComponents.h"
00221 #include "vehicle/PxVehicleDrive.h"
00222 #include "vehicle/PxVehicleDrive4W.h"
00223 #include "vehicle/PxVehicleDriveTank.h"
00224 #include "vehicle/PxVehicleSDK.h"
00225 #include "vehicle/PxVehicleShaders.h"
00226 #include "vehicle/PxVehicleTireFriction.h"
00227 #include "vehicle/PxVehicleUpdate.h"
00228 #include "vehicle/PxVehicleUtilControl.h"
00229 #include "vehicle/PxVehicleUtilSetup.h"
00230 #include "vehicle/PxVehicleUtilTelemetry.h"
00231 #include "vehicle/PxVehicleWheels.h"
00232 #include "vehicle/PxVehicleNoDrive.h"
00233 #include "vehicle/PxVehicleDriveNW.h"
00234
00235 //Connecting the SDK to Visual Debugger
00236 #include "pvd/PxPvdSceneClient.h"
00237 #include "pvd/PxPvd.h"
00238 #include "pvd/PxPvdTransport.h"
00240 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPhysicsInsertionCallback.h Source File

PxPhysicsInsertionCallback.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_PX_PHYSICS_INSERTION_CALLBACK
00032 #define PX_PHYSICS_PX_PHYSICS_INSERTION_CALLBACK
00033
00034 #include "PxBase.h"
00035
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00060     class PxPhysicsInsertionCallback
00061     {
00062     public:
00063         PxPhysicsInsertionCallback()                {}
00064
00072         virtual PxBase* buildObjectFromData(PxConcreteType::Enum type, void* data) = 0;
00073
00074     protected:
00075         virtual ~PxPhysicsInsertionCallback()       {}
00076     };
00077
00078
00079 #if !PX_DOXYGEN
00080 } // namespace physx
00081 #endif
00082
00084 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPhysicsSerialization.h Source File

PxPhysicsSerialization.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_PX_PHYSICS_SERIALIZATION
00032 #define PX_PHYSICS_PX_PHYSICS_SERIALIZATION
00033
00034 #include "PxPhysXConfig.h"
00035 #include "common/PxSerialFramework.h"
00036
00037 #if !PX_DOXYGEN
00038
00043 PX_C_EXPORT PX_PHYSX_CORE_API void PX_CALL_CONV PxGetPhysicsBinaryMetaData(physx::PxOutputStream& stream);
00044
00050 PX_C_EXPORT PX_PHYSX_CORE_API void PX_CALL_CONV PxRegisterPhysicsSerializers(physx::PxSerializationRegistry& sr);
00051
00057 PX_C_EXPORT PX_PHYSX_CORE_API void PX_CALL_CONV PxUnregisterPhysicsSerializers(physx::PxSerializationRegistry& sr);
00058
00059
00070 PX_C_EXPORT PX_PHYSX_CORE_API void PX_CALL_CONV PxAddCollectionToPhysics(const physx::PxCollection& collection);
00071
00072 #endif // !PX_DOXYGEN
00073
00074 #endif // PX_PHYSICS_PX_PHYSICS_SERIALIZATION


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPhysicsVersion.h Source File

PxPhysicsVersion.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PX_PHYSICS_VERSION_NUMBER_H
00031 #define PX_PHYSICS_VERSION_NUMBER_H
00032
00033 /*
00034 VersionNumbers:  The combination of these
00035 numbers uniquely identifies the API, and should
00036 be incremented when the SDK API changes.  This may
00037 include changes to file formats.
00038
00039 This header is included in the main SDK header files
00040 so that the entire SDK and everything that builds on it
00041 is completely rebuilt when this file changes.  Thus,
00042 this file is not to include a frequently changing
00043 build number.  See BuildNumber.h for that.
00044
00045 Each of these three values should stay below 255 because
00046 sometimes they are stored in a byte.
00047 */
00052 //
00053 // Important: if you adjust the versions below, don't forget to adjust the compatibility list in
00054 // sBinaryCompatibleVersions as well.
00055 //
00056
00057 #define PX_PHYSICS_VERSION_MAJOR 3
00058 #define PX_PHYSICS_VERSION_MINOR 4
00059 #define PX_PHYSICS_VERSION_BUGFIX 2
00060
00065 #define PX_PHYSICS_VERSION ((PX_PHYSICS_VERSION_MAJOR<<24) + (PX_PHYSICS_VERSION_MINOR<<16) + (PX_PHYSICS_VERSION_BUGFIX<<8) + 0)
00066
00067
00068 #endif // PX_PHYSICS_VERSION_NUMBER_H
00069


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPhysXCommonConfig.h Source File

PxPhysXCommonConfig.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_COMMON_NX
00032 #define PX_PHYSICS_COMMON_NX
00033
00037 #include "foundation/Px.h"
00038
00039 /*Disable support for VS2017 prior version 15.5.1 for windows platform, because of a compiler bug:
00040 https://developercommunity.visualstudio.com/content/problem/66047/possible-compiler-bug.html
00041 */
00042 #if (PX_VC == 15) && PX_WINDOWS && (_MSC_FULL_VER < 191225830)
00043 #error Visual studio 2017 prior to 15.5.1 is not supported because of a compiler bug.
00044 #endif
00045
00046 // define API function declaration (public API only needed because of extensions)
00047 #if defined PX_PHYSX_STATIC_LIB || defined PX_PHYSX_CORE_STATIC_LIB
00048     #define PX_PHYSX_CORE_API
00049 #else
00050     #if PX_WINDOWS
00051         #if defined PX_PHYSX_CORE_EXPORTS
00052             #define PX_PHYSX_CORE_API __declspec(dllexport)
00053         #else
00054             #define PX_PHYSX_CORE_API __declspec(dllimport)
00055         #endif
00056     #elif PX_UNIX_FAMILY
00057         #define PX_PHYSX_CORE_API PX_UNIX_EXPORT
00058     #else
00059         #define PX_PHYSX_CORE_API
00060     #endif
00061 #endif
00062
00063 #if PX_SUPPORT_GPU_PHYSX
00064
00065 // define API function declaration
00066 #if PX_WINDOWS
00067 #if defined PX_PHYSX_GPU_EXPORTS
00068 #define PX_PHYSX_GPU_API __declspec(dllexport)
00069 #else
00070 #define PX_PHYSX_GPU_API __declspec(dllimport)
00071 #endif
00072 #elif PX_UNIX_FAMILY
00073 #define PX_PHYSX_GPU_API PX_UNIX_EXPORT
00074 #else
00075 #define PX_PHYSX_GPU_API
00076 #endif
00077
00078 #else // PX_SUPPORT_GPU_PHYSX
00079 #define PX_PHYSX_GPU_API
00080 #endif // PX_SUPPORT_GPU_PHYSX
00081
00082 #if PX_WINDOWS && !defined(__CUDACC__)
00083     #if defined PX_PHYSX_COMMON_EXPORTS
00084         #define PX_PHYSX_COMMON_API __declspec(dllexport)
00085     #else
00086         #define PX_PHYSX_COMMON_API __declspec(dllimport)
00087     #endif
00088 #elif PX_UNIX_FAMILY
00089     #define PX_PHYSX_COMMON_API PX_UNIX_EXPORT
00090 #else
00091     #define PX_PHYSX_COMMON_API
00092 #endif
00093
00094 // Changing these parameters requires recompilation of the SDK
00095
00096 #if !PX_DOXYGEN
00097 namespace physx
00098 {
00099 #endif
00100     class PxCollection;
00101     class PxBase;
00102
00103     class PxHeightField;
00104     class PxHeightFieldDesc;
00105
00106     class PxTriangleMesh;
00107     class PxConvexMesh;
00108
00109     typedef PxU32 PxTriangleID;
00110     typedef PxU16 PxMaterialTableIndex;
00111
00112 #if !PX_DOXYGEN
00113 } // namespace physx
00114 #endif
00115
00117 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPhysXConfig.h Source File

PxPhysXConfig.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX
00032 #define PX_PHYSICS_NX
00033
00040 #include "common/PxPhysXCommonConfig.h"
00041
00042 #if !PX_DOXYGEN
00043 namespace physx
00044 {
00045 #endif
00046
00047 // Exposing the ParticleSystem API. Run API meta data generation in Tools/PhysXMetaDataGenerator when changing.
00048 #define PX_USE_PARTICLE_SYSTEM_API 1
00049
00050 // Exposing of the Cloth API. Run API meta data generation in Tools/PhysXMetaDataGenerator when changing.
00051 #define PX_USE_CLOTH_API 1
00052
00053 class PxPhysics;
00054 class PxShape;
00055
00056 class PxActor;
00057 class PxRigidActor;
00058 class PxRigidStatic;
00059 class PxRigidDynamic;
00060 class PxConstraint;
00061 class PxConstraintDesc;
00062
00063 class PxArticulation;
00064 class PxArticulationLink;
00065 class PxArticulationJoint;
00066
00067 class PxParticleSystem;
00068 class PxParticleFluid;
00069 class PxParticleReadData;
00070 class PxParticleFluidReadData;
00071
00072 class PxClothFabric;
00073 class PxCloth;
00074 class PxClothParticleData;
00075
00076
00077 class PxMaterial;
00078
00079 class PxScene;
00080 class PxSceneDesc;
00081 class PxTolerancesScale;
00082
00083 class PxAggregate;
00084
00085 #if !PX_DOXYGEN
00086 } // namespace physx
00087 #endif
00088
00090 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPlane.h Source File

PxPlane.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PXFOUNDATION_PXPLANE_H
00031 #define PXFOUNDATION_PXPLANE_H
00032
00037 #include "foundation/PxMath.h"
00038 #include "foundation/PxVec3.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00050 class PxPlane
00051 {
00052   public:
00056     PX_CUDA_CALLABLE PX_FORCE_INLINE PxPlane()
00057     {
00058     }
00059
00063     PX_CUDA_CALLABLE PX_FORCE_INLINE PxPlane(float nx, float ny, float nz, float distance) : n(nx, ny, nz), d(distance)
00064     {
00065     }
00066
00070     PX_CUDA_CALLABLE PX_FORCE_INLINE PxPlane(const PxVec3& normal, float distance) : n(normal), d(distance)
00071     {
00072     }
00073
00077     PX_CUDA_CALLABLE PX_FORCE_INLINE PxPlane(const PxVec3& point, const PxVec3& normal)
00078     : n(normal), d(-point.dot(n)) // p satisfies normal.dot(p) + d = 0
00079     {
00080     }
00081
00085     PX_CUDA_CALLABLE PX_FORCE_INLINE PxPlane(const PxVec3& p0, const PxVec3& p1, const PxVec3& p2)
00086     {
00087         n = (p1 - p0).cross(p2 - p0).getNormalized();
00088         d = -p0.dot(n);
00089     }
00090
00094     PX_CUDA_CALLABLE PX_INLINE bool operator==(const PxPlane& p) const
00095     {
00096         return n == p.n && d == p.d;
00097     }
00098
00099     PX_CUDA_CALLABLE PX_FORCE_INLINE float distance(const PxVec3& p) const
00100     {
00101         return p.dot(n) + d;
00102     }
00103
00104     PX_CUDA_CALLABLE PX_FORCE_INLINE bool contains(const PxVec3& p) const
00105     {
00106         return PxAbs(distance(p)) < (1.0e-7f);
00107     }
00108
00112     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 project(const PxVec3& p) const
00113     {
00114         return p - n * distance(p);
00115     }
00116
00120     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 pointInPlane() const
00121     {
00122         return -n * d;
00123     }
00124
00129     PX_CUDA_CALLABLE PX_FORCE_INLINE void normalize()
00130     {
00131         float denom = 1.0f / n.magnitude();
00132         n *= denom;
00133         d *= denom;
00134     }
00135
00136     PxVec3 n;
00137     float d;
00138 };
00139
00140 #if !PX_DOXYGEN
00141 } // namespace physx
00142 #endif
00143
00145 #endif // #ifndef PXFOUNDATION_PXPLANE_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPlaneGeometry.h Source File

PxPlaneGeometry.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_PLANE_GEOMETRY
00032 #define PX_PHYSICS_NX_PLANE_GEOMETRY
00033
00036 #include "foundation/PxPlane.h"
00037 #include "foundation/PxTransform.h"
00038 #include "geometry/PxGeometry.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00058 class PxPlaneGeometry : public PxGeometry
00059 {
00060 public:
00061     PX_INLINE PxPlaneGeometry() :   PxGeometry(PxGeometryType::ePLANE) {}
00062
00068     PX_INLINE bool isValid() const;
00069 };
00070
00071
00072 PX_INLINE bool PxPlaneGeometry::isValid() const
00073 {
00074     if (mType != PxGeometryType::ePLANE)
00075         return false;
00076
00077     return true;
00078 }
00079
00080
00087 PX_FOUNDATION_API PxTransform PxTransformFromPlaneEquation(const PxPlane& plane);
00088
00096 PX_INLINE PxPlane PxPlaneEquationFromTransform(const PxTransform& transform)
00097 {
00098     return transform.transform(PxPlane(1.f,0.f,0.f,0.f));
00099 }
00100
00101
00102 #if !PX_DOXYGEN
00103 } // namespace physx
00104 #endif
00105
00107 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPreprocessor.h Source File

PxPreprocessor.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PXFOUNDATION_PXPREPROCESSOR_H
00031 #define PXFOUNDATION_PXPREPROCESSOR_H
00032
00033 #include <stddef.h>
00034 #if !defined(PX_GENERATE_META_DATA)
00035 #include <ciso646>
00036 #endif
00037
00041 #define PX_STRINGIZE_HELPER(X) #X
00042 #define PX_STRINGIZE(X) PX_STRINGIZE_HELPER(X)
00043
00044 #define PX_CONCAT_HELPER(X, Y) X##Y
00045 #define PX_CONCAT(X, Y) PX_CONCAT_HELPER(X, Y)
00046
00047 /*
00048 The following preprocessor identifiers specify compiler, OS, and architecture.
00049 All definitions have a value of 1 or 0, use '#if' instead of '#ifdef'.
00050 */
00051
00055 #if defined(_MSC_VER)
00056 #if _MSC_VER >= 1910
00057 #define PX_VC 15
00058 #elif _MSC_VER >= 1900
00059 #define PX_VC 14
00060 #elif _MSC_VER >= 1800
00061 #define PX_VC 12
00062 #elif _MSC_VER >= 1700
00063 #define PX_VC 11
00064 #elif _MSC_VER >= 1600
00065 #define PX_VC 10
00066 #elif _MSC_VER >= 1500
00067 #define PX_VC 9
00068 #else
00069 #error "Unknown VC version"
00070 #endif
00071 #elif defined(__clang__)
00072 #define PX_CLANG 1
00073 #elif defined(__GNUC__) // note: __clang__ implies __GNUC__
00074 #define PX_GCC 1
00075 #else
00076 #error "Unknown compiler"
00077 #endif
00078
00082 #if defined(_XBOX_ONE)
00083 #define PX_XBOXONE 1
00084 #elif defined(_WIN64) // note: _XBOX_ONE implies _WIN64
00085 #define PX_WIN64 1
00086 #elif defined(_WIN32) // note: _M_PPC implies _WIN32
00087 #define PX_WIN32 1
00088 #elif defined(__ANDROID__)
00089 #define PX_ANDROID 1
00090 #elif defined(__linux__) || defined (__EMSCRIPTEN__) // note: __ANDROID__ implies __linux__
00091 #define PX_LINUX 1
00092 #elif defined(__APPLE__) && (defined(__arm__) || defined(__arm64__))
00093 #define PX_IOS 1
00094 #elif defined(__APPLE__)
00095 #define PX_OSX 1
00096 #elif defined(__ORBIS__)
00097 #define PX_PS4 1
00098 #elif defined(__NX__)
00099 #define PX_SWITCH 1
00100 #else
00101 #error "Unknown operating system"
00102 #endif
00103
00107 #if defined(__x86_64__) || defined(_M_X64) // ps4 compiler defines _M_X64 without value
00108 #define PX_X64 1
00109 #elif defined(__i386__) || defined(_M_IX86) || defined (__EMSCRIPTEN__)
00110 #define PX_X86 1
00111 #elif defined(__arm64__) || defined(__aarch64__)
00112 #define PX_A64 1
00113 #elif defined(__arm__) || defined(_M_ARM)
00114 #define PX_ARM 1
00115 #elif defined(__ppc__) || defined(_M_PPC) || defined(__CELLOS_LV2__)
00116 #define PX_PPC 1
00117 #else
00118 #error "Unknown architecture"
00119 #endif
00120
00124 #if !defined(PX_SIMD_DISABLED)
00125 #if defined(__i386__) || defined(_M_IX86) || defined(__x86_64__) || defined(_M_X64) || (defined (__EMSCRIPTEN__) && defined(__SSE2__))
00126 #define PX_SSE2 1
00127 #endif
00128 #if defined(_M_ARM) || defined(__ARM_NEON__) || defined(__ARM_NEON)
00129 #define PX_NEON 1
00130 #endif
00131 #if defined(_M_PPC) || defined(__CELLOS_LV2__)
00132 #define PX_VMX 1
00133 #endif
00134 #endif
00135
00139 #ifndef PX_VC
00140 #define PX_VC 0
00141 #endif
00142 #ifndef PX_CLANG
00143 #define PX_CLANG 0
00144 #endif
00145 #ifndef PX_GCC
00146 #define PX_GCC 0
00147 #endif
00148 #ifndef PX_XBOXONE
00149 #define PX_XBOXONE 0
00150 #endif
00151 #ifndef PX_WIN64
00152 #define PX_WIN64 0
00153 #endif
00154 #ifndef PX_WIN32
00155 #define PX_WIN32 0
00156 #endif
00157 #ifndef PX_ANDROID
00158 #define PX_ANDROID 0
00159 #endif
00160 #ifndef PX_LINUX
00161 #define PX_LINUX 0
00162 #endif
00163 #ifndef PX_IOS
00164 #define PX_IOS 0
00165 #endif
00166 #ifndef PX_OSX
00167 #define PX_OSX 0
00168 #endif
00169 #ifndef PX_PS4
00170 #define PX_PS4 0
00171 #endif
00172 #ifndef PX_SWITCH
00173 #define PX_SWITCH 0
00174 #endif
00175 #ifndef PX_X64
00176 #define PX_X64 0
00177 #endif
00178 #ifndef PX_X86
00179 #define PX_X86 0
00180 #endif
00181 #ifndef PX_A64
00182 #define PX_A64 0
00183 #endif
00184 #ifndef PX_ARM
00185 #define PX_ARM 0
00186 #endif
00187 #ifndef PX_PPC
00188 #define PX_PPC 0
00189 #endif
00190 #ifndef PX_SSE2
00191 #define PX_SSE2 0
00192 #endif
00193 #ifndef PX_NEON
00194 #define PX_NEON 0
00195 #endif
00196 #ifndef PX_VMX
00197 #define PX_VMX 0
00198 #endif
00199
00200 /*
00201 define anything not defined through the command line to 0
00202 */
00203 #ifndef PX_DEBUG
00204 #define PX_DEBUG 0
00205 #endif
00206 #ifndef PX_CHECKED
00207 #define PX_CHECKED 0
00208 #endif
00209 #ifndef PX_PROFILE
00210 #define PX_PROFILE 0
00211 #endif
00212 #ifndef PX_NVTX
00213 #define PX_NVTX 0
00214 #endif
00215 #ifndef PX_DOXYGEN
00216 #define PX_DOXYGEN 0
00217 #endif
00218
00222 // compiler
00223 #define PX_GCC_FAMILY (PX_CLANG || PX_GCC)
00224 // os
00225 #define PX_WINDOWS_FAMILY (PX_WIN32 || PX_WIN64)
00226 #define PX_MICROSOFT_FAMILY (PX_XBOXONE || PX_WINDOWS_FAMILY)
00227 #define PX_LINUX_FAMILY (PX_LINUX || PX_ANDROID)
00228 #define PX_APPLE_FAMILY (PX_IOS || PX_OSX)                  // equivalent to #if __APPLE__
00229 #define PX_UNIX_FAMILY (PX_LINUX_FAMILY || PX_APPLE_FAMILY) // shortcut for unix/posix platforms
00230 #if defined(__EMSCRIPTEN__)
00231 #define PX_EMSCRIPTEN 1
00232 #else
00233 #define PX_EMSCRIPTEN 0
00234 #endif
00235 // architecture
00236 #define PX_INTEL_FAMILY (PX_X64 || PX_X86)
00237 #define PX_ARM_FAMILY (PX_ARM || PX_A64)
00238 #define PX_P64_FAMILY (PX_X64 || PX_A64) // shortcut for 64-bit architectures
00239
00243 #if defined(_LIBCPP_VERSION) || PX_WIN64 || PX_WIN32 || PX_PS4 || PX_XBOXONE || PX_EMSCRIPTEN
00244 #define PX_LIBCPP 1
00245 #else
00246 #define PX_LIBCPP 0
00247 #endif
00248
00249 // legacy define for PhysX
00250 #define PX_WINDOWS (PX_WINDOWS_FAMILY && !PX_ARM_FAMILY)
00251
00255 #ifndef PX_ENABLE_ASSERTS
00256 #if PX_DEBUG && !defined(__CUDACC__)
00257 #define PX_ENABLE_ASSERTS 1
00258 #else
00259 #define PX_ENABLE_ASSERTS 0
00260 #endif
00261 #endif
00262
00266 #ifndef PX_C_EXPORT
00267 #if PX_WINDOWS_FAMILY || PX_LINUX
00268 #define PX_C_EXPORT extern "C"
00269 #else
00270 #define PX_C_EXPORT
00271 #endif
00272 #endif
00273
00274 #if PX_UNIX_FAMILY&& __GNUC__ >= 4
00275 #define PX_UNIX_EXPORT __attribute__((visibility("default")))
00276 #else
00277 #define PX_UNIX_EXPORT
00278 #endif
00279
00280 #if PX_WINDOWS_FAMILY
00281 #define PX_DLL_EXPORT __declspec(dllexport)
00282 #define PX_DLL_IMPORT __declspec(dllimport)
00283 #else
00284 #define PX_DLL_EXPORT PX_UNIX_EXPORT
00285 #define PX_DLL_IMPORT
00286 #endif
00287
00297 #if PX_WINDOWS_FAMILY && !PX_ARM_FAMILY
00298 #ifndef PX_FOUNDATION_DLL
00299 #define PX_FOUNDATION_API PX_DLL_IMPORT
00300 #elif PX_FOUNDATION_DLL
00301 #define PX_FOUNDATION_API PX_DLL_EXPORT
00302 #endif
00303 #elif PX_UNIX_FAMILY
00304 #ifdef PX_FOUNDATION_DLL
00305 #define PX_FOUNDATION_API PX_UNIX_EXPORT
00306 #endif
00307 #endif
00308
00309 #ifndef PX_FOUNDATION_API
00310 #define PX_FOUNDATION_API
00311 #endif
00312
00316 #ifndef PX_CALL_CONV
00317 #if PX_MICROSOFT_FAMILY
00318 #define PX_CALL_CONV __cdecl
00319 #else
00320 #define PX_CALL_CONV
00321 #endif
00322 #endif
00323
00327 #if PX_VC
00328 #define PX_PUSH_PACK_DEFAULT __pragma(pack(push, 8))
00329 #define PX_POP_PACK __pragma(pack(pop))
00330 #elif PX_GCC_FAMILY
00331 #define PX_PUSH_PACK_DEFAULT _Pragma("pack(push, 8)")
00332 #define PX_POP_PACK _Pragma("pack(pop)")
00333 #else
00334 #define PX_PUSH_PACK_DEFAULT
00335 #define PX_POP_PACK
00336 #endif
00337
00341 #define PX_INLINE inline
00342 #if PX_MICROSOFT_FAMILY
00343 #pragma inline_depth(255)
00344 #endif
00345
00349 #if PX_VC
00350 #define PX_FORCE_INLINE __forceinline
00351 #elif PX_LINUX // Workaround; Fedora Core 3 do not agree with force inline and PxcPool
00352 #define PX_FORCE_INLINE inline
00353 #elif PX_GCC_FAMILY
00354 #define PX_FORCE_INLINE inline __attribute__((always_inline))
00355 #else
00356 #define PX_FORCE_INLINE inline
00357 #endif
00358
00362 #if PX_MICROSOFT_FAMILY
00363 #define PX_NOINLINE __declspec(noinline)
00364 #elif PX_GCC_FAMILY
00365 #define PX_NOINLINE __attribute__((noinline))
00366 #else
00367 #define PX_NOINLINE
00368 #endif
00369
00373 #if defined(__CUDACC__)
00374 #define PX_RESTRICT __restrict__
00375 #else
00376 #define PX_RESTRICT __restrict
00377 #endif
00378
00382 #if PX_MICROSOFT_FAMILY
00383 #define PX_NOALIAS __declspec(noalias)
00384 #else
00385 #define PX_NOALIAS
00386 #endif
00387
00399 #ifndef PX_ALIGN
00400 #if PX_MICROSOFT_FAMILY
00401 #define PX_ALIGN(alignment, decl) __declspec(align(alignment)) decl
00402 #define PX_ALIGN_PREFIX(alignment) __declspec(align(alignment))
00403 #define PX_ALIGN_SUFFIX(alignment)
00404 #elif PX_GCC_FAMILY
00405 #define PX_ALIGN(alignment, decl) decl __attribute__((aligned(alignment)))
00406 #define PX_ALIGN_PREFIX(alignment)
00407 #define PX_ALIGN_SUFFIX(alignment) __attribute__((aligned(alignment)))
00408 #elif defined __CUDACC__
00409 #define PX_ALIGN(alignment, decl) __align__(alignment) decl
00410 #define PX_ALIGN_PREFIX(alignment)
00411 #define PX_ALIGN_SUFFIX(alignment) __align__(alignment))
00412 #else
00413 #define PX_ALIGN(alignment, decl)
00414 #define PX_ALIGN_PREFIX(alignment)
00415 #define PX_ALIGN_SUFFIX(alignment)
00416 #endif
00417 #endif
00418
00429 #define PX_DEPRECATED
00430
00435 // static assert
00436 #if (defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7))) || (PX_PS4) || (PX_APPLE_FAMILY) || (PX_SWITCH) || (PX_CLANG && PX_ARM)
00437 #define PX_COMPILE_TIME_ASSERT(exp) typedef char PX_CONCAT(PxCompileTimeAssert_Dummy, __COUNTER__)[(exp) ? 1 : -1] __attribute__((unused))
00438 #else
00439 #define PX_COMPILE_TIME_ASSERT(exp) typedef char PxCompileTimeAssert_Dummy[(exp) ? 1 : -1]
00440 #endif
00441
00442 #if PX_GCC_FAMILY
00443 #define PX_OFFSET_OF(X, Y) __builtin_offsetof(X, Y)
00444 #else
00445 #define PX_OFFSET_OF(X, Y) offsetof(X, Y)
00446 #endif
00447
00448 #define PX_OFFSETOF_BASE 0x100 // casting the null ptr takes a special-case code path, which we don't want
00449 #define PX_OFFSET_OF_RT(Class, Member)                                                                                 \
00450     (reinterpret_cast<size_t>(&reinterpret_cast<Class*>(PX_OFFSETOF_BASE)->Member) - size_t(PX_OFFSETOF_BASE))
00451
00452 // check that exactly one of NDEBUG and _DEBUG is defined
00453 #if !defined(NDEBUG) ^ defined(_DEBUG)
00454 #error Exactly one of NDEBUG and _DEBUG needs to be defined!
00455 #endif
00456
00457 // make sure PX_CHECKED is defined in all _DEBUG configurations as well
00458 #if !PX_CHECKED && PX_DEBUG
00459 #error PX_CHECKED must be defined when PX_DEBUG is defined
00460 #endif
00461
00462 #ifdef __CUDACC__
00463 #define PX_CUDA_CALLABLE __host__ __device__
00464 #else
00465 #define PX_CUDA_CALLABLE
00466 #endif
00467
00468 // avoid unreferenced parameter warning
00469 // preferred solution: omit the parameter's name from the declaration
00470 template <class T>
00471 PX_CUDA_CALLABLE PX_INLINE void PX_UNUSED(T const&)
00472 {
00473 }
00474
00475 // Ensure that the application hasn't tweaked the pack value to less than 8, which would break
00476 // matching between the API headers and the binaries
00477 // This assert works on win32/win64, but may need further specialization on other platforms.
00478 // Some GCC compilers need the compiler flag -malign-double to be set.
00479 // Apparently the apple-clang-llvm compiler doesn't support malign-double.
00480 #if PX_PS4 || PX_APPLE_FAMILY || (PX_CLANG && !PX_ARM)
00481 struct PxPackValidation
00482 {
00483     char _;
00484     long a;
00485 };
00486 #elif PX_ANDROID || (PX_CLANG && PX_ARM)
00487 struct PxPackValidation
00488 {
00489     char _;
00490     double a;
00491 };
00492 #else
00493 struct PxPackValidation
00494 {
00495     char _;
00496     long long a;
00497 };
00498 #endif
00499 // clang (as of version 3.9) cannot align doubles on 8 byte boundary  when compiling for Intel 32 bit target
00500 #if !PX_APPLE_FAMILY && !PX_EMSCRIPTEN && !(PX_CLANG && PX_X86)
00501 PX_COMPILE_TIME_ASSERT(PX_OFFSET_OF(PxPackValidation, a) == 8);
00502 #endif
00503
00504 // use in a cpp file to suppress LNK4221
00505 #if PX_VC
00506 #define PX_DUMMY_SYMBOL                                                                                                \
00507     namespace                                                                                                          \
00508     {                                                                                                                  \
00509     char PxDummySymbol;                                                                                                \
00510     }
00511 #else
00512 #define PX_DUMMY_SYMBOL
00513 #endif
00514
00515 #if PX_GCC_FAMILY
00516 #define PX_WEAK_SYMBOL __attribute__((weak)) // this is to support SIMD constant merging in template specialization
00517 #else
00518 #define PX_WEAK_SYMBOL
00519 #endif
00520
00521 // Macro for avoiding default assignment and copy, because doing this by inheritance can increase class size on some
00522 // platforms.
00523 #define PX_NOCOPY(Class)                                                                                               \
00524     \
00525 protected:                                                                                                             \
00526     Class(const Class&);                                                                                               \
00527     Class& operator=(const Class&);
00528
00529 #ifndef DISABLE_CUDA_PHYSX
00530 //CUDA is currently supported only on windows
00531 #define PX_SUPPORT_GPU_PHYSX ((PX_WINDOWS_FAMILY) || (PX_LINUX && PX_X64))
00532 #else
00533 #define PX_SUPPORT_GPU_PHYSX 0
00534 #endif
00535
00536 #define PX_SUPPORT_COMPUTE_PHYSX 0
00537
00538 #ifndef PX_SUPPORT_EXTERN_TEMPLATE
00539 #define PX_SUPPORT_EXTERN_TEMPLATE ((!PX_ANDROID) && (PX_VC != 11))
00540 #else
00541 #define PX_SUPPORT_EXTERN_TEMPLATE 0
00542 #endif
00543
00545 #endif // #ifndef PXFOUNDATION_PXPREPROCESSOR_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPrismaticJoint.h Source File

PxPrismaticJoint.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PRISMATICJOINT_H
00032 #define PX_PRISMATICJOINT_H
00033
00037 #include "extensions/PxJoint.h"
00038 #include "extensions/PxJointLimit.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00045 class PxPrismaticJoint;
00046
00059 PxPrismaticJoint*   PxPrismaticJointCreate(PxPhysics& physics,
00060                                            PxRigidActor* actor0, const PxTransform& localFrame0,
00061                                            PxRigidActor* actor1, const PxTransform& localFrame1);
00062
00063
00070 struct PxPrismaticJointFlag
00071 {
00072     enum Enum
00073     {
00074         eLIMIT_ENABLED  = 1<<1
00075     };
00076 };
00077
00078 typedef PxFlags<PxPrismaticJointFlag::Enum, PxU16> PxPrismaticJointFlags;
00079 PX_FLAGS_OPERATORS(PxPrismaticJointFlag::Enum, PxU16)
00080
00081
00082
00094 class PxPrismaticJoint : public PxJoint
00095 {
00096 public:
00097
00098
00103     virtual PxReal          getPosition()               const               = 0;
00104
00108     virtual PxReal          getVelocity()               const               = 0;
00109
00118     virtual void            setLimit(const PxJointLinearLimitPair&)     = 0;
00119
00125     virtual PxJointLinearLimitPair getLimit()           const           = 0;
00126
00127
00138     virtual void                    setPrismaticJointFlags(PxPrismaticJointFlags flags) = 0;
00139
00149     virtual void                    setPrismaticJointFlag(PxPrismaticJointFlag::Enum flag, bool value) = 0;
00150
00159     virtual PxPrismaticJointFlags   getPrismaticJointFlags(void)                    const   = 0;
00160
00180     virtual void            setProjectionLinearTolerance(PxReal tolerance)                  = 0;
00181
00190     virtual PxReal          getProjectionLinearTolerance()          const                   = 0;
00191
00211     virtual void            setProjectionAngularTolerance(PxReal tolerance)                 = 0;
00212
00218     virtual PxReal          getProjectionAngularTolerance()         const                   = 0;
00219
00223     virtual const char*     getConcreteTypeName() const { return "PxPrismaticJoint"; }
00224
00225 protected:
00226     //serialization
00227
00231     PX_INLINE               PxPrismaticJoint(PxType concreteType, PxBaseFlags baseFlags) : PxJoint(concreteType, baseFlags) {}
00232
00236     PX_INLINE               PxPrismaticJoint(PxBaseFlags baseFlags) : PxJoint(baseFlags) {}
00237
00241     virtual bool            isKindOf(const char* name) const {  return !::strcmp("PxPrismaticJoint", name) || PxJoint::isKindOf(name); }
00242
00243     //~serialization
00244 };
00245
00246 #if !PX_DOXYGEN
00247 } // namespace physx
00248 #endif
00249
00251 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxProfiler.h Source File

PxProfiler.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027
00028 #ifndef PXFOUNDATION_PXPROFILER_H
00029 #define PXFOUNDATION_PXPROFILER_H
00030
00031 #include "foundation/PxFoundation.h"
00032
00033 namespace physx
00034 {
00035
00040 class PxProfilerCallback
00041 {
00042 protected:
00043     virtual ~PxProfilerCallback()   {}
00044
00045 public:
00046     /**************************************************************************************************************************
00047     Instrumented profiling events
00048     ***************************************************************************************************************************/
00049
00057     virtual void* zoneStart(const char* eventName, bool detached, uint64_t contextId) = 0;
00058
00068     virtual void zoneEnd(void* profilerData, const char* eventName, bool detached, uint64_t contextId) = 0;
00069 };
00070
00071 class PxProfileScoped
00072 {
00073   public:
00074     PX_FORCE_INLINE PxProfileScoped(const char* eventName, bool detached, uint64_t contextId) : mCallback(PxGetProfilerCallback()), mProfilerData(NULL)
00075     {
00076         if(mCallback)
00077         {
00078             mEventName      = eventName;
00079             mContextId      = contextId;
00080             mDetached       = detached;
00081             mProfilerData   = mCallback->zoneStart(eventName, detached, contextId);
00082         }
00083     }
00084
00085     PX_FORCE_INLINE ~PxProfileScoped()
00086     {
00087         if(mCallback)
00088             mCallback->zoneEnd(mProfilerData, mEventName, mDetached, mContextId);
00089     }
00090     physx::PxProfilerCallback*  mCallback;
00091     const char*                 mEventName;
00092     void*                       mProfilerData;
00093     uint64_t                    mContextId;
00094     bool                        mDetached;
00095 };
00096
00097 } // end of physx namespace
00098
00099 #if PX_DEBUG || PX_CHECKED || PX_PROFILE
00100     #define PX_PROFILE_ZONE(x, y)                                       \
00101         physx::PxProfileScoped PX_CONCAT(_scoped, __LINE__)(x, false, y)
00102     #define PX_PROFILE_START_CROSSTHREAD(x, y)                          \
00103         if(PxGetProfilerCallback())                                     \
00104             PxGetProfilerCallback()->zoneStart(x, true, y)
00105     #define PX_PROFILE_STOP_CROSSTHREAD(x, y)                           \
00106         if(PxGetProfilerCallback())                                     \
00107             PxGetProfilerCallback()->zoneEnd(NULL, x, true, y)
00108 #else
00109     #define PX_PROFILE_ZONE(x, y)
00110     #define PX_PROFILE_START_CROSSTHREAD(x, y)
00111     #define PX_PROFILE_STOP_CROSSTHREAD(x, y)
00112 #endif
00113
00114 #define PX_PROFILE_POINTER_TO_U64(pointer) static_cast<uint64_t>(reinterpret_cast<size_t>(pointer))
00115
00116 #endif // PXFOUNDATION_PXPROFILER_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPruningStructure.h Source File

PxPruningStructure.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_PRUNING_STRUCTURE
00032 #define PX_PHYSICS_NX_PRUNING_STRUCTURE
00033
00036 #include "PxPhysXConfig.h"
00037 #include "common/PxBase.h"
00038
00039 #if !PX_DOXYGEN
00040 namespace physx
00041 {
00042 #endif
00043
00044
00062 class PxPruningStructure : public PxBase
00063 {
00064 public:
00068     virtual void                release() = 0;
00069
00082     virtual PxU32               getRigidActors(PxRigidActor** userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const = 0;
00083
00093     virtual PxU32               getNbRigidActors() const = 0;
00094
00095     virtual const char*         getConcreteTypeName() const { return "PxPruningStructure";  }
00096 protected:
00097     PX_INLINE                   PxPruningStructure(PxType concreteType, PxBaseFlags baseFlags) : PxBase(concreteType, baseFlags) {}
00098     PX_INLINE                   PxPruningStructure(PxBaseFlags baseFlags) : PxBase(baseFlags) {}
00099     virtual                     ~PxPruningStructure()   {}
00100     virtual     bool            isKindOf(const char* name)  const       { return !::strcmp("PxPruningStructure", name) || PxBase::isKindOf(name); }
00101 };
00102
00103
00104 #if !PX_DOXYGEN
00105 } // namespace physx
00106 #endif
00107
00109 #endif // PX_PHYSICS_NX_PRUNING_STRUCTURE


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPvd.h Source File

PxPvd.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PXPVDSDK_PXPVD_H
00031 #define PXPVDSDK_PXPVD_H
00032
00036 #include "foundation/PxFlags.h"
00037 #include "foundation/PxProfiler.h"
00038
00039 #if !PX_DOXYGEN
00040 namespace physx
00041 {
00042 #endif
00043
00044 class PxPvdTransport;
00045
00046 #if PX_WINDOWS_FAMILY && !PX_ARM_FAMILY
00047 #ifndef PX_PVDSDK_DLL
00048 #define PX_PVDSDK_API PX_DLL_IMPORT
00049 #elif PX_PVDSDK_DLL
00050 #define PX_PVDSDK_API PX_DLL_EXPORT
00051 #endif
00052 #elif PX_UNIX_FAMILY
00053 #ifdef PX_PVDSDK_DLL
00054 #define PX_PVDSDK_API PX_UNIX_EXPORT
00055 #endif
00056 #endif
00057
00058 #ifndef PX_PVDSDK_API
00059 #define PX_PVDSDK_API
00060 #endif
00061
00065 struct PxPvdInstrumentationFlag
00066 {
00067     enum Enum
00068     {
00077         eDEBUG   = 1 << 0,
00078
00089         ePROFILE = 1 << 1,
00090
00111         eMEMORY  = 1 << 2,
00112
00113         eALL     = (eDEBUG | ePROFILE | eMEMORY)
00114     };
00115 };
00116
00122 typedef PxFlags<PxPvdInstrumentationFlag::Enum, uint8_t> PxPvdInstrumentationFlags;
00123 PX_FLAGS_OPERATORS(PxPvdInstrumentationFlag::Enum, uint8_t)
00124
00125
00129 class PxPvd : public physx::PxProfilerCallback
00130 {
00131   public:
00138     virtual bool connect(PxPvdTransport& transport, PxPvdInstrumentationFlags flags) = 0;
00139
00144     virtual void disconnect() = 0;
00145
00158     virtual bool isConnected(bool useCachedStatus = true) = 0;
00159
00164     virtual PxPvdTransport* getTransport() = 0;
00165
00169     virtual PxPvdInstrumentationFlags getInstrumentationFlags() = 0;
00170
00174     virtual void release() = 0;
00175
00176   protected:
00177     virtual ~PxPvd()
00178     {
00179     }
00180 };
00181
00186 PX_PVDSDK_API PxPvd* PX_CALL_CONV PxCreatePvd(PxFoundation& foundation);
00187
00188 #if !PX_DOXYGEN
00189 } // namespace physx
00190 #endif
00191
00193 #endif // PXPVDSDK_PXPVD_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPvdSceneClient.h Source File

PxPvdSceneClient.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PX_PVD_SCENE_CLIENT_H
00031 #define PX_PVD_SCENE_CLIENT_H
00032
00037 #include "foundation/PxFlags.h"
00038
00039 namespace physx
00040 {
00041     namespace pvdsdk
00042     {
00043         class PvdClient;
00044         struct PvdDebugPoint;
00045         struct PvdDebugLine;
00046         struct PvdDebugTriangle;
00047         struct PvdDebugText;
00048     }
00049 }
00050
00051 #if !PX_DOXYGEN
00052 namespace physx
00053 {
00054 #endif
00055
00059 struct PxPvdSceneFlag
00060 {
00061     enum Enum
00062     {
00063         eTRANSMIT_CONTACTS     = (1 << 0),
00064         eTRANSMIT_SCENEQUERIES = (1 << 1),
00065         eTRANSMIT_CONSTRAINTS  = (1 << 2)
00066     };
00067 };
00068
00074 typedef PxFlags<PxPvdSceneFlag::Enum, PxU8> PxPvdSceneFlags;
00075 PX_FLAGS_OPERATORS(PxPvdSceneFlag::Enum, PxU8)
00076
00077
00082 class PxPvdSceneClient
00083 {
00084   public:
00090     virtual void setScenePvdFlag(PxPvdSceneFlag::Enum flag, bool value) = 0;
00091
00096     virtual void setScenePvdFlags(PxPvdSceneFlags flags) = 0;
00097
00101     virtual PxPvdSceneFlags getScenePvdFlags() const = 0;
00102
00106     virtual void updateCamera(const char* name, const PxVec3& origin, const PxVec3& up, const PxVec3& target) = 0;
00107
00111     virtual void drawPoints(const physx::pvdsdk::PvdDebugPoint* points, PxU32 count) = 0;
00112
00116     virtual void drawLines(const physx::pvdsdk::PvdDebugLine* lines, PxU32 count) = 0;
00117
00121     virtual void drawTriangles(const physx::pvdsdk::PvdDebugTriangle* triangles, PxU32 count) = 0;
00122
00126     virtual void drawText(const physx::pvdsdk::PvdDebugText& text) = 0;
00127
00131     virtual physx::pvdsdk::PvdClient* getClientInternal() = 0;
00132
00133 protected:
00134     virtual ~PxPvdSceneClient(){}
00135 };
00136
00137 #if !PX_DOXYGEN
00138 } // namespace physx
00139 #endif
00140
00142 #endif // PX_PVD_SCENE_CLIENT_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPvdTransport.h Source File

PxPvdTransport.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PXPVDSDK_PXPVDTRANSPORT_H
00031 #define PXPVDSDK_PXPVDTRANSPORT_H
00032
00036 #include "foundation/PxErrors.h"
00037 #include "foundation/PxFlags.h"
00038 #include "pvd/PxPvd.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00053 class PxPvdTransport
00054 {
00055   public:
00056     // connect, isConnected, disconnect, read, write, flush
00057
00062     virtual bool connect() = 0;
00063
00068     virtual void disconnect() = 0;
00069
00073     virtual bool isConnected() = 0;
00074
00079     virtual bool write(const uint8_t* inBytes, uint32_t inLength) = 0;
00080
00081     /*
00082         lock this transport and return it
00083     */
00084     virtual PxPvdTransport& lock() = 0;
00085
00086     /*
00087         unlock this transport
00088     */
00089     virtual void unlock() = 0;
00090
00094     virtual void flush() = 0;
00095
00099     virtual uint64_t getWrittenDataSize() = 0;
00100
00101     virtual void release() = 0;
00102
00103   protected:
00104     virtual ~PxPvdTransport()
00105     {
00106     }
00107 };
00108
00115 PX_PVDSDK_API PxPvdTransport* PX_CALL_CONV
00116 PxDefaultPvdSocketTransportCreate(const char* host, int port, unsigned int timeoutInMilliseconds);
00117
00122 PX_PVDSDK_API PxPvdTransport* PX_CALL_CONV PxDefaultPvdFileTransportCreate(const char* name);
00123
00124 #if !PX_DOXYGEN
00125 } // namespace physx
00126 #endif
00127
00129 #endif // PXPVDSDK_PXPVDTRANSPORT_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxQuat.h Source File

PxQuat.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PXFOUNDATION_PXQUAT_H
00031 #define PXFOUNDATION_PXQUAT_H
00032
00037 #include "foundation/PxVec3.h"
00038 #if !PX_DOXYGEN
00039 namespace physx
00040 {
00041 #endif
00042
00049 class PxQuat
00050 {
00051   public:
00055     PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat()
00056     {
00057     }
00058
00060     PX_CUDA_CALLABLE PX_INLINE PxQuat(PxIDENTITY r) : x(0.0f), y(0.0f), z(0.0f), w(1.0f)
00061     {
00062         PX_UNUSED(r);
00063     }
00064
00068     explicit PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat(float r) : x(0.0f), y(0.0f), z(0.0f), w(r)
00069     {
00070     }
00071
00075     PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat(float nx, float ny, float nz, float nw) : x(nx), y(ny), z(nz), w(nw)
00076     {
00077     }
00078
00088     PX_CUDA_CALLABLE PX_INLINE PxQuat(float angleRadians, const PxVec3& unitAxis)
00089     {
00090         PX_ASSERT(PxAbs(1.0f - unitAxis.magnitude()) < 1e-3f);
00091         const float a = angleRadians * 0.5f;
00092         const float s = PxSin(a);
00093         w = PxCos(a);
00094         x = unitAxis.x * s;
00095         y = unitAxis.y * s;
00096         z = unitAxis.z * s;
00097     }
00098
00102     PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat(const PxQuat& v) : x(v.x), y(v.y), z(v.z), w(v.w)
00103     {
00104     }
00105
00111     PX_CUDA_CALLABLE PX_INLINE explicit PxQuat(const PxMat33& m); /* defined in PxMat33.h */
00112
00116     PX_CUDA_CALLABLE PX_FORCE_INLINE bool isIdentity() const
00117     {
00118         return x==0.0f && y==0.0f && z==0.0f && w==1.0f;
00119     }
00120
00124     PX_CUDA_CALLABLE bool isFinite() const
00125     {
00126         return PxIsFinite(x) && PxIsFinite(y) && PxIsFinite(z) && PxIsFinite(w);
00127     }
00128
00132     PX_CUDA_CALLABLE bool isUnit() const
00133     {
00134         const float unitTolerance = 1e-4f;
00135         return isFinite() && PxAbs(magnitude() - 1) < unitTolerance;
00136     }
00137
00142     PX_CUDA_CALLABLE bool isSane() const
00143     {
00144         const float unitTolerance = 1e-2f;
00145         return isFinite() && PxAbs(magnitude() - 1) < unitTolerance;
00146     }
00147
00151     PX_CUDA_CALLABLE PX_INLINE bool operator==(const PxQuat& q) const
00152     {
00153         return x == q.x && y == q.y && z == q.z && w == q.w;
00154     }
00155
00159     PX_CUDA_CALLABLE PX_INLINE void toRadiansAndUnitAxis(float& angle, PxVec3& axis) const
00160     {
00161         const float quatEpsilon = 1.0e-8f;
00162         const float s2 = x * x + y * y + z * z;
00163         if(s2 < quatEpsilon * quatEpsilon) // can't extract a sensible axis
00164         {
00165             angle = 0.0f;
00166             axis = PxVec3(1.0f, 0.0f, 0.0f);
00167         }
00168         else
00169         {
00170             const float s = PxRecipSqrt(s2);
00171             axis = PxVec3(x, y, z) * s;
00172             angle = PxAbs(w) < quatEpsilon ? PxPi : PxAtan2(s2 * s, w) * 2.0f;
00173         }
00174     }
00175
00181     PX_CUDA_CALLABLE PX_INLINE float getAngle() const
00182     {
00183         return PxAcos(w) * 2.0f;
00184     }
00185
00191     PX_CUDA_CALLABLE PX_INLINE float getAngle(const PxQuat& q) const
00192     {
00193         return PxAcos(dot(q)) * 2.0f;
00194     }
00195
00199     PX_CUDA_CALLABLE PX_FORCE_INLINE float magnitudeSquared() const
00200     {
00201         return x * x + y * y + z * z + w * w;
00202     }
00203
00207     PX_CUDA_CALLABLE PX_FORCE_INLINE float dot(const PxQuat& v) const
00208     {
00209         return x * v.x + y * v.y + z * v.z + w * v.w;
00210     }
00211
00212     PX_CUDA_CALLABLE PX_INLINE PxQuat getNormalized() const
00213     {
00214         const float s = 1.0f / magnitude();
00215         return PxQuat(x * s, y * s, z * s, w * s);
00216     }
00217
00218     PX_CUDA_CALLABLE PX_INLINE float magnitude() const
00219     {
00220         return PxSqrt(magnitudeSquared());
00221     }
00222
00223     // modifiers:
00227     PX_CUDA_CALLABLE PX_INLINE float normalize() // convert this PxQuat to a unit quaternion
00228     {
00229         const float mag = magnitude();
00230         if(mag != 0.0f)
00231         {
00232             const float imag = 1.0f / mag;
00233
00234             x *= imag;
00235             y *= imag;
00236             z *= imag;
00237             w *= imag;
00238         }
00239         return mag;
00240     }
00241
00242     /*
00243     \brief returns the conjugate.
00244
00245     \note for unit quaternions, this is the inverse.
00246     */
00247     PX_CUDA_CALLABLE PX_INLINE PxQuat getConjugate() const
00248     {
00249         return PxQuat(-x, -y, -z, w);
00250     }
00251
00252     /*
00253     \brief returns imaginary part.
00254     */
00255     PX_CUDA_CALLABLE PX_INLINE PxVec3 getImaginaryPart() const
00256     {
00257         return PxVec3(x, y, z);
00258     }
00259
00261     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 getBasisVector0() const
00262     {
00263         const float x2 = x * 2.0f;
00264         const float w2 = w * 2.0f;
00265         return PxVec3((w * w2) - 1.0f + x * x2, (z * w2) + y * x2, (-y * w2) + z * x2);
00266     }
00267
00269     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 getBasisVector1() const
00270     {
00271         const float y2 = y * 2.0f;
00272         const float w2 = w * 2.0f;
00273         return PxVec3((-z * w2) + x * y2, (w * w2) - 1.0f + y * y2, (x * w2) + z * y2);
00274     }
00275
00277     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 getBasisVector2() const
00278     {
00279         const float z2 = z * 2.0f;
00280         const float w2 = w * 2.0f;
00281         return PxVec3((y * w2) + x * z2, (-x * w2) + y * z2, (w * w2) - 1.0f + z * z2);
00282     }
00283
00287     PX_CUDA_CALLABLE PX_FORCE_INLINE const PxVec3 rotate(const PxVec3& v) const
00288     {
00289         const float vx = 2.0f * v.x;
00290         const float vy = 2.0f * v.y;
00291         const float vz = 2.0f * v.z;
00292         const float w2 = w * w - 0.5f;
00293         const float dot2 = (x * vx + y * vy + z * vz);
00294         return PxVec3((vx * w2 + (y * vz - z * vy) * w + x * dot2), (vy * w2 + (z * vx - x * vz) * w + y * dot2),
00295                       (vz * w2 + (x * vy - y * vx) * w + z * dot2));
00296     }
00297
00301     PX_CUDA_CALLABLE PX_FORCE_INLINE const PxVec3 rotateInv(const PxVec3& v) const
00302     {
00303         const float vx = 2.0f * v.x;
00304         const float vy = 2.0f * v.y;
00305         const float vz = 2.0f * v.z;
00306         const float w2 = w * w - 0.5f;
00307         const float dot2 = (x * vx + y * vy + z * vz);
00308         return PxVec3((vx * w2 - (y * vz - z * vy) * w + x * dot2), (vy * w2 - (z * vx - x * vz) * w + y * dot2),
00309                       (vz * w2 - (x * vy - y * vx) * w + z * dot2));
00310     }
00311
00315     PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat& operator=(const PxQuat& p)
00316     {
00317         x = p.x;
00318         y = p.y;
00319         z = p.z;
00320         w = p.w;
00321         return *this;
00322     }
00323
00324     PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat& operator*=(const PxQuat& q)
00325     {
00326         const float tx = w * q.x + q.w * x + y * q.z - q.y * z;
00327         const float ty = w * q.y + q.w * y + z * q.x - q.z * x;
00328         const float tz = w * q.z + q.w * z + x * q.y - q.x * y;
00329
00330         w = w * q.w - q.x * x - y * q.y - q.z * z;
00331         x = tx;
00332         y = ty;
00333         z = tz;
00334
00335         return *this;
00336     }
00337
00338     PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat& operator+=(const PxQuat& q)
00339     {
00340         x += q.x;
00341         y += q.y;
00342         z += q.z;
00343         w += q.w;
00344         return *this;
00345     }
00346
00347     PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat& operator-=(const PxQuat& q)
00348     {
00349         x -= q.x;
00350         y -= q.y;
00351         z -= q.z;
00352         w -= q.w;
00353         return *this;
00354     }
00355
00356     PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat& operator*=(const float s)
00357     {
00358         x *= s;
00359         y *= s;
00360         z *= s;
00361         w *= s;
00362         return *this;
00363     }
00364
00366     PX_CUDA_CALLABLE PX_INLINE PxQuat operator*(const PxQuat& q) const
00367     {
00368         return PxQuat(w * q.x + q.w * x + y * q.z - q.y * z, w * q.y + q.w * y + z * q.x - q.z * x,
00369                       w * q.z + q.w * z + x * q.y - q.x * y, w * q.w - x * q.x - y * q.y - z * q.z);
00370     }
00371
00373     PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat operator+(const PxQuat& q) const
00374     {
00375         return PxQuat(x + q.x, y + q.y, z + q.z, w + q.w);
00376     }
00377
00379     PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat operator-() const
00380     {
00381         return PxQuat(-x, -y, -z, -w);
00382     }
00383
00384     PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat operator-(const PxQuat& q) const
00385     {
00386         return PxQuat(x - q.x, y - q.y, z - q.z, w - q.w);
00387     }
00388
00389     PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat operator*(float r) const
00390     {
00391         return PxQuat(x * r, y * r, z * r, w * r);
00392     }
00393
00395     float x, y, z, w;
00396 };
00397
00398 #if !PX_DOXYGEN
00399 } // namespace physx
00400 #endif
00401
00403 #endif // #ifndef PXFOUNDATION_PXQUAT_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxQueryFiltering.h Source File

PxQueryFiltering.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_SCENE_QUERY_FILTERING
00032 #define PX_PHYSICS_NX_SCENE_QUERY_FILTERING
00033
00037 #include "PxPhysXConfig.h"
00038 #include "PxFiltering.h"
00039 #include "PxQueryReport.h"
00040 #include "PxClient.h"
00041
00042 #if !PX_DOXYGEN
00043 namespace physx
00044 {
00045 #endif
00046
00047 class PxShape;
00048 class PxRigidActor;
00049 struct PxQueryHit;
00050
00051
00057 struct PxQueryFlag
00058 {
00059     enum Enum
00060     {
00061         eSTATIC             = (1<<0),
00062
00063         eDYNAMIC            = (1<<1),
00064
00065         ePREFILTER          = (1<<2),
00066
00067         ePOSTFILTER         = (1<<3),
00068
00069         eANY_HIT            = (1<<4),
00070
00071
00072         eNO_BLOCK           = (1<<5),
00073
00074
00075         eRESERVED           = (1<<15)
00076     };
00077 };
00078 PX_COMPILE_TIME_ASSERT(PxQueryFlag::eSTATIC==(1<<0));
00079 PX_COMPILE_TIME_ASSERT(PxQueryFlag::eDYNAMIC==(1<<1));
00080
00085 typedef PxFlags<PxQueryFlag::Enum,PxU16> PxQueryFlags;
00086 PX_FLAGS_OPERATORS(PxQueryFlag::Enum,PxU16)
00087
00088
00108 struct PxQueryHitType
00109 {
00110     enum Enum
00111     {
00112         eNONE   = 0,
00113         eTOUCH  = 1,
00114         eBLOCK  = 2
00115     };
00116 };
00117
00132 struct PxQueryFilterData
00133 {
00135     explicit PX_INLINE PxQueryFilterData() : flags(PxQueryFlag::eDYNAMIC | PxQueryFlag::eSTATIC), clientId(PX_DEFAULT_CLIENT) {}
00136
00138     explicit PX_INLINE PxQueryFilterData(const PxFilterData& fd, PxQueryFlags f) : data(fd), flags(f), clientId(PX_DEFAULT_CLIENT) {}
00139
00141     explicit PX_INLINE PxQueryFilterData(PxQueryFlags f) : flags(f), clientId(PX_DEFAULT_CLIENT) {}
00142
00143     PxFilterData    data;
00144     PxQueryFlags    flags;
00145     PX_DEPRECATED PxClientID        clientId;
00146 };
00147
00170 class PxQueryFilterCallback
00171 {
00172 public:
00173
00183     virtual PxQueryHitType::Enum preFilter(
00184         const PxFilterData& filterData, const PxShape* shape, const PxRigidActor* actor, PxHitFlags& queryFlags) = 0;
00185
00193     virtual PxQueryHitType::Enum postFilter(const PxFilterData& filterData, const PxQueryHit& hit) = 0;
00194
00198     virtual ~PxQueryFilterCallback() {}
00199 };
00200
00234 typedef PX_DEPRECATED PxQueryHitType::Enum (*PxBatchQueryPreFilterShader)(
00235     PxFilterData queryFilterData, PxFilterData objectFilterData,
00236     const void* constantBlock, PxU32 constantBlockSize,
00237     PxHitFlags& hitFlags);
00238
00267 typedef PX_DEPRECATED PxQueryHitType::Enum (*PxBatchQueryPostFilterShader)(
00268     PxFilterData queryFilterData, PxFilterData objectFilterData,
00269     const void* constantBlock, PxU32 constantBlockSize,
00270     const PxQueryHit& hit);
00271
00272 #if !PX_DOXYGEN
00273 } // namespace physx
00274 #endif
00275
00277 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxQueryReport.h Source File

PxQueryReport.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_SCENEQUERYREPORT
00032 #define PX_PHYSICS_NX_SCENEQUERYREPORT
00033
00036 #include "PxPhysXConfig.h"
00037 #include "foundation/PxVec3.h"
00038 #include "foundation/PxFlags.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00045 class PxShape;
00046 class PxRigidActor;
00047
00061 struct PxHitFlag
00062 {
00063     enum Enum
00064     {
00065         ePOSITION                   = (1<<0),
00066         eNORMAL                     = (1<<1),
00067         PX_DEPRECATED eDISTANCE     = (1<<2),
00068         eUV                         = (1<<3),
00069         eASSUME_NO_INITIAL_OVERLAP  = (1<<4),
00070
00071         eMESH_MULTIPLE              = (1<<5),
00072         eMESH_ANY                   = (1<<6),
00073
00074         eMESH_BOTH_SIDES            = (1<<7),
00075
00076
00077         ePRECISE_SWEEP              = (1<<8),
00078
00079         eMTD                        = (1<<9),
00080         eFACE_INDEX                 = (1<<10),
00081
00082         eDEFAULT                    = ePOSITION|eNORMAL|eDISTANCE|eFACE_INDEX,
00083
00085         eMODIFIABLE_FLAGS           = eMESH_MULTIPLE|eMESH_BOTH_SIDES|eASSUME_NO_INITIAL_OVERLAP|ePRECISE_SWEEP
00086     };
00087 };
00088
00089
00095 PX_FLAGS_TYPEDEF(PxHitFlag, PxU16)
00096
00097
00104 struct PxActorShape
00105 {
00106     PX_INLINE PxActorShape() : actor(NULL), shape(NULL) {}
00107     PX_INLINE PxActorShape(PxRigidActor* a, PxShape* s) : actor(a), shape(s) {}
00108
00109     PxRigidActor*   actor;
00110     PxShape*        shape;
00111 };
00112
00113
00117 struct PxQueryHit : public PxActorShape
00118 {
00119     PX_INLINE           PxQueryHit() : faceIndex(0xFFFFffff) {}
00120
00129     PxU32               faceIndex;
00130 };
00131
00138 struct PxLocationHit : public PxQueryHit
00139 {
00140     PX_INLINE           PxLocationHit() : flags(0), position(PxVec3(0)), normal(PxVec3(0)), distance(PX_MAX_REAL)   {}
00141
00148     PX_INLINE bool      hadInitialOverlap() const { return (distance <= 0.0f); }
00149
00150     // the following fields are set in accordance with the #PxHitFlags
00151     PxHitFlags          flags;
00152     PxVec3              position;
00153     PxVec3              normal;
00154
00159     PxF32               distance;
00160 };
00161
00162
00174 struct PxRaycastHit : public PxLocationHit
00175 {
00176     PX_INLINE           PxRaycastHit() : u(0.0f), v(0.0f)   {}
00177
00178     // the following fields are set in accordance with the #PxHitFlags
00179
00180     PxReal  u, v;
00181 #if !PX_P64_FAMILY
00182     PxU32   padTo16Bytes[3];
00183 #endif
00184 };
00185
00186
00192 struct PxOverlapHit: public PxQueryHit { PxU32 padTo16Bytes; };
00193
00194
00200 struct PxSweepHit : public PxLocationHit
00201 {
00202     PX_INLINE           PxSweepHit() {}
00203
00204     PxU32               padTo16Bytes;
00205 };
00206
00207
00216 typedef bool PxAgain;
00217
00218
00232 template<typename HitType>
00233 struct PxHitCallback
00234 {
00235     HitType     block;
00236     bool        hasBlock;
00237
00238     HitType*    touches;
00239
00244     PxU32       maxNbTouches;
00245
00249     PxU32       nbTouches;
00250
00262     PxHitCallback(HitType* aTouches, PxU32 aMaxNbTouches)
00263         : hasBlock(false), touches(aTouches), maxNbTouches(aMaxNbTouches), nbTouches(0)
00264     {}
00265
00286     virtual PxAgain processTouches(const HitType* buffer, PxU32 nbHits) = 0;
00287
00288     virtual void finalizeQuery() {}
00289
00290     virtual ~PxHitCallback() {}
00291
00293     PX_FORCE_INLINE bool hasAnyHits() { return (hasBlock || (nbTouches > 0)); }
00294 };
00295
00296
00310 template<typename HitType>
00311 struct PxHitBuffer : public PxHitCallback<HitType>
00312 {
00323     PxHitBuffer(HitType* aTouches = NULL, PxU32 aMaxNbTouches = 0) : PxHitCallback<HitType>(aTouches, aMaxNbTouches) {}
00324
00326     PX_INLINE PxU32             getNbAnyHits() const                { return getNbTouches() + PxU32(this->hasBlock); }
00328     PX_INLINE const HitType&    getAnyHit(const PxU32 index) const  { PX_ASSERT(index < getNbTouches() + PxU32(this->hasBlock));
00329                                                                         return index < getNbTouches() ? getTouches()[index] : this->block; }
00330
00331     PX_INLINE PxU32             getNbTouches() const                { return this->nbTouches; }
00332     PX_INLINE const HitType*    getTouches() const                  { return this->touches; }
00333     PX_INLINE const HitType&    getTouch(const PxU32 index) const   { PX_ASSERT(index < getNbTouches()); return getTouches()[index]; }
00334     PX_INLINE PxU32             getMaxNbTouches() const             { return this->maxNbTouches; }
00335
00336     virtual ~PxHitBuffer() {}
00337
00338 protected:
00339     // stops after the first callback
00340     virtual PxAgain processTouches(const HitType* buffer, PxU32 nbHits) { PX_UNUSED(buffer); PX_UNUSED(nbHits); return false; }
00341 };
00342
00343
00345 typedef PxHitCallback<PxRaycastHit> PxRaycastCallback;
00346
00348 typedef PxHitCallback<PxOverlapHit> PxOverlapCallback;
00349
00351 typedef PxHitCallback<PxSweepHit> PxSweepCallback;
00352
00354 typedef PxHitBuffer<PxRaycastHit> PxRaycastBuffer;
00355
00357 typedef PxHitBuffer<PxOverlapHit> PxOverlapBuffer;
00358
00360 typedef PxHitBuffer<PxSweepHit> PxSweepBuffer;
00361
00363 template <int N>
00364 struct PxRaycastBufferN : public PxHitBuffer<PxRaycastHit>
00365 {
00366     PxRaycastHit hits[N];
00367     PxRaycastBufferN() : PxHitBuffer<PxRaycastHit>(hits, N) {}
00368 };
00369
00371 template <int N>
00372 struct PxOverlapBufferN : public PxHitBuffer<PxOverlapHit>
00373 {
00374     PxOverlapHit hits[N];
00375     PxOverlapBufferN() : PxHitBuffer<PxOverlapHit>(hits, N) {}
00376 };
00377
00379 template <int N>
00380 struct PxSweepBufferN : public PxHitBuffer<PxSweepHit>
00381 {
00382     PxSweepHit hits[N];
00383     PxSweepBufferN() : PxHitBuffer<PxSweepHit>(hits, N) {}
00384 };
00385
00386 #if !PX_DOXYGEN
00387 } // namespace physx
00388 #endif
00389
00391 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRaycastCCD.h Source File

PxRaycastCCD.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PX_RAYCAST_CCD_H
00031 #define PX_RAYCAST_CCD_H
00032
00036 #include "common/PxPhysXCommonConfig.h"
00037 #include "foundation/PxVec3.h"
00038
00039 #if !PX_DOXYGEN
00040 namespace physx
00041 {
00042 #endif
00043
00044     class PxScene;
00045     class PxShape;
00046     class PxRigidDynamic;
00047     class RaycastCCDManagerInternal;
00048
00068     class RaycastCCDManager
00069     {
00070         public:
00071                     RaycastCCDManager(PxScene* scene);
00072                     ~RaycastCCDManager();
00073
00082             bool    registerRaycastCCDObject(PxRigidDynamic* actor, PxShape* shape);
00083
00089             void    doRaycastCCD(bool doDynamicDynamicCCD);
00090
00091         private:
00092             RaycastCCDManagerInternal*  mImpl;
00093     };
00094
00095 #if !PX_DOXYGEN
00096 } // namespace physx
00097 #endif
00098
00100 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRenderBuffer.h Source File

PxRenderBuffer.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_FOUNDATION_PXRENDERBUFFER_H
00032 #define PX_FOUNDATION_PXRENDERBUFFER_H
00033
00038 #include "common/PxPhysXCommonConfig.h"
00039 #include "foundation/PxVec3.h"
00040 #include "foundation/PxMat33.h"
00041 #include "foundation/PxBounds3.h"
00042
00043 #if !PX_DOXYGEN
00044 namespace physx
00045 {
00046 #endif
00047
00051 struct PxDebugColor
00052 {
00053     enum Enum
00054     {
00055         eARGB_BLACK     = 0xff000000,
00056         eARGB_RED       = 0xffff0000,
00057         eARGB_GREEN     = 0xff00ff00,
00058         eARGB_BLUE      = 0xff0000ff,
00059         eARGB_YELLOW    = 0xffffff00,
00060         eARGB_MAGENTA   = 0xffff00ff,
00061         eARGB_CYAN      = 0xff00ffff,
00062         eARGB_WHITE     = 0xffffffff,
00063         eARGB_GREY      = 0xff808080,
00064         eARGB_DARKRED   = 0x88880000,
00065         eARGB_DARKGREEN = 0x88008800,
00066         eARGB_DARKBLUE  = 0x88000088
00067     };
00068 };
00069
00073 struct PxDebugPoint
00074 {
00075     PxDebugPoint(const PxVec3& p, const PxU32& c)
00076         : pos(p), color(c) {}
00077
00078     PxVec3  pos;
00079     PxU32   color;
00080 };
00081
00085 struct PxDebugLine
00086 {
00087     PxDebugLine(const PxVec3& p0, const PxVec3& p1, const PxU32& c)
00088         : pos0(p0), color0(c), pos1(p1), color1(c) {}
00089
00090     PxVec3  pos0;
00091     PxU32   color0;
00092     PxVec3  pos1;
00093     PxU32   color1;
00094 };
00095
00099 struct PxDebugTriangle
00100 {
00101     PxDebugTriangle(const PxVec3& p0, const PxVec3& p1, const PxVec3& p2, const PxU32& c)
00102         : pos0(p0), color0(c), pos1(p1), color1(c), pos2(p2), color2(c) {}
00103
00104     PxVec3  pos0;
00105     PxU32   color0;
00106     PxVec3  pos1;
00107     PxU32   color1;
00108     PxVec3  pos2;
00109     PxU32   color2;
00110 };
00111
00115 struct PxDebugText
00116 {
00117     PxDebugText() : string(0) {}
00118
00119     PxDebugText(const PxVec3& p, const PxReal& s, const PxU32& c, const char* str)
00120         : position(p), size(s), color(c), string(str) {}
00121
00122     PxVec3      position;
00123     PxReal      size;
00124     PxU32       color;
00125     const char* string;
00126 };
00127
00131 class PxRenderBuffer
00132 {
00133 public:
00134     virtual ~PxRenderBuffer() {}
00135
00136     virtual PxU32 getNbPoints() const = 0;
00137     virtual const PxDebugPoint* getPoints() const = 0;
00138
00139     virtual PxU32 getNbLines() const = 0;
00140     virtual const PxDebugLine* getLines() const = 0;
00141
00142     virtual PxU32 getNbTriangles() const = 0;
00143     virtual const PxDebugTriangle* getTriangles() const = 0;
00144
00145     virtual PxU32 getNbTexts() const = 0;
00146     virtual const PxDebugText* getTexts() const = 0;
00147
00148     virtual void append(const PxRenderBuffer& other) = 0;
00149     virtual void clear() = 0;
00150 };
00151
00152 #if !PX_DOXYGEN
00153 } // namespace physx
00154 #endif
00155
00157 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRepXSerializer.h Source File

PxRepXSerializer.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029 #ifndef PX_REPX_SERIALIZER_H
00030 #define PX_REPX_SERIALIZER_H
00031
00035 #include "common/PxBase.h"
00036 #include "extensions/PxRepXSimpleType.h"
00037
00038 #if !PX_DOXYGEN
00039 namespace physx
00040 {
00041 #endif
00042
00043     class XmlMemoryAllocator;
00044     class XmlWriter;
00045     class XmlReader;
00046     class MemoryBuffer;
00047
00066     class PxRepXSerializer
00067     {
00068     protected:
00069         virtual ~PxRepXSerializer(){}
00070     public:
00071
00076         virtual const char* getTypeName() = 0;
00077
00087         virtual void objectToFile( const PxRepXObject& inLiveObject, PxCollection* inCollection, XmlWriter& inWriter, MemoryBuffer& inTempBuffer, PxRepXInstantiationArgs& inArgs ) = 0;
00088
00099         virtual PxRepXObject fileToObject( XmlReader& inReader, XmlMemoryAllocator& inAllocator, PxRepXInstantiationArgs& inArgs, PxCollection* inCollection ) = 0;
00100
00101     };
00102
00103 #if !PX_DOXYGEN
00104 } // namespace physx
00105 #endif
00106
00110 template<typename TDataType>
00111 PX_INLINE physx::PxRepXObject PxCreateRepXObject(const TDataType* inType, const physx::PxSerialObjectId inId)
00112 {
00113     return physx::PxRepXObject(physx::PxTypeInfo<TDataType>::name(), inType, inId);
00114 }
00115
00119 PX_INLINE physx::PxRepXObject PxCreateRepXObject(const physx::PxBase* inType, const physx::PxSerialObjectId inId)
00120 {
00121     PX_ASSERT(inType);
00122     return physx::PxRepXObject(inType->getConcreteTypeName(), inType, inId);
00123 }
00124
00128 template<typename TDataType>
00129 PX_INLINE physx::PxRepXObject PxCreateRepXObject(const TDataType* inType)
00130 {
00131     return PxCreateRepXObject(inType, static_cast<physx::PxSerialObjectId>(reinterpret_cast<size_t>(inType)));
00132 }
00133
00137 #define PX_NEW_REPX_SERIALIZER(T) \
00138         *PX_PLACEMENT_NEW(PxGetFoundation().getAllocatorCallback().allocate(sizeof(T), "PxRepXSerializer",  __FILE__, __LINE__ ), T)(PxGetFoundation().getAllocatorCallback())
00139
00143 #define PX_DELETE_REPX_SERIALIZER(x) \
00144         { PxRepXSerializer* s = x; if (s) { PxGetFoundation().getAllocatorCallback().deallocate(s); } }
00145
00146
00148 #endif // PX_REPX_SERIALIZER_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRepXSimpleType.h Source File

PxRepXSimpleType.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031
00032 #ifndef PX_REPX_SIMPLE_TYPE_H
00033 #define PX_REPX_SIMPLE_TYPE_H
00034
00039 #include "foundation/PxSimpleTypes.h"
00040 #include "cooking/PxCooking.h"
00041 #include "common/PxStringTable.h"
00042 #include "common/PxSerialFramework.h"
00043
00044 #if !PX_DOXYGEN
00045 namespace physx
00046 {
00047 #endif
00048
00052     struct PxRepXObject
00053     {
00058         const char*         typeName;
00059
00063         const void*         serializable;
00064
00068         PxSerialObjectId    id;
00069         PxRepXObject( const char* inTypeName = "", const void* inSerializable = NULL, const PxSerialObjectId inId = 0 )
00070             : typeName( inTypeName )
00071             , serializable( inSerializable )
00072             , id( inId )
00073         {
00074         }
00075         bool isValid() const { return serializable != NULL; }
00076     };
00077
00085     struct PxRepXInstantiationArgs
00086     {
00087         PxPhysics&          physics;
00088         PxCooking*          cooker;
00089         PxStringTable*      stringTable;
00090         PxRepXInstantiationArgs( PxPhysics& inPhysics, PxCooking* inCooking = NULL , PxStringTable* inStringTable = NULL )
00091             : physics( inPhysics )
00092             , cooker( inCooking )
00093             , stringTable( inStringTable )
00094         {
00095         }
00096
00097         PxRepXInstantiationArgs& operator=(const PxRepXInstantiationArgs&);
00098     };
00099
00100
00101 #if !PX_DOXYGEN
00102 } // namespace physx
00103 #endif
00104
00106 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRevoluteJoint.h Source File

PxRevoluteJoint.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_REVOLUTEJOINT_H
00032 #define PX_REVOLUTEJOINT_H
00033
00037 #include "extensions/PxJoint.h"
00038 #include "extensions/PxJointLimit.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00045 class PxRevoluteJoint;
00046
00059 PxRevoluteJoint*    PxRevoluteJointCreate(PxPhysics& physics,
00060                                           PxRigidActor* actor0, const PxTransform& localFrame0,
00061                                           PxRigidActor* actor1, const PxTransform& localFrame1);
00062
00063
00070 struct PxRevoluteJointFlag
00071 {
00072     enum Enum
00073     {
00074         eLIMIT_ENABLED          = 1<<0,
00075         eDRIVE_ENABLED          = 1<<1,
00076         eDRIVE_FREESPIN         = 1<<2
00077     };
00078 };
00079
00080 typedef PxFlags<PxRevoluteJointFlag::Enum, PxU16> PxRevoluteJointFlags;
00081 PX_FLAGS_OPERATORS(PxRevoluteJointFlag::Enum, PxU16)
00082
00083
00084
00107 class PxRevoluteJoint : public PxJoint
00108 {
00109 public:
00110
00114     virtual PxReal getAngle()                           const           = 0;
00115
00116
00120     virtual PxReal getVelocity()                        const           = 0;
00121
00135     virtual void            setLimit(const PxJointAngularLimitPair& limits)         = 0;
00136
00144     virtual PxJointAngularLimitPair getLimit()          const           = 0;
00145
00146
00147
00167     virtual void            setDriveVelocity(PxReal velocity)           = 0;
00168
00176     virtual PxReal          getDriveVelocity()          const           = 0;
00177
00178
00191     virtual void            setDriveForceLimit(PxReal limit)            = 0;
00192
00200     virtual PxReal          getDriveForceLimit()        const           = 0;
00201
00202
00216     virtual void            setDriveGearRatio(PxReal ratio)         = 0;
00217
00225     virtual PxReal          getDriveGearRatio()     const           = 0;
00226
00227
00238     virtual void                    setRevoluteJointFlags(PxRevoluteJointFlags flags) = 0;
00239
00249     virtual void                    setRevoluteJointFlag(PxRevoluteJointFlag::Enum flag, bool value) = 0;
00250
00259     virtual PxRevoluteJointFlags    getRevoluteJointFlags(void)                 const   = 0;
00260
00280     virtual void                setProjectionLinearTolerance(PxReal tolerance)                  = 0;
00281
00282
00291     virtual PxReal              getProjectionLinearTolerance()          const                   = 0;
00292
00312     virtual void                setProjectionAngularTolerance(PxReal tolerance)                 = 0;
00313
00322     virtual PxReal              getProjectionAngularTolerance()         const                   = 0;
00323
00327     virtual const char*         getConcreteTypeName() const { return "PxRevoluteJoint"; }
00328
00329 protected:
00330
00331     //serialization
00332
00336     PX_INLINE                   PxRevoluteJoint(PxType concreteType, PxBaseFlags baseFlags) : PxJoint(concreteType, baseFlags) {}
00337
00341     PX_INLINE                   PxRevoluteJoint(PxBaseFlags baseFlags) : PxJoint(baseFlags) {}
00342
00346     virtual bool                isKindOf(const char* name) const { return !::strcmp("PxRevoluteJoint", name) || PxJoint::isKindOf(name); }
00347
00348     //~serialization
00349 };
00350
00351 #if !PX_DOXYGEN
00352 } // namespace physx
00353 #endif
00354
00356 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRigidActor.h Source File

PxRigidActor.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_RIGIDACTOR
00032 #define PX_PHYSICS_NX_RIGIDACTOR
00033
00037 #include "PxActor.h"
00038 #include "PxShape.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00045 class PxConstraint;
00046 class PxMaterial;
00047 class PxGeometry;
00048
00057 class PxRigidActor : public PxActor
00058 {
00059 public:
00076     virtual     void            release() = 0;
00077
00078
00079 /************************************************************************************************/
00092     virtual     PxTransform     getGlobalPose()     const = 0;
00093
00119     virtual     void            setGlobalPose(const PxTransform& pose, bool autowake = true) = 0;
00120
00121
00122 /************************************************************************************************/
00158     PX_DEPRECATED virtual       PxShape*        createShape(const PxGeometry& geometry, PxMaterial*const* materials, PxU16 materialCount, PxShapeFlags shapeFlags = PxShapeFlag::eVISUALIZATION | PxShapeFlag::eSCENE_QUERY_SHAPE | PxShapeFlag::eSIMULATION_SHAPE) = 0;
00159
00190     PX_DEPRECATED PX_FORCE_INLINE   PxShape*    createShape(const PxGeometry& geometry, const PxMaterial& material, PxShapeFlags shapeFlags = PxShapeFlag::eVISUALIZATION | PxShapeFlag::eSCENE_QUERY_SHAPE | PxShapeFlag::eSIMULATION_SHAPE)
00191     {
00192         PxMaterial* materialPtr = const_cast<PxMaterial*>(&material);
00193         return createShape(geometry, &materialPtr, 1, shapeFlags);
00194     }
00195
00213     virtual void                attachShape(PxShape& shape) = 0;
00214
00215
00226     virtual void                detachShape(PxShape& shape, bool wakeOnLostTouch = true) = 0;
00227
00228
00238     virtual     PxU32           getNbShapes()       const   = 0;
00239
00240
00257     virtual     PxU32           getShapes(PxShape** userBuffer, PxU32 bufferSize, PxU32 startIndex=0)           const   = 0;
00258
00259 /************************************************************************************************/
00272     virtual     PxU32           getNbConstraints()      const   = 0;
00273
00274
00289     virtual     PxU32           getConstraints(PxConstraint** userBuffer, PxU32 bufferSize, PxU32 startIndex=0)     const   = 0;
00290
00291 protected:
00292     PX_INLINE                   PxRigidActor(PxType concreteType, PxBaseFlags baseFlags) : PxActor(concreteType, baseFlags) {}
00293     PX_INLINE                   PxRigidActor(PxBaseFlags baseFlags) : PxActor(baseFlags) {}
00294     virtual                     ~PxRigidActor() {}
00295     virtual     bool            isKindOf(const char* name)  const   {   return !::strcmp("PxRigidActor", name) || PxActor::isKindOf(name); }
00296 };
00297
00298
00299 #if !PX_DOXYGEN
00300 } // namespace physx
00301 #endif
00302
00304 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRigidActorExt.h Source File

PxRigidActorExt.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_EXTENSIONS_RIGIDACTOR_H
00032 #define PX_PHYSICS_EXTENSIONS_RIGIDACTOR_H
00033
00037 #include "PxPhysXConfig.h"
00038 #include "PxPhysics.h"
00039 #include "PxRigidActor.h"
00040
00041 #if !PX_DOXYGEN
00042 namespace physx
00043 {
00044 #endif
00045
00052 class PxRigidActorExt
00053 {
00054 public:
00055
00086     static PxShape* createExclusiveShape(PxRigidActor& actor, const PxGeometry& geometry, PxMaterial*const* materials, PxU16 materialCount,
00087                                          PxShapeFlags shapeFlags = PxShapeFlag::eVISUALIZATION | PxShapeFlag::eSCENE_QUERY_SHAPE | PxShapeFlag::eSIMULATION_SHAPE)
00088     {
00089         PxShape* shape = PxGetPhysics().createShape(geometry, materials, materialCount, true, shapeFlags);
00090         if(shape)
00091         {
00092             actor.attachShape(*shape);  // attach can fail, if e.g. we try and attach a trimesh simulation shape to a dynamic actor
00093             shape->release();       // if attach fails, we hold the only counted reference, and so this cleans up properly
00094         }
00095         return shape;
00096     }
00097
00127     static PX_FORCE_INLINE  PxShape*    createExclusiveShape(PxRigidActor& actor, const PxGeometry& geometry, const PxMaterial& material,
00128                                                              PxShapeFlags shapeFlags = PxShapeFlag::eVISUALIZATION | PxShapeFlag::eSCENE_QUERY_SHAPE | PxShapeFlag::eSIMULATION_SHAPE)
00129     {
00130         PxMaterial* materialPtr = const_cast<PxMaterial*>(&material);
00131         return createExclusiveShape(actor, geometry, &materialPtr, 1, shapeFlags);
00132     }
00133
00134 };
00135
00136 #if !PX_DOXYGEN
00137 } // namespace physx
00138 #endif
00139
00141 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRigidBody.h Source File

PxRigidBody.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_RIGIDBODY
00032 #define PX_PHYSICS_NX_RIGIDBODY
00033
00037 #include "PxRigidActor.h"
00038 #include "PxForceMode.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00045
00052 struct PxRigidBodyFlag
00053 {
00054     enum Enum
00055     {
00056
00078         eKINEMATIC                                  = (1<<0),
00079
00089         eUSE_KINEMATIC_TARGET_FOR_SCENE_QUERIES     = (1<<1),
00090
00101         eENABLE_CCD                 = (1<<2),
00102
00112         eENABLE_CCD_FRICTION            = (1<<3),
00113
00124         eENABLE_POSE_INTEGRATION_PREVIEW    = (1 << 4),
00125
00129         eENABLE_SPECULATIVE_CCD             = (1 << 5),
00130
00134         eENABLE_CCD_MAX_CONTACT_IMPULSE     = (1 << 6)
00135     };
00136 };
00137
00143 typedef PxFlags<PxRigidBodyFlag::Enum,PxU8> PxRigidBodyFlags;
00144 PX_FLAGS_OPERATORS(PxRigidBodyFlag::Enum,PxU8)
00145
00146
00152 class PxRigidBody : public PxRigidActor
00153 {
00154 public:
00155     // Runtime modifications
00156
00157 /************************************************************************************************/
00175     virtual     void            setCMassLocalPose(const PxTransform& pose) = 0;
00176
00177
00185     virtual     PxTransform     getCMassLocalPose() const = 0;
00186
00187
00207     virtual     void            setMass(PxReal mass) = 0;
00208
00218     virtual     PxReal          getMass() const = 0;
00219
00227     virtual     PxReal          getInvMass() const = 0;
00228
00250     virtual     void            setMassSpaceInertiaTensor(const PxVec3& m) = 0;
00251
00263     virtual     PxVec3          getMassSpaceInertiaTensor()         const = 0;
00264
00276     virtual     PxVec3          getMassSpaceInvInertiaTensor()          const = 0;
00277
00278
00279 /************************************************************************************************/
00291     virtual     PxVec3          getLinearVelocity()     const = 0;
00292
00312     virtual     void            setLinearVelocity(const PxVec3& linVel, bool autowake = true ) = 0;
00313
00314
00315
00323     virtual     PxVec3          getAngularVelocity()    const = 0;
00324
00325
00345     virtual     void            setAngularVelocity(const PxVec3& angVel, bool autowake = true ) = 0;
00346
00347
00348 /************************************************************************************************/
00382     virtual     void            addForce(const PxVec3& force, PxForceMode::Enum mode = PxForceMode::eFORCE, bool autowake = true) = 0;
00383
00412     virtual     void            addTorque(const PxVec3& torque, PxForceMode::Enum mode = PxForceMode::eFORCE, bool autowake = true) = 0;
00413
00433     virtual     void            clearForce(PxForceMode::Enum mode = PxForceMode::eFORCE) = 0;
00434
00454     virtual     void            clearTorque(PxForceMode::Enum mode = PxForceMode::eFORCE) = 0;
00455
00471     virtual     void                setRigidBodyFlag(PxRigidBodyFlag::Enum flag, bool value) = 0;
00472     virtual     void                setRigidBodyFlags(PxRigidBodyFlags inFlags) = 0;
00473
00483     virtual     PxRigidBodyFlags    getRigidBodyFlags() const = 0;
00484
00506     virtual void setMinCCDAdvanceCoefficient(PxReal advanceCoefficient) = 0;
00507
00517     virtual PxReal getMinCCDAdvanceCoefficient() const = 0;
00518
00519
00525     virtual void setMaxDepenetrationVelocity(PxReal biasClamp) = 0;
00526
00532     virtual PxReal getMaxDepenetrationVelocity() const = 0;
00533
00534
00546     virtual void setMaxContactImpulse(PxReal maxImpulse) = 0;
00547
00555     virtual PxReal getMaxContactImpulse() const = 0;
00556
00557
00558 protected:
00559     PX_INLINE                   PxRigidBody(PxType concreteType, PxBaseFlags baseFlags) : PxRigidActor(concreteType, baseFlags) {}
00560     PX_INLINE                   PxRigidBody(PxBaseFlags baseFlags) : PxRigidActor(baseFlags) {}
00561     virtual                     ~PxRigidBody()  {}
00562     virtual     bool            isKindOf(const char* name)const {   return !::strcmp("PxRigidBody", name) || PxRigidActor::isKindOf(name); }
00563 };
00564
00565
00566 #if !PX_DOXYGEN
00567 } // namespace physx
00568 #endif
00569
00571 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRigidBodyExt.h Source File

PxRigidBodyExt.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_EXTENSIONS_RIGIDBODY_H
00032 #define PX_PHYSICS_EXTENSIONS_RIGIDBODY_H
00033
00037 #include "PxPhysXConfig.h"
00038 #include "PxRigidBody.h"
00039 #include "PxQueryReport.h"
00040 #include "PxQueryFiltering.h"
00041 #include "extensions/PxMassProperties.h"
00042
00043 #if !PX_DOXYGEN
00044 namespace physx
00045 {
00046 #endif
00047
00048 class PxScene;
00049 struct PxQueryCache;
00050 class PxShape;
00051
00058 class PxRigidBodyExt
00059 {
00060 public:
00094     static      bool            updateMassAndInertia(PxRigidBody& body, const PxReal* shapeDensities, PxU32 shapeDensityCount, const PxVec3* massLocalPose = NULL, bool includeNonSimShapes = false);
00095
00096
00110     static      bool            updateMassAndInertia(PxRigidBody& body, PxReal density, const PxVec3* massLocalPose = NULL, bool includeNonSimShapes = false);
00111
00112
00134     static      bool            setMassAndUpdateInertia(PxRigidBody& body, const PxReal* shapeMasses, PxU32 shapeMassCount, const PxVec3* massLocalPose = NULL, bool includeNonSimShapes = false);
00135
00136
00155     static      bool            setMassAndUpdateInertia(PxRigidBody& body, PxReal mass, const PxVec3* massLocalPose = NULL, bool includeNonSimShapes = false);
00156
00157
00167     static      PxMassProperties    computeMassPropertiesFromShapes(const PxShape* const* shapes, PxU32 shapeCount);
00168
00169
00196     static      void            addForceAtPos(PxRigidBody& body, const PxVec3& force, const PxVec3& pos, PxForceMode::Enum mode = PxForceMode::eFORCE, bool wakeup = true);
00197
00224     static      void            addForceAtLocalPos(PxRigidBody& body, const PxVec3& force, const PxVec3& pos, PxForceMode::Enum mode = PxForceMode::eFORCE, bool wakeup = true);
00225
00252     static      void            addLocalForceAtPos(PxRigidBody& body, const PxVec3& force, const PxVec3& pos, PxForceMode::Enum mode = PxForceMode::eFORCE, bool wakeup = true);
00253
00280     static      void            addLocalForceAtLocalPos(PxRigidBody& body, const PxVec3& force, const PxVec3& pos, PxForceMode::Enum mode = PxForceMode::eFORCE, bool wakeup = true);
00281
00292     static      PxVec3          getVelocityAtPos(const PxRigidBody& body, const PxVec3& pos);
00293
00304     static      PxVec3          getLocalVelocityAtLocalPos(const PxRigidBody& body, const PxVec3& pos);
00305
00316     static      PxVec3          getVelocityAtOffset(const PxRigidBody& body, const PxVec3& pos);
00317
00318
00347     static      bool            linearSweepSingle(
00348                                     PxRigidBody& body, PxScene& scene, const PxVec3& unitDir, const PxReal distance,
00349                                     PxHitFlags outputFlags,
00350                                     PxSweepHit& closestHit, PxU32& shapeIndex,
00351                                     const PxQueryFilterData& filterData = PxQueryFilterData(),
00352                                     PxQueryFilterCallback* filterCall = NULL,
00353                                     const PxQueryCache* cache = NULL,
00354                                     const PxReal inflation=0.0f);
00355
00388     static      PxU32           linearSweepMultiple(
00389                                     PxRigidBody& body, PxScene& scene, const PxVec3& unitDir, const PxReal distance,
00390                                     PxHitFlags outputFlags,
00391                                     PxSweepHit* touchHitBuffer, PxU32* touchHitShapeIndices, PxU32 touchHitBufferSize,
00392                                     PxSweepHit& block, PxI32& blockingShapeIndex, bool& overflow,
00393                                     const PxQueryFilterData& filterData = PxQueryFilterData(),
00394                                     PxQueryFilterCallback* filterCall = NULL,
00395                                     const PxQueryCache* cache = NULL, const PxReal inflation = 0.0f);
00396
00397
00413     static      void            computeVelocityDeltaFromImpulse(const PxRigidBody& body, const PxVec3& impulsiveForce, const PxVec3& impulsiveTorque, PxVec3& deltaLinearVelocity, PxVec3& deltaAngularVelocity);
00414
00432     static void                 computeVelocityDeltaFromImpulse(const PxRigidBody& body, const PxTransform& globalPose, const PxVec3& point, const PxVec3& impulse, const PxReal invMassScale,
00433                                                         const PxReal invInertiaScale, PxVec3& deltaLinearVelocity, PxVec3& deltaAngularVelocity);
00434
00449     static void                 computeLinearAngularImpulse(const PxRigidBody& body, const PxTransform& globalPose, const PxVec3& point, const PxVec3& impulse, const PxReal invMassScale,
00450                                                         const PxReal invInertiaScale, PxVec3& linearImpulse, PxVec3& angularImpulse);
00451
00452
00453 };
00454
00455 #if !PX_DOXYGEN
00456 } // namespace physx
00457 #endif
00458
00460 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRigidDynamic.h Source File

PxRigidDynamic.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_RIGIDDYNAMIC
00032 #define PX_PHYSICS_NX_RIGIDDYNAMIC
00033
00037 #include "PxRigidBody.h"
00038
00039 #if !PX_DOXYGEN
00040 namespace physx
00041 {
00042 #endif
00043
00044
00050 struct PxRigidDynamicLockFlag
00051 {
00052     enum Enum
00053     {
00054         eLOCK_LINEAR_X = (1 << 0),
00055         eLOCK_LINEAR_Y = (1 << 1),
00056         eLOCK_LINEAR_Z = (1 << 2),
00057         eLOCK_ANGULAR_X = (1 << 3),
00058         eLOCK_ANGULAR_Y = (1 << 4),
00059         eLOCK_ANGULAR_Z = (1 << 5)
00060     };
00061 };
00062
00063 typedef PxFlags<PxRigidDynamicLockFlag::Enum, PxU16> PxRigidDynamicLockFlags;
00064 PX_FLAGS_OPERATORS(PxRigidDynamicLockFlag::Enum, PxU16)
00065
00066
00083 class PxRigidDynamic : public PxRigidBody
00084 {
00085 public:
00086     // Runtime modifications
00087
00088
00089 /************************************************************************************************/
00117     virtual     void                setKinematicTarget(const PxTransform& destination) = 0;
00118
00127     virtual     bool                getKinematicTarget(PxTransform& target) const   = 0;
00128
00129 /************************************************************************************************/
00144     virtual     void                setLinearDamping(PxReal linDamp) = 0;
00145
00153     virtual     PxReal              getLinearDamping() const = 0;
00154
00168     virtual     void                setAngularDamping(PxReal angDamp) = 0;
00169
00177     virtual     PxReal              getAngularDamping() const = 0;
00178
00179 /************************************************************************************************/
00201     virtual     void                setMaxAngularVelocity(PxReal maxAngVel) = 0;
00202
00210     virtual     PxReal              getMaxAngularVelocity() const = 0;
00211
00212 /************************************************************************************************/
00250     virtual     bool                isSleeping() const = 0;
00251
00252
00264     virtual     void                setSleepThreshold(PxReal threshold) = 0;
00265
00273     virtual     PxReal              getSleepThreshold() const = 0;
00274
00288     virtual     void                setStabilizationThreshold(PxReal threshold) = 0;
00289
00299     virtual     PxReal              getStabilizationThreshold() const = 0;
00300
00301
00311     virtual     PxRigidDynamicLockFlags getRigidDynamicLockFlags() const = 0;
00312
00326     virtual     void                setRigidDynamicLockFlag(PxRigidDynamicLockFlag::Enum flag, bool value) = 0;
00327     virtual     void                setRigidDynamicLockFlags(PxRigidDynamicLockFlags flags) = 0;
00328
00329
00330
00351     virtual     void                setWakeCounter(PxReal wakeCounterValue) = 0;
00352
00360     virtual     PxReal              getWakeCounter() const = 0;
00361
00376     virtual     void                wakeUp() = 0;
00377
00392     virtual     void                putToSleep() = 0;
00393
00394 /************************************************************************************************/
00395
00414     virtual     void                setSolverIterationCounts(PxU32 minPositionIters, PxU32 minVelocityIters = 1) = 0;
00415
00421     virtual     void                getSolverIterationCounts(PxU32& minPositionIters, PxU32& minVelocityIters) const = 0;
00422
00442     virtual     PxReal              getContactReportThreshold() const = 0;
00443
00453     virtual     void                setContactReportThreshold(PxReal threshold) = 0;
00454
00455     virtual     const char*         getConcreteTypeName() const { return "PxRigidDynamic"; }
00456
00457 protected:
00458     PX_INLINE                       PxRigidDynamic(PxType concreteType, PxBaseFlags baseFlags) : PxRigidBody(concreteType, baseFlags) {}
00459     PX_INLINE                       PxRigidDynamic(PxBaseFlags baseFlags) : PxRigidBody(baseFlags) {}
00460     virtual                         ~PxRigidDynamic() {}
00461     virtual     bool                isKindOf(const char* name) const { return !::strcmp("PxRigidDynamic", name) || PxRigidBody::isKindOf(name); }
00462
00463 };
00464
00465 #if !PX_DOXYGEN
00466 } // namespace physx
00467 #endif
00468
00470 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRigidStatic.h Source File

PxRigidStatic.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_RIGIDSTATIC
00032 #define PX_PHYSICS_NX_RIGIDSTATIC
00033
00037 #include "PxPhysXConfig.h"
00038 #include "PxRigidActor.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00059 class PxRigidStatic : public PxRigidActor
00060 {
00061 public:
00062     virtual     const char*     getConcreteTypeName() const { return "PxRigidStatic"; }
00063
00064 protected:
00065     PX_INLINE                   PxRigidStatic(PxType concreteType, PxBaseFlags baseFlags) : PxRigidActor(concreteType, baseFlags) {}
00066     PX_INLINE                   PxRigidStatic(PxBaseFlags baseFlags) : PxRigidActor(baseFlags) {}
00067     virtual                     ~PxRigidStatic() {}
00068     virtual     bool            isKindOf(const char* name)  const { return !::strcmp("PxRigidStatic", name) || PxRigidActor::isKindOf(name); }
00069
00070 };
00071
00072 #if !PX_DOXYGEN
00073 } // namespace physx
00074 #endif
00075
00077 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxScene.h Source File

PxScene.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_SCENE
00032 #define PX_PHYSICS_NX_SCENE
00033
00037 #include "PxVisualizationParameter.h"
00038 #include "PxSceneDesc.h"
00039 #include "PxSimulationStatistics.h"
00040 #include "PxQueryReport.h"
00041 #include "PxQueryFiltering.h"
00042 #include "PxClient.h"
00043 #include "task/PxTask.h"
00044
00045 #if PX_USE_PARTICLE_SYSTEM_API
00046 #include "particles/PxParticleSystem.h"
00047 #include "particles/PxParticleFluid.h"
00048 #endif
00049
00050 #include "pvd/PxPvdSceneClient.h"
00051
00052 #if !PX_DOXYGEN
00053 namespace physx
00054 {
00055 #endif
00056
00057 class PxRigidStatic;
00058 class PxRigidDynamic;
00059 class PxConstraint;
00060 class PxMaterial;
00061 class PxSimulationEventCallback;
00062 class PxPhysics;
00063 class PxBatchQueryDesc;
00064 class PxBatchQuery;
00065 class PxAggregate;
00066 class PxRenderBuffer;
00067 class PxVolumeCache;
00068
00069 class PxSphereGeometry;
00070 class PxBoxGeometry;
00071 class PxCapsuleGeometry;
00072
00073 class PxPruningStructure;
00074 struct PxContactPairHeader;
00075
00076 typedef PxU8 PxDominanceGroup;
00077
00078 class PxPvdSceneClient;
00079
00086 struct PX_DEPRECATED PxActiveTransform
00087 {
00088     PxActor*        actor;
00089     void*           userData;
00090     PxTransform     actor2World;
00091 };
00092
00101 struct PxDominanceGroupPair
00102 {
00103     PxDominanceGroupPair(PxU8 a, PxU8 b)
00104         : dominance0(a), dominance1(b) {}
00105     PxU8 dominance0;
00106     PxU8 dominance1;
00107 };
00108
00109
00117 struct PxActorTypeFlag
00118 {
00119     enum Enum
00120     {
00125         eRIGID_STATIC       = (1 << 0),
00126
00131         eRIGID_DYNAMIC      = (1 << 1),
00132
00133 #if PX_USE_PARTICLE_SYSTEM_API
00134
00139         ePARTICLE_SYSTEM    PX_DEPRECATED = (1 << 2),
00140
00146         ePARTICLE_FLUID     PX_DEPRECATED = (1 << 3),
00147 #endif
00148
00149 #if PX_USE_CLOTH_API
00150
00155         eCLOTH              PX_DEPRECATED = (1 << 5)
00156 #endif
00157     };
00158 };
00159
00165 typedef PxFlags<PxActorTypeFlag::Enum,PxU16> PxActorTypeFlags;
00166 PX_FLAGS_OPERATORS(PxActorTypeFlag::Enum,PxU16)
00167
00168
00186 struct PxQueryCache
00187 {
00191     PX_INLINE PxQueryCache() : shape(NULL), actor(NULL), faceIndex(0xffffffff) {}
00192
00196     PX_INLINE PxQueryCache(PxShape* s, PxU32 findex) : shape(s), actor(NULL), faceIndex(findex) {}
00197
00198     PxShape*        shape;
00199     PxRigidActor*   actor;
00200     PxU32           faceIndex;
00201 };
00202
00212 class PxScene
00213 {
00214     protected:
00215
00216     /************************************************************************************************/
00217
00221
00222                                 PxScene(): userData(0)  {}
00223     virtual                     ~PxScene()  {}
00224
00225     public:
00226
00238     virtual     void            release() = 0;
00239
00247     virtual     void            setFlag(PxSceneFlag::Enum flag, bool value) = 0;
00248
00256     virtual     PxSceneFlags    getFlags() const = 0;
00257
00258
00269     virtual void                setLimits(const PxSceneLimits& limits) = 0;
00270
00276     virtual PxSceneLimits       getLimits() const = 0;
00277
00278
00286     virtual PxPhysics&          getPhysics() = 0;
00287
00293     virtual PxU32               getTimestamp()  const   = 0;
00294
00295
00297     /************************************************************************************************/
00298
00311     virtual void                addArticulation(PxArticulation& articulation) = 0;
00312
00325     virtual void                removeArticulation(PxArticulation& articulation, bool wakeOnLostTouch = true) = 0;
00326
00342     virtual void                addActor(PxActor& actor) = 0;
00343
00362     virtual void                addActors(PxActor*const* actors, PxU32 nbActors) = 0;
00363
00382     virtual void                addActors(const PxPruningStructure& pruningStructure) = 0;
00383
00400     virtual void                removeActor(PxActor& actor, bool wakeOnLostTouch = true) = 0;
00401
00417     virtual void                removeActors(PxActor*const* actors, PxU32 nbActors, bool wakeOnLostTouch = true) = 0;
00418
00431     virtual void                addAggregate(PxAggregate& aggregate)    = 0;
00432
00445     virtual void                removeAggregate(PxAggregate& aggregate, bool wakeOnLostTouch = true)    = 0;
00446
00459     virtual void                addCollection(const PxCollection& collection) = 0;
00461     /************************************************************************************************/
00462
00466
00475     virtual PxU32               getNbActors(PxActorTypeFlags types) const = 0;
00476
00488     virtual PxU32               getActors(PxActorTypeFlags types, PxActor** userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const = 0;
00489
00506     PX_DEPRECATED virtual const PxActiveTransform*
00507                                 getActiveTransforms(PxU32& nbTransformsOut, PxClientID client = PX_DEFAULT_CLIENT) = 0;
00508
00509
00528     virtual PxActor**       getActiveActors(PxU32& nbActorsOut, PX_DEPRECATED PxClientID client = PX_DEFAULT_CLIENT) = 0;
00529
00537     virtual PxU32               getNbArticulations() const = 0;
00538
00549     virtual PxU32               getArticulations(PxArticulation** userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const = 0;
00550
00558     virtual PxU32               getNbConstraints()  const   = 0;
00559
00570     virtual PxU32               getConstraints(PxConstraint** userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const = 0;
00571
00572
00580     virtual         PxU32       getNbAggregates()   const   = 0;
00581
00592     virtual         PxU32       getAggregates(PxAggregate** userBuffer, PxU32 bufferSize, PxU32 startIndex=0)   const   = 0;
00593
00595     /************************************************************************************************/
00596
00600
00651     virtual void                setDominanceGroupPair(
00652                                     PxDominanceGroup group1, PxDominanceGroup group2, const PxDominanceGroupPair& dominance) = 0;
00653
00659     virtual PxDominanceGroupPair getDominanceGroupPair(PxDominanceGroup group1, PxDominanceGroup group2) const = 0;
00660
00662     /************************************************************************************************/
00663
00667
00673     virtual PxCpuDispatcher* getCpuDispatcher() const = 0;
00674
00682     virtual PxGpuDispatcher* getGpuDispatcher() const = 0;
00683
00685     /************************************************************************************************/
00698     virtual PxClientID          createClient() = 0;
00699
00716     PX_DEPRECATED virtual void              setClientBehaviorFlags(PxClientID client, PxClientBehaviorFlags clientBehaviorFlags) = 0;
00717
00725     PX_DEPRECATED virtual PxClientBehaviorFlags getClientBehaviorFlags(PxClientID client) const = 0;
00727
00728
00729     #if PX_USE_CLOTH_API
00730
00731     /************************************************************************************************/
00732
00750     PX_DEPRECATED virtual void  setClothInterCollisionDistance(PxF32 distance) = 0;
00751
00757     PX_DEPRECATED virtual PxF32 getClothInterCollisionDistance() const = 0;
00758
00768     PX_DEPRECATED virtual void  setClothInterCollisionStiffness(PxF32 stiffness) = 0;
00774     PX_DEPRECATED virtual PxF32 getClothInterCollisionStiffness() const = 0;
00775
00785     PX_DEPRECATED virtual void  setClothInterCollisionNbIterations(PxU32 nbIterations) = 0;
00791     PX_DEPRECATED virtual PxU32 getClothInterCollisionNbIterations() const = 0;
00793
00794     #endif // PX_USE_CLOTH_API
00795
00796     /************************************************************************************************/
00797
00801
00818     virtual void                setSimulationEventCallback(PxSimulationEventCallback* callback, PX_DEPRECATED PxClientID client = PX_DEFAULT_CLIENT) = 0;
00819
00830     virtual PxSimulationEventCallback*
00831                                 getSimulationEventCallback(PX_DEPRECATED PxClientID client = PX_DEFAULT_CLIENT) const = 0;
00832
00840     virtual void                setContactModifyCallback(PxContactModifyCallback* callback) = 0;
00841
00849     virtual void                setCCDContactModifyCallback(PxCCDContactModifyCallback* callback) = 0;
00850
00858     virtual PxContactModifyCallback*
00859                                 getContactModifyCallback() const = 0;
00860
00868     virtual PxCCDContactModifyCallback*
00869                                 getCCDContactModifyCallback() const = 0;
00870
00887     virtual void                setBroadPhaseCallback(PxBroadPhaseCallback* callback, PX_DEPRECATED PxClientID client = PX_DEFAULT_CLIENT) = 0;
00888
00900     virtual PxBroadPhaseCallback* getBroadPhaseCallback(PX_DEPRECATED PxClientID client = PX_DEFAULT_CLIENT)    const = 0;
00901
00903     /************************************************************************************************/
00904
00908
00925     virtual void                setFilterShaderData(const void* data, PxU32 dataSize) = 0;
00926
00936     virtual const void*         getFilterShaderData() const = 0;
00937
00945     virtual PxU32               getFilterShaderDataSize() const = 0;
00946
00954     virtual PxSimulationFilterShader
00955                                 getFilterShader() const = 0;
00956
00964     virtual PxSimulationFilterCallback*
00965                                 getFilterCallback() const = 0;
00966
00996     virtual void                resetFiltering(PxActor& actor) = 0;
00997
01012     virtual void                resetFiltering(PxRigidActor& actor, PxShape*const* shapes, PxU32 shapeCount) = 0;
01013
01015     /************************************************************************************************/
01016
01051     virtual void                simulate(PxReal elapsedTime, physx::PxBaseTask* completionTask = NULL,
01052                                     void* scratchMemBlock = 0, PxU32 scratchMemBlockSize = 0, bool controlSimulation = true) = 0;
01053
01054
01065     virtual void                advance(physx::PxBaseTask* completionTask = 0) = 0;
01066
01084     virtual void                collide(PxReal elapsedTime, physx::PxBaseTask* completionTask = 0, void* scratchMemBlock = 0,
01085                                     PxU32 scratchMemBlockSize = 0, bool controlSimulation = true) = 0;
01086
01098     virtual bool                checkResults(bool block = false) = 0;
01099
01107     virtual bool                fetchCollision(bool block = false)  = 0;
01108
01130     virtual bool                fetchResults(bool block = false, PxU32* errorState = 0) = 0;
01131
01132
01148     virtual bool                fetchResultsStart(const PxContactPairHeader*& contactPairs, PxU32& nbContactPairs, bool block = false) = 0;
01149
01150
01159     virtual void                processCallbacks(physx::PxBaseTask* continuation) = 0;
01160
01161
01173     virtual void                fetchResultsFinish(PxU32* errorState = 0) = 0;
01174
01175
01186     virtual void                flushSimulation(bool sendPendingReports = false) = 0;
01187
01197     virtual void                setGravity(const PxVec3& vec) = 0;
01198
01206     virtual PxVec3              getGravity() const = 0;
01207
01213     virtual void                setBounceThresholdVelocity(const PxReal t) = 0;
01214
01220     virtual PxReal              getBounceThresholdVelocity() const = 0;
01221
01222
01231     virtual void                setCCDMaxPasses(PxU32 ccdMaxPasses) = 0;
01232
01241     virtual PxU32               getCCDMaxPasses() const = 0;
01242
01248     virtual PxReal              getFrictionOffsetThreshold() const = 0;
01249
01254     virtual void setFrictionType(PxFrictionType::Enum frictionType) = 0;
01255
01260     virtual PxFrictionType::Enum getFrictionType() const = 0;
01261
01263     /************************************************************************************************/
01264
01279     virtual bool                setVisualizationParameter(PxVisualizationParameter::Enum param, PxReal value) = 0;
01280
01289     virtual PxReal              getVisualizationParameter(PxVisualizationParameter::Enum paramEnum) const = 0;
01290
01291
01298     virtual void                setVisualizationCullingBox(const PxBounds3& box) = 0;
01299
01306     virtual PxBounds3           getVisualizationCullingBox() const = 0;
01307
01319     virtual const PxRenderBuffer& getRenderBuffer() = 0;
01320
01330     virtual void                getSimulationStatistics(PxSimulationStatistics& stats) const = 0;
01331
01332
01334     /************************************************************************************************/
01335
01339
01345     virtual PxPruningStructureType::Enum getStaticStructure() const = 0;
01346
01352     virtual PxPruningStructureType::Enum getDynamicStructure() const = 0;
01353
01369     virtual void                flushQueryUpdates() = 0;
01370
01382     PX_DEPRECATED virtual   PxBatchQuery*       createBatchQuery(const PxBatchQueryDesc& desc) = 0;
01383
01391     PX_DEPRECATED virtual   PxVolumeCache*      createVolumeCache(PxU32 maxStaticShapes = 32, PxU32 maxDynamicShapes = 8) = 0;
01392
01400     virtual void                setDynamicTreeRebuildRateHint(PxU32 dynamicTreeRebuildRateHint) = 0;
01401
01409     virtual PxU32               getDynamicTreeRebuildRateHint() const = 0;
01410
01419     virtual void                forceDynamicTreeRebuild(bool rebuildStaticStructure, bool rebuildDynamicStructure)  = 0;
01420
01428     virtual void                setSceneQueryUpdateMode(PxSceneQueryUpdateMode::Enum updateMode) = 0;
01429
01437     virtual PxSceneQueryUpdateMode::Enum getSceneQueryUpdateMode() const = 0;
01438
01456     virtual void                sceneQueriesUpdate(physx::PxBaseTask* completionTask = NULL, bool controlSimulation = true) = 0;
01457
01469     virtual bool                checkQueries(bool block = false) = 0;
01470
01480     virtual bool                fetchQueries(bool block = false)    = 0;
01481
01504     virtual bool                raycast(
01505                                     const PxVec3& origin, const PxVec3& unitDir, const PxReal distance,
01506                                     PxRaycastCallback& hitCall, PxHitFlags hitFlags = PxHitFlags(PxHitFlag::eDEFAULT),
01507                                     const PxQueryFilterData& filterData = PxQueryFilterData(), PxQueryFilterCallback* filterCall = NULL,
01508                                     const PxQueryCache* cache = NULL) const = 0;
01509
01537     virtual bool                sweep(const PxGeometry& geometry, const PxTransform& pose, const PxVec3& unitDir, const PxReal distance,
01538                                     PxSweepCallback& hitCall, PxHitFlags hitFlags = PxHitFlags(PxHitFlag::eDEFAULT),
01539                                     const PxQueryFilterData& filterData = PxQueryFilterData(), PxQueryFilterCallback* filterCall = NULL,
01540                                     const PxQueryCache* cache = NULL, const PxReal inflation = 0.f) const = 0;
01541
01542
01562     virtual bool                overlap(const PxGeometry& geometry, const PxTransform& pose, PxOverlapCallback& hitCall,
01563                                     const PxQueryFilterData& filterData = PxQueryFilterData(), PxQueryFilterCallback* filterCall = NULL
01564                                     ) const = 0;
01565
01566
01573     virtual PxU32   getSceneQueryStaticTimestamp()  const   = 0;
01575
01576     /************************************************************************************************/
01580
01586     virtual PxBroadPhaseType::Enum  getBroadPhaseType()                             const = 0;
01587
01594     virtual bool                    getBroadPhaseCaps(PxBroadPhaseCaps& caps)           const = 0;
01595
01601     virtual PxU32                   getNbBroadPhaseRegions()                            const = 0;
01602
01611     virtual PxU32                   getBroadPhaseRegions(PxBroadPhaseRegionInfo* userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const    = 0;
01612
01629     virtual PxU32                   addBroadPhaseRegion(const PxBroadPhaseRegion& region, bool populateRegion=false)        = 0;
01630
01644     virtual bool                    removeBroadPhaseRegion(PxU32 handle)                = 0;
01645
01647
01648     /************************************************************************************************/
01649
01653
01659     virtual PxTaskManager*          getTaskManager() const = 0;
01660
01661
01680     virtual void lockRead(const char* file=NULL, PxU32 line=0) = 0;
01681
01687     virtual void unlockRead() = 0;
01688
01714     virtual void lockWrite(const char* file=NULL, PxU32 line=0) = 0;
01715
01721     virtual void unlockWrite() = 0;
01722
01723
01737     virtual         void                setNbContactDataBlocks(PxU32 numBlocks) = 0;
01738
01739
01749     virtual         PxU32               getNbContactDataBlocksUsed() const = 0;
01750
01760     virtual         PxU32               getMaxNbContactDataBlocksUsed() const = 0;
01761
01762
01768     virtual PxU32 getContactReportStreamBufferSize() const = 0;
01769
01770
01778     virtual void                        setSolverBatchSize(PxU32 solverBatchSize) = 0;
01779
01787     virtual PxU32                       getSolverBatchSize() const = 0;
01788
01789
01791
01799     virtual PxReal                      getWakeCounterResetValue() const = 0;
01800
01817     virtual void                    shiftOrigin(const PxVec3& shift) = 0;
01818
01823     virtual PxPvdSceneClient*       getScenePvdClient() = 0;
01824
01825     void*   userData;
01826 };
01827
01828 #if !PX_DOXYGEN
01829 } // namespace physx
01830 #endif
01831
01833 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSceneDesc.h Source File

PxSceneDesc.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_SCENEDESC
00032 #define PX_PHYSICS_NX_SCENEDESC
00033
00037 #include "PxPhysXConfig.h"
00038 #include "foundation/PxFlags.h"
00039 #include "foundation/PxBounds3.h"
00040 #include "PxFiltering.h"
00041 #include "PxBroadPhase.h"
00042 #include "common/PxTolerancesScale.h"
00043 #include "task/PxTask.h"
00044
00045 #if !PX_DOXYGEN
00046 namespace physx
00047 {
00048 #endif
00049
00067 struct PxPruningStructureType
00068 {
00069     enum Enum
00070     {
00071         eNONE,
00072         eDYNAMIC_AABB_TREE,
00073         eSTATIC_AABB_TREE,
00074
00075         eLAST
00076     };
00077 };
00078
00098 struct PxSceneQueryUpdateMode
00099 {
00100     enum Enum
00101     {
00102         eBUILD_ENABLED_COMMIT_ENABLED,
00103         eBUILD_ENABLED_COMMIT_DISABLED,
00104         eBUILD_DISABLED_COMMIT_DISABLED
00105     };
00106 };
00107
00108
00124     struct PxFrictionType
00125     {
00126         enum Enum
00127         {
00128             ePATCH,
00129             eONE_DIRECTIONAL,
00130             eTWO_DIRECTIONAL,
00131             eFRICTION_COUNT
00132         };
00133     };
00134
00141 struct PxSceneFlag
00142 {
00143     enum Enum
00144     {
00157         eENABLE_ACTIVE_ACTORS   = (1<<0),
00158
00171         eENABLE_ACTIVETRANSFORMS    PX_DEPRECATED = (1<<1),
00172
00185         eENABLE_CCD = (1<<2),
00186
00206         eDISABLE_CCD_RESWEEP    = (1<<3),
00207
00215         eADAPTIVE_FORCE             = (1<<4),
00216
00227         eENABLE_KINEMATIC_STATIC_PAIRS  PX_DEPRECATED   = (1<<5),
00228
00239         eENABLE_KINEMATIC_PAIRS PX_DEPRECATED   = (1<<6),
00240
00248         eENABLE_PCM = (1 << 9),
00249
00258         eDISABLE_CONTACT_REPORT_BUFFER_RESIZE   = (1 << 10),
00259
00270         eDISABLE_CONTACT_CACHE  = (1 << 11),
00271
00287         eREQUIRE_RW_LOCK = (1 << 12),
00288
00296         eENABLE_STABILIZATION = (1 << 14),
00297
00306         eENABLE_AVERAGE_POINT = (1 << 15),
00307
00321         eDEPRECATED_TRIGGER_TRIGGER_REPORTS = (1 << 16),
00322
00335         eEXCLUDE_KINEMATICS_FROM_ACTIVE_ACTORS = (1 << 17),
00336
00352         eSUPPRESS_EAGER_SCENE_QUERY_REFIT PX_DEPRECATED = (1 << 18),
00353
00354         /*\brief Enables the GPU dynamics pipeline
00355
00356         When set to true, a CUDA ARCH 3.0 or above-enabled NVIDIA GPU is present and the GPU dispatcher has been configured, this will run the GPU dynamics pipelin instead of the CPU dynamics pipeline.
00357
00358         Note that this flag is not mutable and must be set in PxSceneDesc at scene creation.
00359         */
00360         eENABLE_GPU_DYNAMICS = (1 << 19),
00361
00383         eENABLE_ENHANCED_DETERMINISM = (1<<20),
00384
00385         eMUTABLE_FLAGS = eENABLE_ACTIVE_ACTORS|eENABLE_ACTIVETRANSFORMS|eEXCLUDE_KINEMATICS_FROM_ACTIVE_ACTORS
00386     };
00387 };
00388
00389
00395 typedef PxFlags<PxSceneFlag::Enum,PxU32> PxSceneFlags;
00396 PX_FLAGS_OPERATORS(PxSceneFlag::Enum,PxU32)
00397
00398
00399 class PxSimulationEventCallback;
00400 class PxContactModifyCallback;
00401 class PxCCDContactModifyCallback;
00402 class PxSimulationFilterCallback;
00403
00412 class PxSceneLimits
00413 {
00414 public:
00415     PxU32       maxNbActors;
00416     PxU32       maxNbBodies;
00417     PxU32       maxNbStaticShapes;
00418     PxU32       maxNbDynamicShapes;
00419     PxU32       maxNbAggregates;
00420     PxU32       maxNbConstraints;
00421     PxU32       maxNbRegions;
00422     PxU32       maxNbBroadPhaseOverlaps;
00423     PX_DEPRECATED   PxU32       maxNbObjectsPerRegion;
00424
00428     PX_INLINE PxSceneLimits();
00429
00433     PX_INLINE void setToDefault();
00434
00439     PX_INLINE bool isValid() const;
00440 };
00441
00442 PX_INLINE PxSceneLimits::PxSceneLimits() :  //constructor sets to default
00443     maxNbActors             (0),
00444     maxNbBodies             (0),
00445     maxNbStaticShapes       (0),
00446     maxNbDynamicShapes      (0),
00447     maxNbAggregates         (0),
00448     maxNbConstraints        (0),
00449     maxNbRegions            (0),
00450     maxNbBroadPhaseOverlaps (0),
00451     maxNbObjectsPerRegion   (0)
00452 {
00453 }
00454
00455 PX_INLINE void PxSceneLimits::setToDefault()
00456 {
00457     *this = PxSceneLimits();
00458 }
00459
00460 PX_INLINE bool PxSceneLimits::isValid() const
00461 {
00462     if(maxNbRegions>256)    // max number of regions is currently limited
00463         return false;
00464
00465     return true;
00466 }
00467
00468 //#if PX_SUPPORT_GPU_PHYSX
00473 struct PxgDynamicsMemoryConfig
00474 {
00475     PxU32 constraintBufferCapacity;
00476     PxU32 contactBufferCapacity;
00477     PxU32 tempBufferCapacity;
00478     PxU32 contactStreamSize;
00479     PxU32 patchStreamSize;
00480     PxU32 forceStreamCapacity;
00481     PxU32 heapCapacity;
00482     PxU32 foundLostPairsCapacity;
00483
00484     PxgDynamicsMemoryConfig() :
00485         constraintBufferCapacity(32 * 1024 * 1024),
00486         contactBufferCapacity(24 * 1024 * 1024),
00487         tempBufferCapacity(16 * 1024 * 1024),
00488         contactStreamSize(1024 * 512),
00489         patchStreamSize(1024 * 80),
00490         forceStreamCapacity(1 * 1024 * 1024),
00491         heapCapacity(64 * 1024 * 1024),
00492         foundLostPairsCapacity(256 * 1024)
00493     {
00494     }
00495 };
00496
00497 //#endif
00498
00506 class PxSceneDesc
00507 {
00508 public:
00509
00520     PxVec3                  gravity;
00521
00532     PxSimulationEventCallback*  simulationEventCallback;
00533
00541     PxContactModifyCallback*    contactModifyCallback;
00542
00550     PxCCDContactModifyCallback* ccdContactModifyCallback;
00551
00561     const void*             filterShaderData;
00562
00570     PxU32                   filterShaderDataSize;
00571
00581     PxSimulationFilterShader    filterShader;
00582
00591     PxSimulationFilterCallback* filterCallback;
00592
00600     PxPairFilteringMode::Enum       kineKineFilteringMode;
00601
00609     PxPairFilteringMode::Enum       staticKineFilteringMode;
00610
00618     PxBroadPhaseType::Enum      broadPhaseType;
00619
00630     PxBroadPhaseCallback*       broadPhaseCallback;
00631
00637     PxSceneLimits               limits;
00638
00649     PxFrictionType::Enum frictionType;
00650
00660     PxReal bounceThresholdVelocity;
00661
00675     PxReal frictionOffsetThreshold;
00676
00686     PxReal ccdMaxSeparation;
00687
00696     PxReal solverOffsetSlop;
00697
00703     PxSceneFlags            flags;
00704
00710     PxCpuDispatcher*        cpuDispatcher;
00711
00719     PxGpuDispatcher*        gpuDispatcher;
00720
00726     PxPruningStructureType::Enum    staticStructure;
00727
00731     PxPruningStructureType::Enum    dynamicStructure;
00732
00750     PxU32                   dynamicTreeRebuildRateHint;
00751
00759     PxSceneQueryUpdateMode::Enum sceneQueryUpdateMode;
00760
00766     void*                   userData;
00767
00781     PxU32                   solverBatchSize;
00782
00796     PxU32                   nbContactDataBlocks;
00797
00816     PxU32                   maxNbContactDataBlocks;
00817
00834     PxReal                  maxBiasCoefficient;
00835
00849     PxU32                   contactReportStreamBufferSize;
00850
00862     PxU32                   ccdMaxPasses;
00863
00874     PxReal                  wakeCounterResetValue;
00875
00885     PxBounds3               sanityBounds;
00886
00890     PxgDynamicsMemoryConfig gpuDynamicsConfig;
00891
00898     PxU32                   gpuMaxNumPartitions;
00899
00903     PxU32                   gpuComputeVersion;
00904
00905 private:
00909     // For internal use only
00910     PxTolerancesScale       tolerancesScale;
00916 public:
00925     PX_INLINE PxSceneDesc(const PxTolerancesScale& scale);
00926
00935     PX_INLINE void setToDefault(const PxTolerancesScale& scale);
00936
00941     PX_INLINE bool isValid() const;
00942
00946     // For internal use only
00947     PX_INLINE const PxTolerancesScale& getTolerancesScale() const { return tolerancesScale; }
00951 };
00952
00953 PX_INLINE PxSceneDesc::PxSceneDesc(const PxTolerancesScale& scale):
00954     gravity                             (PxVec3(0.0f)),
00955     simulationEventCallback             (NULL),
00956     contactModifyCallback               (NULL),
00957     ccdContactModifyCallback            (NULL),
00958
00959     filterShaderData                    (NULL),
00960     filterShaderDataSize                (0),
00961     filterShader                        (NULL),
00962     filterCallback                      (NULL),
00963
00964     kineKineFilteringMode               (PxPairFilteringMode::eDEFAULT),
00965     staticKineFilteringMode             (PxPairFilteringMode::eDEFAULT),
00966
00967     broadPhaseType                      (PxBroadPhaseType::eSAP),
00968     broadPhaseCallback                  (NULL),
00969
00970     frictionType                        (PxFrictionType::ePATCH),
00971     bounceThresholdVelocity             (0.2f * scale.speed),
00972     frictionOffsetThreshold             (0.04f * scale.length),
00973     ccdMaxSeparation                    (0.04f * scale.length),
00974     solverOffsetSlop                    (0.0f),
00975
00976     flags                               (PxSceneFlag::eENABLE_PCM),
00977
00978     cpuDispatcher                       (NULL),
00979     gpuDispatcher                       (NULL),
00980
00981     staticStructure                     (PxPruningStructureType::eDYNAMIC_AABB_TREE),
00982     dynamicStructure                    (PxPruningStructureType::eDYNAMIC_AABB_TREE),
00983     dynamicTreeRebuildRateHint          (100),
00984     sceneQueryUpdateMode                (PxSceneQueryUpdateMode::eBUILD_ENABLED_COMMIT_ENABLED),
00985
00986     userData                            (NULL),
00987
00988     solverBatchSize                     (128),
00989
00990     nbContactDataBlocks                 (0),
00991     maxNbContactDataBlocks              (1<<16),
00992     maxBiasCoefficient                  (PX_MAX_F32),
00993     contactReportStreamBufferSize       (8192),
00994     ccdMaxPasses                        (1),
00995     wakeCounterResetValue               (20.0f*0.02f),
00996     sanityBounds                        (PxBounds3(PxVec3(-PX_MAX_BOUNDS_EXTENTS), PxVec3(PX_MAX_BOUNDS_EXTENTS))),
00997
00998     gpuMaxNumPartitions                 (8),
00999     gpuComputeVersion                   (0),
01000
01001     tolerancesScale                     (scale)
01002 {
01003 }
01004
01005 PX_INLINE void PxSceneDesc::setToDefault(const PxTolerancesScale& scale)
01006 {
01007     *this = PxSceneDesc(scale);
01008 }
01009
01010 PX_INLINE bool PxSceneDesc::isValid() const
01011 {
01012     if(!filterShader)
01013         return false;
01014
01015     if( ((filterShaderDataSize == 0) && (filterShaderData != NULL)) ||
01016         ((filterShaderDataSize > 0) && (filterShaderData == NULL)) )
01017         return false;
01018
01019     if(!limits.isValid())
01020         return false;
01021
01022     if(staticStructure!=PxPruningStructureType::eSTATIC_AABB_TREE && staticStructure!=PxPruningStructureType::eDYNAMIC_AABB_TREE)
01023         return false;
01024
01025     if(dynamicTreeRebuildRateHint < 4)
01026         return false;
01027
01028     if(bounceThresholdVelocity < 0.0f)
01029         return false;
01030     if(frictionOffsetThreshold < 0.0f)
01031         return false;
01032     if(ccdMaxSeparation < 0.0f)
01033         return false;
01034
01035     if(!cpuDispatcher)
01036         return false;
01037
01038     if(!contactReportStreamBufferSize)
01039         return false;
01040
01041     if(maxNbContactDataBlocks < nbContactDataBlocks)
01042         return false;
01043
01044     if(wakeCounterResetValue <= 0.0f)
01045         return false;
01046
01047     //Adaptive force and stabilization are incompatible. You can only have one or the other
01048     if((flags & (PxSceneFlag::eADAPTIVE_FORCE | PxSceneFlag::eENABLE_STABILIZATION)) == (PxSceneFlag::eADAPTIVE_FORCE | PxSceneFlag::eENABLE_STABILIZATION))
01049         return false;
01050
01051     if(!sanityBounds.isValid())
01052         return false;
01053
01054     //gpuMaxNumPartitions must be power of 2
01055     if((gpuMaxNumPartitions&(gpuMaxNumPartitions - 1)) != 0)
01056         return false;
01057     if (gpuMaxNumPartitions > 32)
01058         return false;
01059
01060     return true;
01061 }
01062
01063
01064 #if !PX_DOXYGEN
01065 } // namespace physx
01066 #endif
01067
01069 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSceneLock.h Source File

PxSceneLock.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_SCENELOCK
00032 #define PX_PHYSICS_NX_SCENELOCK
00033
00037 #include "PxPhysXConfig.h"
00038 #include "PxScene.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00055 class PxSceneReadLock
00056 {
00057     PxSceneReadLock(const PxSceneReadLock&);
00058     PxSceneReadLock& operator=(const PxSceneReadLock&);
00059
00060 public:
00061
00068     PxSceneReadLock(PxScene& scene, const char* file=NULL, PxU32 line=0)
00069         : mScene(scene)
00070     {
00071         mScene.lockRead(file, line);
00072     }
00073
00074     ~PxSceneReadLock()
00075     {
00076         mScene.unlockRead();
00077     }
00078
00079 private:
00080
00081     PxScene& mScene;
00082 };
00083
00094 class PxSceneWriteLock
00095 {
00096     PxSceneWriteLock(const PxSceneWriteLock&);
00097     PxSceneWriteLock& operator=(const PxSceneWriteLock&);
00098
00099 public:
00100
00107     PxSceneWriteLock(PxScene& scene, const char* file=NULL, PxU32 line=0)
00108         : mScene(scene)
00109     {
00110         mScene.lockWrite(file, line);
00111     }
00112
00113     ~PxSceneWriteLock()
00114     {
00115         mScene.unlockWrite();
00116     }
00117
00118 private:
00119
00120     PxScene& mScene;
00121 };
00122
00123
00124 #if !PX_DOXYGEN
00125 } // namespace physx
00126 #endif
00127
00129 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSceneQueryExt.h Source File

PxSceneQueryExt.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_EXTENSIONS_SCENE_QUERY_H
00032 #define PX_PHYSICS_EXTENSIONS_SCENE_QUERY_H
00033
00037 #include "PxPhysXConfig.h"
00038
00039 #include "PxScene.h"
00040
00041 #if !PX_DOXYGEN
00042 namespace physx
00043 {
00044 #endif
00045
00046 // These types have been deprecated (removed) in PhysX 3.4. We typedef them to the new types here for easy migration from 3.3 to 3.4.
00047 typedef PxQueryHit              PxSceneQueryHit;
00048 typedef PxQueryFilterData       PxSceneQueryFilterData;
00049 typedef PxQueryFilterCallback   PxSceneQueryFilterCallback;
00050 typedef PxQueryCache            PxSceneQueryCache;
00051 typedef PxHitFlag               PxSceneQueryFlag;
00052 typedef PxHitFlags              PxSceneQueryFlags;
00053
00062 class PxSceneQueryExt
00063 {
00064 public:
00065
00090     static bool raycastAny( const PxScene& scene,
00091                             const PxVec3& origin, const PxVec3& unitDir, const PxReal distance,
00092                             PxSceneQueryHit& hit, const PxSceneQueryFilterData& filterData = PxSceneQueryFilterData(),
00093                             PxSceneQueryFilterCallback* filterCall = NULL, const PxSceneQueryCache* cache = NULL,
00094                             PX_DEPRECATED PxClientID queryClient = PX_DEFAULT_CLIENT);
00095
00121     static bool raycastSingle(  const PxScene& scene,
00122                                 const PxVec3& origin, const PxVec3& unitDir, const PxReal distance,
00123                                 PxSceneQueryFlags outputFlags, PxRaycastHit& hit,
00124                                 const PxSceneQueryFilterData& filterData = PxSceneQueryFilterData(),
00125                                 PxSceneQueryFilterCallback* filterCall = NULL, const PxSceneQueryCache* cache = NULL,
00126                                 PX_DEPRECATED PxClientID queryClient = PX_DEFAULT_CLIENT);
00127
00158     static PxI32 raycastMultiple(   const PxScene& scene,
00159                                     const PxVec3& origin, const PxVec3& unitDir, const PxReal distance,
00160                                     PxSceneQueryFlags outputFlags,
00161                                     PxRaycastHit* hitBuffer, PxU32 hitBufferSize, bool& blockingHit,
00162                                     const PxSceneQueryFilterData& filterData = PxSceneQueryFilterData(),
00163                                     PxSceneQueryFilterCallback* filterCall = NULL, const PxSceneQueryCache* cache = NULL,
00164                                     PX_DEPRECATED PxClientID queryClient = PX_DEFAULT_CLIENT);
00165
00193     static bool sweepAny(   const PxScene& scene,
00194                             const PxGeometry& geometry, const PxTransform& pose, const PxVec3& unitDir, const PxReal distance,
00195                             PxSceneQueryFlags queryFlags,
00196                             PxSceneQueryHit& hit,
00197                             const PxSceneQueryFilterData& filterData = PxSceneQueryFilterData(),
00198                             PxSceneQueryFilterCallback* filterCall = NULL,
00199                             const PxSceneQueryCache* cache = NULL,
00200                             PX_DEPRECATED PxClientID queryClient = PX_DEFAULT_CLIENT,
00201                             PxReal inflation = 0.0f);
00202
00230     static bool sweepSingle(const PxScene& scene,
00231                             const PxGeometry& geometry, const PxTransform& pose, const PxVec3& unitDir, const PxReal distance,
00232                             PxSceneQueryFlags outputFlags,
00233                             PxSweepHit& hit,
00234                             const PxSceneQueryFilterData& filterData = PxSceneQueryFilterData(),
00235                             PxSceneQueryFilterCallback* filterCall = NULL,
00236                             const PxSceneQueryCache* cache = NULL,
00237                             PX_DEPRECATED PxClientID queryClient = PX_DEFAULT_CLIENT, PxReal inflation=0.0f);
00238
00271     static PxI32 sweepMultiple( const PxScene& scene,
00272                                 const PxGeometry& geometry, const PxTransform& pose, const PxVec3& unitDir, const PxReal distance,
00273                                 PxSceneQueryFlags outputFlags, PxSweepHit* hitBuffer, PxU32 hitBufferSize, bool& blockingHit,
00274                                 const PxSceneQueryFilterData& filterData = PxSceneQueryFilterData(),
00275                                 PxSceneQueryFilterCallback* filterCall = NULL, const PxSceneQueryCache* cache = NULL,
00276                                 PX_DEPRECATED PxClientID queryClient = PX_DEFAULT_CLIENT, PxReal inflation = 0.0f);
00277
00299     static PxI32 overlapMultiple(   const PxScene& scene,
00300                                     const PxGeometry& geometry, const PxTransform& pose,
00301                                     PxOverlapHit* hitBuffer, PxU32 hitBufferSize,
00302                                     const PxSceneQueryFilterData& filterData = PxSceneQueryFilterData(),
00303                                     PxSceneQueryFilterCallback* filterCall = NULL,
00304                                     PX_DEPRECATED PxClientID queryClient = PX_DEFAULT_CLIENT);
00305
00326     static bool overlapAny( const PxScene& scene,
00327                             const PxGeometry& geometry, const PxTransform& pose,
00328                             PxOverlapHit& hit,
00329                             const PxSceneQueryFilterData& filterData = PxSceneQueryFilterData(),
00330                             PxSceneQueryFilterCallback* filterCall = NULL,
00331                             PX_DEPRECATED PxClientID queryClient = PX_DEFAULT_CLIENT);
00332 };
00333
00334 #if !PX_DOXYGEN
00335 } // namespace physx
00336 #endif
00337
00339 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSerialFramework.h Source File

PxSerialFramework.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_COMMON_NX_SERIAL_FRAMEWORK
00032 #define PX_PHYSICS_COMMON_NX_SERIAL_FRAMEWORK
00033
00038 #include "common/PxPhysXCommonConfig.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00045 typedef PxU16 PxType;
00046 class PxBase;
00047 class PxSerializationContext;
00048 class PxRepXSerializer;
00049 class PxSerializer;
00050 class PxPhysics;
00051
00053 #define PX_SERIAL_ALIGN 16
00054
00056 #define PX_SERIAL_FILE_ALIGN 128
00057
00059 #define PX_SERIAL_OBJECT_ID_INVALID 0
00060
00062 typedef PxU64 PxSerialObjectId;
00063
00065 #define PX_SERIAL_REF_KIND_PTR_TYPE_BIT (1u<<31)
00066
00068 #define PX_SERIAL_REF_KIND_PXBASE       (0 | PX_SERIAL_REF_KIND_PTR_TYPE_BIT)
00069
00071 #define PX_SERIAL_REF_KIND_MATERIAL_IDX (1)
00072
00074 #define PX_MAKE_FOURCC(a, b, c, d) ( (a) | ((b)<<8) | ((c)<<16) | ((d)<<24) )
00075
00081 class PxProcessPxBaseCallback
00082 {
00083 public:
00084     virtual ~PxProcessPxBaseCallback()  {}
00085     virtual void process(PxBase&) = 0;
00086 };
00087
00088
00099 class PxSerializationContext
00100 {
00101 public:
00102
00124     virtual void                registerReference(PxBase& base, PxU32 kind, size_t reference)       = 0;
00125
00129     virtual const PxCollection& getCollection() const                                               = 0;
00130
00138     virtual void                writeData(const void* data, PxU32 size)                             = 0;
00139
00147     virtual void                alignData(PxU32 alignment = PX_SERIAL_ALIGN)                        = 0;
00148
00156     virtual void                writeName(const char* name)                                         = 0;
00157
00158 protected:
00159
00160                             PxSerializationContext() {}
00161     virtual                 ~PxSerializationContext() {}
00162 };
00163
00164
00174 class PxDeserializationContext
00175 {
00176 public:
00177
00196     virtual     PxBase*         resolveReference(PxU32 kind, size_t reference) const = 0;
00197
00203     template<typename T>
00204                 void            translatePxBase(T*& base) { if (base) { base = static_cast<T*>(resolveReference(PX_SERIAL_REF_KIND_PXBASE, size_t(base))); } }
00205
00213     PX_INLINE   void            readName(const char*& name)
00214     {
00215         PxU32 len = *reinterpret_cast<PxU32*>(mExtraDataAddress);
00216         mExtraDataAddress += sizeof(len);
00217         name = len ? reinterpret_cast<const char*>(mExtraDataAddress) : NULL;
00218         mExtraDataAddress += len;
00219     }
00220
00228     template<typename T>
00229     PX_INLINE   T*              readExtraData(PxU32 count=1)
00230     {
00231         T* data = reinterpret_cast<T*>(mExtraDataAddress);
00232         mExtraDataAddress += sizeof(T)*count;
00233         return data;
00234     }
00235
00243     template<typename T, PxU32 alignment>
00244     PX_INLINE   T*              readExtraData(PxU32 count=1)
00245     {
00246         alignExtraData(alignment);
00247         return readExtraData<T>(count);
00248     }
00249
00257     PX_INLINE   void            alignExtraData(PxU32 alignment = PX_SERIAL_ALIGN)
00258     {
00259         size_t addr = reinterpret_cast<size_t>(mExtraDataAddress);
00260         addr = (addr+alignment-1)&~size_t(alignment-1);
00261         mExtraDataAddress = reinterpret_cast<PxU8*>(addr);
00262     }
00263
00264
00269     virtual     PxU32           getPhysXVersion() const = 0;
00270
00271 protected:
00272
00273                                 PxDeserializationContext() {}
00274     virtual                     ~PxDeserializationContext() {}
00275
00276     PxU8*                       mExtraDataAddress;
00277 };
00278
00285 typedef void (*PxBinaryMetaDataCallback)(PxOutputStream& stream);
00286
00297 class PxSerializationRegistry
00298 {
00299 public:
00300     /************************************************************************************************/
00301
00305
00314     virtual void                        registerSerializer(PxType type, PxSerializer& serializer) = 0;
00315
00324     virtual PxSerializer*               unregisterSerializer(PxType type) = 0;
00325
00335     virtual void                        registerBinaryMetaDataCallback(PxBinaryMetaDataCallback callback) = 0;
00336
00345     virtual const PxSerializer*         getSerializer(PxType type) const = 0;
00346
00348     /************************************************************************************************/
00349
00353
00362     virtual void                        registerRepXSerializer(PxType type, PxRepXSerializer& serializer) = 0;
00363
00372     virtual PxRepXSerializer*           unregisterRepXSerializer(PxType type) = 0;
00373
00382     virtual PxRepXSerializer*           getRepXSerializer(const char* typeName) const = 0;
00383
00385     /************************************************************************************************/
00386
00395     virtual void release() = 0;
00396
00397 protected:
00398     virtual ~PxSerializationRegistry(){}
00399 };
00400
00401 #if !PX_DOXYGEN
00402 } // namespace physx
00403 #endif
00404
00406 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSerialization.h Source File

PxSerialization.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_SERIALIZATION_H
00032 #define PX_SERIALIZATION_H
00033
00037 #include "PxPhysXConfig.h"
00038 #include "common/PxBase.h"
00039 #include "cooking/PxCooking.h"
00040 #include "foundation/PxIO.h"
00041 #include "common/PxTolerancesScale.h"
00042 #include "common/PxTypeInfo.h"
00043 #include "common/PxStringTable.h"
00044
00045 //
00046 // Important: if you adjust the comment about binary compatible versions below, don't forget to adjust the compatibility list in
00047 // sBinaryCompatibleVersionsbinary as well
00048 //
00058 #define PX_BINARY_SERIAL_VERSION 0
00059
00060
00061 #if !PX_DOXYGEN
00062 namespace physx
00063 {
00064 #endif
00065
00071 class PxSerialization
00072 {
00073 public:
00081     struct PxXmlMiscParameter
00082     {
00086         PxVec3              upVector;
00087
00091         PxTolerancesScale   scale;
00092
00093         PxXmlMiscParameter() : upVector(0) {}
00094         PxXmlMiscParameter(PxVec3& inUpVector, PxTolerancesScale inScale) : upVector(inUpVector), scale(inScale) {}
00095     };
00096
00121     static  bool            isSerializable(PxCollection& collection, PxSerializationRegistry& sr, const PxCollection* externalReferences = NULL);
00122
00151     static  void            complete(PxCollection& collection, PxSerializationRegistry& sr, const PxCollection* exceptFor = NULL, bool followJoints = false);
00152
00163     static  void            createSerialObjectIds(PxCollection& collection, const PxSerialObjectId base);
00164
00178     static  PxCollection*   createCollectionFromXml(PxInputData& inputData, PxCooking& cooking, PxSerializationRegistry& sr, const PxCollection* externalRefs = NULL, PxStringTable* stringTable = NULL, PxXmlMiscParameter* outArgs = NULL);
00179
00197     static  PxCollection*   createCollectionFromBinary(void* memBlock, PxSerializationRegistry& sr, const PxCollection* externalRefs = NULL);
00198
00217     static  bool            serializeCollectionToXml(PxOutputStream& outputStream, PxCollection& collection,  PxSerializationRegistry& sr, PxCooking* cooking = NULL, const PxCollection* externalRefs = NULL, PxXmlMiscParameter* inArgs = NULL);
00218
00241     static  bool            serializeCollectionToBinary(PxOutputStream& outputStream, PxCollection& collection, PxSerializationRegistry& sr, const PxCollection* externalRefs = NULL, bool exportNames = false );
00242
00257     static  void            dumpBinaryMetaData(PxOutputStream& outputStream, PxSerializationRegistry& sr);
00258
00264     static PxBinaryConverter* createBinaryConverter();
00265
00275     static PxSerializationRegistry* createSerializationRegistry(PxPhysics& physics);
00276 };
00277
00278 #if !PX_DOXYGEN
00279 } // namespace physx
00280 #endif
00281
00283 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSerializer.h Source File

PxSerializer.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_SERIALIZER_H
00032 #define PX_SERIALIZER_H
00033
00037 #include "PxSerialFramework.h"
00038 #include "PxCollection.h"
00039 #include "foundation/PxAssert.h"
00040
00041 #if !PX_DOXYGEN
00042 namespace physx
00043 {
00044 #endif
00045
00061 class PxSerializer
00062 {
00063 public:
00064
00065     /**********************************************************************************************************************/
00066
00070
00076     virtual  const  char*           getConcreteTypeName() const                                                         = 0;
00077
00085     virtual         void            requiresObjects(PxBase&, PxProcessPxBaseCallback&) const                                    = 0;
00086
00096     virtual         bool            isSubordinate() const                                                               = 0;
00097
00099     /**********************************************************************************************************************/
00100
00101     /**********************************************************************************************************************/
00102
00106
00110     virtual         void            exportExtraData(PxBase&, PxSerializationContext&) const                             = 0;
00111
00115     virtual         void            exportData(PxBase&, PxSerializationContext&) const                                  = 0;
00116
00120     virtual         void            registerReferences(PxBase& obj, PxSerializationContext& s) const                    = 0;
00121
00127     virtual         size_t          getClassSize() const                                                                = 0;
00128
00136     virtual         PxBase*         createObject(PxU8*& address, PxDeserializationContext& context) const   = 0;
00137
00139     /**********************************************************************************************************************/
00140     virtual ~PxSerializer() {}
00141 };
00142
00143
00147 template<class T>
00148 class PxSerializerDefaultAdapter : public PxSerializer
00149 {
00150 public:
00151
00152     /************************************************************************************************/
00153
00157
00158     PxSerializerDefaultAdapter(const char* name) : mTypeName(name){}
00159
00160     virtual const char* getConcreteTypeName() const
00161     {
00162         return mTypeName;
00163     }
00164
00165     virtual void requiresObjects(PxBase& obj, PxProcessPxBaseCallback& c) const
00166     {
00167         T& t = static_cast<T&>(obj);
00168         t.requiresObjects(c);
00169     }
00170
00171     virtual bool isSubordinate() const
00172     {
00173         return false;
00174     }
00175
00177     /************************************************************************************************/
00178
00182
00183     // object methods
00184
00185     virtual void exportExtraData(PxBase& obj, PxSerializationContext& s) const
00186     {
00187         T& t = static_cast<T&>(obj);
00188         t.exportExtraData(s);
00189     }
00190
00191     virtual void exportData(PxBase& obj, PxSerializationContext& s) const
00192     {
00193         s.writeData(&obj, sizeof(T));
00194     }
00195
00196     virtual void registerReferences(PxBase& obj, PxSerializationContext& s) const
00197     {
00198         T& t = static_cast<T&>(obj);
00199
00200         s.registerReference(obj, PX_SERIAL_REF_KIND_PXBASE, size_t(&obj));
00201
00202         struct RequiresCallback : public PxProcessPxBaseCallback
00203         {
00204             RequiresCallback(PxSerializationContext& c) : context(c) {}
00205             RequiresCallback& operator=(RequiresCallback&) { PX_ASSERT(0); return *this; }
00206             void process(physx::PxBase& base)
00207             {
00208                 context.registerReference(base, PX_SERIAL_REF_KIND_PXBASE, size_t(&base));
00209             }
00210             PxSerializationContext& context;
00211         };
00212
00213         RequiresCallback callback(s);
00214         t.requiresObjects(callback);
00215     }
00216
00217     // class methods
00218
00219     virtual size_t getClassSize() const
00220     {
00221         return sizeof(T);
00222     }
00223
00224     virtual PxBase* createObject(PxU8*& address, PxDeserializationContext& context) const
00225     {
00226         return T::createObject(address, context);
00227     }
00228
00229
00231     /************************************************************************************************/
00232
00233 private:
00234     const char*    mTypeName;
00235 };
00236
00242 #define PX_NEW_SERIALIZER_ADAPTER(x) \
00243     *new( PxGetFoundation().getAllocatorCallback().allocate(sizeof(PxSerializerDefaultAdapter<x>), \
00244     "PxSerializerDefaultAdapter",  __FILE__, __LINE__ )) PxSerializerDefaultAdapter<x>(#x)
00245
00249 #define PX_DELETE_SERIALIZER_ADAPTER(x) \
00250     { PxSerializer* s = x; if (s) { s->~PxSerializer(); PxGetFoundation().getAllocatorCallback().deallocate(s); } }
00251
00252 #if !PX_DOXYGEN
00253 } // namespace physx
00254 #endif
00255
00257 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxShape.h Source File

PxShape.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PX_PHYSICS_NX_SHAPE
00031 #define PX_PHYSICS_NX_SHAPE
00032
00036 #include "PxPhysXConfig.h"
00037 #include "common/PxBase.h"
00038 #include "geometry/PxGeometry.h"
00039 #include "geometry/PxGeometryHelpers.h"
00040
00041 #if !PX_DOXYGEN
00042 namespace physx
00043 {
00044 #endif
00045
00046 class PxBoxGeometry;
00047 class PxSphereGeometry;
00048 class PxCapsuleGeometry;
00049 class PxPlaneGeometry;
00050 class PxConvexMeshGeometry;
00051 class PxTriangleMeshGeometry;
00052 class PxHeightFieldGeometry;
00053 class PxRigidActor;
00054 struct PxFilterData;
00055 struct PxRaycastHit;
00056 struct PxSweepHit;
00057
00063 struct PxShapeFlag
00064 {
00065     enum Enum
00066     {
00079         eSIMULATION_SHAPE               = (1<<0),
00080
00084         eSCENE_QUERY_SHAPE              = (1<<1),
00085
00108         eTRIGGER_SHAPE                  = (1<<2),
00109
00115         eVISUALIZATION                  = (1<<3),
00116
00120         ePARTICLE_DRAIN                 = (1<<4)
00121     };
00122 };
00123
00129 typedef PxFlags<PxShapeFlag::Enum,PxU8> PxShapeFlags;
00130 PX_FLAGS_OPERATORS(PxShapeFlag::Enum,PxU8)
00131
00132
00133
00149 class PxShape : public PxBase
00150 {
00151 public:
00152
00163     virtual     void                    release() = 0;
00164
00170     virtual     void                    acquireReference() = 0;
00171
00179     virtual     PxGeometryType::Enum    getGeometryType() const = 0;
00180
00192     virtual     void                    setGeometry(const PxGeometry& geometry) = 0;
00193
00194
00203     virtual     PxGeometryHolder        getGeometry() const = 0;
00204
00205
00217     virtual     bool                    getBoxGeometry(PxBoxGeometry& geometry) const = 0;
00218
00230     virtual     bool                    getSphereGeometry(PxSphereGeometry& geometry) const = 0;
00231
00243     virtual     bool                    getCapsuleGeometry(PxCapsuleGeometry& geometry) const = 0;
00244
00256     virtual     bool                    getPlaneGeometry(PxPlaneGeometry& geometry) const = 0;
00257
00269     virtual     bool                    getConvexMeshGeometry(PxConvexMeshGeometry& geometry) const = 0;
00270
00282     virtual     bool                    getTriangleMeshGeometry(PxTriangleMeshGeometry& geometry) const = 0;
00283
00295     virtual     bool                    getHeightFieldGeometry(PxHeightFieldGeometry& geometry) const = 0;
00296
00304     virtual     PxRigidActor*           getActor() const = 0;
00305
00306
00307 /************************************************************************************************/
00308
00312
00331     virtual     void                    setLocalPose(const PxTransform& pose)       = 0;
00332
00342     virtual     PxTransform             getLocalPose()                  const   = 0;
00343
00345 /************************************************************************************************/
00346
00350
00361     virtual     void                    setSimulationFilterData(const PxFilterData& data)   = 0;
00362
00368     virtual     PxFilterData            getSimulationFilterData()                   const   = 0;
00369
00377     virtual     void                    setQueryFilterData(const PxFilterData& data)    = 0;
00378
00384     virtual     PxFilterData            getQueryFilterData()                    const   = 0;
00385
00387 /************************************************************************************************/
00388
00399     virtual     void                    setMaterials(PxMaterial*const* materials, PxU16 materialCount)  = 0;
00400
00410     virtual     PxU16                   getNbMaterials()        const   = 0;
00411
00426     virtual     PxU32                   getMaterials(PxMaterial** userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const   = 0;
00427
00446     virtual     PxMaterial*             getMaterialFromInternalFaceIndex(PxU32 faceIndex) const = 0;
00447
00464     virtual     void                    setContactOffset(PxReal contactOffset)  = 0;
00465
00473     virtual     PxReal                  getContactOffset() const    = 0;
00474
00490     virtual     void                    setRestOffset(PxReal restOffset)    = 0;
00491
00499     virtual     PxReal                  getRestOffset() const   = 0;
00500
00501 /************************************************************************************************/
00502
00515     virtual     void                    setFlag(PxShapeFlag::Enum flag, bool value) = 0;
00516
00522     virtual     void                    setFlags(PxShapeFlags inFlags) = 0;
00523
00531     virtual     PxShapeFlags            getFlags() const = 0;
00532
00538     virtual     bool                    isExclusive() const = 0;
00539
00552     virtual     void                    setName(const char* name)       = 0;
00553
00554
00561     virtual     const char*             getName()           const   = 0;
00562
00563
00564     virtual     const char*             getConcreteTypeName() const { return "PxShape"; }
00565
00566 /************************************************************************************************/
00567
00568                 void*                   userData;
00569
00570 protected:
00571     PX_INLINE                           PxShape(PxBaseFlags baseFlags) : PxBase(baseFlags) {}
00572     PX_INLINE                           PxShape(PxType concreteType, PxBaseFlags baseFlags) : PxBase(concreteType, baseFlags), userData(NULL) {}
00573     virtual                             ~PxShape() {}
00574     virtual     bool                    isKindOf(const char* name) const { return !::strcmp("PxShape", name) || PxBase::isKindOf(name); }
00575
00576 };
00577
00578 #if !PX_DOXYGEN
00579 } // namespace physx
00580 #endif
00581
00583 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxShapeExt.h Source File

PxShapeExt.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_EXTENSIONS_SHAPE_H
00032 #define PX_PHYSICS_EXTENSIONS_SHAPE_H
00033
00037 #include "PxPhysXConfig.h"
00038
00039 #include "PxShape.h"
00040 #include "PxRigidActor.h"
00041 #include "geometry/PxGeometryQuery.h"
00042
00043 #if !PX_DOXYGEN
00044 namespace physx
00045 {
00046 #endif
00047
00054 class PxShapeExt
00055 {
00056 public:
00065     static PX_INLINE    PxTransform     getGlobalPose(const PxShape& shape, const PxRigidActor& actor)
00066     {
00067         return actor.getGlobalPose() * shape.getLocalPose();
00068     }
00069
00085     static PX_INLINE PxU32              raycast(const PxShape& shape, const PxRigidActor& actor,
00086                                                 const PxVec3& rayOrigin, const PxVec3& rayDir, PxReal maxDist, PxHitFlags hitFlags,
00087                                                 PxU32 maxHits, PxRaycastHit* rayHits)
00088     {
00089         return PxGeometryQuery::raycast(
00090             rayOrigin, rayDir, shape.getGeometry().any(), getGlobalPose(shape, actor), maxDist, hitFlags, maxHits, rayHits);
00091     }
00092
00104     static PX_INLINE bool               overlap(const PxShape& shape, const PxRigidActor& actor,
00105                                                 const PxGeometry& otherGeom, const PxTransform& otherGeomPose)
00106     {
00107         return PxGeometryQuery::overlap(shape.getGeometry().any(), getGlobalPose(shape, actor), otherGeom, otherGeomPose);
00108     }
00109
00127     static PX_INLINE bool           sweep(const PxShape& shape, const PxRigidActor& actor,
00128                                           const PxVec3& unitDir, const PxReal distance, const PxGeometry& otherGeom, const PxTransform& otherGeomPose,
00129                                           PxSweepHit& sweepHit, PxHitFlags hitFlags)
00130     {
00131         return PxGeometryQuery::sweep(unitDir, distance, otherGeom, otherGeomPose, shape.getGeometry().any(), getGlobalPose(shape, actor), sweepHit, hitFlags);
00132     }
00133
00134
00146     static PX_INLINE PxBounds3      getWorldBounds(const PxShape& shape, const PxRigidActor& actor, float inflation=1.01f)
00147     {
00148         return PxGeometryQuery::getWorldBounds(shape.getGeometry().any(), getGlobalPose(shape, actor), inflation);
00149     }
00150
00151 };
00152
00153 #if !PX_DOXYGEN
00154 } // namespace physx
00155 #endif
00156
00158 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSimpleFactory.h Source File

PxSimpleFactory.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_EXTENSIONS_SIMPLE_FACTORY_H
00032 #define PX_PHYSICS_EXTENSIONS_SIMPLE_FACTORY_H
00033
00037 #include "common/PxPhysXCommonConfig.h"
00038 #include "foundation/PxTransform.h"
00039 #include "foundation/PxPlane.h"
00040
00041 #if !PX_DOXYGEN
00042 namespace physx
00043 {
00044 #endif
00045
00046     class PxPhysics;
00047     class PxMaterial;
00048     class PxRigidActor;
00049     class PxRigidDynamic;
00050     class PxRigidStatic;
00051     class PxGeometry;
00052     class PxShape;
00053
00054
00070 PxRigidDynamic* PxCreateDynamic(PxPhysics& sdk,
00071                                 const PxTransform& transform,
00072                                 const PxGeometry& geometry,
00073                                 PxMaterial& material,
00074                                 PxReal density,
00075                                 const PxTransform& shapeOffset = PxTransform(PxIdentity));
00076
00077
00091 PxRigidDynamic* PxCreateDynamic(PxPhysics& sdk,
00092                                 const PxTransform& transform,
00093                                 PxShape& shape,
00094                                 PxReal density);
00095
00096
00117 PxRigidDynamic* PxCreateKinematic(PxPhysics& sdk,
00118                                   const PxTransform& transform,
00119                                   const PxGeometry& geometry,
00120                                   PxMaterial& material,
00121                                   PxReal density,
00122                                   const PxTransform& shapeOffset = PxTransform(PxIdentity));
00123
00124
00143 PxRigidDynamic* PxCreateKinematic(PxPhysics& sdk,
00144                                   const PxTransform& transform,
00145                                   PxShape& shape,
00146                                   PxReal density);
00147
00148
00162 PxRigidStatic*  PxCreateStatic(PxPhysics& sdk,
00163                                const PxTransform& transform,
00164                                const PxGeometry& geometry,
00165                                PxMaterial& material,
00166                                const PxTransform& shapeOffset = PxTransform(PxIdentity));
00167
00168
00180 PxRigidStatic*  PxCreateStatic(PxPhysics& sdk,
00181                                const PxTransform& transform,
00182                                PxShape& shape);
00183
00184
00196 PxRigidStatic*  PxCreateStatic(PxPhysics& sdk,
00197                                const PxTransform& transform,
00198                                PxShape& shape);
00199
00200
00226 PxShape* PxCloneShape(PxPhysics& physicsSDK,
00227                       const PxShape& shape,
00228                       bool isExclusive);
00229
00230
00231
00256 PxRigidStatic* PxCloneStatic(PxPhysics& physicsSDK,
00257                              const PxTransform& transform,
00258                              const PxRigidActor& actor);
00259
00260
00296 PxRigidDynamic* PxCloneDynamic(PxPhysics& physicsSDK,
00297                                const PxTransform& transform,
00298                                const PxRigidDynamic& body);
00299
00300
00312 PxRigidStatic*  PxCreatePlane(PxPhysics& sdk,
00313                               const PxPlane& plane,
00314                               PxMaterial& material);
00315
00316
00329 void PxScaleRigidActor(PxRigidActor& actor, PxReal scale, bool scaleMassProps = true);
00330
00331
00332 #if !PX_DOXYGEN
00333 } // namespace physx
00334 #endif
00335
00337 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSimpleTriangleMesh.h Source File

PxSimpleTriangleMesh.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_GEOMUTILS_NX_SIMPLETRIANGLEMESH
00032 #define PX_PHYSICS_GEOMUTILS_NX_SIMPLETRIANGLEMESH
00033
00037 #include "foundation/PxVec3.h"
00038 #include "foundation/PxFlags.h"
00039 #include "common/PxCoreUtilityTypes.h"
00040 #include "common/PxPhysXCommonConfig.h"
00041
00042 #if !PX_DOXYGEN
00043 namespace physx
00044 {
00045 #endif
00046
00050 struct PxMeshFlag
00051 {
00052     enum Enum
00053     {
00067         eFLIPNORMALS        =   (1<<0),
00068         e16_BIT_INDICES     =   (1<<1)
00069     };
00070 };
00071
00077 typedef PxFlags<PxMeshFlag::Enum,PxU16> PxMeshFlags;
00078 PX_FLAGS_OPERATORS(PxMeshFlag::Enum,PxU16)
00079
00080
00081
00084 class PxSimpleTriangleMesh
00085 {
00086 public:
00087
00091     PxBoundedData points;
00092
00108     PxBoundedData triangles;
00109
00113     PxMeshFlags flags;
00114
00118     PX_INLINE PxSimpleTriangleMesh();
00122     PX_INLINE void setToDefault();
00126     PX_INLINE bool isValid() const;
00127 };
00128
00129
00130 PX_INLINE PxSimpleTriangleMesh::PxSimpleTriangleMesh()
00131 {
00132 }
00133
00134 PX_INLINE void PxSimpleTriangleMesh::setToDefault()
00135 {
00136     *this = PxSimpleTriangleMesh();
00137 }
00138
00139 PX_INLINE bool PxSimpleTriangleMesh::isValid() const
00140 {
00141     // Check geometry
00142     if(points.count > 0xffff && flags & PxMeshFlag::e16_BIT_INDICES)
00143         return false;
00144     if(!points.data)
00145         return false;
00146     if(points.stride < sizeof(PxVec3))  //should be at least one point's worth of data
00147         return false;
00148
00149     // Check topology
00150     // The triangles pointer is not mandatory
00151     if(triangles.data)
00152     {
00153         // Indexed mesh
00154         PxU32 limit = (flags & PxMeshFlag::e16_BIT_INDICES) ? sizeof(PxU16)*3 : sizeof(PxU32)*3;
00155         if(triangles.stride < limit)
00156             return false;
00157     }
00158     return true;
00159 }
00160
00161 #if !PX_DOXYGEN
00162 } // namespace physx
00163 #endif
00164
00166 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSimpleTypes.h Source File

PxSimpleTypes.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PXFOUNDATION_PXSIMPLETYPES_H
00031 #define PXFOUNDATION_PXSIMPLETYPES_H
00032
00037 // Platform specific types:
00038 // Design note: Its OK to use int for general loop variables and temps.
00039
00040 #include "foundation/PxPreprocessor.h"
00041 #if PX_VC
00042 #pragma warning(push)
00043 #pragma warning(disable : 4668) // suppressing warning generated by Microsoft Visual Studio when including this standard
00044 // header
00045 #endif
00046
00047 #if PX_LINUX
00048 #define __STDC_LIMIT_MACROS
00049 #endif
00050
00051 #include <stdint.h>
00052 #if PX_VC
00053 #pragma warning(pop)
00054 #endif
00055
00056 #if PX_VC // we could use inttypes.h starting with VC12
00057 #define PX_PRIu64 "I64u"
00058 #else
00059 #if !PX_PS4 && !PX_APPLE_FAMILY && !PX_SWITCH
00060 #define __STDC_FORMAT_MACROS
00061 #endif
00062 #include <inttypes.h>
00063 #define PX_PRIu64 PRIu64
00064 #endif
00065
00066 namespace physx
00067 {
00068 typedef int64_t PxI64;
00069 typedef uint64_t PxU64;
00070 typedef int32_t PxI32;
00071 typedef uint32_t PxU32;
00072 typedef int16_t PxI16;
00073 typedef uint16_t PxU16;
00074 typedef int8_t PxI8;
00075 typedef uint8_t PxU8;
00076 typedef float PxF32;
00077 typedef double PxF64;
00078 typedef float PxReal;
00079 }
00080
00081 // Type ranges
00082
00083 // These are here because we sometimes have non-IEEE compliant platforms to deal with.
00084 // Removal is under consideration (issue GWSD-34)
00085
00086 #define PX_MAX_F32 3.4028234663852885981170418348452e+38F
00087 // maximum possible float value
00088 #define PX_MAX_F64 DBL_MAX // maximum possible double value
00089
00090 #define PX_EPS_F32 FLT_EPSILON // maximum relative error of float rounding
00091 #define PX_EPS_F64 DBL_EPSILON // maximum relative error of double rounding
00092
00093 #define PX_MAX_REAL PX_MAX_F32
00094 #define PX_EPS_REAL PX_EPS_F32
00095 #define PX_NORMALIZATION_EPSILON float(1e-20f)
00096
00097 // Legacy type ranges used by PhysX
00098 #define PX_MAX_I8 INT8_MAX
00099 #define PX_MIN_I8 INT8_MIN
00100 #define PX_MAX_U8 UINT8_MAX
00101 #define PX_MIN_U8 UINT8_MIN
00102 #define PX_MAX_I16 INT16_MAX
00103 #define PX_MIN_I16 INT16_MIN
00104 #define PX_MAX_U16 UINT16_MAX
00105 #define PX_MIN_U16 UINT16_MIN
00106 #define PX_MAX_I32 INT32_MAX
00107 #define PX_MIN_I32 INT32_MIN
00108 #define PX_MAX_U32 UINT32_MAX
00109 #define PX_MIN_U32 UINT32_MIN
00110
00112 #endif // #ifndef PXFOUNDATION_PXSIMPLETYPES_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSimulationEventCallback.h Source File

PxSimulationEventCallback.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_SIMULATION_EVENT_CALLBACK
00032 #define PX_SIMULATION_EVENT_CALLBACK
00033
00037 #include "foundation/PxVec3.h"
00038 #include "foundation/PxTransform.h"
00039 #include "foundation/PxMemory.h"
00040 #include "PxPhysXConfig.h"
00041 #include "PxFiltering.h"
00042 #include "PxContact.h"
00043
00044 #if !PX_DOXYGEN
00045 namespace physx
00046 {
00047 #endif
00048
00049 class PxShape;
00050 class PxActor;
00051 class PxRigidActor;
00052 class PxRigidBody;
00053 class PxConstraint;
00054
00055
00061 struct PxContactPairExtraDataType
00062 {
00063     enum Enum
00064     {
00065         ePRE_SOLVER_VELOCITY,
00066         ePOST_SOLVER_VELOCITY,
00067         eCONTACT_EVENT_POSE,
00068         eCONTACT_PAIR_INDEX
00069     };
00070 };
00071
00072
00078 struct PxContactPairExtraDataItem
00079 {
00080 public:
00081     PX_FORCE_INLINE PxContactPairExtraDataItem() {}
00082
00086     PxU8 type;
00087 };
00088
00089
00101 struct PxContactPairVelocity : public PxContactPairExtraDataItem
00102 {
00103 public:
00104     PX_FORCE_INLINE PxContactPairVelocity() {}
00105
00109     PxVec3 linearVelocity[2];
00110
00114     PxVec3 angularVelocity[2];
00115 };
00116
00117
00123 struct PxContactPairPose : public PxContactPairExtraDataItem
00124 {
00125 public:
00126     PX_FORCE_INLINE PxContactPairPose() {}
00127
00131     PxTransform globalPose[2];
00132 };
00133
00134
00160 struct PxContactPairIndex : public PxContactPairExtraDataItem
00161 {
00162 public:
00163     PX_FORCE_INLINE PxContactPairIndex() {}
00164
00168     PxU16 index;
00169 };
00170
00171
00177 struct PxContactPairExtraDataIterator
00178 {
00184     PX_FORCE_INLINE PxContactPairExtraDataIterator(const PxU8* stream, PxU32 size)
00185         : currPtr(stream), endPtr(stream + size), contactPairIndex(0)
00186     {
00187         clearDataPtrs();
00188     }
00189
00208     PX_INLINE bool nextItemSet()
00209     {
00210         clearDataPtrs();
00211
00212         bool foundEntry = false;
00213         bool endOfItemSet = false;
00214         while ((currPtr < endPtr) && (!endOfItemSet))
00215         {
00216             const PxContactPairExtraDataItem* edItem = reinterpret_cast<const PxContactPairExtraDataItem*>(currPtr);
00217             PxU8 type = edItem->type;
00218
00219             switch(type)
00220             {
00221                 case PxContactPairExtraDataType::ePRE_SOLVER_VELOCITY:
00222                 {
00223                     PX_ASSERT(!preSolverVelocity);
00224                     preSolverVelocity = static_cast<const PxContactPairVelocity*>(edItem);
00225                     currPtr += sizeof(PxContactPairVelocity);
00226                     foundEntry = true;
00227                 }
00228                 break;
00229
00230                 case PxContactPairExtraDataType::ePOST_SOLVER_VELOCITY:
00231                 {
00232                     postSolverVelocity = static_cast<const PxContactPairVelocity*>(edItem);
00233                     currPtr += sizeof(PxContactPairVelocity);
00234                     foundEntry = true;
00235                 }
00236                 break;
00237
00238                 case PxContactPairExtraDataType::eCONTACT_EVENT_POSE:
00239                 {
00240                     eventPose = static_cast<const PxContactPairPose*>(edItem);
00241                     currPtr += sizeof(PxContactPairPose);
00242                     foundEntry = true;
00243                 }
00244                 break;
00245
00246                 case PxContactPairExtraDataType::eCONTACT_PAIR_INDEX:
00247                 {
00248                     if (!foundEntry)
00249                     {
00250                         contactPairIndex = static_cast<const PxContactPairIndex*>(edItem)->index;
00251                         currPtr += sizeof(PxContactPairIndex);
00252                         foundEntry = true;
00253                     }
00254                     else
00255                         endOfItemSet = true;
00256                 }
00257                 break;
00258
00259                 default:
00260                     return foundEntry;
00261             }
00262         }
00263
00264         return foundEntry;
00265     }
00266
00267 private:
00271     PX_FORCE_INLINE void clearDataPtrs()
00272     {
00273         preSolverVelocity = NULL;
00274         postSolverVelocity = NULL;
00275         eventPose = NULL;
00276     }
00277
00278 public:
00282     const PxU8* currPtr;
00283
00287     const PxU8* endPtr;
00288
00294     const PxContactPairVelocity* preSolverVelocity;
00295
00301     const PxContactPairVelocity* postSolverVelocity;
00302
00308     const PxContactPairPose* eventPose;
00309
00315     PxU32 contactPairIndex;
00316 };
00317
00318
00324 struct PxContactPairHeaderFlag
00325 {
00326     enum Enum
00327     {
00328         eREMOVED_ACTOR_0                = (1<<0),
00329         eREMOVED_ACTOR_1                = (1<<1)
00330     };
00331 };
00332
00338 typedef PxFlags<PxContactPairHeaderFlag::Enum, PxU16> PxContactPairHeaderFlags;
00339 PX_FLAGS_OPERATORS(PxContactPairHeaderFlag::Enum, PxU16)
00340
00341
00342
00347 struct PxContactPairHeader
00348 {
00349     public:
00350         PX_INLINE   PxContactPairHeader() {}
00351
00363     PxRigidActor*               actors[2];
00364
00373     const PxU8*                 extraDataStream;
00374
00378     PxU16                       extraDataStreamSize;
00379
00385     PxContactPairHeaderFlags    flags;
00386
00390     const struct PxContactPair* pairs;
00391
00395     PxU32                       nbPairs;
00396 };
00397
00398
00404 struct PxContactPairFlag
00405 {
00406     enum Enum
00407     {
00411         eREMOVED_SHAPE_0                = (1<<0),
00412
00416         eREMOVED_SHAPE_1                = (1<<1),
00417
00425         eACTOR_PAIR_HAS_FIRST_TOUCH     = (1<<2),
00426
00432         eACTOR_PAIR_LOST_TOUCH          = (1<<3),
00433
00440         eINTERNAL_HAS_IMPULSES          = (1<<4),
00441
00447         eINTERNAL_CONTACTS_ARE_FLIPPED  = (1<<5)
00448     };
00449 };
00450
00456 typedef PxFlags<PxContactPairFlag::Enum, PxU16> PxContactPairFlags;
00457 PX_FLAGS_OPERATORS(PxContactPairFlag::Enum, PxU16)
00458
00459
00460
00463 struct PxContactPairPoint
00464 {
00468     PxVec3  position;
00469
00473     PxReal  separation;
00474
00478     PxVec3  normal;
00479
00483     PxU32   internalFaceIndex0;
00484
00488     PxVec3  impulse;
00489
00493     PxU32   internalFaceIndex1;
00494 };
00495
00496
00505 struct PxContactPair
00506 {
00507     public:
00508         PX_INLINE   PxContactPair() {}
00509
00521     PxShape*                shapes[2];
00522
00529     const PxU8* contactPatches;
00530
00537     const PxU8* contactPoints;
00538
00545     const PxReal*           contactImpulses;
00546
00550     PxU32                   requiredBufferSize;
00551
00555     PxU8                    contactCount;
00556
00561     PxU8                    patchCount;
00562
00567     PxU16                   contactStreamSize;
00568
00574     PxContactPairFlags      flags;
00575
00598     PxPairFlags             events;
00599
00600     PxU32                   internalData[2];    // For internal use only
00601
00611     PX_INLINE PxU32         extractContacts(PxContactPairPoint* userBuffer, PxU32 bufferSize) const;
00612
00622     PX_INLINE void              bufferContacts(PxContactPair* newPair, PxU8* bufferMemory) const;
00623
00624     PX_INLINE const PxU32*      getInternalFaceIndices() const;
00625 };
00626
00627
00628 PX_INLINE PxU32 PxContactPair::extractContacts(PxContactPairPoint* userBuffer, PxU32 bufferSize) const
00629 {
00630     PxU32 nbContacts = 0;
00631
00632     if(contactCount && bufferSize)
00633     {
00634         PxContactStreamIterator iter(contactPatches, contactPoints, getInternalFaceIndices(), patchCount, contactCount);
00635
00636         const PxReal* impulses = contactImpulses;
00637
00638         const PxU32 flippedContacts = (flags & PxContactPairFlag::eINTERNAL_CONTACTS_ARE_FLIPPED);
00639         const PxU32 hasImpulses = (flags & PxContactPairFlag::eINTERNAL_HAS_IMPULSES);
00640
00641         while(iter.hasNextPatch())
00642         {
00643             iter.nextPatch();
00644             while(iter.hasNextContact())
00645             {
00646                 iter.nextContact();
00647                 PxContactPairPoint& dst = userBuffer[nbContacts];
00648                 dst.position = iter.getContactPoint();
00649                 dst.separation = iter.getSeparation();
00650                 dst.normal = iter.getContactNormal();
00651                 if(!flippedContacts)
00652                 {
00653                     dst.internalFaceIndex0 = iter.getFaceIndex0();
00654                     dst.internalFaceIndex1 = iter.getFaceIndex1();
00655                 }
00656                 else
00657                 {
00658                     dst.internalFaceIndex0 = iter.getFaceIndex1();
00659                     dst.internalFaceIndex1 = iter.getFaceIndex0();
00660                 }
00661
00662                 if(hasImpulses)
00663                 {
00664                     const PxReal impulse = impulses[nbContacts];
00665                     dst.impulse = dst.normal * impulse;
00666                 }
00667                 else
00668                     dst.impulse = PxVec3(0.0f);
00669                 ++nbContacts;
00670                 if(nbContacts == bufferSize)
00671                     return nbContacts;
00672             }
00673         }
00674     }
00675
00676     return nbContacts;
00677 }
00678
00679
00680 PX_INLINE void PxContactPair::bufferContacts(PxContactPair* newPair, PxU8* bufferMemory) const
00681 {
00682     PxU8* patches = bufferMemory;
00683     PxU8* contacts = NULL;
00684     if(patches)
00685     {
00686         contacts = bufferMemory + patchCount * sizeof(PxContactPatch);
00687         PxMemCopy(patches, contactPatches, sizeof(PxContactPatch)*patchCount);
00688         PxMemCopy(contacts, contactPoints, contactStreamSize - (sizeof(PxContactPatch)*patchCount));
00689     }
00690
00691     if(contactImpulses)
00692     {
00693         PxMemCopy(bufferMemory + ((contactStreamSize + 15) & (~15)), contactImpulses, sizeof(PxReal) * contactCount);
00694     }
00695
00696     if (newPair)
00697     {
00698         *newPair = *this;
00699         newPair->contactPatches = patches;
00700         newPair->contactPoints = contacts;
00701     }
00702 }
00703
00704
00705 PX_INLINE const PxU32* PxContactPair::getInternalFaceIndices() const
00706 {
00707     return reinterpret_cast<const PxU32*>(contactImpulses + contactCount);
00708 }
00709
00715 struct PxTriggerPairFlag
00716 {
00717     enum Enum
00718     {
00719         eREMOVED_SHAPE_TRIGGER                  = (1<<0),
00720         eREMOVED_SHAPE_OTHER                    = (1<<1),
00721         eNEXT_FREE                              = (1<<2)
00722     };
00723 };
00724
00730 typedef PxFlags<PxTriggerPairFlag::Enum, PxU8> PxTriggerPairFlags;
00731 PX_FLAGS_OPERATORS(PxTriggerPairFlag::Enum, PxU8)
00732
00733
00734
00746 struct PxTriggerPair
00747 {
00748     PX_INLINE PxTriggerPair() {}
00749
00750     PxShape*                triggerShape;
00751     PxRigidActor*           triggerActor;
00752     PxShape*                otherShape;
00753     PxRigidActor*           otherActor;
00754     PxPairFlag::Enum        status;
00755     PxTriggerPairFlags      flags;
00756 };
00757
00758
00766 struct PxConstraintInfo
00767 {
00768     PX_INLINE PxConstraintInfo() {}
00769     PX_INLINE PxConstraintInfo(PxConstraint* c, void* extRef, PxU32 t) : constraint(c), externalReference(extRef), type(t) {}
00770
00771     PxConstraint*   constraint;
00772     void*           externalReference;
00773     PxU32           type;
00774 };
00775
00776
00793 class PxSimulationEventCallback
00794     {
00795     public:
00808     virtual void onConstraintBreak(PxConstraintInfo* constraints, PxU32 count) = 0;
00809
00826     virtual void onWake(PxActor** actors, PxU32 count) = 0;
00827
00845     virtual void onSleep(PxActor** actors, PxU32 count) = 0;
00846
00863     virtual void onContact(const PxContactPairHeader& pairHeader, const PxContactPair* pairs, PxU32 nbPairs) = 0;
00864
00880     virtual void onTrigger(PxTriggerPair* pairs, PxU32 count) = 0;
00881
00907     virtual void onAdvance(const PxRigidBody*const* bodyBuffer, const PxTransform* poseBuffer, const PxU32 count) = 0;
00908
00909     virtual ~PxSimulationEventCallback() {}
00910     };
00911
00912 #if !PX_DOXYGEN
00913 } // namespace physx
00914 #endif
00915
00917 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSimulationStatistics.h Source File

PxSimulationStatistics.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_SIMULATION_STATISTICS
00032 #define PX_SIMULATION_STATISTICS
00033
00037 #include "PxPhysXConfig.h"
00038 #include "foundation/PxAssert.h"
00039 #include "geometry/PxGeometry.h"
00040
00041 #if !PX_DOXYGEN
00042 namespace physx
00043 {
00044 #endif
00045
00051 class PxSimulationStatistics
00052 {
00053 public:
00058     enum VolumeType
00059     {
00064         eRIGID_BODY,
00065
00066 #if PX_USE_PARTICLE_SYSTEM_API
00067
00072         ePARTICLE_SYSTEM PX_DEPRECATED,
00073 #endif
00074
00075 #if PX_USE_CLOTH_API
00076
00081         eCLOTH PX_DEPRECATED,
00082 #endif
00083
00084         eVOLUME_COUNT
00085     };
00086
00091     enum RbPairStatsType
00092     {
00096         eDISCRETE_CONTACT_PAIRS,
00097
00106         eCCD_PAIRS,
00107
00113         eMODIFIED_CONTACT_PAIRS,
00114
00120         eTRIGGER_PAIRS
00121     };
00122
00123
00124 //objects:
00128     PxU32   nbActiveConstraints;
00129
00135     PxU32   nbActiveDynamicBodies;
00136
00143     PxU32   nbActiveKinematicBodies;
00144
00148     PxU32   nbStaticBodies;
00149
00155     PxU32   nbDynamicBodies;
00156
00161     PxU32   nbShapes[PxGeometryType::eGEOMETRY_COUNT];
00162
00166     PxU32   nbAggregates;
00167
00171     PxU32   nbArticulations;
00172
00173 //solver:
00177     PxU32   nbAxisSolverConstraints;
00178
00182     PxU32   compressedContactSize;
00183
00187     PxU32   requiredContactConstraintMemory;
00188
00192     PxU32   peakConstraintMemory;
00193
00194 //broadphase:
00203     PxU32 getNbBroadPhaseAdds(VolumeType type) const
00204     {
00205         if (type != eVOLUME_COUNT)
00206             return nbBroadPhaseAdds[type];
00207         else
00208         {
00209             PX_ASSERT(false);
00210             return 0;
00211         }
00212     }
00213
00222     PxU32 getNbBroadPhaseRemoves(VolumeType type) const
00223     {
00224         if (type != eVOLUME_COUNT)
00225             return nbBroadPhaseRemoves[type];
00226         else
00227         {
00228             PX_ASSERT(false);
00229             return 0;
00230         }
00231     }
00232
00233 //collisions:
00247     PxU32 getRbPairStats(RbPairStatsType pairType, PxGeometryType::Enum g0, PxGeometryType::Enum g1) const
00248     {
00249         PX_ASSERT_WITH_MESSAGE( (pairType >= eDISCRETE_CONTACT_PAIRS) &&
00250                                 (pairType <= eTRIGGER_PAIRS),
00251                                 "Invalid pairType in PxSimulationStatistics::getRbPairStats");
00252
00253         if (g0 >= PxGeometryType::eGEOMETRY_COUNT || g1 >= PxGeometryType::eGEOMETRY_COUNT)
00254         {
00255             PX_ASSERT(false);
00256             return 0;
00257         }
00258
00259         PxU32 nbPairs = 0;
00260         switch(pairType)
00261         {
00262             case eDISCRETE_CONTACT_PAIRS:
00263                 nbPairs = nbDiscreteContactPairs[g0][g1];
00264                 break;
00265             case eCCD_PAIRS:
00266                 nbPairs = nbCCDPairs[g0][g1];
00267                 break;
00268             case eMODIFIED_CONTACT_PAIRS:
00269                 nbPairs = nbModifiedContactPairs[g0][g1];
00270                 break;
00271             case eTRIGGER_PAIRS:
00272                 nbPairs = nbTriggerPairs[g0][g1];
00273                 break;
00274         }
00275         return nbPairs;
00276     }
00277
00281     PxU32   nbDiscreteContactPairsTotal;
00282
00287     PxU32   nbDiscreteContactPairsWithCacheHits;
00288
00292     PxU32   nbDiscreteContactPairsWithContacts;
00293
00297     PxU32   nbNewPairs;
00298
00302     PxU32   nbLostPairs;
00303
00307     PxU32   nbNewTouches;
00308
00312     PxU32   nbLostTouches;
00313
00317     PxU32   nbPartitions;
00318
00319     PxSimulationStatistics() :
00320         nbActiveConstraints                 (0),
00321         nbActiveDynamicBodies               (0),
00322         nbActiveKinematicBodies             (0),
00323         nbStaticBodies                      (0),
00324         nbDynamicBodies                     (0),
00325         nbAggregates                        (0),
00326         nbArticulations                     (0),
00327         nbAxisSolverConstraints             (0),
00328         compressedContactSize               (0),
00329         requiredContactConstraintMemory     (0),
00330         peakConstraintMemory                (0),
00331         nbDiscreteContactPairsTotal         (0),
00332         nbDiscreteContactPairsWithCacheHits (0),
00333         nbDiscreteContactPairsWithContacts  (0),
00334         nbNewPairs                          (0),
00335         nbLostPairs                         (0),
00336         nbNewTouches                        (0),
00337         nbLostTouches                       (0),
00338         nbPartitions                        (0),
00339         particlesGpuMeshCacheSize           (0),
00340         particlesGpuMeshCacheUsed           (0),
00341         particlesGpuMeshCacheHitrate        (0.0f)
00342     {
00343         for(PxU32 i=0; i < eVOLUME_COUNT; i++)
00344         {
00345             nbBroadPhaseAdds[i] = 0;
00346             nbBroadPhaseRemoves[i] = 0;
00347         }
00348
00349         for(PxU32 i=0; i < PxGeometryType::eGEOMETRY_COUNT; i++)
00350         {
00351             for(PxU32 j=0; j < PxGeometryType::eGEOMETRY_COUNT; j++)
00352             {
00353                 nbDiscreteContactPairs[i][j] = 0;
00354                 nbModifiedContactPairs[i][j] = 0;
00355                 nbCCDPairs[i][j] = 0;
00356                 nbTriggerPairs[i][j] = 0;
00357             }
00358         }
00359
00360         for(PxU32 i=0; i < PxGeometryType::eGEOMETRY_COUNT; i++)
00361         {
00362             nbShapes[i] = 0;
00363         }
00364     }
00365
00366
00367     //
00368     // We advise to not access these members directly. Use the provided accessor methods instead.
00369     //
00370 //broadphase:
00371     PxU32   nbBroadPhaseAdds[eVOLUME_COUNT];
00372     PxU32   nbBroadPhaseRemoves[eVOLUME_COUNT];
00373
00374 //collisions:
00375     PxU32   nbDiscreteContactPairs[PxGeometryType::eGEOMETRY_COUNT][PxGeometryType::eGEOMETRY_COUNT];
00376     PxU32   nbCCDPairs[PxGeometryType::eGEOMETRY_COUNT][PxGeometryType::eGEOMETRY_COUNT];
00377     PxU32   nbModifiedContactPairs[PxGeometryType::eGEOMETRY_COUNT][PxGeometryType::eGEOMETRY_COUNT];
00378     PxU32   nbTriggerPairs[PxGeometryType::eGEOMETRY_COUNT][PxGeometryType::eGEOMETRY_COUNT];
00379
00380 //triangle mesh cache statistics
00381     PxU32   particlesGpuMeshCacheSize;
00382     PxU32   particlesGpuMeshCacheUsed;
00383     PxReal  particlesGpuMeshCacheHitrate;
00384 };
00385
00386 #if !PX_DOXYGEN
00387 } // namespace physx
00388 #endif
00389
00391 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSmoothNormals.h Source File

PxSmoothNormals.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_EXTENSIONS_SMOOTH_NORMALS_H
00032 #define PX_PHYSICS_EXTENSIONS_SMOOTH_NORMALS_H
00033
00037 #include "common/PxPhysXCommonConfig.h"
00038
00057 PX_C_EXPORT bool PX_CALL_CONV PxBuildSmoothNormals(physx::PxU32 nbTris, physx::PxU32 nbVerts, const physx::PxVec3* verts,
00058                                                    const physx::PxU32* dFaces, const physx::PxU16* wFaces, physx::PxVec3* normals, bool flip);
00059
00061 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSpatialIndex.h Source File

PxSpatialIndex.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_SPATIAL_INDEX
00032 #define PX_PHYSICS_SPATIAL_INDEX
00033
00036 #include "PxPhysXConfig.h"
00037 #include "foundation/PxTransform.h"
00038 #include "geometry/PxGeometry.h"
00039 #include "PxQueryReport.h"
00040
00041 #if !PX_DOXYGEN
00042 namespace physx
00043 {
00044 #endif
00045
00046 typedef PxU32 PxSpatialIndexItemId;
00047 static const PxSpatialIndexItemId PX_SPATIAL_INDEX_INVALID_ITEM_ID = 0xffffffff;
00048
00049
00050 class PX_DEPRECATED PxSpatialIndexItem
00051 {
00052 };
00053
00061 struct PX_DEPRECATED PxSpatialOverlapCallback
00062 {
00063
00071     virtual PxAgain onHit(PxSpatialIndexItem& item) = 0;
00072
00073     virtual ~PxSpatialOverlapCallback() {}
00074 };
00075
00083 struct PX_DEPRECATED PxSpatialLocationCallback
00084 {
00096     virtual PxAgain onHit(PxSpatialIndexItem& item, PxReal distance, PxReal& shrunkDistance) = 0;
00097
00098     virtual ~PxSpatialLocationCallback() {}
00099 };
00100
00101
00102
00116 class PX_DEPRECATED PxSpatialIndex
00117 {
00118 public:
00119
00120
00127     virtual PxSpatialIndexItemId    insert(PxSpatialIndexItem& item,
00128                                            const PxBounds3& bounds)                         = 0;
00129
00136     virtual void                    update(PxSpatialIndexItemId id,
00137                                            const PxBounds3& bounds)                         = 0;
00138
00144     virtual void                    remove(PxSpatialIndexItemId id)                         = 0;
00145
00146
00153     virtual void                    overlap(const PxBounds3 &aabb,
00154                                             PxSpatialOverlapCallback& callback) const   = 0;
00155
00164     virtual void                    raycast(const PxVec3& origin,
00165                                             const PxVec3& unitDir,
00166                                             PxReal maxDist,
00167                                             PxSpatialLocationCallback& callback)    const   = 0;
00168
00177     virtual void                    sweep(const PxBounds3& aabb,
00178                                           const PxVec3& unitDir,
00179                                           PxReal maxDist,
00180                                           PxSpatialLocationCallback& callback)      const   = 0;
00181
00189     virtual void                    flush()                                                 = 0;
00190
00194     virtual void                    rebuildFull()                                           = 0;
00195
00207     virtual void                    setIncrementalRebuildRate(PxU32 rate)                   = 0;
00208
00212     virtual void                    rebuildStep()                                           = 0;
00213
00217     virtual void                    release()                                               = 0;
00218 protected:
00219     virtual                         ~PxSpatialIndex(){}
00220 };
00221
00229 PX_DEPRECATED PX_PHYSX_CORE_API PxSpatialIndex* PxCreateSpatialIndex();
00230
00231 #if !PX_DOXYGEN
00232 } // namespace physx
00233 #endif
00234
00236 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSphereGeometry.h Source File

PxSphereGeometry.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_SPHERE_GEOMETRY
00032 #define PX_PHYSICS_NX_SPHERE_GEOMETRY
00033
00036 #include "geometry/PxGeometry.h"
00037
00038 #if !PX_DOXYGEN
00039 namespace physx
00040 {
00041 #endif
00042
00049 class PxSphereGeometry : public PxGeometry
00050 {
00051 public:
00052     PX_INLINE PxSphereGeometry() :                          PxGeometry(PxGeometryType::eSPHERE), radius(0) {}
00053     PX_INLINE PxSphereGeometry(PxReal ir) :                 PxGeometry(PxGeometryType::eSPHERE), radius(ir) {}
00054
00065     PX_INLINE bool isValid() const;
00066
00067 public:
00068
00072     PxReal radius;
00073 };
00074
00075
00076 PX_INLINE bool PxSphereGeometry::isValid() const
00077 {
00078     if (mType != PxGeometryType::eSPHERE)
00079         return false;
00080     if (!PxIsFinite(radius))
00081         return false;
00082     if (radius <= 0.0f)
00083         return false;
00084
00085     return true;
00086 }
00087
00088 #if !PX_DOXYGEN
00089 } // namespace physx
00090 #endif
00091
00093 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSphericalJoint.h Source File

PxSphericalJoint.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_SPHERICALJOINT_H
00032 #define PX_SPHERICALJOINT_H
00033
00037 #include "extensions/PxJoint.h"
00038 #include "extensions/PxJointLimit.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00045 class PxSphericalJoint;
00046
00059 PxSphericalJoint*   PxSphericalJointCreate(PxPhysics& physics,
00060                                            PxRigidActor* actor0, const PxTransform& localFrame0,
00061                                            PxRigidActor* actor1, const PxTransform& localFrame1);
00062
00063
00070 struct PxSphericalJointFlag
00071 {
00072     enum Enum
00073     {
00074         eLIMIT_ENABLED  = 1<<1
00075     };
00076 };
00077 typedef PxFlags<PxSphericalJointFlag::Enum, PxU16> PxSphericalJointFlags;
00078 PX_FLAGS_OPERATORS(PxSphericalJointFlag::Enum, PxU16)
00079
00080
00095 class PxSphericalJoint : public PxJoint
00096 {
00097 public:
00098
00099
00111     virtual PxJointLimitCone    getLimitCone() const                                    = 0;
00112
00121     virtual void                setLimitCone(const PxJointLimitCone &limit)         = 0;
00122
00133     virtual void                setSphericalJointFlags(PxSphericalJointFlags flags) = 0;
00134
00144     virtual void                setSphericalJointFlag(PxSphericalJointFlag::Enum flag, bool value) = 0;
00145
00154     virtual PxSphericalJointFlags   getSphericalJointFlags(void)                    const   = 0;
00155
00175     virtual void                setProjectionLinearTolerance(PxReal tolerance)          = 0;
00176
00177
00186     virtual PxReal              getProjectionLinearTolerance()          const           = 0;
00187
00191     virtual const char*         getConcreteTypeName() const { return "PxSphericalJoint"; }
00192
00193 protected:
00194
00195     //serialization
00196
00200     PX_INLINE                   PxSphericalJoint(PxType concreteType, PxBaseFlags baseFlags) : PxJoint(concreteType, baseFlags) {}
00201
00205     PX_INLINE                   PxSphericalJoint(PxBaseFlags baseFlags) : PxJoint(baseFlags)    {}
00206
00210     virtual bool                isKindOf(const char* name) const { return !::strcmp("PxSphericalJoint", name) || PxJoint::isKindOf(name); }
00211
00212     //~serialization
00213
00214 };
00215
00216 #if !PX_DOXYGEN
00217 } // namespace physx
00218 #endif
00219
00221 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxStrideIterator.h Source File

PxStrideIterator.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PXFOUNDATION_PXSTRIDEITERATOR_H
00031 #define PXFOUNDATION_PXSTRIDEITERATOR_H
00032
00033 #include "foundation/Px.h"
00034 #include "foundation/PxAssert.h"
00035
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00080 template <typename T>
00081 class PxStrideIterator
00082 {
00083
00084 #if !PX_DOXYGEN
00085     template <typename X>
00086     struct StripConst
00087     {
00088         typedef X Type;
00089     };
00090
00091     template <typename X>
00092     struct StripConst<const X>
00093     {
00094         typedef X Type;
00095     };
00096 #endif
00097
00098   public:
00107     explicit PX_INLINE PxStrideIterator(T* ptr = NULL, PxU32 stride = sizeof(T)) : mPtr(ptr), mStride(stride)
00108     {
00109         PX_ASSERT(mStride == 0 || sizeof(T) <= mStride);
00110     }
00111
00117     PX_INLINE PxStrideIterator(const PxStrideIterator<typename StripConst<T>::Type>& strideIterator)
00118     : mPtr(strideIterator.ptr()), mStride(strideIterator.stride())
00119     {
00120         PX_ASSERT(mStride == 0 || sizeof(T) <= mStride);
00121     }
00122
00126     PX_INLINE T* ptr() const
00127     {
00128         return mPtr;
00129     }
00130
00134     PX_INLINE PxU32 stride() const
00135     {
00136         return mStride;
00137     }
00138
00142     PX_INLINE T& operator*() const
00143     {
00144         return *mPtr;
00145     }
00146
00150     PX_INLINE T* operator->() const
00151     {
00152         return mPtr;
00153     }
00154
00158     PX_INLINE T& operator[](unsigned int i) const
00159     {
00160         return *byteAdd(mPtr, i * stride());
00161     }
00162
00166     PX_INLINE PxStrideIterator& operator++()
00167     {
00168         mPtr = byteAdd(mPtr, stride());
00169         return *this;
00170     }
00171
00175     PX_INLINE PxStrideIterator operator++(int)
00176     {
00177         PxStrideIterator tmp = *this;
00178         mPtr = byteAdd(mPtr, stride());
00179         return tmp;
00180     }
00181
00185     PX_INLINE PxStrideIterator& operator--()
00186     {
00187         mPtr = byteSub(mPtr, stride());
00188         return *this;
00189     }
00190
00194     PX_INLINE PxStrideIterator operator--(int)
00195     {
00196         PxStrideIterator tmp = *this;
00197         mPtr = byteSub(mPtr, stride());
00198         return tmp;
00199     }
00200
00204     PX_INLINE PxStrideIterator operator+(unsigned int i) const
00205     {
00206         return PxStrideIterator(byteAdd(mPtr, i * stride()), stride());
00207     }
00208
00212     PX_INLINE PxStrideIterator operator-(unsigned int i) const
00213     {
00214         return PxStrideIterator(byteSub(mPtr, i * stride()), stride());
00215     }
00216
00220     PX_INLINE PxStrideIterator& operator+=(unsigned int i)
00221     {
00222         mPtr = byteAdd(mPtr, i * stride());
00223         return *this;
00224     }
00225
00229     PX_INLINE PxStrideIterator& operator-=(unsigned int i)
00230     {
00231         mPtr = byteSub(mPtr, i * stride());
00232         return *this;
00233     }
00234
00238     PX_INLINE int operator-(const PxStrideIterator& other) const
00239     {
00240         PX_ASSERT(isCompatible(other));
00241         int byteDiff = static_cast<int>(reinterpret_cast<const PxU8*>(mPtr) - reinterpret_cast<const PxU8*>(other.mPtr));
00242         return byteDiff / static_cast<int>(stride());
00243     }
00244
00248     PX_INLINE bool operator==(const PxStrideIterator& other) const
00249     {
00250         PX_ASSERT(isCompatible(other));
00251         return mPtr == other.mPtr;
00252     }
00253
00257     PX_INLINE bool operator!=(const PxStrideIterator& other) const
00258     {
00259         PX_ASSERT(isCompatible(other));
00260         return mPtr != other.mPtr;
00261     }
00262
00266     PX_INLINE bool operator<(const PxStrideIterator& other) const
00267     {
00268         PX_ASSERT(isCompatible(other));
00269         return mPtr < other.mPtr;
00270     }
00271
00275     PX_INLINE bool operator>(const PxStrideIterator& other) const
00276     {
00277         PX_ASSERT(isCompatible(other));
00278         return mPtr > other.mPtr;
00279     }
00280
00284     PX_INLINE bool operator<=(const PxStrideIterator& other) const
00285     {
00286         PX_ASSERT(isCompatible(other));
00287         return mPtr <= other.mPtr;
00288     }
00289
00293     PX_INLINE bool operator>=(const PxStrideIterator& other) const
00294     {
00295         PX_ASSERT(isCompatible(other));
00296         return mPtr >= other.mPtr;
00297     }
00298
00299   private:
00300     PX_INLINE static T* byteAdd(T* ptr, PxU32 bytes)
00301     {
00302         return const_cast<T*>(reinterpret_cast<const T*>(reinterpret_cast<const PxU8*>(ptr) + bytes));
00303     }
00304
00305     PX_INLINE static T* byteSub(T* ptr, PxU32 bytes)
00306     {
00307         return const_cast<T*>(reinterpret_cast<const T*>(reinterpret_cast<const PxU8*>(ptr) - bytes));
00308     }
00309
00310     PX_INLINE bool isCompatible(const PxStrideIterator& other) const
00311     {
00312         int byteDiff = static_cast<int>(reinterpret_cast<const PxU8*>(mPtr) - reinterpret_cast<const PxU8*>(other.mPtr));
00313         return (stride() == other.stride()) && (abs(byteDiff) % stride() == 0);
00314     }
00315
00316     T* mPtr;
00317     PxU32 mStride;
00318 };
00319
00323 template <typename T>
00324 PX_INLINE PxStrideIterator<T> operator+(int i, PxStrideIterator<T> it)
00325 {
00326     it += i;
00327     return it;
00328 }
00329
00333 template <typename T>
00334 PX_INLINE PxStrideIterator<T> PxMakeIterator(T* ptr, PxU32 stride = sizeof(T))
00335 {
00336     return PxStrideIterator<T>(ptr, stride);
00337 }
00338
00342 template <typename T>
00343 PX_INLINE PxStrideIterator<const T> PxMakeIterator(const T* ptr, PxU32 stride = sizeof(T))
00344 {
00345     return PxStrideIterator<const T>(ptr, stride);
00346 }
00347
00348 #if !PX_DOXYGEN
00349 } // namespace physx
00350 #endif
00351
00353 #endif // PXFOUNDATION_PXSTRIDEITERATOR_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxStringTable.h Source File

PxStringTable.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_STRING_TABLE_H
00032 #define PX_STRING_TABLE_H
00033
00034 #include "foundation/PxPreprocessor.h"
00035
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00048 class PxStringTable
00049 {
00050 protected:
00051     virtual ~PxStringTable(){}
00052 public:
00060     virtual const char* allocateStr( const char* inSrc ) = 0;
00061
00065     virtual void release() = 0;
00066 };
00067
00068 #if !PX_DOXYGEN
00069 } // namespace physx
00070 #endif
00071
00073 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxStringTableExt.h Source File

PxStringTableExt.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_STRING_TABLE_EXT_H
00032 #define PX_STRING_TABLE_EXT_H
00033 #include "foundation/Px.h"
00034 #include "common/PxStringTable.h"
00035
00036 #if !PX_DOXYGEN
00037 namespace physx
00038 {
00039 #endif
00040
00047 class PxStringTableExt
00048 {
00049 public:
00050     static PxStringTable& createStringTable( physx::PxAllocatorCallback& inAllocator );
00051 };
00052
00053 #if !PX_DOXYGEN
00054 } // namespace physx
00055 #endif
00056
00057 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTask.h Source File

PxTask.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027
00028 #ifndef PXTASK_PXTASK_H
00029 #define PXTASK_PXTASK_H
00030
00031 #include "task/PxTaskDefine.h"
00032 #include "task/PxTaskManager.h"
00033 #include "task/PxCpuDispatcher.h"
00034 #include "task/PxGpuDispatcher.h"
00035 #include "foundation/PxAssert.h"
00036
00037 namespace physx
00038 {
00039
00045 class PxBaseTask
00046 {
00047 public:
00048     PxBaseTask() : mContextID(0), mTm(NULL) {}
00049     virtual ~PxBaseTask() {}
00050
00057     virtual void        run() = 0;
00058
00066     virtual const char* getName() const = 0;
00067
00069     virtual void        addReference() = 0;
00071     virtual void        removeReference() = 0;
00073     virtual int32_t     getReference() const = 0;
00074
00081     virtual void        release() = 0;
00082
00089     PX_FORCE_INLINE PxTaskManager* getTaskManager() const
00090     {
00091         return mTm;
00092     }
00093
00094     PX_FORCE_INLINE void    setContextId(PxU64 id)          { mContextID = id;      }
00095     PX_FORCE_INLINE PxU64   getContextId()          const   { return mContextID;    }
00096
00097 protected:
00098     PxU64               mContextID;
00099     PxTaskManager*      mTm;
00100
00101     friend class PxTaskMgr;
00102 };
00103
00104
00111 class PxTask : public PxBaseTask
00112 {
00113 public:
00114     PxTask() : mTaskID(0) {}
00115     virtual ~PxTask() {}
00116
00118     virtual void release()
00119     {
00120         PX_ASSERT(mTm);
00121
00122         // clear mTm before calling taskCompleted() for safety
00123         PxTaskManager* save = mTm;
00124         mTm = NULL;
00125         save->taskCompleted( *this );
00126     }
00127
00129     //         task is allowed to start.
00130     PX_INLINE void finishBefore( PxTaskID taskID )
00131     {
00132         PX_ASSERT(mTm);
00133         mTm->finishBefore( *this, taskID);
00134     }
00135
00137     //         task has completed.
00138     PX_INLINE void startAfter( PxTaskID taskID )
00139     {
00140         PX_ASSERT(mTm);
00141         mTm->startAfter( *this, taskID );
00142     }
00143
00148     PX_INLINE void addReference()
00149     {
00150         PX_ASSERT(mTm);
00151         mTm->addReference( mTaskID );
00152     }
00153
00158     PX_INLINE void removeReference()
00159     {
00160         PX_ASSERT(mTm);
00161         mTm->decrReference( mTaskID );
00162     }
00163
00167     PX_INLINE int32_t getReference() const
00168     {
00169         return mTm->getReference( mTaskID );
00170     }
00171
00175     PX_INLINE PxTaskID      getTaskID() const
00176     {
00177         return mTaskID;
00178     }
00179
00185     virtual void submitted()
00186     {
00187         mStreamIndex = 0;
00188         mPreSyncRequired = false;
00189     }
00190
00194     PX_INLINE void      requestSyncPoint()
00195     {
00196         mPreSyncRequired = true;
00197     }
00198
00199
00200 protected:
00201     PxTaskID            mTaskID;
00202     uint32_t            mStreamIndex;
00203     bool                mPreSyncRequired;
00204
00205     friend class PxTaskMgr;
00206     friend class PxGpuWorkerThread;
00207 };
00208
00209
00223 class PxLightCpuTask : public PxBaseTask
00224 {
00225 public:
00226     PxLightCpuTask()
00227         : mCont( NULL )
00228         , mRefCount( 0 )
00229     {
00230     }
00231     virtual ~PxLightCpuTask()
00232     {
00233         mTm = NULL;
00234     }
00235
00245     PX_INLINE void setContinuation(PxTaskManager& tm, PxBaseTask* c)
00246     {
00247         PX_ASSERT( mRefCount == 0 );
00248         mRefCount = 1;
00249         mCont = c;
00250         mTm = &tm;
00251         if( mCont )
00252         {
00253             mCont->addReference();
00254         }
00255     }
00256
00264     PX_INLINE void setContinuation( PxBaseTask* c )
00265     {
00266         PX_ASSERT( c );
00267         PX_ASSERT( mRefCount == 0 );
00268         mRefCount = 1;
00269         mCont = c;
00270         if( mCont )
00271         {
00272             mCont->addReference();
00273             mTm = mCont->getTaskManager();
00274             PX_ASSERT( mTm );
00275         }
00276     }
00277
00281     PX_INLINE PxBaseTask*   getContinuation()   const
00282     {
00283         return mCont;
00284     }
00285
00290     PX_INLINE void removeReference()
00291     {
00292         mTm->decrReference(*this);
00293     }
00294
00296     PX_INLINE int32_t getReference() const
00297     {
00298         return mRefCount;
00299     }
00300
00305     PX_INLINE void addReference()
00306     {
00307         mTm->addReference(*this);
00308     }
00309
00315     PX_INLINE void release()
00316     {
00317         if( mCont )
00318         {
00319             mCont->removeReference();
00320         }
00321     }
00322
00323 protected:
00324
00325     PxBaseTask*         mCont;
00326     volatile int32_t    mRefCount;
00327
00328     friend class PxTaskMgr;
00329 };
00330
00331
00332 }// end physx namespace
00333
00334
00335 #endif // PXTASK_PXTASK_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTaskDefine.h Source File

PxTaskDefine.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027
00028 #ifndef PXTASK_PXTASKDEFINE_H
00029 #define PXTASK_PXTASKDEFINE_H
00030
00031 #include "foundation/PxPreprocessor.h"
00032
00033 #ifndef PX_SUPPORT_PXTASK_PROFILING
00034 #define PX_SUPPORT_PXTASK_PROFILING 1
00035 #endif
00036
00037 #endif // PXTASK_PXTASKDEFINE_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTaskManager.h Source File

PxTaskManager.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027
00028 #ifndef PXTASK_PXTASKMANAGER_H
00029 #define PXTASK_PXTASKMANAGER_H
00030
00031 #include "task/PxTaskDefine.h"
00032 #include "foundation/PxSimpleTypes.h"
00033 #include "foundation/PxErrorCallback.h"
00034
00035 namespace physx
00036 {
00037
00038 PX_PUSH_PACK_DEFAULT
00039
00040 class PxBaseTask;
00041 class PxTask;
00042 class PxLightCpuTask;
00043 typedef unsigned int PxTaskID;
00044
00053 struct PxTaskType
00054 {
00058     enum Enum
00059     {
00060         TT_CPU,
00061         TT_GPU,
00062         TT_NOT_PRESENT,
00063         TT_COMPLETED
00064     };
00065 };
00066
00067 class PxCpuDispatcher;
00068 class PxGpuDispatcher;
00069
00083 class PxTaskManager
00084 {
00085 public:
00086
00094     virtual void     setCpuDispatcher(PxCpuDispatcher& ref) = 0;
00095
00103     virtual void     setGpuDispatcher(PxGpuDispatcher& ref) = 0;
00104
00112     virtual PxCpuDispatcher*            getCpuDispatcher() const = 0;
00113
00121     virtual PxGpuDispatcher*            getGpuDispatcher() const = 0;
00122
00130     virtual void    resetDependencies() = 0;
00131
00139     virtual void    startSimulation() = 0;
00140
00146     virtual void    stopSimulation() = 0;
00147
00153     virtual void    taskCompleted(PxTask& task) = 0;
00154
00161     virtual PxTaskID  getNamedTask(const char* name) = 0;
00162
00172     virtual PxTaskID  submitNamedTask(PxTask* task, const char* name, PxTaskType::Enum type = PxTaskType::TT_CPU) = 0;
00173
00182     virtual PxTaskID  submitUnnamedTask(PxTask& task, PxTaskType::Enum type = PxTaskType::TT_CPU) = 0;
00183
00191     virtual PxTask*   getTaskFromID(PxTaskID id) = 0;
00192
00196     virtual void        release() = 0;
00197
00201     static PxTaskManager* createTaskManager(PxErrorCallback& errorCallback, PxCpuDispatcher* = 0, PxGpuDispatcher* = 0);
00202
00203 protected:
00204     virtual ~PxTaskManager() {}
00205
00208     virtual void finishBefore(PxTask& task, PxTaskID taskID) = 0;
00209     virtual void startAfter(PxTask& task, PxTaskID taskID) = 0;
00210
00211     virtual void addReference(PxTaskID taskID) = 0;
00212     virtual void decrReference(PxTaskID taskID) = 0;
00213     virtual int32_t getReference(PxTaskID taskID) const = 0;
00214
00215     virtual void decrReference(PxLightCpuTask&) = 0;
00216     virtual void addReference(PxLightCpuTask&) = 0;
00217
00220     friend class PxBaseTask;
00221     friend class PxTask;
00222     friend class PxLightCpuTask;
00223     friend class PxGpuWorkerThread;
00224 };
00225
00226 PX_POP_PACK
00227
00228 } // end physx namespace
00229
00230
00231 #endif // PXTASK_PXTASKMANAGER_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTolerancesScale.h Source File

PxTolerancesScale.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_SCALE_H
00032 #define PX_SCALE_H
00033
00038 #include "common/PxPhysXCommonConfig.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00045 class PxPhysics;
00046
00056 class PxTolerancesScale
00057 {
00058 public:
00059
00069     PxReal  length;
00070
00071
00078     PX_DEPRECATED PxReal    mass;
00079
00088     PxReal  speed;
00089
00090
00094     PX_INLINE PxTolerancesScale();
00095
00100     PX_INLINE bool isValid() const;
00101
00102 };
00103
00104 PX_INLINE PxTolerancesScale::PxTolerancesScale():
00105     length(1),
00106     mass(1000),
00107     speed(10)
00108     {
00109     }
00110
00111 PX_INLINE bool PxTolerancesScale::isValid() const
00112 {
00113     return length>0 && mass>0;
00114 }
00115
00116 #if !PX_DOXYGEN
00117 } // namespace physx
00118 #endif
00119
00121 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTransform.h Source File

PxTransform.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PXFOUNDATION_PXTRANSFORM_H
00031 #define PXFOUNDATION_PXTRANSFORM_H
00032
00036 #include "foundation/PxQuat.h"
00037 #include "foundation/PxPlane.h"
00038
00039 #if !PX_DOXYGEN
00040 namespace physx
00041 {
00042 #endif
00043
00048 class PxTransform
00049 {
00050   public:
00051     PxQuat q;
00052     PxVec3 p;
00053
00054     PX_CUDA_CALLABLE PX_FORCE_INLINE PxTransform()
00055     {
00056     }
00057
00058     PX_CUDA_CALLABLE PX_FORCE_INLINE explicit PxTransform(const PxVec3& position) : q(PxIdentity), p(position)
00059     {
00060     }
00061
00062     PX_CUDA_CALLABLE PX_FORCE_INLINE explicit PxTransform(PxIDENTITY r) : q(PxIdentity), p(PxZero)
00063     {
00064         PX_UNUSED(r);
00065     }
00066
00067     PX_CUDA_CALLABLE PX_FORCE_INLINE explicit PxTransform(const PxQuat& orientation) : q(orientation), p(0)
00068     {
00069         PX_ASSERT(orientation.isSane());
00070     }
00071
00072     PX_CUDA_CALLABLE PX_FORCE_INLINE PxTransform(float x, float y, float z, PxQuat aQ = PxQuat(PxIdentity))
00073     : q(aQ), p(x, y, z)
00074     {
00075     }
00076
00077     PX_CUDA_CALLABLE PX_FORCE_INLINE PxTransform(const PxVec3& p0, const PxQuat& q0) : q(q0), p(p0)
00078     {
00079         PX_ASSERT(q0.isSane());
00080     }
00081
00082     PX_CUDA_CALLABLE PX_FORCE_INLINE explicit PxTransform(const PxMat44& m); // defined in PxMat44.h
00083
00087     PX_CUDA_CALLABLE PX_INLINE bool operator==(const PxTransform& t) const
00088     {
00089         return p == t.p && q == t.q;
00090     }
00091
00092     PX_CUDA_CALLABLE PX_FORCE_INLINE PxTransform operator*(const PxTransform& x) const
00093     {
00094         PX_ASSERT(x.isSane());
00095         return transform(x);
00096     }
00097
00099     PX_CUDA_CALLABLE PX_INLINE PxTransform& operator*=(PxTransform& other)
00100     {
00101         *this = *this * other;
00102         return *this;
00103     }
00104
00105     PX_CUDA_CALLABLE PX_FORCE_INLINE PxTransform getInverse() const
00106     {
00107         PX_ASSERT(isFinite());
00108         return PxTransform(q.rotateInv(-p), q.getConjugate());
00109     }
00110
00111     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 transform(const PxVec3& input) const
00112     {
00113         PX_ASSERT(isFinite());
00114         return q.rotate(input) + p;
00115     }
00116
00117     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 transformInv(const PxVec3& input) const
00118     {
00119         PX_ASSERT(isFinite());
00120         return q.rotateInv(input - p);
00121     }
00122
00123     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 rotate(const PxVec3& input) const
00124     {
00125         PX_ASSERT(isFinite());
00126         return q.rotate(input);
00127     }
00128
00129     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 rotateInv(const PxVec3& input) const
00130     {
00131         PX_ASSERT(isFinite());
00132         return q.rotateInv(input);
00133     }
00134
00136     PX_CUDA_CALLABLE PX_FORCE_INLINE PxTransform transform(const PxTransform& src) const
00137     {
00138         PX_ASSERT(src.isSane());
00139         PX_ASSERT(isSane());
00140         // src = [srct, srcr] -> [r*srct + t, r*srcr]
00141         return PxTransform(q.rotate(src.p) + p, q * src.q);
00142     }
00143
00148     PX_CUDA_CALLABLE bool isValid() const
00149     {
00150         return p.isFinite() && q.isFinite() && q.isUnit();
00151     }
00152
00158     PX_CUDA_CALLABLE bool isSane() const
00159     {
00160         return isFinite() && q.isSane();
00161     }
00162
00166     PX_CUDA_CALLABLE PX_FORCE_INLINE bool isFinite() const
00167     {
00168         return p.isFinite() && q.isFinite();
00169     }
00170
00172     PX_CUDA_CALLABLE PX_FORCE_INLINE PxTransform transformInv(const PxTransform& src) const
00173     {
00174         PX_ASSERT(src.isSane());
00175         PX_ASSERT(isFinite());
00176         // src = [srct, srcr] -> [r^-1*(srct-t), r^-1*srcr]
00177         PxQuat qinv = q.getConjugate();
00178         return PxTransform(qinv.rotate(src.p - p), qinv * src.q);
00179     }
00180
00185     PX_CUDA_CALLABLE PX_FORCE_INLINE PxPlane transform(const PxPlane& plane) const
00186     {
00187         PxVec3 transformedNormal = rotate(plane.n);
00188         return PxPlane(transformedNormal, plane.d - p.dot(transformedNormal));
00189     }
00190
00195     PX_CUDA_CALLABLE PX_FORCE_INLINE PxPlane inverseTransform(const PxPlane& plane) const
00196     {
00197         PxVec3 transformedNormal = rotateInv(plane.n);
00198         return PxPlane(transformedNormal, plane.d + p.dot(plane.n));
00199     }
00200
00204     PX_CUDA_CALLABLE PX_FORCE_INLINE PxTransform getNormalized() const
00205     {
00206         return PxTransform(p, q.getNormalized());
00207     }
00208 };
00209
00210 #if !PX_DOXYGEN
00211 } // namespace physx
00212 #endif
00213
00215 #endif // #ifndef PXFOUNDATION_PXTRANSFORM_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTriangle.h Source File

PxTriangle.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_GEOMUTILS_PX_TRIANGLE
00032 #define PX_PHYSICS_GEOMUTILS_PX_TRIANGLE
00033
00037 #include "common/PxPhysXCommonConfig.h"
00038 #include "foundation/PxVec3.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00048 class PxTriangle
00049 {
00050     public:
00054     PX_FORCE_INLINE         PxTriangle() {}
00055
00063     PX_FORCE_INLINE         PxTriangle(const PxVec3& p0, const PxVec3& p1, const PxVec3& p2)
00064     {
00065         verts[0] = p0;
00066         verts[1] = p1;
00067         verts[2] = p2;
00068     }
00069
00075     PX_FORCE_INLINE         PxTriangle(const PxTriangle& triangle)
00076     {
00077         verts[0] = triangle.verts[0];
00078         verts[1] = triangle.verts[1];
00079         verts[2] = triangle.verts[2];
00080     }
00081
00085     PX_FORCE_INLINE         ~PxTriangle() {}
00086
00090     PX_FORCE_INLINE void operator=(const PxTriangle& triangle)
00091     {
00092         verts[0] = triangle.verts[0];
00093         verts[1] = triangle.verts[1];
00094         verts[2] = triangle.verts[2];
00095     }
00096
00102     PX_FORCE_INLINE void    normal(PxVec3& _normal) const
00103     {
00104         _normal = (verts[1]-verts[0]).cross(verts[2]-verts[0]);
00105         _normal.normalize();
00106     }
00107
00113     PX_FORCE_INLINE void    denormalizedNormal(PxVec3& _normal) const
00114     {
00115         _normal = (verts[1]-verts[0]).cross(verts[2]-verts[0]);
00116     }
00117
00123     PX_FORCE_INLINE PxReal  area() const
00124     {
00125         const PxVec3& p0 = verts[0];
00126         const PxVec3& p1 = verts[1];
00127         const PxVec3& p2 = verts[2];
00128         return ((p0 - p1).cross(p0 - p2)).magnitude() * 0.5f;
00129     }
00130
00134     PxVec3 pointFromUV(PxReal u, PxReal v) const { return (1.0f-u-v)*verts[0] + u*verts[1] + v*verts[2]; }
00135
00139     PxVec3      verts[3];
00140
00141 };
00142
00143
00144 #if !PX_DOXYGEN
00145 }
00146 #endif
00147
00149 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTriangleMesh.h Source File

PxTriangleMesh.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_GEOMUTILS_NX_TRIANGLEMESH
00032 #define PX_PHYSICS_GEOMUTILS_NX_TRIANGLEMESH
00033
00036 #include "foundation/PxVec3.h"
00037 #include "foundation/PxBounds3.h"
00038 #include "common/PxPhysXCommonConfig.h"
00039 #include "common/PxBase.h"
00040
00041 #if !PX_DOXYGEN
00042 namespace physx
00043 {
00044 #endif
00045
00051 #define PX_ENABLE_DYNAMIC_MESH_RTREE 1
00052
00064 struct PxMeshMidPhase
00065 {
00066     enum Enum
00067     {
00068         eBVH33 = 0,
00069         eBVH34 = 1,
00070
00071         eINVALID = 2,
00072         eLAST = eINVALID
00073     };
00074 };
00075
00081 struct PxTriangleMeshFlag
00082 {
00083     enum Enum
00084     {
00085         e16_BIT_INDICES = (1<<1),
00086         eADJACENCY_INFO = (1<<2)
00087     };
00088 };
00089
00095 typedef PxFlags<PxTriangleMeshFlag::Enum,PxU8> PxTriangleMeshFlags;
00096 PX_FLAGS_OPERATORS(PxTriangleMeshFlag::Enum,PxU8)
00097
00098
00127 class PxTriangleMesh : public PxBase
00128 {
00129     public:
00135      virtual    PxU32               getNbVertices()                                 const   = 0;
00136
00142     virtual const PxVec3*           getVertices()                                   const   = 0;
00143
00144 #if PX_ENABLE_DYNAMIC_MESH_RTREE
00145
00164     virtual PxVec3*                 getVerticesForModification() = 0;
00165
00183     virtual PxBounds3               refitBVH() = 0;
00184 #endif // PX_ENABLE_DYNAMIC_MESH_RTREE
00185
00191     virtual PxU32                   getNbTriangles()                                const   = 0;
00192
00204     virtual const void*             getTriangles()                                  const   = 0;
00205
00215     virtual PxTriangleMeshFlags     getTriangleMeshFlags()                          const = 0;
00216
00229     virtual const PxU32*            getTrianglesRemap()                         const   = 0;
00230
00231
00237     virtual void                    release()                                           = 0;
00238
00247     virtual PxMaterialTableIndex    getTriangleMaterialIndex(PxTriangleID triangleIndex)    const   = 0;
00248
00254     virtual PxBounds3               getLocalBounds()                            const   = 0;
00255
00264     virtual PxU32                   getReferenceCount()                         const   = 0;
00265
00271     virtual void                    acquireReference()                                  = 0;
00272
00273 protected:
00274     PX_INLINE                       PxTriangleMesh(PxType concreteType, PxBaseFlags baseFlags) : PxBase(concreteType, baseFlags)    {}
00275     PX_INLINE                       PxTriangleMesh(PxBaseFlags baseFlags) : PxBase(baseFlags)                                       {}
00276     virtual                         ~PxTriangleMesh() {}
00277
00278     virtual bool                    isKindOf(const char* name) const { return !::strcmp("PxTriangleMesh", name) || PxBase::isKindOf(name); }
00279 };
00280
00287 class PxBVH33TriangleMesh : public PxTriangleMesh
00288 {
00289     public:
00290 protected:
00291     PX_INLINE                       PxBVH33TriangleMesh(PxType concreteType, PxBaseFlags baseFlags) : PxTriangleMesh(concreteType, baseFlags) {}
00292     PX_INLINE                       PxBVH33TriangleMesh(PxBaseFlags baseFlags) : PxTriangleMesh(baseFlags) {}
00293     virtual                         ~PxBVH33TriangleMesh() {}
00294     virtual bool                    isKindOf(const char* name) const { return !::strcmp("PxBVH33TriangleMesh", name) || PxTriangleMesh::isKindOf(name); }
00295 };
00296
00303 class PxBVH34TriangleMesh : public PxTriangleMesh
00304 {
00305     public:
00306 protected:
00307     PX_INLINE                       PxBVH34TriangleMesh(PxType concreteType, PxBaseFlags baseFlags) : PxTriangleMesh(concreteType, baseFlags) {}
00308     PX_INLINE                       PxBVH34TriangleMesh(PxBaseFlags baseFlags) : PxTriangleMesh(baseFlags) {}
00309     virtual                         ~PxBVH34TriangleMesh() {}
00310     virtual bool                    isKindOf(const char* name) const { return !::strcmp("PxBVH34TriangleMesh", name) || PxTriangleMesh::isKindOf(name); }
00311 };
00312
00313 #if !PX_DOXYGEN
00314 } // namespace physx
00315 #endif
00316
00318 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTriangleMeshDesc.h Source File

PxTriangleMeshDesc.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_COLLISION_NXTRIANGLEMESHDESC
00032 #define PX_COLLISION_NXTRIANGLEMESHDESC
00033
00037 #include "PxPhysXConfig.h"
00038 #include "geometry/PxSimpleTriangleMesh.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00054 class PxTriangleMeshDesc : public PxSimpleTriangleMesh
00055 {
00056 public:
00057
00074     PxTypedStridedData<PxMaterialTableIndex> materialIndices;
00075
00079     PX_INLINE PxTriangleMeshDesc();
00080
00084     PX_INLINE void setToDefault();
00085
00090     PX_INLINE bool isValid() const;
00091 };
00092
00093 PX_INLINE PxTriangleMeshDesc::PxTriangleMeshDesc()  //constructor sets to default
00094 {
00095     PxSimpleTriangleMesh::setToDefault();
00096 }
00097
00098 PX_INLINE void PxTriangleMeshDesc::setToDefault()
00099 {
00100     *this = PxTriangleMeshDesc();
00101 }
00102
00103 PX_INLINE bool PxTriangleMeshDesc::isValid() const
00104 {
00105     if(points.count < 3)    //at least 1 trig's worth of points
00106         return false;
00107     if ((!triangles.data) && (points.count%3))      // Non-indexed mesh => we must ensure the geometry defines an implicit number of triangles // i.e. numVertices can't be divided by 3
00108         return false;
00109     //add more validity checks here
00110     if (materialIndices.data && materialIndices.stride < sizeof(PxMaterialTableIndex))
00111         return false;
00112     return PxSimpleTriangleMesh::isValid();
00113 }
00114
00115 #if !PX_DOXYGEN
00116 } // namespace physx
00117 #endif
00118
00120 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTriangleMeshExt.h Source File

PxTriangleMeshExt.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_EXTENSIONS_TRIANGLE_MESH_H
00032 #define PX_PHYSICS_EXTENSIONS_TRIANGLE_MESH_H
00033
00037 #include "PxPhysXConfig.h"
00038 #include "common/PxPhysXCommonConfig.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00045 class PxGeometry;
00046 class PxTriangleMeshGeometry;
00047 class PxHeightFieldGeometry;
00048
00061     class PxMeshOverlapUtil
00062     {
00063         public:
00064                                         PxMeshOverlapUtil();
00065                                         ~PxMeshOverlapUtil();
00077                         PxU32           findOverlap(const PxGeometry& geom, const PxTransform& geomPose, const PxTriangleMeshGeometry& meshGeom, const PxTransform& meshPose);
00078
00090                         PxU32           findOverlap(const PxGeometry& geom, const PxTransform& geomPose, const PxHeightFieldGeometry& hfGeom, const PxTransform& hfPose);
00091
00096         PX_FORCE_INLINE const PxU32*    getResults()    const   { return mResultsMemory;    }
00097
00102         PX_FORCE_INLINE PxU32           getNbResults()  const   { return mNbResults;        }
00103
00104         private:
00105                         PxU32*          mResultsMemory;
00106                         PxU32           mResults[256];
00107                         PxU32           mNbResults;
00108                         PxU32           mMaxNbResults;
00109     };
00110
00136     PX_DEPRECATED   PxVec3 PxComputeMeshPenetration(PxU32 maxIter,
00137                                                     const PxGeometry& geom,
00138                                                     const PxTransform& geomPose,
00139                                                     const PxTriangleMeshGeometry& meshGeom,
00140                                                     const PxTransform& meshPose, PxU32& nb);
00141
00142
00170     bool PxComputeTriangleMeshPenetration(PxVec3& direction,
00171                                           PxReal& depth,
00172                                           const PxGeometry& geom,
00173                                           const PxTransform& geomPose,
00174                                           const PxTriangleMeshGeometry& meshGeom,
00175                                           const PxTransform& meshPose,
00176                                           PxU32 maxIter,
00177                                           PxU32* usedIter = NULL);
00178
00204     PX_DEPRECATED   PxVec3 PxComputeHeightFieldPenetration(PxU32 maxIter,
00205                                                            const PxGeometry& geom,
00206                                                            const PxTransform& geomPose,
00207                                                            const PxHeightFieldGeometry& heightFieldGeom,
00208                                                            const PxTransform& heightFieldPose,
00209                                                            PxU32& nb);
00210
00211
00239     bool PxComputeHeightFieldPenetration(PxVec3& direction,
00240                                          PxReal& depth,
00241                                          const PxGeometry& geom,
00242                                          const PxTransform& geomPose,
00243                                          const PxHeightFieldGeometry& heightFieldGeom,
00244                                          const PxTransform& heightFieldPose,
00245                                          PxU32 maxIter,
00246                                          PxU32* usedIter = NULL);
00247
00248 #if !PX_DOXYGEN
00249 } // namespace physx
00250 #endif
00251
00253 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTriangleMeshGeometry.h Source File

PxTriangleMeshGeometry.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_TRIANGLEMESH_GEOMETRY
00032 #define PX_PHYSICS_NX_TRIANGLEMESH_GEOMETRY
00033
00036 #include "geometry/PxGeometry.h"
00037 #include "geometry/PxMeshScale.h"
00038 #include "common/PxCoreUtilityTypes.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00045 class PxTriangleMesh;
00046
00047
00053 struct PxMeshGeometryFlag
00054 {
00055     enum Enum
00056     {
00057         eDOUBLE_SIDED = (1<<1)
00058
00059
00060     };
00061 };
00062
00068 typedef PxFlags<PxMeshGeometryFlag::Enum,PxU8> PxMeshGeometryFlags;
00069 PX_FLAGS_OPERATORS(PxMeshGeometryFlag::Enum,PxU8)
00070
00071
00082 class PxTriangleMeshGeometry : public PxGeometry
00083 {
00084 public:
00090     PX_INLINE PxTriangleMeshGeometry() :
00091         PxGeometry  (PxGeometryType::eTRIANGLEMESH),
00092         triangleMesh(NULL)
00093     {}
00094
00102     PX_INLINE PxTriangleMeshGeometry(   PxTriangleMesh* mesh,
00103                                         const PxMeshScale& scaling = PxMeshScale(),
00104                                         PxMeshGeometryFlags flags = PxMeshGeometryFlags()) :
00105         PxGeometry  (PxGeometryType::eTRIANGLEMESH),
00106         scale       (scaling),
00107         meshFlags   (flags),
00108         triangleMesh(mesh)
00109     {}
00110
00121     PX_INLINE bool isValid() const;
00122
00123 public:
00124     PxMeshScale         scale;
00125     PxMeshGeometryFlags meshFlags;
00126     PxPadding<3>        paddingFromFlags;
00127     PxTriangleMesh*     triangleMesh;
00128 };
00129
00130
00131 PX_INLINE bool PxTriangleMeshGeometry::isValid() const
00132 {
00133     if(mType != PxGeometryType::eTRIANGLEMESH)
00134         return false;
00135     if(!scale.scale.isFinite() || !scale.rotation.isUnit())
00136         return false;
00137     if(!scale.isValidForTriangleMesh())
00138         return false;
00139     if(!triangleMesh)
00140         return false;
00141
00142     return true;
00143 }
00144
00145 #if !PX_DOXYGEN
00146 } // namespace physx
00147 #endif
00148
00150 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTypeInfo.h Source File

PxTypeInfo.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PX_PHYSICS_COMMON_PX_TYPEINFO
00031 #define PX_PHYSICS_COMMON_PX_TYPEINFO
00032
00037 #include "common/PxPhysXCommonConfig.h"
00038
00039 #if !PX_DOXYGEN
00040 namespace physx
00041 {
00042 #endif
00043
00053 struct PxConcreteType
00054 {
00055     enum Enum
00056     {
00057         eUNDEFINED,
00058
00059         eHEIGHTFIELD,
00060         eCONVEX_MESH,
00061         eTRIANGLE_MESH_BVH33,
00062         eTRIANGLE_MESH_BVH34,
00063         eCLOTH_FABRIC,
00064
00065         eRIGID_DYNAMIC,
00066         eRIGID_STATIC,
00067         eSHAPE,
00068         eMATERIAL,
00069         eCONSTRAINT,
00070         eCLOTH,
00071         ePARTICLE_SYSTEM,
00072         ePARTICLE_FLUID,
00073         eAGGREGATE,
00074         eARTICULATION,
00075         eARTICULATION_LINK,
00076         eARTICULATION_JOINT,
00077         ePRUNING_STRUCTURE,
00078
00079         ePHYSX_CORE_COUNT,
00080         eFIRST_PHYSX_EXTENSION = 256,
00081         eFIRST_VEHICLE_EXTENSION = 512,
00082         eFIRST_USER_EXTENSION = 1024
00083     };
00084 };
00085
00092 template<typename T> struct PxTypeInfo {};
00093
00094 #define PX_DEFINE_TYPEINFO(_name, _fastType) \
00095     class _name; \
00096     template <> struct PxTypeInfo<_name>    {   static const char* name() { return #_name;  }   enum { eFastTypeId = _fastType };   };
00097
00098 /* the semantics of the fastType are as follows: an object A can be cast to a type B if B's fastType is defined, and A has the same fastType.
00099  * This implies that B has no concrete subclasses or superclasses.
00100  */
00101
00102 PX_DEFINE_TYPEINFO(PxBase,              PxConcreteType::eUNDEFINED)
00103 PX_DEFINE_TYPEINFO(PxMaterial,          PxConcreteType::eMATERIAL)
00104 PX_DEFINE_TYPEINFO(PxConvexMesh,        PxConcreteType::eCONVEX_MESH)
00105 PX_DEFINE_TYPEINFO(PxTriangleMesh,      PxConcreteType::eUNDEFINED)
00106 PX_DEFINE_TYPEINFO(PxBVH33TriangleMesh, PxConcreteType::eTRIANGLE_MESH_BVH33)
00107 PX_DEFINE_TYPEINFO(PxBVH34TriangleMesh, PxConcreteType::eTRIANGLE_MESH_BVH34)
00108 PX_DEFINE_TYPEINFO(PxHeightField,       PxConcreteType::eHEIGHTFIELD)
00109 PX_DEFINE_TYPEINFO(PxActor,             PxConcreteType::eUNDEFINED)
00110 PX_DEFINE_TYPEINFO(PxRigidActor,        PxConcreteType::eUNDEFINED)
00111 PX_DEFINE_TYPEINFO(PxRigidBody,         PxConcreteType::eUNDEFINED)
00112 PX_DEFINE_TYPEINFO(PxRigidDynamic,      PxConcreteType::eRIGID_DYNAMIC)
00113 PX_DEFINE_TYPEINFO(PxRigidStatic,       PxConcreteType::eRIGID_STATIC)
00114 PX_DEFINE_TYPEINFO(PxArticulationLink,  PxConcreteType::eARTICULATION_LINK)
00115 PX_DEFINE_TYPEINFO(PxArticulationJoint, PxConcreteType::eARTICULATION_JOINT)
00116 PX_DEFINE_TYPEINFO(PxArticulation,      PxConcreteType::eARTICULATION)
00117 PX_DEFINE_TYPEINFO(PxAggregate,         PxConcreteType::eAGGREGATE)
00118 PX_DEFINE_TYPEINFO(PxConstraint,        PxConcreteType::eCONSTRAINT)
00119 PX_DEFINE_TYPEINFO(PxShape,             PxConcreteType::eSHAPE)
00120 PX_DEFINE_TYPEINFO(PxClothFabric,       PxConcreteType::eCLOTH_FABRIC)
00121 PX_DEFINE_TYPEINFO(PxCloth,             PxConcreteType::eCLOTH)
00122 PX_DEFINE_TYPEINFO(PxParticleBase,      PxConcreteType::eUNDEFINED)
00123 PX_DEFINE_TYPEINFO(PxParticleFluid,     PxConcreteType::ePARTICLE_FLUID)
00124 PX_DEFINE_TYPEINFO(PxParticleSystem,    PxConcreteType::ePARTICLE_SYSTEM)
00125 PX_DEFINE_TYPEINFO(PxPruningStructure,  PxConcreteType::ePRUNING_STRUCTURE)
00126
00127 #if !PX_DOXYGEN
00128 } // namespace physx
00129 #endif
00130
00132 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxUnionCast.h Source File

PxUnionCast.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PXFOUNDATION_PXUNIONCAST_H
00031 #define PXFOUNDATION_PXUNIONCAST_H
00032
00033 #include "foundation/Px.h"
00034
00039 #if !PX_DOXYGEN
00040 namespace physx
00041 {
00042 #endif
00043
00044 template <class A, class B>
00045 PX_FORCE_INLINE A PxUnionCast(B b)
00046 {
00047     union AB
00048     {
00049         AB(B bb) : _b(bb)
00050         {
00051         }
00052          B _b;
00053          A _a;
00054 // needed for clang 7
00055 #if PX_LINUX && PX_CLANG
00056     } volatile u(b);
00057 #else
00058     } u(b);
00059 #endif
00060     return u._a;
00061 }
00062
00063 #if !PX_DOXYGEN
00064 } // namespace physx
00065 #endif
00066
00069 #endif // PXFOUNDATION_PXUNIONCAST_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVec2.h Source File

PxVec2.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PXFOUNDATION_PXVEC2_H
00031 #define PXFOUNDATION_PXVEC2_H
00032
00037 #include "foundation/PxMath.h"
00038
00039 #if !PX_DOXYGEN
00040 namespace physx
00041 {
00042 #endif
00043
00049 class PxVec2
00050 {
00051   public:
00055     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2()
00056     {
00057     }
00058
00062     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2(PxZERO r) : x(0.0f), y(0.0f)
00063     {
00064         PX_UNUSED(r);
00065     }
00066
00074     explicit PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2(float a) : x(a), y(a)
00075     {
00076     }
00077
00084     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2(float nx, float ny) : x(nx), y(ny)
00085     {
00086     }
00087
00091     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2(const PxVec2& v) : x(v.x), y(v.y)
00092     {
00093     }
00094
00095     // Operators
00096
00100     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2& operator=(const PxVec2& p)
00101     {
00102         x = p.x;
00103         y = p.y;
00104         return *this;
00105     }
00106
00110     PX_DEPRECATED PX_CUDA_CALLABLE PX_FORCE_INLINE float& operator[](int index)
00111     {
00112         PX_ASSERT(index >= 0 && index <= 1);
00113
00114         return reinterpret_cast<float*>(this)[index];
00115     }
00116
00120     PX_DEPRECATED PX_CUDA_CALLABLE PX_FORCE_INLINE const float& operator[](int index) const
00121     {
00122         PX_ASSERT(index >= 0 && index <= 1);
00123
00124         return reinterpret_cast<const float*>(this)[index];
00125     }
00126
00130     PX_CUDA_CALLABLE PX_FORCE_INLINE bool operator==(const PxVec2& v) const
00131     {
00132         return x == v.x && y == v.y;
00133     }
00134
00138     PX_CUDA_CALLABLE PX_FORCE_INLINE bool operator!=(const PxVec2& v) const
00139     {
00140         return x != v.x || y != v.y;
00141     }
00142
00146     PX_CUDA_CALLABLE PX_FORCE_INLINE bool isZero() const
00147     {
00148         return x == 0.0f && y == 0.0f;
00149     }
00150
00154     PX_CUDA_CALLABLE PX_INLINE bool isFinite() const
00155     {
00156         return PxIsFinite(x) && PxIsFinite(y);
00157     }
00158
00162     PX_CUDA_CALLABLE PX_FORCE_INLINE bool isNormalized() const
00163     {
00164         const float unitTolerance = 1e-4f;
00165         return isFinite() && PxAbs(magnitude() - 1) < unitTolerance;
00166     }
00167
00173     PX_CUDA_CALLABLE PX_FORCE_INLINE float magnitudeSquared() const
00174     {
00175         return x * x + y * y;
00176     }
00177
00181     PX_CUDA_CALLABLE PX_FORCE_INLINE float magnitude() const
00182     {
00183         return PxSqrt(magnitudeSquared());
00184     }
00185
00189     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2 operator-() const
00190     {
00191         return PxVec2(-x, -y);
00192     }
00193
00197     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2 operator+(const PxVec2& v) const
00198     {
00199         return PxVec2(x + v.x, y + v.y);
00200     }
00201
00205     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2 operator-(const PxVec2& v) const
00206     {
00207         return PxVec2(x - v.x, y - v.y);
00208     }
00209
00213     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2 operator*(float f) const
00214     {
00215         return PxVec2(x * f, y * f);
00216     }
00217
00221     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2 operator/(float f) const
00222     {
00223         f = 1.0f / f; // PT: inconsistent notation with operator /=
00224         return PxVec2(x * f, y * f);
00225     }
00226
00230     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2& operator+=(const PxVec2& v)
00231     {
00232         x += v.x;
00233         y += v.y;
00234         return *this;
00235     }
00236
00240     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2& operator-=(const PxVec2& v)
00241     {
00242         x -= v.x;
00243         y -= v.y;
00244         return *this;
00245     }
00246
00250     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2& operator*=(float f)
00251     {
00252         x *= f;
00253         y *= f;
00254         return *this;
00255     }
00259     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2& operator/=(float f)
00260     {
00261         f = 1.0f / f; // PT: inconsistent notation with operator /
00262         x *= f;
00263         y *= f;
00264         return *this;
00265     }
00266
00270     PX_CUDA_CALLABLE PX_FORCE_INLINE float dot(const PxVec2& v) const
00271     {
00272         return x * v.x + y * v.y;
00273     }
00274
00277     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2 getNormalized() const
00278     {
00279         const float m = magnitudeSquared();
00280         return m > 0.0f ? *this * PxRecipSqrt(m) : PxVec2(0, 0);
00281     }
00282
00286     PX_CUDA_CALLABLE PX_FORCE_INLINE float normalize()
00287     {
00288         const float m = magnitude();
00289         if(m > 0.0f)
00290             *this /= m;
00291         return m;
00292     }
00293
00297     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2 multiply(const PxVec2& a) const
00298     {
00299         return PxVec2(x * a.x, y * a.y);
00300     }
00301
00305     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2 minimum(const PxVec2& v) const
00306     {
00307         return PxVec2(PxMin(x, v.x), PxMin(y, v.y));
00308     }
00309
00313     PX_CUDA_CALLABLE PX_FORCE_INLINE float minElement() const
00314     {
00315         return PxMin(x, y);
00316     }
00317
00321     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2 maximum(const PxVec2& v) const
00322     {
00323         return PxVec2(PxMax(x, v.x), PxMax(y, v.y));
00324     }
00325
00329     PX_CUDA_CALLABLE PX_FORCE_INLINE float maxElement() const
00330     {
00331         return PxMax(x, y);
00332     }
00333
00334     float x, y;
00335 };
00336
00337 PX_CUDA_CALLABLE static PX_FORCE_INLINE PxVec2 operator*(float f, const PxVec2& v)
00338 {
00339     return PxVec2(f * v.x, f * v.y);
00340 }
00341
00342 #if !PX_DOXYGEN
00343 } // namespace physx
00344 #endif
00345
00347 #endif // #ifndef PXFOUNDATION_PXVEC2_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVec3.h Source File

PxVec3.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PXFOUNDATION_PXVEC3_H
00031 #define PXFOUNDATION_PXVEC3_H
00032
00037 #include "foundation/PxMath.h"
00038
00039 #if !PX_DOXYGEN
00040 namespace physx
00041 {
00042 #endif
00043
00049 class PxVec3
00050 {
00051   public:
00055     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3()
00056     {
00057     }
00058
00062     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3(PxZERO r) : x(0.0f), y(0.0f), z(0.0f)
00063     {
00064         PX_UNUSED(r);
00065     }
00066
00074     explicit PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3(float a) : x(a), y(a), z(a)
00075     {
00076     }
00077
00085     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3(float nx, float ny, float nz) : x(nx), y(ny), z(nz)
00086     {
00087     }
00088
00092     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3(const PxVec3& v) : x(v.x), y(v.y), z(v.z)
00093     {
00094     }
00095
00096     // Operators
00097
00101     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3& operator=(const PxVec3& p)
00102     {
00103         x = p.x;
00104         y = p.y;
00105         z = p.z;
00106         return *this;
00107     }
00108
00112     PX_DEPRECATED PX_CUDA_CALLABLE PX_FORCE_INLINE float& operator[](unsigned int index)
00113     {
00114         PX_ASSERT(index <= 2);
00115
00116         return reinterpret_cast<float*>(this)[index];
00117     }
00118
00122     PX_DEPRECATED PX_CUDA_CALLABLE PX_FORCE_INLINE const float& operator[](unsigned int index) const
00123     {
00124         PX_ASSERT(index <= 2);
00125
00126         return reinterpret_cast<const float*>(this)[index];
00127     }
00131     PX_CUDA_CALLABLE PX_FORCE_INLINE bool operator==(const PxVec3& v) const
00132     {
00133         return x == v.x && y == v.y && z == v.z;
00134     }
00135
00139     PX_CUDA_CALLABLE PX_FORCE_INLINE bool operator!=(const PxVec3& v) const
00140     {
00141         return x != v.x || y != v.y || z != v.z;
00142     }
00143
00147     PX_CUDA_CALLABLE PX_FORCE_INLINE bool isZero() const
00148     {
00149         return x == 0.0f && y == 0.0f && z == 0.0f;
00150     }
00151
00155     PX_CUDA_CALLABLE PX_INLINE bool isFinite() const
00156     {
00157         return PxIsFinite(x) && PxIsFinite(y) && PxIsFinite(z);
00158     }
00159
00163     PX_CUDA_CALLABLE PX_FORCE_INLINE bool isNormalized() const
00164     {
00165         const float unitTolerance = 1e-4f;
00166         return isFinite() && PxAbs(magnitude() - 1) < unitTolerance;
00167     }
00168
00174     PX_CUDA_CALLABLE PX_FORCE_INLINE float magnitudeSquared() const
00175     {
00176         return x * x + y * y + z * z;
00177     }
00178
00182     PX_CUDA_CALLABLE PX_FORCE_INLINE float magnitude() const
00183     {
00184         return PxSqrt(magnitudeSquared());
00185     }
00186
00190     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 operator-() const
00191     {
00192         return PxVec3(-x, -y, -z);
00193     }
00194
00198     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 operator+(const PxVec3& v) const
00199     {
00200         return PxVec3(x + v.x, y + v.y, z + v.z);
00201     }
00202
00206     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 operator-(const PxVec3& v) const
00207     {
00208         return PxVec3(x - v.x, y - v.y, z - v.z);
00209     }
00210
00214     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 operator*(float f) const
00215     {
00216         return PxVec3(x * f, y * f, z * f);
00217     }
00218
00222     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 operator/(float f) const
00223     {
00224         f = 1.0f / f;
00225         return PxVec3(x * f, y * f, z * f);
00226     }
00227
00231     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3& operator+=(const PxVec3& v)
00232     {
00233         x += v.x;
00234         y += v.y;
00235         z += v.z;
00236         return *this;
00237     }
00238
00242     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3& operator-=(const PxVec3& v)
00243     {
00244         x -= v.x;
00245         y -= v.y;
00246         z -= v.z;
00247         return *this;
00248     }
00249
00253     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3& operator*=(float f)
00254     {
00255         x *= f;
00256         y *= f;
00257         z *= f;
00258         return *this;
00259     }
00263     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3& operator/=(float f)
00264     {
00265         f = 1.0f / f;
00266         x *= f;
00267         y *= f;
00268         z *= f;
00269         return *this;
00270     }
00271
00275     PX_CUDA_CALLABLE PX_FORCE_INLINE float dot(const PxVec3& v) const
00276     {
00277         return x * v.x + y * v.y + z * v.z;
00278     }
00279
00283     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 cross(const PxVec3& v) const
00284     {
00285         return PxVec3(y * v.z - z * v.y, z * v.x - x * v.z, x * v.y - y * v.x);
00286     }
00287
00290     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 getNormalized() const
00291     {
00292         const float m = magnitudeSquared();
00293         return m > 0.0f ? *this * PxRecipSqrt(m) : PxVec3(0, 0, 0);
00294     }
00295
00299     PX_CUDA_CALLABLE PX_FORCE_INLINE float normalize()
00300     {
00301         const float m = magnitude();
00302         if(m > 0.0f)
00303             *this /= m;
00304         return m;
00305     }
00306
00311     PX_CUDA_CALLABLE PX_FORCE_INLINE float normalizeSafe()
00312     {
00313         const float mag = magnitude();
00314         if(mag < PX_NORMALIZATION_EPSILON)
00315             return 0.0f;
00316         *this *= 1.0f / mag;
00317         return mag;
00318     }
00319
00324     PX_CUDA_CALLABLE PX_FORCE_INLINE float normalizeFast()
00325     {
00326         const float mag = magnitude();
00327         PX_ASSERT(mag >= PX_NORMALIZATION_EPSILON);
00328         *this *= 1.0f / mag;
00329         return mag;
00330     }
00331
00335     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 multiply(const PxVec3& a) const
00336     {
00337         return PxVec3(x * a.x, y * a.y, z * a.z);
00338     }
00339
00343     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 minimum(const PxVec3& v) const
00344     {
00345         return PxVec3(PxMin(x, v.x), PxMin(y, v.y), PxMin(z, v.z));
00346     }
00347
00351     PX_CUDA_CALLABLE PX_FORCE_INLINE float minElement() const
00352     {
00353         return PxMin(x, PxMin(y, z));
00354     }
00355
00359     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 maximum(const PxVec3& v) const
00360     {
00361         return PxVec3(PxMax(x, v.x), PxMax(y, v.y), PxMax(z, v.z));
00362     }
00363
00367     PX_CUDA_CALLABLE PX_FORCE_INLINE float maxElement() const
00368     {
00369         return PxMax(x, PxMax(y, z));
00370     }
00371
00375     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 abs() const
00376     {
00377         return PxVec3(PxAbs(x), PxAbs(y), PxAbs(z));
00378     }
00379
00380     float x, y, z;
00381 };
00382
00383 PX_CUDA_CALLABLE static PX_FORCE_INLINE PxVec3 operator*(float f, const PxVec3& v)
00384 {
00385     return PxVec3(f * v.x, f * v.y, f * v.z);
00386 }
00387
00388 #if !PX_DOXYGEN
00389 } // namespace physx
00390 #endif
00391
00393 #endif // #ifndef PXFOUNDATION_PXVEC3_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVec4.h Source File

PxVec4.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PXFOUNDATION_PXVEC4_H
00031 #define PXFOUNDATION_PXVEC4_H
00032
00035 #include "foundation/PxMath.h"
00036 #include "foundation/PxVec3.h"
00037 #include "foundation/PxAssert.h"
00038
00044 #if !PX_DOXYGEN
00045 namespace physx
00046 {
00047 #endif
00048
00049 class PxVec4
00050 {
00051   public:
00055     PX_CUDA_CALLABLE PX_INLINE PxVec4()
00056     {
00057     }
00058
00062     PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec4(PxZERO r) : x(0.0f), y(0.0f), z(0.0f), w(0.0f)
00063     {
00064         PX_UNUSED(r);
00065     }
00066
00074     explicit PX_CUDA_CALLABLE PX_INLINE PxVec4(float a) : x(a), y(a), z(a), w(a)
00075     {
00076     }
00077
00086     PX_CUDA_CALLABLE PX_INLINE PxVec4(float nx, float ny, float nz, float nw) : x(nx), y(ny), z(nz), w(nw)
00087     {
00088     }
00089
00096     PX_CUDA_CALLABLE PX_INLINE PxVec4(const PxVec3& v, float nw) : x(v.x), y(v.y), z(v.z), w(nw)
00097     {
00098     }
00099
00105     explicit PX_CUDA_CALLABLE PX_INLINE PxVec4(const float v[]) : x(v[0]), y(v[1]), z(v[2]), w(v[3])
00106     {
00107     }
00108
00112     PX_CUDA_CALLABLE PX_INLINE PxVec4(const PxVec4& v) : x(v.x), y(v.y), z(v.z), w(v.w)
00113     {
00114     }
00115
00116     // Operators
00117
00121     PX_CUDA_CALLABLE PX_INLINE PxVec4& operator=(const PxVec4& p)
00122     {
00123         x = p.x;
00124         y = p.y;
00125         z = p.z;
00126         w = p.w;
00127         return *this;
00128     }
00129
00133     PX_DEPRECATED PX_CUDA_CALLABLE PX_INLINE float& operator[](unsigned int index)
00134     {
00135         PX_ASSERT(index <= 3);
00136
00137         return reinterpret_cast<float*>(this)[index];
00138     }
00139
00143     PX_DEPRECATED PX_CUDA_CALLABLE PX_INLINE const float& operator[](unsigned int index) const
00144     {
00145         PX_ASSERT(index <= 3);
00146
00147         return reinterpret_cast<const float*>(this)[index];
00148     }
00149
00153     PX_CUDA_CALLABLE PX_INLINE bool operator==(const PxVec4& v) const
00154     {
00155         return x == v.x && y == v.y && z == v.z && w == v.w;
00156     }
00157
00161     PX_CUDA_CALLABLE PX_INLINE bool operator!=(const PxVec4& v) const
00162     {
00163         return x != v.x || y != v.y || z != v.z || w != v.w;
00164     }
00165
00169     PX_CUDA_CALLABLE PX_INLINE bool isZero() const
00170     {
00171         return x == 0 && y == 0 && z == 0 && w == 0;
00172     }
00173
00177     PX_CUDA_CALLABLE PX_INLINE bool isFinite() const
00178     {
00179         return PxIsFinite(x) && PxIsFinite(y) && PxIsFinite(z) && PxIsFinite(w);
00180     }
00181
00185     PX_CUDA_CALLABLE PX_INLINE bool isNormalized() const
00186     {
00187         const float unitTolerance = 1e-4f;
00188         return isFinite() && PxAbs(magnitude() - 1) < unitTolerance;
00189     }
00190
00196     PX_CUDA_CALLABLE PX_INLINE float magnitudeSquared() const
00197     {
00198         return x * x + y * y + z * z + w * w;
00199     }
00200
00204     PX_CUDA_CALLABLE PX_INLINE float magnitude() const
00205     {
00206         return PxSqrt(magnitudeSquared());
00207     }
00208
00212     PX_CUDA_CALLABLE PX_INLINE PxVec4 operator-() const
00213     {
00214         return PxVec4(-x, -y, -z, -w);
00215     }
00216
00220     PX_CUDA_CALLABLE PX_INLINE PxVec4 operator+(const PxVec4& v) const
00221     {
00222         return PxVec4(x + v.x, y + v.y, z + v.z, w + v.w);
00223     }
00224
00228     PX_CUDA_CALLABLE PX_INLINE PxVec4 operator-(const PxVec4& v) const
00229     {
00230         return PxVec4(x - v.x, y - v.y, z - v.z, w - v.w);
00231     }
00232
00237     PX_CUDA_CALLABLE PX_INLINE PxVec4 operator*(float f) const
00238     {
00239         return PxVec4(x * f, y * f, z * f, w * f);
00240     }
00241
00245     PX_CUDA_CALLABLE PX_INLINE PxVec4 operator/(float f) const
00246     {
00247         f = 1.0f / f;
00248         return PxVec4(x * f, y * f, z * f, w * f);
00249     }
00250
00254     PX_CUDA_CALLABLE PX_INLINE PxVec4& operator+=(const PxVec4& v)
00255     {
00256         x += v.x;
00257         y += v.y;
00258         z += v.z;
00259         w += v.w;
00260         return *this;
00261     }
00262
00266     PX_CUDA_CALLABLE PX_INLINE PxVec4& operator-=(const PxVec4& v)
00267     {
00268         x -= v.x;
00269         y -= v.y;
00270         z -= v.z;
00271         w -= v.w;
00272         return *this;
00273     }
00274
00278     PX_CUDA_CALLABLE PX_INLINE PxVec4& operator*=(float f)
00279     {
00280         x *= f;
00281         y *= f;
00282         z *= f;
00283         w *= f;
00284         return *this;
00285     }
00289     PX_CUDA_CALLABLE PX_INLINE PxVec4& operator/=(float f)
00290     {
00291         f = 1.0f / f;
00292         x *= f;
00293         y *= f;
00294         z *= f;
00295         w *= f;
00296         return *this;
00297     }
00298
00302     PX_CUDA_CALLABLE PX_INLINE float dot(const PxVec4& v) const
00303     {
00304         return x * v.x + y * v.y + z * v.z + w * v.w;
00305     }
00306
00309     PX_CUDA_CALLABLE PX_INLINE PxVec4 getNormalized() const
00310     {
00311         float m = magnitudeSquared();
00312         return m > 0.0f ? *this * PxRecipSqrt(m) : PxVec4(0, 0, 0, 0);
00313     }
00314
00318     PX_CUDA_CALLABLE PX_INLINE float normalize()
00319     {
00320         float m = magnitude();
00321         if(m > 0.0f)
00322             *this /= m;
00323         return m;
00324     }
00325
00329     PX_CUDA_CALLABLE PX_INLINE PxVec4 multiply(const PxVec4& a) const
00330     {
00331         return PxVec4(x * a.x, y * a.y, z * a.z, w * a.w);
00332     }
00333
00337     PX_CUDA_CALLABLE PX_INLINE PxVec4 minimum(const PxVec4& v) const
00338     {
00339         return PxVec4(PxMin(x, v.x), PxMin(y, v.y), PxMin(z, v.z), PxMin(w, v.w));
00340     }
00341
00345     PX_CUDA_CALLABLE PX_INLINE PxVec4 maximum(const PxVec4& v) const
00346     {
00347         return PxVec4(PxMax(x, v.x), PxMax(y, v.y), PxMax(z, v.z), PxMax(w, v.w));
00348     }
00349
00350     PX_CUDA_CALLABLE PX_INLINE PxVec3 getXYZ() const
00351     {
00352         return PxVec3(x, y, z);
00353     }
00354
00358     PX_CUDA_CALLABLE PX_INLINE void setZero()
00359     {
00360         x = y = z = w = 0.0f;
00361     }
00362
00363     float x, y, z, w;
00364 };
00365
00366 PX_CUDA_CALLABLE static PX_INLINE PxVec4 operator*(float f, const PxVec4& v)
00367 {
00368     return PxVec4(f * v.x, f * v.y, f * v.z, f * v.w);
00369 }
00370
00371 #if !PX_DOXYGEN
00372 } // namespace physx
00373 #endif
00374
00376 #endif // #ifndef PXFOUNDATION_PXVEC4_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleComponents.h Source File

PxVehicleComponents.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PX_VEHICLE_CORE_COMPONENTS_H
00031 #define PX_VEHICLE_CORE_COMPONENTS_H
00032
00036 #include "foundation/PxMemory.h"
00037 #include "foundation/PxVec3.h"
00038 #include "common/PxCoreUtilityTypes.h"
00039 #include "PxVehicleSDK.h"
00040 #include "common/PxTypeInfo.h"
00041
00042 #if !PX_DOXYGEN
00043 namespace physx
00044 {
00045 #endif
00046
00047 class PxVehicleChassisData
00048 {
00049 public:
00050
00051     friend class PxVehicleDriveSimData4W;
00052
00053     PxVehicleChassisData()
00054         :   mMOI(PxVec3(0,0,0)),
00055             mMass(1500),
00056             mCMOffset(PxVec3(0,0,0))
00057     {
00058     }
00059
00065     PxVec3 mMOI;
00066
00072     PxReal mMass;
00073
00079     PxVec3 mCMOffset;
00080
00081 private:
00082
00083     PxReal pad;
00084
00085     bool isValid() const;
00086 };
00087 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleChassisData)& 0x0f));
00088
00089 class PxVehicleEngineData
00090 {
00091 public:
00092
00093     friend class PxVehicleDriveSimData;
00094
00095     enum
00096     {
00097         eMAX_NB_ENGINE_TORQUE_CURVE_ENTRIES = 8
00098     };
00099
00100     PxVehicleEngineData()
00101         :   mMOI(1.0f),
00102             mPeakTorque(500.0f),
00103             mMaxOmega(600.0f),
00104             mDampingRateFullThrottle(0.15f),
00105             mDampingRateZeroThrottleClutchEngaged(2.0f),
00106             mDampingRateZeroThrottleClutchDisengaged(0.35f)
00107     {
00108         mTorqueCurve.addPair(0.0f, 0.8f);
00109         mTorqueCurve.addPair(0.33f, 1.0f);
00110         mTorqueCurve.addPair(1.0f, 0.8f);
00111
00112         mRecipMOI=1.0f/mMOI;
00113         mRecipMaxOmega=1.0f/mMaxOmega;
00114     }
00115
00121     PxFixedSizeLookupTable<eMAX_NB_ENGINE_TORQUE_CURVE_ENTRIES> mTorqueCurve;
00122
00128     PxReal mMOI;
00129
00139     PxReal mPeakTorque;
00140
00148     PxReal mMaxOmega;
00149
00165     PxReal mDampingRateFullThrottle;
00166
00167
00183     PxReal mDampingRateZeroThrottleClutchEngaged;
00184
00200     PxReal mDampingRateZeroThrottleClutchDisengaged;
00201
00205     PX_FORCE_INLINE PxReal getRecipMOI() const {return mRecipMOI;}
00206
00210     PX_FORCE_INLINE PxReal getRecipMaxOmega() const {return mRecipMaxOmega;}
00211
00212 private:
00213
00221     PxReal mRecipMOI;
00222
00230     PxReal mRecipMaxOmega;
00231
00232     bool isValid() const;
00233
00234
00235 //serialization
00236 public:
00237     PxVehicleEngineData(const PxEMPTY) : mTorqueCurve(PxEmpty) {}
00238 //~serialization
00239 };
00240 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleEngineData)& 0x0f));
00241
00242 class PxVehicleGearsData
00243 {
00244 public:
00245
00246     friend class PxVehicleDriveSimData;
00247
00248     enum Enum
00249     {
00250         eREVERSE=0,
00251         eNEUTRAL,
00252         eFIRST,
00253         eSECOND,
00254         eTHIRD,
00255         eFOURTH,
00256         eFIFTH,
00257         eSIXTH,
00258         eSEVENTH,
00259         eEIGHTH,
00260         eNINTH,
00261         eTENTH,
00262         eELEVENTH,
00263         eTWELFTH,
00264         eTHIRTEENTH,
00265         eFOURTEENTH,
00266         eFIFTEENTH,
00267         eSIXTEENTH,
00268         eSEVENTEENTH,
00269         eEIGHTEENTH,
00270         eNINETEENTH,
00271         eTWENTIETH,
00272         eTWENTYFIRST,
00273         eTWENTYSECOND,
00274         eTWENTYTHIRD,
00275         eTWENTYFOURTH,
00276         eTWENTYFIFTH,
00277         eTWENTYSIXTH,
00278         eTWENTYSEVENTH,
00279         eTWENTYEIGHTH,
00280         eTWENTYNINTH,
00281         eTHIRTIETH,
00282         eGEARSRATIO_COUNT
00283     };
00284
00285     PxVehicleGearsData()
00286         :   mFinalRatio(4.0f),
00287             mNbRatios(7),
00288             mSwitchTime(0.5f)
00289     {
00290         mRatios[PxVehicleGearsData::eREVERSE]=-4.0f;
00291         mRatios[PxVehicleGearsData::eNEUTRAL]=0.0f;
00292         mRatios[PxVehicleGearsData::eFIRST]=4.0f;
00293         mRatios[PxVehicleGearsData::eSECOND]=2.0f;
00294         mRatios[PxVehicleGearsData::eTHIRD]=1.5f;
00295         mRatios[PxVehicleGearsData::eFOURTH]=1.1f;
00296         mRatios[PxVehicleGearsData::eFIFTH]=1.0f;
00297
00298         for(PxU32 i = PxVehicleGearsData::eSIXTH; i < PxVehicleGearsData::eGEARSRATIO_COUNT; ++i)
00299             mRatios[i]=0.f;
00300     }
00301
00307     PxReal mRatios[PxVehicleGearsData::eGEARSRATIO_COUNT];
00308
00314     PxReal mFinalRatio;
00315
00321     PxU32 mNbRatios;
00322
00330     PxReal mSwitchTime;
00331
00332 private:
00333
00334     PxReal mPad;
00335
00336     bool isValid() const;
00337
00338 //serialization
00339 public:
00340     PxVehicleGearsData(const PxEMPTY) {}
00341     PxReal getGearRatio(PxVehicleGearsData::Enum a)  const {return mRatios[a];}
00342     void setGearRatio(PxVehicleGearsData::Enum a, PxReal ratio)   { mRatios[a] = ratio;}
00343 //~serialization
00344 };
00345 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleGearsData)& 0x0f));
00346
00347 class PxVehicleAutoBoxData
00348 {
00349 public:
00350
00351     friend class PxVehicleDriveSimData;
00352
00353     PxVehicleAutoBoxData()
00354     {
00355         for(PxU32 i=0;i<PxVehicleGearsData::eGEARSRATIO_COUNT;i++)
00356         {
00357             mUpRatios[i]=0.65f;
00358             mDownRatios[i]=0.50f;
00359         }
00360         //Not sure how important this is but we want to kick out of neutral very quickly.
00361         mUpRatios[PxVehicleGearsData::eNEUTRAL]=0.15f;
00362         //Set the latency time in an unused element of one of the arrays.
00363         mDownRatios[PxVehicleGearsData::eREVERSE]=2.0f;
00364     }
00365
00374     PxReal mUpRatios[PxVehicleGearsData::eGEARSRATIO_COUNT];
00375
00384     PxReal mDownRatios[PxVehicleGearsData::eGEARSRATIO_COUNT];
00385
00397     void setLatency(const PxReal latency)
00398     {
00399         mDownRatios[PxVehicleGearsData::eREVERSE]=latency;
00400     }
00401
00409     PxReal getLatency() const
00410     {
00411         return mDownRatios[PxVehicleGearsData::eREVERSE];
00412     }
00413
00414 private:
00415     bool isValid() const;
00416
00417 //serialization
00418 public:
00419     PxVehicleAutoBoxData(const PxEMPTY) {}
00420
00421     PxReal getUpRatios(PxVehicleGearsData::Enum a)  const {return mUpRatios[a];}
00422     void setUpRatios(PxVehicleGearsData::Enum a, PxReal ratio)   { mUpRatios[a] = ratio;}
00423
00424     PxReal getDownRatios(PxVehicleGearsData::Enum a)  const {return mDownRatios[a];}
00425     void setDownRatios(PxVehicleGearsData::Enum a, PxReal ratio)   { mDownRatios[a] = ratio;}
00426 //~serialization
00427 };
00428 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleAutoBoxData)& 0x0f));
00429
00430 class PxVehicleDifferential4WData
00431 {
00432 public:
00433
00434     friend class PxVehicleDriveSimData4W;
00435
00436     enum Enum
00437     {
00438         eDIFF_TYPE_LS_4WD,          //limited slip differential for car with 4 driven wheels
00439         eDIFF_TYPE_LS_FRONTWD,      //limited slip differential for car with front-wheel drive
00440         eDIFF_TYPE_LS_REARWD,       //limited slip differential for car with rear-wheel drive
00441         eDIFF_TYPE_OPEN_4WD,        //open differential for car with 4 driven wheels
00442         eDIFF_TYPE_OPEN_FRONTWD,    //open differential for car with front-wheel drive
00443         eDIFF_TYPE_OPEN_REARWD,     //open differential for car with rear-wheel drive
00444         eMAX_NB_DIFF_TYPES
00445     };
00446
00447     PxVehicleDifferential4WData()
00448         :   mFrontRearSplit(0.45f),
00449             mFrontLeftRightSplit(0.5f),
00450             mRearLeftRightSplit(0.5f),
00451             mCentreBias(1.3f),
00452             mFrontBias(1.3f),
00453             mRearBias(1.3f),
00454             mType(PxVehicleDifferential4WData::eDIFF_TYPE_LS_4WD)
00455     {
00456     }
00457
00465     PxReal mFrontRearSplit;
00466
00474     PxReal mFrontLeftRightSplit;
00475
00483     PxReal mRearLeftRightSplit;
00484
00493     PxReal mCentreBias;
00494
00503     PxReal mFrontBias;
00504
00513     PxReal mRearBias;
00514
00520     PxVehicleDifferential4WData::Enum mType;
00521
00522 private:
00523
00524     PxReal mPad[1];
00525
00526     bool isValid() const;
00527
00528 //serialization
00529 public:
00530     PxVehicleDifferential4WData(const PxEMPTY) {}
00531 //~serialization
00532 };
00533 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleDifferential4WData)& 0x0f));
00534
00535 class PxVehicleDifferentialNWData
00536 {
00537 public:
00538
00539     friend class PxVehicleDriveSimDataNW;
00540     friend class PxVehicleUpdate;
00541
00542     PxVehicleDifferentialNWData()
00543     {
00544         PxMemSet(mBitmapBuffer, 0, sizeof(PxU32) * (((PX_MAX_NB_WHEELS + 31) & ~31) >> 5));
00545         mNbDrivenWheels=0;
00546         mInvNbDrivenWheels=0.0f;
00547     }
00548
00556     void setDrivenWheel(const PxU32 wheelId, const bool drivenState);
00557
00561     bool getIsDrivenWheel(const PxU32 wheelId) const;
00562
00563 private:
00564
00565     PxU32 mBitmapBuffer[((PX_MAX_NB_WHEELS + 31) & ~31) >> 5];
00566     PxU32 mNbDrivenWheels;
00567     PxReal mInvNbDrivenWheels;
00568     PxU32 mPad;
00569
00570     bool isValid() const;
00571
00572 //serialization
00573 public:
00574     PxVehicleDifferentialNWData(const PxEMPTY) {}
00575     PxU32 getDrivenWheelStatus() const;
00576     void setDrivenWheelStatus(PxU32 status);
00577 //~serialization
00578 };
00579 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleDifferentialNWData)& 0x0f));
00580
00581
00582 class PxVehicleAckermannGeometryData
00583 {
00584 public:
00585
00586     friend class PxVehicleDriveSimData4W;
00587
00588     PxVehicleAckermannGeometryData()
00589         :   mAccuracy(1.0f),
00590             mFrontWidth(0.0f),      //Must be filled out
00591             mRearWidth(0.0f),       //Must be filled out
00592             mAxleSeparation(0.0f)   //Must be filled out
00593     {
00594     }
00595
00611     PxReal mAccuracy;
00612
00620     PxReal mFrontWidth;
00621
00629     PxReal mRearWidth;
00630
00638     PxReal mAxleSeparation;
00639
00640 private:
00641
00642     bool isValid() const;
00643
00644 //serialization
00645 public:
00646     PxVehicleAckermannGeometryData(const PxEMPTY) {}
00647 //~serialization
00648 };
00649 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleAckermannGeometryData)& 0x0f));
00650
00655 struct PxVehicleClutchAccuracyMode
00656 {
00657     enum Enum
00658     {
00659         eESTIMATE = 0,
00660         eBEST_POSSIBLE
00661     };
00662 };
00663
00664 class PxVehicleClutchData
00665 {
00666 public:
00667
00668     friend class PxVehicleDriveSimData;
00669
00670     PxVehicleClutchData()
00671         :   mStrength(10.0f),
00672             mAccuracyMode(PxVehicleClutchAccuracyMode::eBEST_POSSIBLE),
00673             mEstimateIterations(5)
00674     {
00675     }
00676
00695     PxReal mStrength;
00696
00711     PxVehicleClutchAccuracyMode::Enum mAccuracyMode;
00712
00724     PxU32 mEstimateIterations;
00725
00726 private:
00727
00728     PxU8 mPad[4];
00729
00730     bool isValid() const;
00731
00732 //serialization
00733 public:
00734     PxVehicleClutchData(const PxEMPTY) {}
00735 //~serialization
00736 };
00737 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleClutchData)& 0x0f));
00738
00739
00762 class PxVehicleTireLoadFilterData
00763 {
00764 public:
00765
00766     friend class PxVehicleWheelsSimData;
00767
00768     PxVehicleTireLoadFilterData()
00769         :   mMinNormalisedLoad(0),
00770             mMinFilteredNormalisedLoad(0.2308f),
00771             mMaxNormalisedLoad(3.0f),
00772             mMaxFilteredNormalisedLoad(3.0f)
00773     {
00774         mDenominator=1.0f/(mMaxNormalisedLoad - mMinNormalisedLoad);
00775     }
00776
00780     PxReal mMinNormalisedLoad;
00781
00785     PxReal mMinFilteredNormalisedLoad;
00786
00790     PxReal mMaxNormalisedLoad;
00791
00795     PxReal mMaxFilteredNormalisedLoad;
00796
00797     PX_FORCE_INLINE PxReal getDenominator() const {return mDenominator;}
00798
00799 private:
00800
00804     //1.0f/(mMaxNormalisedLoad-mMinNormalisedLoad) for quick calculations
00805     PxReal mDenominator;
00806
00807     PxU32 mPad[3];
00808
00809     bool isValid() const;
00810
00811 //serialization
00812 public:
00813     PxVehicleTireLoadFilterData(const PxEMPTY) {}
00814 //~serialization
00815 };
00816 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleTireLoadFilterData)& 0x0f));
00817
00818 class PxVehicleWheelData
00819 {
00820 public:
00821
00822     friend class PxVehicleWheels4SimData;
00823
00824     PxVehicleWheelData()
00825         :   mRadius(0.0f),              //Must be filled out
00826             mWidth(0.0f),
00827             mMass(20.0f),
00828             mMOI(0.0f),                 //Must be filled out
00829             mDampingRate(0.25f),
00830             mMaxBrakeTorque(1500.0f),
00831             mMaxHandBrakeTorque(0.0f),
00832             mMaxSteer(0.0f),
00833             mToeAngle(0.0f),
00834             mRecipRadius(0.0f),         //Must be filled out
00835             mRecipMOI(0.0f)             //Must be filled out
00836     {
00837     }
00838
00846     PxReal mRadius;
00847
00855     PxReal mWidth;
00856
00864     PxReal mMass;
00865
00873     PxReal mMOI;
00874
00882     PxReal mDampingRate;
00883
00891     PxReal mMaxBrakeTorque;
00892
00900     PxReal mMaxHandBrakeTorque;
00901
00909     PxReal mMaxSteer;
00910
00918     PxReal mToeAngle;//in radians
00919
00925     PX_FORCE_INLINE PxReal getRecipRadius() const {return mRecipRadius;}
00926
00932     PX_FORCE_INLINE PxReal getRecipMOI() const {return mRecipMOI;}
00933
00934 private:
00935
00943     PxReal mRecipRadius;
00944
00952     PxReal mRecipMOI;
00953
00954     PxReal mPad[1];
00955
00956     bool isValid() const;
00957 };
00958 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleWheelData)& 0x0f));
00959
00960 class PxVehicleSuspensionData
00961 {
00962 public:
00963
00964     friend class PxVehicleWheels4SimData;
00965
00966     PxVehicleSuspensionData()
00967         :   mSpringStrength(0.0f),
00968             mSpringDamperRate(0.0f),
00969             mMaxCompression(0.3f),
00970             mMaxDroop(0.1f),
00971             mSprungMass(0.0f),
00972             mCamberAtRest(0.0f),
00973             mCamberAtMaxCompression(0.0f),
00974             mCamberAtMaxDroop(0.0f),
00975             mRecipMaxCompression(1.0f),
00976             mRecipMaxDroop(1.0f)
00977     {
00978     }
00979
00987     PxReal mSpringStrength;
00988
00996     PxReal mSpringDamperRate;
00997
01005     PxReal mMaxCompression;
01006
01014     PxReal mMaxDroop;
01015
01047     PxReal mSprungMass;
01048
01057     PxReal mCamberAtRest;
01058
01069     PxReal mCamberAtMaxCompression;
01070
01081     PxReal mCamberAtMaxDroop;
01082
01090     PX_FORCE_INLINE PxReal getRecipMaxCompression() const {return mRecipMaxCompression;}
01091
01099     PX_FORCE_INLINE PxReal getRecipMaxDroop() const {return mRecipMaxDroop;}
01100
01106     void setMassAndPreserveNaturalFrequency(const PxReal newSprungMass)
01107     {
01108         const PxF32 oldStrength = mSpringStrength;
01109         const PxF32 oldSprungMass = mSprungMass;
01110         const PxF32 newStrength = oldStrength * (newSprungMass / oldSprungMass);
01111         mSpringStrength = newStrength;
01112         mSprungMass = newSprungMass;
01113     }
01114
01115 private:
01116
01122     PxReal mRecipMaxCompression;
01123
01129     PxReal mRecipMaxDroop;
01130
01131     //padding
01132     PxReal mPad[2];
01133
01134     bool isValid() const;
01135 };
01136 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleSuspensionData)& 0x0f));
01137
01138 class PxVehicleAntiRollBarData
01139 {
01140 public:
01141
01142     friend class PxVehicleWheelsSimData;
01143
01144     PxVehicleAntiRollBarData()
01145         : mWheel0(0xffffffff),
01146           mWheel1(0xffffffff),
01147           mStiffness(0.0f)
01148     {
01149     }
01150
01151     /*
01152     \brief The anti-roll bar connects two wheels with indices mWheel0 and mWheel1
01153     */
01154     PxU32 mWheel0;
01155
01156     /*
01157     \brief The anti-roll bar connects two wheels with indices mWheel0 and mWheel1
01158     */
01159     PxU32 mWheel1;
01160
01161     /*
01162     \brief The stiffness of the anti-roll bar.
01163
01164     \note Specified in kilograms per second-squared (kg s^-2).
01165
01166     <b>Range:</b> [0, PX_MAX_F32)<br>
01167     */
01168     PxF32 mStiffness;
01169
01170 private:
01171
01172     PxF32 mPad[1];
01173
01174     bool isValid() const;
01175 };
01176 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleAntiRollBarData)& 0x0f));
01177
01178 class PxVehicleTireData
01179 {
01180 public:
01181     friend class PxVehicleWheels4SimData;
01182
01183     PxVehicleTireData()
01184         :   mLatStiffX(2.0f),
01185             mLatStiffY(0.3125f*(180.0f / PxPi)),
01186             mLongitudinalStiffnessPerUnitGravity(1000.0f),
01187             mCamberStiffnessPerUnitGravity(0.1f*(180.0f / PxPi)),
01188             mType(0)
01189     {
01190         mFrictionVsSlipGraph[0][0]=0.0f;
01191         mFrictionVsSlipGraph[0][1]=1.0f;
01192         mFrictionVsSlipGraph[1][0]=0.1f;
01193         mFrictionVsSlipGraph[1][1]=1.0f;
01194         mFrictionVsSlipGraph[2][0]=1.0f;
01195         mFrictionVsSlipGraph[2][1]=1.0f;
01196
01197         mRecipLongitudinalStiffnessPerUnitGravity=1.0f/mLongitudinalStiffnessPerUnitGravity;
01198
01199         mFrictionVsSlipGraphRecipx1Minusx0=1.0f/(mFrictionVsSlipGraph[1][0]-mFrictionVsSlipGraph[0][0]);
01200         mFrictionVsSlipGraphRecipx2Minusx1=1.0f/(mFrictionVsSlipGraph[2][0]-mFrictionVsSlipGraph[1][0]);
01201     }
01202
01210     PxReal mLatStiffX;
01211
01227     PxReal mLatStiffY;
01228
01240     PxReal mLongitudinalStiffnessPerUnitGravity;
01241
01253     PxReal mCamberStiffnessPerUnitGravity;
01254
01288     PxReal mFrictionVsSlipGraph[3][2];
01289
01297     PxU32 mType;
01298
01304     PX_FORCE_INLINE PxReal getRecipLongitudinalStiffnessPerUnitGravity() const {return mRecipLongitudinalStiffnessPerUnitGravity;}
01305
01311     PX_FORCE_INLINE PxReal getFrictionVsSlipGraphRecipx1Minusx0() const {return mFrictionVsSlipGraphRecipx1Minusx0;}
01312
01318     PX_FORCE_INLINE PxReal getFrictionVsSlipGraphRecipx2Minusx1() const {return mFrictionVsSlipGraphRecipx2Minusx1;}
01319
01320 private:
01321
01329     PxReal mRecipLongitudinalStiffnessPerUnitGravity;
01330
01338     PxReal mFrictionVsSlipGraphRecipx1Minusx0;
01339
01347     PxReal mFrictionVsSlipGraphRecipx2Minusx1;
01348
01349     PxReal mPad[2];
01350
01351     bool isValid() const;
01352 };
01353 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleTireData)& 0x0f));
01354 #if !PX_DOXYGEN
01355 } // namespace physx
01356 #endif
01357
01359 #endif //PX_VEHICLE_CORE_COMPONENTS_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleDrive4W.h Source File

PxVehicleDrive4W.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PX_VEHICLE_4WDRIVE_H
00031 #define PX_VEHICLE_4WDRIVE_H
00032
00036 #include "vehicle/PxVehicleDrive.h"
00037 #include "vehicle/PxVehicleWheels.h"
00038 #include "vehicle/PxVehicleComponents.h"
00039
00040
00041 #if !PX_DOXYGEN
00042 namespace physx
00043 {
00044 #endif
00045
00046 struct PxFilterData;
00047 class PxGeometry;
00048 class PxPhysics;
00049 class PxBatchQuery;
00050 class PxVehicleDrivableSurfaceToTireFrictionPairs;
00051 class PxShape;
00052 class PxMaterial;
00053 class PxRigidDynamic;
00054
00060 class PxVehicleDriveSimData4W : public PxVehicleDriveSimData
00061 {
00062 //= ATTENTION! =====================================================================================
00063 // Changing the data layout of this class breaks the binary serialization format.  See comments for
00064 // PX_BINARY_SERIAL_VERSION.  If a modification is required, please adjust the getBinaryMetaData
00065 // function.  If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION
00066 // accordingly.
00067 //==================================================================================================
00068 public:
00069
00070     friend class PxVehicleDrive4W;
00071
00072     PxVehicleDriveSimData4W()
00073         : PxVehicleDriveSimData()
00074     {
00075     }
00076
00081     PX_FORCE_INLINE const PxVehicleDifferential4WData& getDiffData() const
00082     {
00083         return mDiff;
00084     }
00085
00090     PX_FORCE_INLINE const PxVehicleAckermannGeometryData& getAckermannGeometryData() const
00091     {
00092         return mAckermannGeometry;
00093     }
00094
00099     void setDiffData(const PxVehicleDifferential4WData& diff);
00100
00105     void setAckermannGeometryData(const PxVehicleAckermannGeometryData& ackermannData);
00106
00107 private:
00108
00113     PxVehicleDifferential4WData     mDiff;
00114
00119     PxVehicleAckermannGeometryData  mAckermannGeometry;
00120
00126     bool isValid() const;
00127
00128 //serialization
00129 public:
00130     PxVehicleDriveSimData4W(const PxEMPTY) : PxVehicleDriveSimData(PxEmpty), mDiff(PxEmpty), mAckermannGeometry(PxEmpty)  {}
00131     static void getBinaryMetaData(PxOutputStream& stream);
00132 //~serialization
00133 };
00134 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleDriveSimData4W) & 15));
00135
00136
00137
00144 struct PxVehicleDrive4WWheelOrder
00145 {
00146     enum Enum
00147     {
00148         eFRONT_LEFT=0,
00149         eFRONT_RIGHT,
00150         eREAR_LEFT,
00151         eREAR_RIGHT
00152     };
00153 };
00154
00161 struct PxVehicleDrive4WControl
00162 {
00163     enum Enum
00164     {
00165         eANALOG_INPUT_ACCEL=0,
00166         eANALOG_INPUT_BRAKE,
00167         eANALOG_INPUT_HANDBRAKE,
00168         eANALOG_INPUT_STEER_LEFT,
00169         eANALOG_INPUT_STEER_RIGHT,
00170         eMAX_NB_DRIVE4W_ANALOG_INPUTS
00171     };
00172 };
00173
00177 class PxVehicleDrive4W : public PxVehicleDrive
00178 {
00179 //= ATTENTION! =====================================================================================
00180 // Changing the data layout of this class breaks the binary serialization format.  See comments for
00181 // PX_BINARY_SERIAL_VERSION.  If a modification is required, please adjust the getBinaryMetaData
00182 // function.  If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION
00183 // accordingly.
00184 //==================================================================================================
00185 public:
00186     friend class PxVehicleUpdate;
00187
00197     static PxVehicleDrive4W* allocate(const PxU32 nbWheels);
00198
00203     void free();
00204
00216     void setup
00217         (PxPhysics* physics, PxRigidDynamic* vehActor,
00218          const PxVehicleWheelsSimData& wheelsData, const PxVehicleDriveSimData4W& driveData,
00219          const PxU32 nbNonDrivenWheels);
00220
00233     static PxVehicleDrive4W* create
00234         (PxPhysics* physics, PxRigidDynamic* vehActor,
00235          const PxVehicleWheelsSimData& wheelsData, const PxVehicleDriveSimData4W& driveData,
00236          const PxU32 nbNonDrivenWheels);
00237
00245     void setToRestState();
00246
00251     PxVehicleDriveSimData4W mDriveSimData;
00252
00253 private:
00254
00258     bool isValid() const;
00259
00260 //serialization
00261 protected:
00262                                     PxVehicleDrive4W();
00263                                     ~PxVehicleDrive4W(){}
00264     virtual     bool                isKindOf(const char* name)  const   { return !::strcmp("PxVehicleDrive4W", name) || PxBase::isKindOf(name); }
00265 public:
00266     static      PxVehicleDrive4W*   createObject(PxU8*& address, PxDeserializationContext& context);
00267     static      void                getBinaryMetaData(PxOutputStream& stream);
00268                                     PxVehicleDrive4W(PxBaseFlags baseFlags) : PxVehicleDrive(baseFlags), mDriveSimData(PxEmpty) {}
00269     virtual     const char*         getConcreteTypeName() const         { return "PxVehicleDrive4W";    }
00270 //~serialization
00271 };
00272 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleDrive4W) & 15));
00273
00274 #if !PX_DOXYGEN
00275 } // namespace physx
00276 #endif
00277
00279 #endif //PX_VEHICLE_4WDRIVE_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleDrive.h Source File

PxVehicleDrive.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PX_VEHICLE_DRIVE_H
00031 #define PX_VEHICLE_DRIVE_H
00032
00036 #include "vehicle/PxVehicleWheels.h"
00037 #include "vehicle/PxVehicleComponents.h"
00038
00039 #if !PX_DOXYGEN
00040 namespace physx
00041 {
00042 #endif
00043
00044 struct PxFilterData;
00045 class PxGeometry;
00046 class PxPhysics;
00047 class PxBatchQuery;
00048 class PxVehicleDrivableSurfaceToTireFrictionPairs;
00049 class PxShape;
00050 class PxMaterial;
00051 class PxRigidDynamic;
00052
00057 class PxVehicleDriveSimData
00058 {
00059 //= ATTENTION! =====================================================================================
00060 // Changing the data layout of this class breaks the binary serialization format.  See comments for
00061 // PX_BINARY_SERIAL_VERSION.  If a modification is required, please adjust the getBinaryMetaData
00062 // function.  If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION
00063 // accordingly.
00064 //==================================================================================================
00065 public:
00066
00067     friend class PxVehicleDriveTank;
00068
00072     PX_FORCE_INLINE const PxVehicleEngineData& getEngineData() const
00073     {
00074         return mEngine;
00075     }
00076
00081     void setEngineData(const PxVehicleEngineData& engine);
00082
00086     PX_FORCE_INLINE const PxVehicleGearsData& getGearsData() const
00087     {
00088         return mGears;
00089     }
00090
00095     void setGearsData(const PxVehicleGearsData& gears);
00096
00100     PX_FORCE_INLINE const PxVehicleClutchData& getClutchData() const
00101     {
00102         return mClutch;
00103     }
00104
00109     void setClutchData(const PxVehicleClutchData& clutch);
00110
00114     PX_FORCE_INLINE const PxVehicleAutoBoxData& getAutoBoxData() const
00115     {
00116         return mAutoBox;
00117     }
00118
00123     void setAutoBoxData(const PxVehicleAutoBoxData& autobox);
00124
00125 protected:
00126     /*
00127     \brief Engine simulation data
00128     @see setEngineData, getEngineData
00129     */
00130     PxVehicleEngineData             mEngine;
00131
00132     /*
00133     \brief Gear simulation data
00134     @see setGearsData, getGearsData
00135     */
00136     PxVehicleGearsData              mGears;
00137
00138     /*
00139     \brief Clutch simulation data
00140     @see setClutchData, getClutchData
00141     */
00142     PxVehicleClutchData             mClutch;
00143
00144     /*
00145     \brief Autobox simulation data
00146     @see setAutoboxData, getAutoboxData
00147     */
00148     PxVehicleAutoBoxData            mAutoBox;
00149
00155     bool isValid() const;
00156
00157
00158 //serialization
00159 public:
00160     PxVehicleDriveSimData() {}
00161     PxVehicleDriveSimData(const PxEMPTY) :  mEngine(PxEmpty), mGears(PxEmpty), mClutch(PxEmpty), mAutoBox(PxEmpty) {}
00162     static void getBinaryMetaData(PxOutputStream& stream);
00163 //~serialization
00164 };
00165 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleDriveSimData) & 15));
00166
00167
00172 class PxVehicleDriveDynData
00173 {
00174 public:
00175
00176     enum
00177     {
00178         eMAX_NB_ANALOG_INPUTS=16
00179     };
00180
00181     friend class PxVehicleDrive;
00182
00186     void setToRestState();
00187
00194     void setAnalogInput(const PxU32 type, const PxReal analogVal);
00195
00201     PxReal getAnalogInput(const PxU32 type) const;
00202
00212     void setGearUp(const bool digitalVal)
00213     {
00214         mGearUpPressed = digitalVal;
00215     }
00216
00226     void setGearDown(const bool digitalVal)
00227     {
00228         mGearDownPressed = digitalVal;
00229     }
00230
00235     bool getGearUp() const
00236     {
00237         return mGearUpPressed;
00238     }
00239
00244     bool getGearDown() const
00245     {
00246         return mGearDownPressed;
00247     }
00248
00254     PX_FORCE_INLINE void setUseAutoGears(const bool useAutoGears)
00255     {
00256         mUseAutoGears=useAutoGears;
00257     }
00258
00263     PX_FORCE_INLINE bool getUseAutoGears() const
00264     {
00265         return mUseAutoGears;
00266     }
00267
00272     PX_FORCE_INLINE void toggleAutoGears()
00273     {
00274         mUseAutoGears = !mUseAutoGears;
00275     }
00276
00288     PX_FORCE_INLINE void setCurrentGear(PxU32 currentGear)
00289     {
00290         mCurrentGear = currentGear;
00291     }
00292
00300     PX_FORCE_INLINE PxU32 getCurrentGear() const
00301     {
00302         return mCurrentGear;
00303     }
00304
00316     PX_FORCE_INLINE void setTargetGear(PxU32 targetGear)
00317     {
00318         mTargetGear = targetGear;
00319     }
00320
00328     PX_FORCE_INLINE PxU32 getTargetGear() const
00329     {
00330         return mTargetGear;
00331     }
00332
00342     PX_FORCE_INLINE void startGearChange(const PxU32 targetGear)
00343     {
00344         mTargetGear=targetGear;
00345     }
00346
00354     PX_FORCE_INLINE void forceGearChange(const PxU32 targetGear)
00355     {
00356         mTargetGear=targetGear;
00357         mCurrentGear=targetGear;
00358     }
00359
00365     PX_FORCE_INLINE void setEngineRotationSpeed(const PxF32 speed)
00366     {
00367         mEnginespeed = speed;
00368     }
00369
00375     PX_FORCE_INLINE PxReal getEngineRotationSpeed() const
00376     {
00377         return mEnginespeed;
00378     }
00379
00389     PX_FORCE_INLINE PxReal getGearSwitchTime() const
00390     {
00391         return mGearSwitchTime;
00392     }
00393
00401     PX_FORCE_INLINE PxReal getAutoBoxSwitchTime() const
00402     {
00403         return mAutoBoxSwitchTime;
00404     }
00405
00415     PxReal mControlAnalogVals[eMAX_NB_ANALOG_INPUTS];
00416
00421     bool mUseAutoGears;
00422
00430     bool mGearUpPressed;
00431
00439     bool mGearDownPressed;
00440
00445     PxU32 mCurrentGear;
00446
00451     PxU32 mTargetGear;
00452
00457     PxReal mEnginespeed;
00458
00463     PxReal mGearSwitchTime;
00464
00469     PxReal mAutoBoxSwitchTime;
00470
00471 private:
00472     PxU32 mPad[2];
00473
00478     bool isValid() const;
00479
00480 //serialization
00481 public:
00482     PxVehicleDriveDynData();
00483     PxVehicleDriveDynData(const PxEMPTY)  {}
00484     PxU32 getNbAnalogInput() const { return eMAX_NB_ANALOG_INPUTS; }
00485     PX_FORCE_INLINE void setGearChange(const PxU32 gearChange) { mTargetGear= gearChange; }
00486     PX_FORCE_INLINE PxU32 getGearChange() const { return mTargetGear; }
00487     PX_FORCE_INLINE void setGearSwitchTime(const PxReal switchTime) { mGearSwitchTime = switchTime; }
00488     PX_FORCE_INLINE void setAutoBoxSwitchTime(const PxReal autoBoxSwitchTime) { mAutoBoxSwitchTime = autoBoxSwitchTime; }
00489 //~serialization
00490 };
00491 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleDriveDynData) & 15));
00492
00497 class PxVehicleDrive : public PxVehicleWheels
00498 {
00499 //= ATTENTION! =====================================================================================
00500 // Changing the data layout of this class breaks the binary serialization format.  See comments for
00501 // PX_BINARY_SERIAL_VERSION.  If a modification is required, please adjust the getBinaryMetaData
00502 // function.  If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION
00503 // accordingly.
00504 //==================================================================================================
00505 public:
00506
00507     friend class PxVehicleUpdate;
00508
00513     PxVehicleDriveDynData mDriveDynData;
00514
00515 protected:
00516
00520     bool isValid() const;
00521
00525     void setToRestState();
00526
00530     static PxU32 computeByteSize(const PxU32 numWheels);
00531     static PxU8* patchupPointers(const PxU32 nbWheels, PxVehicleDrive* vehDrive, PxU8* ptr);
00532     virtual void init(const PxU32 numWheels);
00533
00538     void free();
00539
00543     void setup
00544         (PxPhysics* physics, PxRigidDynamic* vehActor,
00545          const PxVehicleWheelsSimData& wheelsData,
00546          const PxU32 nbDrivenWheels, const PxU32 nbNonDrivenWheels);
00547
00548 //serialization
00549 public:
00550     static void getBinaryMetaData(PxOutputStream& stream);
00551     PxVehicleDrive(PxBaseFlags baseFlags) : PxVehicleWheels(baseFlags), mDriveDynData(PxEmpty) {}
00552     virtual const char* getConcreteTypeName() const { return "PxVehicleDrive"; }
00553 protected:
00554     PxVehicleDrive(PxType concreteType, PxBaseFlags baseFlags) : PxVehicleWheels(concreteType, baseFlags) {}
00555     ~PxVehicleDrive() {}
00556     virtual bool isKindOf(const char* name) const { return !::strcmp("PxVehicleDrive", name) || PxBase::isKindOf(name); }
00557 //~serialization
00558 };
00559 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleDrive) & 15));
00560
00561 #if !PX_DOXYGEN
00562 } // namespace physx
00563 #endif
00564
00566 #endif //PX_VEHICLE_DRIVE_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleDriveNW.h Source File

PxVehicleDriveNW.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PX_VEHICLE_NWDRIVE_H
00031 #define PX_VEHICLE_NWDRIVE_H
00032
00036 #include "vehicle/PxVehicleDrive.h"
00037 #include "vehicle/PxVehicleWheels.h"
00038 #include "vehicle/PxVehicleComponents.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00045 struct PxFilterData;
00046 class PxGeometry;
00047 class PxPhysics;
00048 class PxBatchQuery;
00049 class PxVehicleDrivableSurfaceToTireFrictionPairs;
00050 class PxShape;
00051 class PxMaterial;
00052 class PxRigidDynamic;
00053
00059 class PxVehicleDriveSimDataNW : public PxVehicleDriveSimData
00060 {
00061 //= ATTENTION! =====================================================================================
00062 // Changing the data layout of this class breaks the binary serialization format.  See comments for
00063 // PX_BINARY_SERIAL_VERSION.  If a modification is required, please adjust the getBinaryMetaData
00064 // function.  If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION
00065 // accordingly.
00066 //==================================================================================================
00067 public:
00068
00069     friend class PxVehicleDriveNW;
00070
00071     PxVehicleDriveSimDataNW()
00072         : PxVehicleDriveSimData()
00073     {
00074     }
00075
00079     const PxVehicleDifferentialNWData& getDiffData()  const
00080     {
00081         return mDiff;
00082     }
00083
00088     void setDiffData(const PxVehicleDifferentialNWData& diff);
00089
00090 private:
00091
00096     PxVehicleDifferentialNWData mDiff;
00097
00103     bool isValid() const;
00104
00105 //serialization
00106 public:
00107     PxVehicleDriveSimDataNW(const PxEMPTY) : PxVehicleDriveSimData(PxEmpty), mDiff(PxEmpty) {}
00108     static void getBinaryMetaData(PxOutputStream& stream);
00109 //~serialization
00110 };
00111 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleDriveSimDataNW) & 15));
00112
00113
00119 struct PxVehicleDriveNWControl
00120 {
00121     enum Enum
00122     {
00123         eANALOG_INPUT_ACCEL=0,
00124         eANALOG_INPUT_BRAKE,
00125         eANALOG_INPUT_HANDBRAKE,
00126         eANALOG_INPUT_STEER_LEFT,
00127         eANALOG_INPUT_STEER_RIGHT,
00128         eMAX_NB_DRIVENW_ANALOG_INPUTS
00129     };
00130 };
00131
00135 class PxVehicleDriveNW : public PxVehicleDrive
00136 {
00137 //= ATTENTION! =====================================================================================
00138 // Changing the data layout of this class breaks the binary serialization format.  See comments for
00139 // PX_BINARY_SERIAL_VERSION.  If a modification is required, please adjust the getBinaryMetaData
00140 // function.  If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION
00141 // accordingly.
00142 //==================================================================================================
00143 public:
00144
00145     friend class PxVehicleUpdate;
00146
00156     static PxVehicleDriveNW* allocate(const PxU32 nbWheels);
00157
00162     void free();
00163
00174     void setup
00175         (PxPhysics* physics, PxRigidDynamic* vehActor,
00176          const PxVehicleWheelsSimData& wheelsData, const PxVehicleDriveSimDataNW& driveData,
00177          const PxU32 nbWheels);
00178
00190     static PxVehicleDriveNW* create
00191         (PxPhysics* physics, PxRigidDynamic* vehActor,
00192          const PxVehicleWheelsSimData& wheelsData, const PxVehicleDriveSimDataNW& driveData,
00193          const PxU32 nbWheels);
00194
00202     void setToRestState();
00203
00208     PxVehicleDriveSimDataNW mDriveSimData;
00209
00210 private:
00211
00215     bool isValid() const;
00216
00217 //serialization
00218 public:
00219                                 PxVehicleDriveNW(PxBaseFlags baseFlags) : PxVehicleDrive(baseFlags), mDriveSimData(PxEmpty) {}
00220                                 PxVehicleDriveNW();
00221                                 ~PxVehicleDriveNW(){}
00222     static  PxVehicleDriveNW*   createObject(PxU8*& address, PxDeserializationContext& context);
00223     static  void                getBinaryMetaData(PxOutputStream& stream);
00224     virtual const char*         getConcreteTypeName() const         { return "PxVehicleDriveNW";    }
00225     virtual bool                isKindOf(const char* name)  const   { return !::strcmp("PxVehicleDriveNW", name) || PxBase::isKindOf(name); }
00226 //~serialization
00227 };
00228 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleDriveNW) & 15));
00229
00230
00231
00232 #if !PX_DOXYGEN
00233 } // namespace physx
00234 #endif
00235
00237 #endif //PX_VEHICLE_NWDRIVE_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleDriveTank.h Source File

PxVehicleDriveTank.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PX_VEHICLE_DRIVE_TANK_H
00031 #define PX_VEHICLE_DRIVE_TANK_H
00032
00036 #include "vehicle/PxVehicleDrive.h"
00037 #include "vehicle/PxVehicleWheels.h"
00038 #include "vehicle/PxVehicleComponents.h"
00039
00040
00041 #if !PX_DOXYGEN
00042 namespace physx
00043 {
00044 #endif
00045
00046 struct PxFilterData;
00047 class PxGeometry;
00048 class PxPhysics;
00049 class PxBatchQuery;
00050 class PxVehicleDrivableSurfaceToTireFrictionPairs;
00051 class PxShape;
00052 class PxMaterial;
00053 class PxRigidDynamic;
00054
00060 struct PxVehicleDriveTankWheelOrder
00061 {
00062     enum Enum
00063     {
00064         eFRONT_LEFT=0,
00065         eFRONT_RIGHT,
00066         e1ST_FROM_FRONT_LEFT,
00067         e1ST_FROM_FRONT_RIGHT,
00068         e2ND_FROM_FRONT_LEFT,
00069         e2ND_FROM_FRONT_RIGHT,
00070         e3RD_FROM_FRONT_LEFT,
00071         e3RD_FROM_FRONT_RIGHT,
00072         e4TH_FROM_FRONT_LEFT,
00073         e4TH_FROM_FRONT_RIGHT,
00074         e5TH_FROM_FRONT_LEFT,
00075         e5TH_FROM_FRONT_RIGHT,
00076         e6TH_FROM_FRONT_LEFT,
00077         e6TH_FROM_FRONT_RIGHT,
00078         e7TH_FROM_FRONT_LEFT,
00079         e7TH_FROM_FRONT_RIGHT,
00080         e8TH_FROM_FRONT_LEFT,
00081         e8TH_FROM_FRONT_RIGHT,
00082         e9TH_FROM_FRONT_LEFT,
00083         e9TH_FROM_FRONT_RIGHT
00084     };
00085 };
00086
00087
00106 struct PxVehicleDriveTankControl
00107 {
00108     enum Enum
00109     {
00110         eANALOG_INPUT_ACCEL=0,
00111         eANALOG_INPUT_BRAKE_LEFT,
00112         eANALOG_INPUT_BRAKE_RIGHT,
00113         eANALOG_INPUT_THRUST_LEFT,
00114         eANALOG_INPUT_THRUST_RIGHT,
00115         eMAX_NB_DRIVETANK_ANALOG_INPUTS
00116     };
00117 };
00118
00138 struct PxVehicleDriveTankControlModel
00139 {
00140     enum Enum
00141     {
00142         eSTANDARD=0,
00143         eSPECIAL
00144     };
00145 };
00146
00147
00151 class PxVehicleDriveTank : public PxVehicleDrive
00152 {
00153 //= ATTENTION! =====================================================================================
00154 // Changing the data layout of this class breaks the binary serialization format.  See comments for
00155 // PX_BINARY_SERIAL_VERSION.  If a modification is required, please adjust the getBinaryMetaData
00156 // function.  If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION
00157 // accordingly.
00158 //==================================================================================================
00159 public:
00160
00161     friend class PxVehicleUpdate;
00162
00163
00175     static PxVehicleDriveTank* allocate(const PxU32 nbWheels);
00176
00181     void free();
00182
00196     void setup
00197         (PxPhysics* physics, PxRigidDynamic* vehActor,
00198          const PxVehicleWheelsSimData& wheelsData, const PxVehicleDriveSimData& driveData,
00199          const PxU32 nbDrivenWheels);
00200
00212     static PxVehicleDriveTank* create
00213         (PxPhysics* physics, PxRigidDynamic* vehActor,
00214          const PxVehicleWheelsSimData& wheelsData, const PxVehicleDriveSimData& driveData,
00215          const PxU32 nbDrivenWheels);
00216
00223     void setDriveModel(const PxVehicleDriveTankControlModel::Enum driveModel)
00224     {
00225         mDriveModel=driveModel;
00226     }
00227
00231     PxVehicleDriveTankControlModel::Enum getDriveModel() const {return mDriveModel;}
00232
00240     void setToRestState();
00241
00246     PxVehicleDriveSimData mDriveSimData;
00247
00248 private:
00252     bool isValid() const;
00253
00258     PxVehicleDriveTankControlModel::Enum mDriveModel;
00259
00260     PxU32 mPad[3];
00261
00262 //serialization
00263 public:
00264                                             PxVehicleDriveTank(PxBaseFlags baseFlags) : PxVehicleDrive(baseFlags)           {}
00265     static      PxVehicleDriveTank*         createObject(PxU8*& address, PxDeserializationContext& context);
00266     static      void                        getBinaryMetaData(PxOutputStream& stream);
00267     virtual     const char*                 getConcreteTypeName()       const   {   return "PxVehicleDriveTank";    }
00268     virtual     bool                        isKindOf(const char* name)  const   {   return !::strcmp("PxVehicleDriveTank", name) || PxBase::isKindOf(name); }
00269 protected:
00270                                             PxVehicleDriveTank();
00271                                             ~PxVehicleDriveTank(){}
00272 //~serialization
00273 };
00274 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleDriveTank) & 15));
00275
00276 #if !PX_DOXYGEN
00277 } // namespace physx
00278 #endif
00279
00281 #endif //PX_VEHICLE_DRIVE_TANK_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleNoDrive.h Source File

PxVehicleNoDrive.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PX_VEHICLE_NO_DRIVE_H
00031 #define PX_VEHICLE_NO_DRIVE_H
00032
00036 #include "vehicle/PxVehicleWheels.h"
00037 #include "vehicle/PxVehicleComponents.h"
00038
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00045 struct PxFilterData;
00046 class PxGeometry;
00047 class PxPhysics;
00048 class PxBatchQuery;
00049 class PxVehicleDrivableSurfaceToTireFrictionPairs;
00050 class PxShape;
00051 class PxMaterial;
00052 class PxRigidDynamic;
00053
00057 class PxVehicleNoDrive : public PxVehicleWheels
00058 {
00059 //= ATTENTION! =====================================================================================
00060 // Changing the data layout of this class breaks the binary serialization format.  See comments for
00061 // PX_BINARY_SERIAL_VERSION.  If a modification is required, please adjust the getBinaryMetaData
00062 // function.  If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION
00063 // accordingly.
00064 //==================================================================================================
00065 public:
00066
00067     friend class PxVehicleUpdate;
00068
00078     static PxVehicleNoDrive* allocate(const PxU32 nbWheels);
00079
00084     void free();
00085
00094     void setup
00095         (PxPhysics* physics, PxRigidDynamic* vehActor, const PxVehicleWheelsSimData& wheelsData);
00096
00106     static PxVehicleNoDrive* create
00107         (PxPhysics* physics, PxRigidDynamic* vehActor, const PxVehicleWheelsSimData& wheelsData);
00108
00116     void setToRestState();
00117
00128     void setBrakeTorque(const PxU32 id, const PxReal brakeTorque);
00129
00140     void setDriveTorque(const PxU32 id, const PxReal driveTorque);
00141
00152     void setSteerAngle(const PxU32 id, const PxReal steerAngle);
00153
00159     PxReal getBrakeTorque(const PxU32 id) const;
00160
00166     PxReal getDriveTorque(const PxU32 id) const;
00167
00173     PxReal getSteerAngle(const PxU32 id) const;
00174
00175 private:
00176
00177     PxReal* mSteerAngles;
00178     PxReal* mDriveTorques;
00179     PxReal* mBrakeTorques;
00180
00181 #if PX_P64_FAMILY
00182     PxU32 mPad[2];
00183 #else
00184     PxU32 mPad[1];
00185 #endif
00186
00190     bool isValid() const;
00191
00192
00193 //serialization
00194 public:
00195                                     PxVehicleNoDrive(PxBaseFlags baseFlags) : PxVehicleWheels(baseFlags) {}
00196     virtual     void                exportExtraData(PxSerializationContext&);
00197                 void                importExtraData(PxDeserializationContext&);
00198     static      PxVehicleNoDrive*   createObject(PxU8*& address, PxDeserializationContext& context);
00199     static      void                getBinaryMetaData(PxOutputStream& stream);
00200     virtual     const char*         getConcreteTypeName() const         { return "PxVehicleNoDrive";    }
00201     virtual     bool                isKindOf(const char* name)  const   { return !::strcmp("PxVehicleNoDrive", name) || PxBase::isKindOf(name); }
00202                 PxU32               getNbSteerAngle() const { return mWheelsSimData.getNbWheels();  }
00203                 PxU32               getNbDriveTorque() const    { return mWheelsSimData.getNbWheels();  }
00204                 PxU32               getNbBrakeTorque() const    { return mWheelsSimData.getNbWheels();  }
00205 protected:
00206                                     PxVehicleNoDrive();
00207                                     ~PxVehicleNoDrive() {}
00208 //~serialization
00209 };
00210 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleNoDrive) & 15));
00211
00212 #if !PX_DOXYGEN
00213 } // namespace physx
00214 #endif
00215
00217 #endif //PX_VEHICLE_NO_DRIVE_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleSDK.h Source File

PxVehicleSDK.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PX_VEHICLE_SDK_H
00031 #define PX_VEHICLE_SDK_H
00032
00036 #include "foundation/Px.h"
00037 #include "common/PxTypeInfo.h"
00038
00039 #if !PX_DOXYGEN
00040 namespace physx
00041 {
00042 #endif
00043
00044 class PxPhysics;
00045 class PxSerializationRegistry;
00046
00060 PX_C_EXPORT bool PX_CALL_CONV PxInitVehicleSDK(PxPhysics& physics, PxSerializationRegistry* serializationRegistry = NULL);
00061
00062
00075 PX_C_EXPORT void PX_CALL_CONV PxCloseVehicleSDK(PxSerializationRegistry* serializationRegistry = NULL);
00076
00077
00081 #define PX_MAX_NB_WHEELS (20)
00082
00083
00089 #define PX_DEBUG_VEHICLE_ON (1)
00090
00091
00095 struct PxVehicleTypes
00096 {
00097     enum Enum
00098     {
00099         eDRIVE4W=0,
00100         eDRIVENW,
00101         eDRIVETANK,
00102         eNODRIVE,
00103         eUSER1,
00104         eUSER2,
00105         eUSER3,
00106         eMAX_NB_VEHICLE_TYPES
00107     };
00108 };
00109
00110
00116 struct PxVehicleConcreteType
00117 {
00118     enum Enum
00119     {
00120         eVehicleNoDrive = PxConcreteType::eFIRST_VEHICLE_EXTENSION,
00121         eVehicleDrive4W,
00122         eVehicleDriveNW,
00123         eVehicleDriveTank
00124     };
00125 };
00126
00127
00135 void PxVehicleSetBasisVectors(const PxVec3& up, const PxVec3& forward);
00136
00137
00141 struct PxVehicleUpdateMode
00142 {
00143     enum Enum
00144     {
00145         eVELOCITY_CHANGE,
00146         eACCELERATION
00147     };
00148 };
00149
00150
00162 void PxVehicleSetUpdateMode(PxVehicleUpdateMode::Enum vehicleUpdateMode);
00163
00216 void PxVehicleSetSweepHitRejectionAngles(const PxF32 pointRejectAngle, const PxF32 normalRejectAngle);
00217
00218
00230 void PxVehicleSetMaxHitActorAcceleration(const PxF32 maxHitActorAcceleration);
00231
00232 #if !PX_DOXYGEN
00233 } // namespace physx
00234 #endif
00235
00237 #endif //PX_VEHICLE_SDK_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleShaders.h Source File

PxVehicleShaders.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PX_VEHICLE_SHADERS_H
00031 #define PX_VEHICLE_SHADERS_H
00032
00036 #include "foundation/PxSimpleTypes.h"
00037
00038 #if !PX_DOXYGEN
00039 namespace physx
00040 {
00041 #endif
00042
00064 typedef void (*PxVehicleComputeTireForce)
00065 (const void* shaderData,
00066  const PxF32 tireFriction,
00067  const PxF32 longSlip, const PxF32 latSlip, const PxF32 camber,
00068  const PxF32 wheelOmega, const PxF32 wheelRadius, const PxF32 recipWheelRadius,
00069  const PxF32 restTireLoad, const PxF32 normalisedTireLoad, const PxF32 tireLoad,
00070  const PxF32 gravity, const PxF32 recipGravity,
00071  PxF32& wheelTorque, PxF32& tireLongForceMag, PxF32& tireLatForceMag, PxF32& tireAlignMoment);
00072
00073
00074 #if !PX_DOXYGEN
00075 } // namespace physx
00076 #endif
00077
00079 #endif //PX_VEHICLE_SHADERS_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleTireFriction.h Source File

PxVehicleTireFriction.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PX_VEHICLE_TIREFRICTION_H
00031 #define PX_VEHICLE_TIREFRICTION_H
00032
00036 #include "foundation/PxSimpleTypes.h"
00037
00038 #if !PX_DOXYGEN
00039 namespace physx
00040 {
00041 #endif
00042
00043 class PxMaterial;
00044
00049 struct PxVehicleDrivableSurfaceType
00050 {
00051     enum
00052     {
00053         eSURFACE_TYPE_UNKNOWN=0xffffffff
00054     };
00055     PxU32 mType;
00056 };
00057
00062 class PxVehicleDrivableSurfaceToTireFrictionPairs
00063 {
00064 public:
00065
00066     friend class VehicleSurfaceTypeHashTable;
00067
00068     enum
00069     {
00070         eMAX_NB_SURFACE_TYPES=256
00071     };
00072
00084     static PxVehicleDrivableSurfaceToTireFrictionPairs* allocate
00085         (const PxU32 maxNbTireTypes, const PxU32 maxNbSurfaceTypes);
00086
00101     void setup
00102         (const PxU32 nbTireTypes, const PxU32 nbSurfaceTypes,
00103          const PxMaterial** drivableSurfaceMaterials, const PxVehicleDrivableSurfaceType* drivableSurfaceTypes);
00104
00108     void release();
00109
00117     void setTypePairFriction(const PxU32 surfaceType, const PxU32 tireType, const PxReal value);
00118
00126     PxReal getTypePairFriction(const PxU32 surfaceType, const PxU32 tireType) const;
00127
00133     PxU32 getMaxNbSurfaceTypes() const {return mMaxNbSurfaceTypes;}
00134
00140     PxU32 getMaxNbTireTypes() const {return mMaxNbTireTypes;}
00141
00142 private:
00143
00150     PxReal* mPairs;
00151
00162     const PxMaterial** mDrivableSurfaceMaterials;
00163
00174     PxVehicleDrivableSurfaceType* mDrivableSurfaceTypes;
00175
00183     PxU32 mNbSurfaceTypes;
00184
00190     PxU32 mMaxNbSurfaceTypes;
00191
00197     PxU32 mNbTireTypes;
00198
00204     PxU32 mMaxNbTireTypes;
00205
00206
00207 #if !PX_P64_FAMILY
00208     PxU32 mPad[1];
00209 #else
00210     PxU32 mPad[2];
00211 #endif
00212
00213     PxVehicleDrivableSurfaceToTireFrictionPairs(){}
00214     ~PxVehicleDrivableSurfaceToTireFrictionPairs(){}
00215 };
00216 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleDrivableSurfaceToTireFrictionPairs) & 15));
00217
00218 #if !PX_DOXYGEN
00219 } // namespace physx
00220 #endif
00221
00223 #endif //PX_VEHICLE_TIREFRICTION_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleUpdate.h Source File

PxVehicleUpdate.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PX_VEHICLE_UPDATE_H
00031 #define PX_VEHICLE_UPDATE_H
00032
00036 #include "vehicle/PxVehicleSDK.h"
00037 #include "vehicle/PxVehicleTireFriction.h"
00038 #include "foundation/PxSimpleTypes.h"
00039 #include "foundation/PxMemory.h"
00040 #include "foundation/PxTransform.h"
00041 #include "PxBatchQueryDesc.h"
00042
00043 #if !PX_DOXYGEN
00044 namespace physx
00045 {
00046 #endif
00047
00048     class PxBatchQuery;
00049     class PxContactModifyPair;
00050     class PxVehicleWheels;
00051     class PxVehicleDrivableSurfaceToTireFrictionPairs;
00052     class PxVehicleTelemetryData;
00053
00059     struct PxWheelQueryResult
00060     {
00061         PxWheelQueryResult()
00062         {
00063             PxMemZero(this, sizeof(PxWheelQueryResult));
00064             isInAir=true;
00065             tireSurfaceType = PxU32(PxVehicleDrivableSurfaceType::eSURFACE_TYPE_UNKNOWN);
00066             localPose = PxTransform(PxIdentity);
00067         }
00068
00074         PxVec3 suspLineStart;
00075
00081         PxVec3 suspLineDir;
00082
00088         PxReal suspLineLength;
00089
00096         bool isInAir;
00097
00103         PxActor* tireContactActor;
00104
00110         PxShape* tireContactShape;
00111
00117         const PxMaterial* tireSurfaceMaterial;
00118
00128         PxU32 tireSurfaceType;
00129
00135         PxVec3 tireContactPoint;
00136
00142         PxVec3 tireContactNormal;
00143
00152         PxReal tireFriction;
00153
00162         PxReal suspJounce;
00163
00171         PxReal suspSpringForce;
00172
00179         PxVec3 tireLongitudinalDir;
00180
00187         PxVec3 tireLateralDir;
00188
00197         PxReal longitudinalSlip;
00198
00207         PxReal lateralSlip;
00208
00213         PxReal steerAngle;
00214
00218         PxTransform localPose;
00219     };
00220
00221     struct PxVehicleWheelQueryResult
00222     {
00231         PxWheelQueryResult* wheelQueryResults;
00232
00237         PxU32 nbWheelQueryResults;
00238     };
00239
00246     struct PxVehicleWheelConcurrentUpdateData
00247     {
00248         friend class PxVehicleUpdate;
00249
00250         PxVehicleWheelConcurrentUpdateData()
00251             : localPose(PxTransform(PxIdentity)),
00252               hitActor(NULL),
00253               hitActorForce(PxVec3(0,0,0)),
00254               hitActorForcePosition(PxVec3(0,0,0))
00255         {
00256         }
00257
00258     private:
00259
00260         PxTransform localPose;
00261         PxRigidDynamic* hitActor;
00262         PxVec3 hitActorForce;
00263         PxVec3 hitActorForcePosition;
00264     };
00265
00273     struct PxVehicleConcurrentUpdateData
00274     {
00275         friend class PxVehicleUpdate;
00276
00277         PxVehicleConcurrentUpdateData()
00278             : concurrentWheelUpdates(NULL),
00279               nbConcurrentWheelUpdates(0),
00280               linearMomentumChange(PxVec3(0,0,0)),
00281               angularMomentumChange(PxVec3(0,0,0)),
00282               staySleeping(false),
00283               wakeup(false)
00284         {
00285         }
00286
00293         PxVehicleWheelConcurrentUpdateData* concurrentWheelUpdates;
00294
00299         PxU32 nbConcurrentWheelUpdates;
00300
00301     private:
00302
00303         PxVec3 linearMomentumChange;
00304         PxVec3 angularMomentumChange;
00305         bool staySleeping;
00306         bool wakeup;
00307     };
00308
00346     void PxVehicleSuspensionRaycasts
00347         (PxBatchQuery* batchQuery,
00348          const PxU32 nbVehicles, PxVehicleWheels** vehicles,
00349          const PxU32 nbSceneQueryResults, PxRaycastQueryResult* sceneQueryResults,
00350          const bool* vehiclesToRaycast = NULL);
00351
00352
00408     void PxVehicleSuspensionSweeps
00409         (PxBatchQuery* batchQuery,
00410          const PxU32 nbVehicles, PxVehicleWheels** vehicles,
00411          const PxU32 nbSceneQueryResults, PxSweepQueryResult* sceneQueryResults,  const PxU16 nbHitsPerQuery,
00412          const bool* vehiclesToSweep = NULL,
00413          const PxF32 sweepWidthScale = 1.0f, const PxF32 sweepRadiusScale = 1.0f);
00414
00447     PxU32 PxVehicleModifyWheelContacts
00448         (const PxVehicleWheels& vehicle, const PxU32 wheelId,
00449         const PxF32 wheelTangentVelocityMultiplier, const PxReal maxImpulse,
00450         PxContactModifyPair& contactModifyPair);
00451
00452
00497     void PxVehicleUpdates(
00498         const PxReal timestep, const PxVec3& gravity,
00499         const PxVehicleDrivableSurfaceToTireFrictionPairs& vehicleDrivableSurfaceToTireFrictionPairs,
00500         const PxU32 nbVehicles, PxVehicleWheels** vehicles, PxVehicleWheelQueryResult* vehicleWheelQueryResults, PxVehicleConcurrentUpdateData* vehicleConcurrentUpdates = NULL);
00501
00502
00515     void PxVehiclePostUpdates(
00516         const PxVehicleConcurrentUpdateData* vehicleConcurrentUpdates, const PxU32 nbVehicles, PxVehicleWheels** vehicles);
00517
00518
00535     void PxVehicleShiftOrigin(const PxVec3& shift, const PxU32 nbVehicles, PxVehicleWheels** vehicles);
00536
00537 #if PX_DEBUG_VEHICLE_ON
00538
00567     void PxVehicleUpdateSingleVehicleAndStoreTelemetryData
00568         (const PxReal timestep, const PxVec3& gravity,
00569          const PxVehicleDrivableSurfaceToTireFrictionPairs& vehicleDrivableSurfaceToTireFrictionPairs,
00570          PxVehicleWheels* focusVehicle, PxVehicleWheelQueryResult* vehicleWheelQueryResults,
00571          PxVehicleTelemetryData& telemetryData);
00572 #endif
00573
00574 #if !PX_DOXYGEN
00575 } // namespace physx
00576 #endif
00577
00579 #endif //PX_VEHICLE_UPDATE_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleUtil.h Source File

PxVehicleUtil.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PX_VEHICLE_UTILHELPER_H
00031 #define PX_VEHICLE_UTILHELPER_H
00032
00036 #include "foundation/Px.h"
00037
00038 #if !PX_DOXYGEN
00039 namespace physx
00040 {
00041 #endif
00042
00043 struct PxVehicleWheelQueryResult;
00044
00057 bool PxVehicleIsInAir(const PxVehicleWheelQueryResult& vehWheelQueryResults);
00058
00059 #if !PX_DOXYGEN
00060 } // namespace physx
00061 #endif
00062
00064 #endif //PX_VEHICLE_UTILHELPER_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleUtilControl.h Source File

PxVehicleUtilControl.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PX_VEHICLE_CONTROL_H
00031 #define PX_VEHICLE_CONTROL_H
00032
00035 #include "vehicle/PxVehicleSDK.h"
00036 #include "vehicle/PxVehicleDrive4W.h"
00037 #include "vehicle/PxVehicleDriveNW.h"
00038 #include "vehicle/PxVehicleDriveTank.h"
00039
00040
00041 #if !PX_DOXYGEN
00042 namespace physx
00043 {
00044 #endif
00045
00046 #if PX_CHECKED
00047     void testValidAnalogValue(const PxF32 actualValue, const PxF32 minVal, const PxF32 maxVal, const char* errorString);
00048 #endif
00049
00054 struct PxVehicleKeySmoothingData
00055 {
00056 public:
00057
00061     PxReal mRiseRates[PxVehicleDriveDynData::eMAX_NB_ANALOG_INPUTS];
00062
00066     PxReal mFallRates[PxVehicleDriveDynData::eMAX_NB_ANALOG_INPUTS];
00067 };
00068 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleKeySmoothingData)& 0x0f));
00069
00074 struct PxVehiclePadSmoothingData
00075 {
00076 public:
00077
00081     PxReal mRiseRates[PxVehicleDriveDynData::eMAX_NB_ANALOG_INPUTS];
00082
00086     PxReal mFallRates[PxVehicleDriveDynData::eMAX_NB_ANALOG_INPUTS];
00087 };
00088 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehiclePadSmoothingData)& 0x0f));
00089
00094 class PxVehicleDrive4WRawInputData
00095 {
00096 public:
00097
00098     PxVehicleDrive4WRawInputData()
00099     {
00100         for(PxU32 i=0;i<PxVehicleDrive4WControl::eMAX_NB_DRIVE4W_ANALOG_INPUTS;i++)
00101         {
00102             mRawDigitalInputs[i]=false;
00103             mRawAnalogInputs[i]=0.0f;
00104         }
00105
00106         mGearUp = false;
00107         mGearDown = false;
00108     }
00109
00110     virtual ~PxVehicleDrive4WRawInputData()
00111     {
00112     }
00113
00118     void setDigitalAccel(const bool accelKeyPressed)            {mRawDigitalInputs[PxVehicleDrive4WControl::eANALOG_INPUT_ACCEL]=accelKeyPressed;}
00119
00124     void setDigitalBrake(const bool brakeKeyPressed)            {mRawDigitalInputs[PxVehicleDrive4WControl::eANALOG_INPUT_BRAKE]=brakeKeyPressed;}
00125
00130     void setDigitalHandbrake(const bool handbrakeKeyPressed)    {mRawDigitalInputs[PxVehicleDrive4WControl::eANALOG_INPUT_HANDBRAKE]=handbrakeKeyPressed;}
00131
00136     void setDigitalSteerLeft(const bool steerLeftKeyPressed)    {mRawDigitalInputs[PxVehicleDrive4WControl::eANALOG_INPUT_STEER_LEFT]=steerLeftKeyPressed;}
00137
00142     void setDigitalSteerRight(const bool steerRightKeyPressed)  {mRawDigitalInputs[PxVehicleDrive4WControl::eANALOG_INPUT_STEER_RIGHT]=steerRightKeyPressed;}
00143
00144
00149     bool getDigitalAccel() const                                {return mRawDigitalInputs[PxVehicleDrive4WControl::eANALOG_INPUT_ACCEL];}
00150
00155     bool getDigitalBrake() const                                {return mRawDigitalInputs[PxVehicleDrive4WControl::eANALOG_INPUT_BRAKE];}
00156
00161     bool getDigitalHandbrake() const                            {return mRawDigitalInputs[PxVehicleDrive4WControl::eANALOG_INPUT_HANDBRAKE];}
00162
00167     bool getDigitalSteerLeft() const                            {return mRawDigitalInputs[PxVehicleDrive4WControl::eANALOG_INPUT_STEER_LEFT];}
00168
00173     bool getDigitalSteerRight() const                           {return mRawDigitalInputs[PxVehicleDrive4WControl::eANALOG_INPUT_STEER_RIGHT];}
00174
00175
00180     void setAnalogAccel(const PxReal accel)
00181     {
00182 #if PX_CHECKED
00183         testValidAnalogValue(accel, 0.0f, 1.0f, "Analog accel must be in range (0,1)");
00184 #endif
00185         mRawAnalogInputs[PxVehicleDrive4WControl::eANALOG_INPUT_ACCEL]=accel;
00186     }
00187
00192     void setAnalogBrake(const PxReal brake)
00193     {
00194 #if PX_CHECKED
00195         testValidAnalogValue(brake, 0.0f, 1.0f, "Analog brake must be in range (0,1)");
00196 #endif
00197         mRawAnalogInputs[PxVehicleDrive4WControl::eANALOG_INPUT_BRAKE]=brake;
00198     }
00199
00204     void setAnalogHandbrake(const PxReal handbrake)
00205     {
00206 #if PX_CHECKED
00207         testValidAnalogValue(handbrake, 0.0f, 1.0f, "Analog handbrake must be in range (0,1)");
00208 #endif
00209         mRawAnalogInputs[PxVehicleDrive4WControl::eANALOG_INPUT_HANDBRAKE]=handbrake;
00210     }
00211
00216     void setAnalogSteer(const PxReal steer)
00217     {
00218 #if PX_CHECKED
00219         testValidAnalogValue(steer, -1.0f, 1.0f, "Analog steer must be in range (-1,1)");
00220 #endif
00221         mRawAnalogInputs[PxVehicleDrive4WControl::eANALOG_INPUT_STEER_RIGHT]=steer;
00222     }
00223
00228     PxReal getAnalogAccel() const                               {return mRawAnalogInputs[PxVehicleDrive4WControl::eANALOG_INPUT_ACCEL];}
00229
00234     PxReal getAnalogBrake() const                               {return mRawAnalogInputs[PxVehicleDrive4WControl::eANALOG_INPUT_BRAKE];}
00235
00240     PxReal getAnalogHandbrake() const                           {return mRawAnalogInputs[PxVehicleDrive4WControl::eANALOG_INPUT_HANDBRAKE];}
00241
00245     PxReal getAnalogSteer() const                               {return mRawAnalogInputs[PxVehicleDrive4WControl::eANALOG_INPUT_STEER_RIGHT];}
00246
00251     void setGearUp(const bool gearUpKeyPressed)                 {mGearUp=gearUpKeyPressed;}
00252
00257     void setGearDown(const bool gearDownKeyPressed)             {mGearDown=gearDownKeyPressed;}
00258
00263     bool getGearUp() const                                      {return mGearUp;}
00264
00269     bool getGearDown() const                                    {return mGearDown;}
00270
00271 private:
00272
00273     bool mRawDigitalInputs[PxVehicleDrive4WControl::eMAX_NB_DRIVE4W_ANALOG_INPUTS];
00274     PxReal mRawAnalogInputs[PxVehicleDrive4WControl::eMAX_NB_DRIVE4W_ANALOG_INPUTS];
00275
00276     bool mGearUp;
00277     bool mGearDown;
00278 };
00279
00290 void PxVehicleDrive4WSmoothDigitalRawInputsAndSetAnalogInputs
00291     (const PxVehicleKeySmoothingData& keySmoothing, const PxFixedSizeLookupTable<8>& steerVsForwardSpeedTable,
00292      const PxVehicleDrive4WRawInputData& rawInputData,
00293      const PxReal timestep,
00294      const bool isVehicleInAir,
00295      PxVehicleDrive4W& focusVehicle);
00296
00307 void PxVehicleDrive4WSmoothAnalogRawInputsAndSetAnalogInputs
00308     (const PxVehiclePadSmoothingData& padSmoothing, const PxFixedSizeLookupTable<8>& steerVsForwardSpeedTable,
00309      const PxVehicleDrive4WRawInputData& rawInputData,
00310      const PxReal timestep,
00311      const bool isVehicleInAir,
00312      PxVehicleDrive4W& focusVehicle);
00313
00314
00319 class PxVehicleDriveNWRawInputData : public PxVehicleDrive4WRawInputData
00320 {
00321 public:
00322
00323     PxVehicleDriveNWRawInputData() : PxVehicleDrive4WRawInputData(){}
00324     ~PxVehicleDriveNWRawInputData(){}
00325 };
00326
00337 void PxVehicleDriveNWSmoothDigitalRawInputsAndSetAnalogInputs
00338     (const PxVehicleKeySmoothingData& keySmoothing, const PxFixedSizeLookupTable<8>& steerVsForwardSpeedTable,
00339      const PxVehicleDriveNWRawInputData& rawInputData,
00340      const PxReal timestep,
00341      const bool isVehicleInAir,
00342      PxVehicleDriveNW& focusVehicle);
00343
00354 void PxVehicleDriveNWSmoothAnalogRawInputsAndSetAnalogInputs
00355     (const PxVehiclePadSmoothingData& padSmoothing, const PxFixedSizeLookupTable<8>& steerVsForwardSpeedTable,
00356      const PxVehicleDriveNWRawInputData& rawInputData,
00357      const PxReal timestep,
00358      const bool isVehicleInAir,
00359      PxVehicleDriveNW& focusVehicle);
00360
00361
00366 class PxVehicleDriveTankRawInputData
00367 {
00368 public:
00369
00370     PxVehicleDriveTankRawInputData(const PxVehicleDriveTankControlModel::Enum mode)
00371         : mMode(mode)
00372     {
00373         for(PxU32 i=0;i<PxVehicleDriveTankControl::eMAX_NB_DRIVETANK_ANALOG_INPUTS;i++)
00374         {
00375             mRawAnalogInputs[i]=0.0f;
00376             mRawDigitalInputs[i]=false;
00377         }
00378
00379         mGearUp=false;
00380         mGearDown=false;
00381     }
00382
00383     ~PxVehicleDriveTankRawInputData()
00384     {
00385     }
00386
00391     PxVehicleDriveTankControlModel::Enum getDriveModel() const
00392     {
00393         return mMode;
00394     }
00395
00400     void setDigitalAccel(const bool b)                  {mRawDigitalInputs[PxVehicleDriveTankControl::eANALOG_INPUT_ACCEL]=b;}
00401
00406     void setDigitalLeftThrust(const bool b)             {mRawDigitalInputs[PxVehicleDriveTankControl::eANALOG_INPUT_THRUST_LEFT]=b;}
00407
00412     void setDigitalRightThrust(const bool b)            {mRawDigitalInputs[PxVehicleDriveTankControl::eANALOG_INPUT_THRUST_RIGHT]=b;}
00413
00418     void setDigitalLeftBrake(const bool b)              {mRawDigitalInputs[PxVehicleDriveTankControl::eANALOG_INPUT_BRAKE_LEFT]=b;}
00419
00424     void setDigitalRightBrake(const bool b)             {mRawDigitalInputs[PxVehicleDriveTankControl::eANALOG_INPUT_BRAKE_RIGHT]=b;}
00425
00430     bool getDigitalAccel() const                        {return mRawDigitalInputs[PxVehicleDriveTankControl::eANALOG_INPUT_ACCEL];}
00431
00436     bool getDigitalLeftThrust() const                   {return mRawDigitalInputs[PxVehicleDriveTankControl::eANALOG_INPUT_THRUST_LEFT];}
00437
00442     bool getDigitalRightThrust() const                  {return mRawDigitalInputs[PxVehicleDriveTankControl::eANALOG_INPUT_THRUST_RIGHT];}
00443
00448     bool getDigitalLeftBrake() const                    {return mRawDigitalInputs[PxVehicleDriveTankControl::eANALOG_INPUT_BRAKE_LEFT];}
00449
00454     bool getDigitalRightBrake() const                   {return mRawDigitalInputs[PxVehicleDriveTankControl::eANALOG_INPUT_BRAKE_RIGHT];}
00455
00456
00462     void setAnalogAccel(const PxF32 accel)
00463     {
00464 #if PX_CHECKED
00465         testValidAnalogValue(accel, 0.0f, 1.0f, "Tank analog accel must be in range (-1,1)");
00466 #endif
00467         mRawAnalogInputs[PxVehicleDriveTankControl::eANALOG_INPUT_ACCEL]=accel;
00468     }
00469
00475     void setAnalogLeftThrust(const PxF32 leftThrust)
00476     {
00477 #if PX_CHECKED
00478         if(mMode == PxVehicleDriveTankControlModel::eSPECIAL)
00479         {
00480             testValidAnalogValue(leftThrust, -1.0f, 1.0f, "Tank left thrust must be in range (-1,1) in eSPECIAL mode.");
00481         }
00482         else
00483         {
00484             testValidAnalogValue(leftThrust, 0.0f, 1.0f, "Tank left thrust must be in range (0,1) in eSTANDARD mode.");
00485         }
00486 #endif
00487         mRawAnalogInputs[PxVehicleDriveTankControl::eANALOG_INPUT_THRUST_LEFT]=leftThrust;
00488     }
00489
00495     void setAnalogRightThrust(const PxF32 rightThrust)
00496     {
00497 #if PX_CHECKED
00498         if(mMode == PxVehicleDriveTankControlModel::eSPECIAL)
00499         {
00500             testValidAnalogValue(rightThrust, -1.0f, 1.0f, "Tank right thrust must be in range (-1,1) in eSPECIAL mode.");
00501         }
00502         else
00503         {
00504             testValidAnalogValue(rightThrust, 0.0f, 1.0f, "Tank right thrust must be in range (0,1) in eSTANDARD mode.");
00505         }
00506 #endif
00507         mRawAnalogInputs[PxVehicleDriveTankControl::eANALOG_INPUT_THRUST_RIGHT]=rightThrust;
00508     }
00509
00515     void setAnalogLeftBrake(const PxF32 leftBrake)
00516     {
00517 #if PX_CHECKED
00518         testValidAnalogValue(leftBrake, 0.0f, 1.0f, "Tank left brake must be in range (0,1).");
00519 #endif
00520         mRawAnalogInputs[PxVehicleDriveTankControl::eANALOG_INPUT_BRAKE_LEFT]=leftBrake;
00521     }
00522
00528     void setAnalogRightBrake(const PxF32 rightBrake)
00529     {
00530 #if PX_CHECKED
00531         testValidAnalogValue(rightBrake, 0.0f, 1.0f, "Tank right brake must be in range (0,1).");
00532 #endif
00533         mRawAnalogInputs[PxVehicleDriveTankControl::eANALOG_INPUT_BRAKE_RIGHT]=rightBrake;
00534     }
00535
00540     PxF32 getAnalogAccel() const
00541     {
00542         return mRawAnalogInputs[PxVehicleDriveTankControl::eANALOG_INPUT_ACCEL];
00543     }
00544
00549     PxF32 getAnalogLeftThrust() const
00550     {
00551         return mRawAnalogInputs[PxVehicleDriveTankControl::eANALOG_INPUT_THRUST_LEFT];
00552     }
00553
00558     PxF32 getAnalogRightThrust() const
00559     {
00560         return mRawAnalogInputs[PxVehicleDriveTankControl::eANALOG_INPUT_THRUST_RIGHT];
00561     }
00562
00567     PxF32 getAnalogLeftBrake() const
00568     {
00569         return mRawAnalogInputs[PxVehicleDriveTankControl::eANALOG_INPUT_BRAKE_LEFT];
00570     }
00571
00576     PxF32 getAnalogRightBrake() const
00577     {
00578         return mRawAnalogInputs[PxVehicleDriveTankControl::eANALOG_INPUT_BRAKE_RIGHT];
00579     }
00580
00585     void setGearUp(const bool gearUp)                   {mGearUp=gearUp;}
00586
00591     void setGearDown(const bool gearDown)               {mGearDown=gearDown;}
00592
00597     bool getGearUp() const                              {return mGearUp;}
00598
00603     bool getGearDown() const                            {return mGearDown;}
00604
00605 private:
00606
00607     PxVehicleDriveTankControlModel::Enum mMode;
00608
00609     PxReal mRawAnalogInputs[PxVehicleDriveTankControl::eMAX_NB_DRIVETANK_ANALOG_INPUTS];
00610     bool mRawDigitalInputs[PxVehicleDriveTankControl::eMAX_NB_DRIVETANK_ANALOG_INPUTS];
00611
00612     bool mGearUp;
00613     bool mGearDown;
00614 };
00615
00624 void PxVehicleDriveTankSmoothDigitalRawInputsAndSetAnalogInputs
00625 (const PxVehicleKeySmoothingData& keySmoothing,
00626  const PxVehicleDriveTankRawInputData& rawInputData,
00627  const PxReal timestep,
00628  PxVehicleDriveTank& focusVehicle);
00629
00630
00639 void PxVehicleDriveTankSmoothAnalogRawInputsAndSetAnalogInputs
00640 (const PxVehiclePadSmoothingData& padSmoothing,
00641  const PxVehicleDriveTankRawInputData& rawInputData,
00642  const PxReal timestep,
00643  PxVehicleDriveTank& focusVehicle);
00644
00645
00646 #if !PX_DOXYGEN
00647 } // namespace physx
00648 #endif
00649
00651 #endif //PX_VEHICLE_CONTROL_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleUtilSetup.h Source File

PxVehicleUtilSetup.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PX_VEHICLE_UTILSSETUP_H
00031 #define PX_VEHICLE_UTILSSETUP_H
00032
00035 #include "foundation/PxSimpleTypes.h"
00036 #include "vehicle/PxVehicleSDK.h"
00037
00038 #if !PX_DOXYGEN
00039 namespace physx
00040 {
00041 #endif
00042
00043 class PxVehicleWheelsSimData;
00044 class PxVehicleWheelsDynData;
00045 class PxVehicleDriveSimData4W;
00046 class PxVehicleWheels;
00047
00048
00059 void PxVehicle4WEnable3WTadpoleMode(PxVehicleWheelsSimData& wheelsSimData, PxVehicleWheelsDynData& wheelsDynData, PxVehicleDriveSimData4W& driveSimData);
00060
00071 void PxVehicle4WEnable3WDeltaMode(PxVehicleWheelsSimData& wheelsSimData, PxVehicleWheelsDynData& wheelsDynData, PxVehicleDriveSimData4W& driveSimData);
00072
00090 void PxVehicleComputeSprungMasses(const PxU32 nbSprungMasses, const PxVec3* sprungMassCoordinates, const PxVec3& centreOfMass, const PxReal totalMass, const PxU32 gravityDirection, PxReal* sprungMasses);
00091
00092
00109 void PxVehicleUpdateCMassLocalPose(const PxTransform& oldCMassLocalPose, const PxTransform& newCMassLocalPose, const PxU32 gravityDirection, PxVehicleWheels* vehicle);
00110
00115 class PxVehicleCopyDynamicsMap
00116 {
00117 public:
00118
00119     PxVehicleCopyDynamicsMap()
00120     {
00121         for(PxU32 i = 0; i < PX_MAX_NB_WHEELS; i++)
00122         {
00123             sourceWheelIds[i] = PX_MAX_U8;
00124             targetWheelIds[i] = PX_MAX_U8;
00125         }
00126     }
00127
00128     PxU8 sourceWheelIds[PX_MAX_NB_WHEELS];
00129     PxU8 targetWheelIds[PX_MAX_NB_WHEELS];
00130 };
00131
00152 void PxVehicleCopyDynamicsData(const PxVehicleCopyDynamicsMap& wheelMap, const PxVehicleWheels& src, PxVehicleWheels* trg);
00153
00154
00155 #if !PX_DOXYGEN
00156 } // namespace physx
00157 #endif
00158
00160 #endif //PX_VEHICLE_UTILSSETUP_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleUtilTelemetry.h Source File

PxVehicleUtilTelemetry.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PX_VEHICLE_UTILSTELEMETRY_H
00031 #define PX_VEHICLE_UTILSTELEMETRY_H
00032
00036 #include "vehicle/PxVehicleSDK.h"
00037 #include "foundation/PxSimpleTypes.h"
00038 #include "foundation/PxVec3.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00045 #if PX_DEBUG_VEHICLE_ON
00046
00047 class PxVehicleGraphDesc
00048 {
00049
00050     friend class PxVehicleGraph;
00051
00052     PxVehicleGraphDesc();
00053
00058     PxReal mPosX;
00059
00064     PxReal mPosY;
00065
00070     PxReal mSizeX;
00071
00076     PxReal mSizeY;
00077
00081     PxVec3 mBackgroundColor;
00082
00086     PxReal mAlpha;
00087
00088 private:
00089
00090     bool isValid() const;
00091 };
00092
00093 struct PxVehicleGraphChannelDesc
00094 {
00095 public:
00096
00097     friend class PxVehicleGraph;
00098
00099     PxVehicleGraphChannelDesc();
00100
00104     PxReal mMinY;
00105
00109     PxReal mMaxY;
00110
00115     PxReal mMidY;
00116
00120     PxVec3 mColorLow;
00121
00125     PxVec3 mColorHigh;
00126
00130     char* mTitle;
00131
00132 private:
00133
00134     bool isValid() const;
00135 };
00136
00137 struct PxVehicleWheelGraphChannel
00138 {
00139     enum Enum
00140     {
00141         eJOUNCE=0,
00142         eSUSPFORCE,
00143         eTIRELOAD,
00144         eNORMALIZED_TIRELOAD,
00145         eWHEEL_OMEGA,
00146         eTIRE_FRICTION,
00147         eTIRE_LONG_SLIP,
00148         eNORM_TIRE_LONG_FORCE,
00149         eTIRE_LAT_SLIP,
00150         eNORM_TIRE_LAT_FORCE,
00151         eNORM_TIRE_ALIGNING_MOMENT,
00152         eMAX_NB_WHEEL_CHANNELS
00153     };
00154 };
00155
00156 struct PxVehicleDriveGraphChannel
00157 {
00158     enum Enum
00159     {
00160         eENGINE_REVS=0,
00161         eENGINE_DRIVE_TORQUE,
00162         eCLUTCH_SLIP,
00163         eACCEL_CONTROL,                 //TANK_ACCEL
00164         eBRAKE_CONTROL,                 //TANK_BRAKE_LEFT
00165         eHANDBRAKE_CONTROL,             //TANK_BRAKE_RIGHT
00166         eSTEER_LEFT_CONTROL,            //TANK_THRUST_LEFT
00167         eSTEER_RIGHT_CONTROL,           //TANK_THRUST_RIGHT
00168         eGEAR_RATIO,
00169         eMAX_NB_DRIVE_CHANNELS
00170     };
00171 };
00172
00173 struct PxVehicleGraphType
00174 {
00175     enum Enum
00176     {
00177         eWHEEL=0,
00178         eDRIVE
00179     };
00180 };
00181
00182
00183 class PxVehicleGraph
00184 {
00185 public:
00186
00187     friend class PxVehicleTelemetryData;
00188     friend class PxVehicleUpdate;
00189
00190     enum
00191     {
00192         eMAX_NB_SAMPLES=256
00193     };
00194
00195     enum
00196     {
00197         eMAX_NB_TITLE_CHARS=256
00198     };
00199
00200     enum
00201     {
00202         eMAX_NB_CHANNELS=12
00203     };
00204
00208     void setup(const PxVehicleGraphDesc& desc, const PxVehicleGraphType::Enum graphType);
00209
00213     void clearRecordedChannelData();
00214
00218     const PxVec3& getBackgroundColor() const {return mBackgroundColor;}
00219
00223     PxReal getBackgroundAlpha() const {return mBackgroundAlpha;}
00224
00233     void getBackgroundCoords(PxReal& xMin, PxReal& yMin, PxReal& xMax, PxReal& yMax) const {xMin = mBackgroundMinX;xMax = mBackgroundMaxX;yMin = mBackgroundMinY;yMax = mBackgroundMaxY;}
00234
00242     void computeGraphChannel(const PxU32 channel, PxReal* xy, PxVec3* colors, char* title) const;
00243
00247     PxF32 getLatestValue(const PxU32 channel) const ;
00248
00249 private:
00250
00251     //Min and max of each sample.
00252     PxReal mChannelMinY[eMAX_NB_CHANNELS];
00253     PxReal mChannelMaxY[eMAX_NB_CHANNELS];
00254     //Discriminate between high and low values with different colors.
00255     PxReal mChannelMidY[eMAX_NB_CHANNELS];
00256     //Different colors for values than midY and less than midY.
00257     PxVec3 mChannelColorLow[eMAX_NB_CHANNELS];
00258     PxVec3 mChannelColorHigh[eMAX_NB_CHANNELS];
00259     //Title of graph
00260     char mChannelTitle[eMAX_NB_CHANNELS][eMAX_NB_TITLE_CHARS];
00261     //Graph data.
00262     PxReal mChannelSamples[eMAX_NB_CHANNELS][eMAX_NB_SAMPLES];
00263
00264     //Background color,alpha,coords
00265     PxVec3 mBackgroundColor;
00266     PxReal mBackgroundAlpha;
00267     PxReal mBackgroundMinX;
00268     PxReal mBackgroundMaxX;
00269     PxReal mBackgroundMinY;
00270     PxReal mBackgroundMaxY;
00271
00272     PxU32 mSampleTide;
00273
00274     PxU32 mNbChannels;
00275
00276     PxU32 mPad[2];
00277
00278
00279     void setup
00280         (const PxF32 graphSizeX, const PxF32 graphSizeY,
00281         const PxF32 engineGraphPosX, const PxF32 engineGraphPosY,
00282         const PxF32* const wheelGraphPosX, const PxF32* const wheelGraphPosY,
00283         const PxVec3& backgroundColor, const PxVec3& lineColorHigh, const PxVec3& lineColorLow);
00284
00285     void updateTimeSlice(const PxReal* const samples);
00286
00287     void setChannel(PxVehicleGraphChannelDesc& desc, const PxU32 channel);
00288
00289     void setupEngineGraph
00290         (const PxF32 sizeX, const PxF32 sizeY, const PxF32 posX, const PxF32 posY,
00291         const PxVec3& backgoundColor, const PxVec3& lineColorHigh, const PxVec3& lineColorLow);
00292
00293     void setupWheelGraph
00294         (const PxF32 sizeX, const PxF32 sizeY, const PxF32 posX, const PxF32 posY,
00295         const PxVec3& backgoundColor, const PxVec3& lineColorHigh, const PxVec3& lineColorLow);
00296
00297     PxVehicleGraph();
00298     ~PxVehicleGraph();
00299 };
00300 PX_COMPILE_TIME_ASSERT(PxU32(PxVehicleGraph::eMAX_NB_CHANNELS) >= PxU32(PxVehicleWheelGraphChannel::eMAX_NB_WHEEL_CHANNELS) && PxU32(PxVehicleGraph::eMAX_NB_CHANNELS) >= PxU32(PxVehicleDriveGraphChannel::eMAX_NB_DRIVE_CHANNELS));
00301 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleGraph) & 15));
00302
00303 class PxVehicleTelemetryData
00304 {
00305 public:
00306
00307     friend class PxVehicleUpdate;
00308
00313     static PxVehicleTelemetryData* allocate(const PxU32 nbWheels);
00314
00319     void free();
00320
00324     void setup
00325         (const PxReal graphSizeX, const PxReal graphSizeY,
00326          const PxReal engineGraphPosX, const PxReal engineGraphPosY,
00327          const PxReal* const wheelGraphPosX, const PxReal* const wheelGraphPosY,
00328          const PxVec3& backGroundColor, const PxVec3& lineColorHigh, const PxVec3& lineColorLow);
00329
00333     void clear();
00334
00338     const PxVehicleGraph& getEngineGraph() const {return *mEngineGraph;}
00339
00343     PxU32 getNbWheelGraphs() const {return mNbActiveWheels;}
00344
00348     const PxVehicleGraph& getWheelGraph(const PxU32 k) const {return mWheelGraphs[k];}
00349
00353     const PxVec3* getTireforceAppPoints() const {return mTireforceAppPoints;}
00354
00358     const PxVec3* getSuspforceAppPoints() const {return mSuspforceAppPoints;}
00359
00360 private:
00361
00367     PxVehicleGraph* mEngineGraph;
00368
00374     PxVehicleGraph* mWheelGraphs;
00375
00379     PxVec3* mTireforceAppPoints;
00380
00384     PxVec3* mSuspforceAppPoints;
00385
00389     PxU32 mNbActiveWheels;
00390
00391     PxU32 mPad[3];
00392
00393 private:
00394
00395     PxVehicleTelemetryData(){}
00396     ~PxVehicleTelemetryData(){}
00397 };
00398
00399 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleTelemetryData) & 15));
00400
00401 #endif //PX_DEBUG_VEHICLE_ON
00402
00403 //#endif // PX_DEBUG_VEHICLE_ON
00404
00405 #if !PX_DOXYGEN
00406 } // namespace physx
00407 #endif
00408
00410 #endif //PX_VEHICLE_UTILSTELEMETRY_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleWheels.h Source File

PxVehicleWheels.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_VEHICLE_WHEELS_H
00032 #define PX_VEHICLE_WHEELS_H
00033
00037 #include "foundation/PxSimpleTypes.h"
00038 #include "vehicle/PxVehicleShaders.h"
00039 #include "vehicle/PxVehicleComponents.h"
00040 #include "common/PxBase.h"
00041 #include "PxRigidDynamic.h"
00042
00043 #if !PX_DOXYGEN
00044 namespace physx
00045 {
00046 #endif
00047
00048 class PxVehicleWheels4SimData;
00049 class PxVehicleWheels4DynData;
00050 class PxVehicleTireForceCalculator;
00051 class PxShape;
00052 class PxPhysics;
00053 class PxMaterial;
00054
00059 class PxVehicleWheelsSimData
00060 {
00061 //= ATTENTION! =====================================================================================
00062 // Changing the data layout of this class breaks the binary serialization format.  See comments for
00063 // PX_BINARY_SERIAL_VERSION.  If a modification is required, please adjust the getBinaryMetaData
00064 // function.  If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION
00065 // accordingly.
00066 //==================================================================================================
00067 public:
00068
00069     friend class PxVehicleWheels;
00070     friend class PxVehicleNoDrive;
00071     friend class PxVehicleDrive4W;
00072     friend class PxVehicleDriveTank;
00073     friend class PxVehicleUpdate;
00074
00079     static PxVehicleWheelsSimData* allocate(const PxU32 nbWheels);
00080
00094     void setChassisMass(const PxF32 chassisMass);
00095
00100     void free();
00101
00106     PxVehicleWheelsSimData& operator=(const PxVehicleWheelsSimData& src);
00107
00114     void copy(const PxVehicleWheelsSimData& src, const PxU32 srcWheel, const PxU32 trgWheel);
00115
00120     PxU32 getNbWheels() const {return mNbActiveWheels;}
00121
00125     const PxVehicleSuspensionData& getSuspensionData(const PxU32 id) const;
00126
00130     const PxVehicleWheelData& getWheelData(const PxU32 id) const;
00131
00135     const PxVehicleTireData& getTireData(const PxU32 id) const;
00136
00140     const PxVec3& getSuspTravelDirection(const PxU32 id) const;
00141
00146     const PxVec3& getSuspForceAppPointOffset(const PxU32 id) const;
00147
00152     const PxVec3& getTireForceAppPointOffset(const PxU32 id) const;
00153
00157     const PxVec3& getWheelCentreOffset(const PxU32 id) const;
00158
00168     PxI32 getWheelShapeMapping(const PxU32 wheelId) const;
00169
00173     const PxFilterData& getSceneQueryFilterData(const PxU32 suspId) const;
00174
00179     PxU32 getNbAntiRollBars() const
00180     {
00181         return mNbActiveAntiRollBars;
00182     }
00183
00192     const PxVehicleAntiRollBarData& getAntiRollBarData(const PxU32 antiRollId) const;
00193
00197     PX_FORCE_INLINE const PxVehicleTireLoadFilterData& getTireLoadFilterData() const
00198     {
00199         return mNormalisedLoadFilter;
00200     }
00201
00207     void setSuspensionData(const PxU32 id, const PxVehicleSuspensionData& susp);
00208
00214     void setWheelData(const PxU32 id, const PxVehicleWheelData& wheel);
00215
00221     void setTireData(const PxU32 id, const PxVehicleTireData& tire);
00222
00228     void setSuspTravelDirection(const PxU32 id, const PxVec3& dir);
00229
00236     void setSuspForceAppPointOffset(const PxU32 id, const PxVec3& offset);
00237
00244     void setTireForceAppPointOffset(const PxU32 id, const PxVec3& offset);
00245
00252     void setWheelCentreOffset(const PxU32 id, const PxVec3& offset);
00253
00274     void setWheelShapeMapping(const PxU32 wheelId, const PxI32 shapeId);
00275
00283     void setSceneQueryFilterData(const PxU32 suspId, const PxFilterData& sqFilterData);
00284
00289     void setTireLoadFilterData(const PxVehicleTireLoadFilterData& tireLoadFilter);
00290
00315     PxU32 addAntiRollBarData(const PxVehicleAntiRollBarData& antiRoll);
00316
00345     void disableWheel(const PxU32 wheel);
00346
00353     void enableWheel(const PxU32 wheel);
00354
00359     bool getIsWheelDisabled(const PxU32 wheel) const;
00360
00391     void setSubStepCount(const PxReal thresholdLongitudinalSpeed, const PxU32 lowForwardSpeedSubStepCount, const PxU32 highForwardSpeedSubStepCount);
00392
00409     void setMinLongSlipDenominator(const PxReal minLongSlipDenominator);
00410
00411 private:
00412
00417     PxVehicleTireLoadFilterData mNormalisedLoadFilter;
00418
00422     PxVehicleWheels4SimData* mWheels4SimData;
00423
00427     PxU32 mNbWheels4;
00428
00432     PxU32 mNbActiveWheels;
00433
00437     PxVehicleAntiRollBarData* mAntiRollBars;
00438
00442     PxU32 mNbAntiRollBars4;
00443
00447     PxU32 mNbActiveAntiRollBars;
00448
00453     PxU32 mActiveWheelsBitmapBuffer[((PX_MAX_NB_WHEELS + 31) & ~31) >> 5];
00454
00460     PxF32 mThresholdLongitudinalSpeed;
00461
00466     PxU32 mLowForwardSpeedSubStepCount;
00467
00472     PxU32 mHighForwardSpeedSubStepCount;
00473
00477     PxF32 mMinLongSlipDenominator;
00478
00479 #if PX_P64_FAMILY
00480     PxU32 mPad[2];
00481 #else
00482     PxU32 mPad[1];
00483 #endif
00484
00488     bool isValid() const;
00489
00493     static PxU32 computeByteSize(const PxU32 numWheels);
00494     static PxU8* patchUpPointers(const PxU32 numWheels, PxVehicleWheelsSimData* simData, PxU8* ptrIn);
00495     PxVehicleWheelsSimData(const PxU32 numWheels);
00496
00497 //serialization
00498 public:
00499     PxVehicleWheelsSimData(const PxEMPTY) : mNormalisedLoadFilter(PxEmpty) {}
00500     static void getBinaryMetaData(PxOutputStream& stream);
00501     PxU32 getNbWheels4() const { return mNbWheels4; }
00502     PxU32 getNbSuspensionData() const { return mNbActiveWheels; }
00503     PxU32 getNbWheelData() const {  return mNbActiveWheels; }
00504     PxU32 getNbSuspTravelDirection() const  { return mNbActiveWheels; }
00505     PxU32 getNbTireData() const { return mNbActiveWheels;   }
00506     PxU32 getNbSuspForceAppPointOffset() const  { return mNbActiveWheels;   }
00507     PxU32 getNbTireForceAppPointOffset() const  { return mNbActiveWheels;   }
00508     PxU32 getNbWheelCentreOffset() const { return mNbActiveWheels;  }
00509     PxU32 getNbWheelShapeMapping() const { return mNbActiveWheels; }
00510     PxU32 getNbSceneQueryFilterData() const { return mNbActiveWheels; }
00511     PxF32 getMinLongSlipDenominator() const {return mMinLongSlipDenominator;}
00512     void setThresholdLongSpeed(const PxF32 f) {mThresholdLongitudinalSpeed = f;}
00513     PxF32 getThresholdLongSpeed() const {return mThresholdLongitudinalSpeed;}
00514     void setLowForwardSpeedSubStepCount(const PxU32 f) {mLowForwardSpeedSubStepCount = f;}
00515     PxU32 getLowForwardSpeedSubStepCount() const {return mLowForwardSpeedSubStepCount;}
00516     void setHighForwardSpeedSubStepCount(const PxU32 f) {mHighForwardSpeedSubStepCount = f;}
00517     PxU32 getHighForwardSpeedSubStepCount() const {return mHighForwardSpeedSubStepCount;}
00518     void setWheelEnabledState(const PxU32 wheel, const bool state) {if(state) {enableWheel(wheel);} else {disableWheel(wheel);}}
00519     bool getWheelEnabledState(const PxU32 wheel) const {return !getIsWheelDisabled(wheel);}
00520     PxU32 getNbWheelEnabledState() const {return mNbActiveWheels;}
00521     PxU32 getNbAntiRollBars4() const { return mNbAntiRollBars4; }
00522     PxU32 getNbAntiRollBarData() const {return mNbActiveAntiRollBars;}
00523     void setAntiRollBarData(const PxU32 id, const PxVehicleAntiRollBarData& antiRoll);
00524     PxVehicleWheelsSimData(){}
00525     ~PxVehicleWheelsSimData(){}
00526 //~serialization
00527 };
00528 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleWheelsSimData) & 15));
00529
00533 class PxVehicleWheelsDynData
00534 {
00535 //= ATTENTION! =====================================================================================
00536 // Changing the data layout of this class breaks the binary serialization format.  See comments for
00537 // PX_BINARY_SERIAL_VERSION.  If a modification is required, please adjust the getBinaryMetaData
00538 // function.  If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION
00539 // accordingly.
00540 //==================================================================================================
00541 public:
00542
00543     friend class PxVehicleWheels;
00544     friend class PxVehicleDrive4W;
00545     friend class PxVehicleDriveTank;
00546     friend class PxVehicleUpdate;
00547
00548     PxVehicleWheelsDynData(){}
00549     ~PxVehicleWheelsDynData(){}
00550
00555     void setToRestState();
00556
00561     void setTireForceShaderFunction(PxVehicleComputeTireForce tireForceShaderFn);
00562
00568     void setTireForceShaderData(const PxU32 tireId, const void* tireForceShaderData);
00569
00573     const void* getTireForceShaderData(const PxU32 tireId) const;
00574
00580     void setWheelRotationSpeed(const PxU32 wheelIdx, const PxReal speed);
00581
00585     PxReal getWheelRotationSpeed(const PxU32 wheelIdx) const;
00586
00592     void setWheelRotationAngle(const PxU32 wheelIdx, const PxReal angle);
00593
00597     PxReal getWheelRotationAngle(const PxU32 wheelIdx) const;
00598
00605     void setUserData(const PxU32 tireIdx, void* userData);
00606
00610     void* getUserData(const PxU32 tireIdx) const;
00611
00618     void copy(const PxVehicleWheelsDynData& src, const PxU32 srcWheel, const PxU32 trgWheel);
00619
00620 private:
00621
00625     PxVehicleWheels4DynData* mWheels4DynData;
00626
00630     bool isValid() const;
00631
00635     PxVehicleTireForceCalculator* mTireForceCalculators;
00636
00641     void** mUserDatas;
00642
00646     PxU32 mNbWheels4;
00647
00651     PxU32 mNbActiveWheels;
00652
00653     PxU32 mPad[3];
00654
00658     static PxU32 computeByteSize(const PxU32 numWheels);
00659     static PxU8* patchUpPointers(const PxU32 numWheels, PxVehicleWheelsDynData* dynData, PxU8* ptr);
00660     PxVehicleWheelsDynData(const PxU32 numWheels);
00661
00662 //serialization
00663 public:
00664     static void getBinaryMetaData(PxOutputStream& stream);
00665     PxU32 getNbWheelRotationSpeed() const { return mNbActiveWheels; }
00666     PxU32 getNbWheelRotationAngle() const { return mNbActiveWheels; }
00667     PxVehicleWheels4DynData* getWheel4DynData() const { return mWheels4DynData; }
00668 //~serialization
00669 };
00670 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleWheelsDynData) & 15));
00671
00676 class PxVehicleWheels : public PxBase
00677 {
00678 //= ATTENTION! =====================================================================================
00679 // Changing the data layout of this class breaks the binary serialization format.  See comments for
00680 // PX_BINARY_SERIAL_VERSION.  If a modification is required, please adjust the getBinaryMetaData
00681 // function.  If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION
00682 // accordingly.
00683 //==================================================================================================
00684 public:
00685
00686     friend class PxVehicleUpdate;
00687     friend class PxVehicleConstraintShader;
00688
00693     PX_FORCE_INLINE PxU32 getVehicleType() const {return mType;}
00694
00698     PX_FORCE_INLINE PxRigidDynamic* getRigidDynamicActor() {return mActor;}
00699
00703     PX_FORCE_INLINE const PxRigidDynamic* getRigidDynamicActor() const {return mActor;}
00704
00709     PxReal computeForwardSpeed() const;
00710
00715     PxReal computeSidewaysSpeed() const;
00716
00720     PxVehicleWheelsSimData mWheelsSimData;
00721
00725     PxVehicleWheelsDynData mWheelsDynData;
00726
00727 protected:
00728
00732     void setToRestState();
00733
00737     bool isValid() const;
00738
00742     static PxU32 computeByteSize(const PxU32 nbWheels);
00743     static PxU8* patchupPointers(const PxU32 nbWheels, PxVehicleWheels* vehWheels, PxU8* ptr);
00744     virtual void init(const PxU32 numWheels);
00745
00750     void free();
00751
00755     void setup
00756         (PxPhysics* physics, PxRigidDynamic* vehActor,
00757          const PxVehicleWheelsSimData& wheelsData,
00758          const PxU32 nbDrivenWheels, const PxU32 nbNonDrivenWheels);
00759
00763     PxRigidDynamic* mActor;
00764
00765 private:
00766
00771     PxU32 mNbNonDrivenWheels;
00772
00773     PxU8 mOnConstraintReleaseCounter;
00774
00775 protected:
00776
00780     PxU8 mType;
00781
00782 #if PX_P64_FAMILY
00783     PxU8 mPad0[14];
00784 #else
00785     PxU8 mPad0[14];
00786 #endif
00787
00788 //serialization
00789 public:
00790     virtual     void            requiresObjects(PxProcessPxBaseCallback& c);
00791     virtual     const char*     getConcreteTypeName() const             {   return "PxVehicleWheels"; }
00792     virtual     bool            isKindOf(const char* name)  const       {   return !::strcmp("PxVehicleWheels", name) || PxBase::isKindOf(name); }
00793     virtual     void            exportExtraData(PxSerializationContext&);
00794                 void            importExtraData(PxDeserializationContext&);
00795                 void            resolveReferences(PxDeserializationContext&);
00796     static      void            getBinaryMetaData(PxOutputStream& stream);
00797     PX_FORCE_INLINE PxU32 getNbNonDrivenWheels() const { return mNbNonDrivenWheels; }
00798     PxVehicleWheels(PxType concreteType, PxBaseFlags baseFlags) : PxBase(concreteType, baseFlags) {}
00799     PxVehicleWheels(PxBaseFlags baseFlags) : PxBase(baseFlags), mWheelsSimData(PxEmpty) {}
00800     virtual ~PxVehicleWheels() {}
00801     virtual void release() { free(); }
00802 //~serialization
00803 };
00804 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleWheels) & 15));
00805
00806 #if !PX_DOXYGEN
00807 } // namespace physx
00808 #endif
00809
00811 #endif //PX_VEHICLE_WHEELS_H


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVisualizationParameter.h Source File

PxVisualizationParameter.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030
00031 #ifndef PX_PHYSICS_NX_DEBUG_VISUALIZATION_PARAMETER
00032 #define PX_PHYSICS_NX_DEBUG_VISUALIZATION_PARAMETER
00033
00034 #include "foundation/PxPreprocessor.h"
00035
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00045 /*
00046 NOTE: Parameters should NOT be conditionally compiled out. Even if a particular feature is not available.
00047 Otherwise the parameter values get shifted about and the numeric values change per platform. This causes problems
00048 when trying to serialize parameters.
00049
00050 New parameters should also be added to the end of the list for this reason. Also make sure to update
00051 eNUM_VALUES, which should be one higher than the maximum value in the enum.
00052 */
00053
00062 struct PxVisualizationParameter
00063 {
00064     enum Enum
00065     {
00066     /* RigidBody-related parameters  */
00067
00093         eSCALE,
00094
00095
00099         eWORLD_AXES,
00100
00101     /* Body visualizations */
00102
00108         eBODY_AXES,
00109
00119         eBODY_MASS_AXES,
00120
00126         eBODY_LIN_VELOCITY,
00127
00133         eBODY_ANG_VELOCITY,
00134
00135
00141         eDEPRECATED_BODY_JOINT_GROUPS,
00142
00143     /* Contact visualisations */
00144
00148         eCONTACT_POINT,
00149
00153         eCONTACT_NORMAL,
00154
00158         eCONTACT_ERROR,
00159
00163         eCONTACT_FORCE,
00164
00165
00171         eACTOR_AXES,
00172
00173
00177         eCOLLISION_AABBS,
00178
00184         eCOLLISION_SHAPES,
00185
00191         eCOLLISION_AXES,
00192
00196         eCOLLISION_COMPOUNDS,
00197
00203         eCOLLISION_FNORMALS,
00204
00210         eCOLLISION_EDGES,
00211
00215         eCOLLISION_STATIC,
00216
00220         eCOLLISION_DYNAMIC,
00221
00225         eDEPRECATED_COLLISION_PAIRS,
00226
00230         eJOINT_LOCAL_FRAMES,
00231
00235         eJOINT_LIMITS,
00236
00237
00238     /* ParticleSystem visualizations */
00239
00243         ePARTICLE_SYSTEM_POSITION,
00244
00248         ePARTICLE_SYSTEM_VELOCITY,
00249
00253         ePARTICLE_SYSTEM_COLLISION_NORMAL,
00254
00258         ePARTICLE_SYSTEM_BOUNDS,
00259
00263         ePARTICLE_SYSTEM_GRID,
00264
00268         ePARTICLE_SYSTEM_BROADPHASE_BOUNDS,
00269
00273         ePARTICLE_SYSTEM_MAX_MOTION_DISTANCE,
00274
00278         eCULL_BOX,
00279
00283         eCLOTH_VERTICAL,
00287         eCLOTH_HORIZONTAL,
00291         eCLOTH_BENDING,
00295         eCLOTH_SHEARING,
00299         eCLOTH_VIRTUAL_PARTICLES,
00300
00304         eMBP_REGIONS,
00305
00309         eNUM_VALUES,
00310
00311         eFORCE_DWORD = 0x7fffffff
00312     };
00313 };
00314
00315 #if !PX_DOXYGEN
00316 } // namespace physx
00317 #endif
00318
00320 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVolumeCache.h Source File

PxVolumeCache.h

Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
00029
00030 #ifndef PX_PHYSICS_NX_VOLUMECACHE
00031 #define PX_PHYSICS_NX_VOLUMECACHE
00032
00036 #include "PxScene.h"
00037 #include "geometry/PxGeometryHelpers.h"
00038
00039 #if !PX_DOXYGEN
00040 namespace physx
00041 {
00042 #endif
00043
00053 class PX_DEPRECATED PxVolumeCache
00054 {
00055 public:
00063     struct Iterator
00064     {
00073         virtual void processShapes(PxU32 count, const PxActorShape* actorShapePairs) = 0;
00074
00080         virtual void finalizeQuery() {}
00081     protected:
00082         virtual ~Iterator() {}
00083     };
00084
00085
00091     enum FillStatus
00092     {
00097         FILL_OK,
00098
00107         FILL_OVER_MAX_COUNT,
00108
00115         FILL_UNSUPPORTED_GEOMETRY_TYPE,
00116
00121         FILL_OUT_OF_MEMORY
00122     };
00123
00134     virtual FillStatus fill(const PxGeometry& cacheVolume, const PxTransform& pose) = 0;
00135
00143     virtual bool isValid() const = 0;
00144
00151     virtual void invalidate() = 0;
00152
00160     virtual bool getCacheVolume(PxGeometryHolder& resultVolume, PxTransform& resultPose) = 0;
00161
00167     virtual PxI32 getNbCachedShapes() = 0;
00168
00174     virtual void release() = 0;
00175
00185     virtual void forEach(Iterator& iter) = 0;
00186
00194     virtual void setMaxNbStaticShapes(PxU32 maxCount) = 0;
00195
00203     virtual void setMaxNbDynamicShapes(PxU32 maxCount) = 0;
00204
00210     virtual PxU32 getMaxNbStaticShapes() = 0;
00211
00217     virtual PxU32 getMaxNbDynamicShapes() = 0;
00218
00238     virtual bool raycast(
00239         const PxVec3& origin, const PxVec3& unitDir, const PxReal distance,
00240         PxRaycastCallback& hitCall, PxHitFlags hitFlags = PxHitFlags(PxHitFlag::eDEFAULT),
00241         const PxQueryFilterData& filterData = PxQueryFilterData(), PxQueryFilterCallback* filterCall = NULL) const = 0;
00242
00262     virtual bool sweep(
00263         const PxGeometry& geometry, const PxTransform& pose, const PxVec3& unitDir, const PxReal distance,
00264         PxSweepCallback& hitCall, PxHitFlags hitFlags = PxHitFlag::eDEFAULT,
00265         const PxQueryFilterData& filterData = PxQueryFilterData(), PxQueryFilterCallback* filterCall = NULL,
00266         const PxReal inflation = 0.f) const = 0;
00267
00268
00283     virtual bool overlap(
00284         const PxGeometry& geometry, const PxTransform& pose, PxOverlapCallback& hitCall,
00285         const PxQueryFilterData& filterData = PxQueryFilterData(), PxQueryFilterCallback* filterCall = NULL) const = 0;
00286
00287 protected:
00288     virtual ~PxVolumeCache() {}
00289 }; // class PxVolumeCache
00290
00291 #if !PX_DOXYGEN
00292 } // namespace physx
00293 #endif
00294
00296 #endif


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

physx::PxGpuTaskHint Member List

This is the complete list of members for physx::PxGpuTaskHint, including all inherited members.

DeviceToHost enum value | physx::PxGpuTaskHint
Enum enum name | physx::PxGpuTaskHint
HostToDevice enum value | physx::PxGpuTaskHint
Kernel enum value | physx::PxGpuTaskHint
NUM_GPU_TASK_HINTS enum value | physx::PxGpuTaskHint


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

physx::PxTaskType Member List

This is the complete list of members for physx::PxTaskType, including all inherited members.

Enum enum name | physx::PxTaskType
TT_COMPLETED enum value | physx::PxTaskType
TT_CPU enum value | physx::PxTaskType
TT_GPU enum value | physx::PxTaskType
TT_NOT_PRESENT enum value | physx::PxTaskType


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

Px1DConstraint Member List

This is the complete list of members for Px1DConstraint, including all inherited members.

angular0 | Px1DConstraint
angular1 | Px1DConstraint
bounce | Px1DConstraint
damping | Px1DConstraint
flags | Px1DConstraint
forInternalUse | Px1DConstraint
geometricError | Px1DConstraint
linear0 | Px1DConstraint
linear1 | Px1DConstraint
maxImpulse | Px1DConstraint
minImpulse | Px1DConstraint
mods | Px1DConstraint
restitution | Px1DConstraint
solveHint | Px1DConstraint
spring | Px1DConstraint
stiffness | Px1DConstraint
velocityTarget | Px1DConstraint
velocityThreshold | Px1DConstraint


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

Px1DConstraintFlag Member List

This is the complete list of members for Px1DConstraintFlag, including all inherited members.

eACCELERATION_SPRING enum value | Px1DConstraintFlag |
eHAS_DRIVE_LIMIT enum value | Px1DConstraintFlag |
eKEEPBIAS enum value | Px1DConstraintFlag |
eOUTPUT_FORCE enum value | Px1DConstraintFlag |
eRESTITUTION enum value | Px1DConstraintFlag |
eSPRING enum value | Px1DConstraintFlag |
Px1DConstraintFlag() | Px1DConstraintFlag | [inline]
Type enum name | Px1DConstraintFlag |


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxActiveTransform Member List

This is the complete list of members for PxActiveTransform, including all inherited members.

actor | PxActiveTransform
actor2World | PxActiveTransform
userData | PxActiveTransform


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxActorClientBehaviorFlag Member List

This is the complete list of members for PxActorClientBehaviorFlag, including all inherited members.

Enum enum name | PxActorClientBehaviorFlag
eREPORT_TO_FOREIGN_CLIENTS_CONSTRAINT_BREAK_NOTIFY enum value | PxActorClientBehaviorFlag
eREPORT_TO_FOREIGN_CLIENTS_CONTACT_NOTIFY enum value | PxActorClientBehaviorFlag
eREPORT_TO_FOREIGN_CLIENTS_SCENE_QUERY enum value | PxActorClientBehaviorFlag
eREPORT_TO_FOREIGN_CLIENTS_TRIGGER_NOTIFY enum value | PxActorClientBehaviorFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxActorFlag Member List

This is the complete list of members for PxActorFlag, including all inherited members.

eDISABLE_GRAVITY enum value | PxActorFlag
eDISABLE_SIMULATION enum value | PxActorFlag
Enum enum name | PxActorFlag
eSEND_SLEEP_NOTIFIES enum value | PxActorFlag
eVISUALIZATION enum value | PxActorFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxActorShape Member List

This is the complete list of members for PxActorShape, including all inherited members.

actor PxActorShape
PxActorShape() | PxActorShape | [inline]
PxActorShape(PxRigidActor *a, PxShape *s) | PxActorShape | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxActorType Member List

This is the complete list of members for PxActorType, including all inherited members.

eACTOR_COUNT enum value | PxActorType
eACTOR_FORCE_DWORD enum value | PxActorType
eARTICULATION_LINK enum value | PxActorType
Enum enum name | PxActorType
eRIGID_DYNAMIC enum value | PxActorType
eRIGID_STATIC enum value | PxActorType
PX_DEPRECATED enum value | PxActorType


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxActorTypeFlag Member List

This is the complete list of members for PxActorTypeFlag, including all inherited members.

Enum enum name | PxActorTypeFlag
eRIGID_DYNAMIC enum value | PxActorTypeFlag
eRIGID_STATIC enum value | PxActorTypeFlag
PX_DEPRECATED enum value | PxActorTypeFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxArticulationJointDriveType Member List

This is the complete list of members for PxArticulationJointDriveType, including all inherited members.

eERROR enum value | PxArticulationJointDriveType
Enum enum name | PxArticulationJointDriveType
eTARGET enum value | PxArticulationJointDriveType


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxBaseFlag Member List

This is the complete list of members for PxBaseFlag, including all inherited members.

eIS_RELEASABLE enum value | PxBaseFlag
Enum enum name | PxBaseFlag
eOWNS_MEMORY enum value | PxBaseFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxBatchQueryMemory Member List

This is the complete list of members for PxBatchQueryMemory, including all inherited members.

getMaxOverlapsPerExecute() const | PxBatchQueryMemory | [inline]
getMaxRaycastsPerExecute() const | PxBatchQueryMemory | [inline]
getMaxSweepsPerExecute() const | PxBatchQueryMemory | [inline]
overlapResultBufferSize | PxBatchQueryMemory | [protected]
overlapTouchBufferSize | PxBatchQueryMemory |
PxBatchQueryMemory(PxU32 raycastResultBufferSize_, PxU32 sweepResultBufferSize_, PxU32 overlapResultBufferSize_) | PxBatchQueryMemory | [inline]
raycastResultBufferSize | PxBatchQueryMemory | [protected]
raycastTouchBufferSize | PxBatchQueryMemory |
sweepResultBufferSize | PxBatchQueryMemory | [protected]
sweepTouchBufferSize | PxBatchQueryMemory |
userOverlapResultBuffer | PxBatchQueryMemory |
userOverlapTouchBuffer | PxBatchQueryMemory |
userRaycastResultBuffer | PxBatchQueryMemory |
userRaycastTouchBuffer | PxBatchQueryMemory |
userSweepResultBuffer | PxBatchQueryMemory |
userSweepTouchBuffer | PxBatchQueryMemory |


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxBatchQueryResult< HitType > Member List

This is the complete list of members for PxBatchQueryResult< HitType >, including all inherited members.

block | PxBatchQueryResult< HitType > |
getAnyHit(const PxU32 index) const | PxBatchQueryResult< HitType > | [inline]
getNbAnyHits() const | PxBatchQueryResult< HitType > | [inline]
hasBlock | PxBatchQueryResult< HitType > |
nbTouches | PxBatchQueryResult< HitType > |
pad | PxBatchQueryResult< HitType > |
queryStatus | PxBatchQueryResult< HitType > |
touches | PxBatchQueryResult< HitType > |
userData | PxBatchQueryResult< HitType > |


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxBatchQueryStatus Member List

This is the complete list of members for PxBatchQueryStatus, including all inherited members.

Enum enum name | PxBatchQueryStatus
eOVERFLOW enum value | PxBatchQueryStatus
ePENDING enum value | PxBatchQueryStatus
eSUCCESS enum value | PxBatchQueryStatus


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxBoundedData Member List

This is the complete list of members for PxBoundedData, including all inherited members.

at(PxU32 idx) const | PxStridedData | [inline]
count PxBoundedData
data PxStridedData
PxBoundedData() | PxBoundedData | [inline]
PxStridedData() | PxStridedData | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxBroadPhaseCaps Member List

This is the complete list of members for PxBroadPhaseCaps, including all inherited members.

maxNbObjects | PxBroadPhaseCaps
maxNbRegions | PxBroadPhaseCaps
needsPredefinedBounds | PxBroadPhaseCaps


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxBroadPhaseRegion Member List

This is the complete list of members for PxBroadPhaseRegion, including all inherited members.

bounds | PxBroadPhaseRegion
userData | PxBroadPhaseRegion


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxBroadPhaseRegionInfo Member List

This is the complete list of members for PxBroadPhaseRegionInfo, including all inherited members.

active | PxBroadPhaseRegionInfo
nbDynamicObjects | PxBroadPhaseRegionInfo
nbStaticObjects | PxBroadPhaseRegionInfo
overlap | PxBroadPhaseRegionInfo
region | PxBroadPhaseRegionInfo


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxBroadPhaseType Member List

This is the complete list of members for PxBroadPhaseType, including all inherited members.

eGPU enum value | PxBroadPhaseType
eLAST enum value | PxBroadPhaseType
eMBP enum value | PxBroadPhaseType
Enum enum name | PxBroadPhaseType
eSAP enum value | PxBroadPhaseType


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxBVH33MidphaseDesc Member List

This is the complete list of members for PxBVH33MidphaseDesc, including all inherited members.

isValid() const | PxBVH33MidphaseDesc | [inline]
meshCookingHint | PxBVH33MidphaseDesc |
meshSizePerformanceTradeOff | PxBVH33MidphaseDesc |
setToDefault() | PxBVH33MidphaseDesc | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxBVH34MidphaseDesc Member List

This is the complete list of members for PxBVH34MidphaseDesc, including all inherited members.

isValid() const | PxBVH34MidphaseDesc | [inline]
numTrisPerLeaf | PxBVH34MidphaseDesc |
setToDefault() | PxBVH34MidphaseDesc | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxCapsuleClimbingMode Member List

This is the complete list of members for PxCapsuleClimbingMode, including all inherited members.

eCONSTRAINED enum value | PxCapsuleClimbingMode
eEASY enum value | PxCapsuleClimbingMode
eLAST enum value | PxCapsuleClimbingMode
Enum enum name | PxCapsuleClimbingMode


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxClientBehaviorFlag Member List

This is the complete list of members for PxClientBehaviorFlag, including all inherited members.

Enum enum name | PxClientBehaviorFlag
eREPORT_FOREIGN_OBJECTS_TO_CONSTRAINT_BREAK_NOTIFY enum value | PxClientBehaviorFlag
eREPORT_FOREIGN_OBJECTS_TO_CONTACT_NOTIFY enum value | PxClientBehaviorFlag
eREPORT_FOREIGN_OBJECTS_TO_SCENE_QUERY enum value | PxClientBehaviorFlag
eREPORT_FOREIGN_OBJECTS_TO_TRIGGER_NOTIFY enum value | PxClientBehaviorFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxClothCollisionPlane Member List

This is the complete list of members for PxClothCollisionPlane, including all inherited members.

distance | PxClothCollisionPlane |
normal | PxClothCollisionPlane |
PxClothCollisionPlane() | PxClothCollisionPlane | [inline]
PxClothCollisionPlane(const PxVec3 &normal_, PxReal distance_) | PxClothCollisionPlane | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxClothCollisionSphere Member List

This is the complete list of members for PxClothCollisionSphere, including all inherited members.

pos PxClothCollisionSphere
PxClothCollisionSphere() | PxClothCollisionSphere | [inline]
PxClothCollisionSphere(const PxVec3 &p, PxReal r) | PxClothCollisionSphere | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxClothCollisionTriangle Member List

This is the complete list of members for PxClothCollisionTriangle, including all inherited members.

PxClothCollisionTriangle() | PxClothCollisionTriangle | [inline]
PxClothCollisionTriangle(const PxVec3 &v0, const PxVec3 &v1, const PxVec3 &v2) | PxClothCollisionTriangle | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxClothFabricPhase Member List

This is the complete list of members for PxClothFabricPhase, including all inherited members.

phaseType PxClothFabricPhase
PxClothFabricPhase(PxClothFabricPhaseType::Enum type=PxClothFabricPhaseType::eINVALID, PxU32 index=0) PxClothFabricPhase


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxClothFabricPhaseType Member List

This is the complete list of members for PxClothFabricPhaseType, including all inherited members.

eBENDING enum value | PxClothFabricPhaseType
eCOUNT enum value | PxClothFabricPhaseType
eHORIZONTAL enum value | PxClothFabricPhaseType
eINVALID enum value | PxClothFabricPhaseType
Enum enum name | PxClothFabricPhaseType
eSHEARING enum value | PxClothFabricPhaseType
eVERTICAL enum value | PxClothFabricPhaseType


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxClothFlag Member List

This is the complete list of members for PxClothFlag, including all inherited members.

eCOUNT enum value | PxClothFlag
eCUDA enum value | PxClothFlag
eDEFAULT enum value | PxClothFlag
Enum enum name | PxClothFlag
eSCENE_COLLISION enum value | PxClothFlag
eSWEPT_CONTACT enum value | PxClothFlag
PX_DEPRECATED enum value | PxClothFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxClothMotionConstraintConfig Member List

This is the complete list of members for PxClothMotionConstraintConfig, including all inherited members.

bias PxClothMotionConstraintConfig
PxClothMotionConstraintConfig(PxReal radiiScale=1.0f, PxReal radiiBias=0.0f, PxReal consStiffness=1.0f) PxClothMotionConstraintConfig [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxClothParticle Member List

This is the complete list of members for PxClothParticle, including all inherited members.

invWeight | PxClothParticle |
pos | PxClothParticle |
PxClothParticle() | PxClothParticle | [inline]
PxClothParticle(const PxVec3 &pos_, PxReal invWeight_) | PxClothParticle | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxClothParticleMotionConstraint Member List

This is the complete list of members for PxClothParticleMotionConstraint, including all inherited members.

pos PxClothParticleMotionConstraint
PxClothParticleMotionConstraint() | PxClothParticleMotionConstraint | [inline]
PxClothParticleMotionConstraint(const PxVec3 &p, PxReal r) | PxClothParticleMotionConstraint | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxClothParticleSeparationConstraint Member List

This is the complete list of members for PxClothParticleSeparationConstraint, including all inherited members.

pos PxClothParticleSeparationConstraint
PxClothParticleSeparationConstraint() | PxClothParticleSeparationConstraint | [inline]
PxClothParticleSeparationConstraint(const PxVec3 &p, PxReal r) | PxClothParticleSeparationConstraint | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxClothStretchConfig Member List

This is the complete list of members for PxClothStretchConfig, including all inherited members.

compressionLimit PxClothStretchConfig
PxClothStretchConfig(PxReal stiffness_=1.0f, PxReal stiffnessMultiplier_=1.0f, PxReal compressionLimit_=1.0f, PxReal stretchLimit_=1.0f) PxClothStretchConfig [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxClothTetherConfig Member List

This is the complete list of members for PxClothTetherConfig, including all inherited members.

PxClothTetherConfig(PxReal stiffness_=1.0f, PxReal stretchLimit_=1.0f) PxClothTetherConfig [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxCombineMode Member List

This is the complete list of members for PxCombineMode, including all inherited members.

eAVERAGE enum value | PxCombineMode
eMAX enum value | PxCombineMode
eMIN enum value | PxCombineMode
eMULTIPLY enum value | PxCombineMode
eN_VALUES enum value | PxCombineMode
Enum enum name | PxCombineMode
ePAD_32 enum value | PxCombineMode


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxConcreteType Member List

This is the complete list of members for PxConcreteType, including all inherited members.

eAGGREGATE enum value | PxConcreteType
eARTICULATION enum value | PxConcreteType
eARTICULATION_JOINT enum value | PxConcreteType
eARTICULATION_LINK enum value | PxConcreteType
eCLOTH enum value | PxConcreteType
eCLOTH_FABRIC enum value | PxConcreteType
eCONSTRAINT enum value | PxConcreteType
eCONVEX_MESH enum value | PxConcreteType
eFIRST_PHYSX_EXTENSION enum value | PxConcreteType
eFIRST_USER_EXTENSION enum value | PxConcreteType
eFIRST_VEHICLE_EXTENSION enum value | PxConcreteType
eHEIGHTFIELD enum value | PxConcreteType
eMATERIAL enum value | PxConcreteType
Enum enum name | PxConcreteType
ePARTICLE_FLUID enum value | PxConcreteType
ePARTICLE_SYSTEM enum value | PxConcreteType
ePHYSX_CORE_COUNT enum value | PxConcreteType
ePRUNING_STRUCTURE enum value | PxConcreteType
eRIGID_DYNAMIC enum value | PxConcreteType
eRIGID_STATIC enum value | PxConcreteType
eSHAPE enum value | PxConcreteType
eTRIANGLE_MESH_BVH33 enum value | PxConcreteType
eTRIANGLE_MESH_BVH34 enum value | PxConcreteType
eUNDEFINED enum value | PxConcreteType


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxConstraintExtIDs Member List

This is the complete list of members for PxConstraintExtIDs, including all inherited members.

eINVALID_ID enum value | PxConstraintExtIDs
eJOINT enum value | PxConstraintExtIDs
eNEXT_FREE_ID enum value | PxConstraintExtIDs
Enum enum name | PxConstraintExtIDs
eVEHICLE_STICKY_TYRE enum value | PxConstraintExtIDs
eVEHICLE_SUSP_LIMIT enum value | PxConstraintExtIDs


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxConstraintFlag Member List

This is the complete list of members for PxConstraintFlag, including all inherited members.

eBROKEN enum value | PxConstraintFlag
eCOLLISION_ENABLED enum value | PxConstraintFlag
eDISABLE_PREPROCESSING enum value | PxConstraintFlag
eDRIVE_LIMITS_ARE_FORCES enum value | PxConstraintFlag
eGPU_COMPATIBLE enum value | PxConstraintFlag
eIMPROVED_SLERP enum value | PxConstraintFlag
Enum enum name | PxConstraintFlag
ePROJECT_TO_ACTOR0 enum value | PxConstraintFlag
ePROJECT_TO_ACTOR1 enum value | PxConstraintFlag
ePROJECTION enum value | PxConstraintFlag
eVISUALIZATION enum value | PxConstraintFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxConstraintInfo Member List

This is the complete list of members for PxConstraintInfo, including all inherited members.

constraint PxConstraintInfo
externalReference PxConstraintInfo
PxConstraintInfo() | PxConstraintInfo | [inline]
PxConstraintInfo(PxConstraint *c, void *extRef, PxU32 t) | PxConstraintInfo | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxConstraintInvMassScale Member List

This is the complete list of members for PxConstraintInvMassScale, including all inherited members.

angular0 | PxConstraintInvMassScale |
angular1 | PxConstraintInvMassScale |
linear0 | PxConstraintInvMassScale |
linear1 | PxConstraintInvMassScale |
PxConstraintInvMassScale() | PxConstraintInvMassScale | [inline]
PxConstraintInvMassScale(PxReal lin0, PxReal ang0, PxReal lin1, PxReal ang1) | PxConstraintInvMassScale | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxConstraintShaderTable Member List

This is the complete list of members for PxConstraintShaderTable, including all inherited members.

eMAX_SOLVERPRPEP_DATASIZE enum value | PxConstraintShaderTable
flag | PxConstraintShaderTable
project | PxConstraintShaderTable
solverPrep | PxConstraintShaderTable
visualize | PxConstraintShaderTable


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxConstraintSolveHint Member List

This is the complete list of members for PxConstraintSolveHint, including all inherited members.

eACCELERATION1 enum value | PxConstraintSolveHint
eACCELERATION2 enum value | PxConstraintSolveHint
eACCELERATION3 enum value | PxConstraintSolveHint
eEQUALITY enum value | PxConstraintSolveHint
eINEQUALITY enum value | PxConstraintSolveHint
eNONE enum value | PxConstraintSolveHint
Enum enum name | PxConstraintSolveHint
eSLERP_SPRING enum value | PxConstraintSolveHint


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxConstraintVisualizationFlag Member List

This is the complete list of members for PxConstraintVisualizationFlag, including all inherited members.

eLIMITS enum value | PxConstraintVisualizationFlag
eLOCAL_FRAMES enum value | PxConstraintVisualizationFlag
Enum enum name | PxConstraintVisualizationFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxContact Member List

This is the complete list of members for PxContact, including all inherited members.

contact | PxContact
separation | PxContact


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxContactPair Member List

This is the complete list of members for PxContactPair, including all inherited members.

bufferContacts(PxContactPair *newPair, PxU8 *bufferMemory) const | PxContactPair
contactCount PxContactPair
contactImpulses PxContactPair
contactPatches PxContactPair
contactPoints PxContactPair
contactStreamSize PxContactPair
events PxContactPair
extractContacts(PxContactPairPoint *userBuffer, PxU32 bufferSize) const | PxContactPair
flags PxContactPair
getInternalFaceIndices() const | PxContactPair
internalData PxContactPair
patchCount PxContactPair
PxContactPair() | PxContactPair | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxContactPairExtraDataItem Member List

This is the complete list of members for PxContactPairExtraDataItem, including all inherited members.

PxContactPairExtraDataItem() PxContactPairExtraDataItem [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxContactPairExtraDataIterator Member List

This is the complete list of members for PxContactPairExtraDataIterator, including all inherited members.

clearDataPtrs() | PxContactPairExtraDataIterator | [inline, private]
contactPairIndex | PxContactPairExtraDataIterator |
currPtr | PxContactPairExtraDataIterator |
endPtr | PxContactPairExtraDataIterator |
eventPose | PxContactPairExtraDataIterator |
nextItemSet() | PxContactPairExtraDataIterator | [inline]
postSolverVelocity | PxContactPairExtraDataIterator |
preSolverVelocity | PxContactPairExtraDataIterator |
PxContactPairExtraDataIterator(const PxU8 *stream, PxU32 size) | PxContactPairExtraDataIterator | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxContactPairExtraDataType Member List

This is the complete list of members for PxContactPairExtraDataType, including all inherited members.

eCONTACT_EVENT_POSE enum value | PxContactPairExtraDataType
eCONTACT_PAIR_INDEX enum value | PxContactPairExtraDataType
Enum enum name | PxContactPairExtraDataType
ePOST_SOLVER_VELOCITY enum value | PxContactPairExtraDataType
ePRE_SOLVER_VELOCITY enum value | PxContactPairExtraDataType


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxContactPairFlag Member List

This is the complete list of members for PxContactPairFlag, including all inherited members.

eACTOR_PAIR_HAS_FIRST_TOUCH enum value | PxContactPairFlag
eACTOR_PAIR_LOST_TOUCH enum value | PxContactPairFlag
eINTERNAL_CONTACTS_ARE_FLIPPED enum value | PxContactPairFlag
eINTERNAL_HAS_IMPULSES enum value | PxContactPairFlag
Enum enum name | PxContactPairFlag
eREMOVED_SHAPE_0 enum value | PxContactPairFlag
eREMOVED_SHAPE_1 enum value | PxContactPairFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxContactPairHeader Member List

This is the complete list of members for PxContactPairHeader, including all inherited members.

actors | PxContactPairHeader |
extraDataStream | PxContactPairHeader |
extraDataStreamSize | PxContactPairHeader |
flags | PxContactPairHeader |
nbPairs | PxContactPairHeader |
pairs | PxContactPairHeader |
PxContactPairHeader() | PxContactPairHeader | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxContactPairHeaderFlag Member List

This is the complete list of members for PxContactPairHeaderFlag, including all inherited members.

Enum enum name | PxContactPairHeaderFlag
eREMOVED_ACTOR_0 enum value | PxContactPairHeaderFlag
eREMOVED_ACTOR_1 enum value | PxContactPairHeaderFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxContactPairIndex Member List

This is the complete list of members for PxContactPairIndex, including all inherited members.

index PxContactPairIndex
PxContactPairExtraDataItem() | PxContactPairExtraDataItem | [inline]
PxContactPairIndex() | PxContactPairIndex | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxContactPairPoint Member List

This is the complete list of members for PxContactPairPoint, including all inherited members.

impulse | PxContactPairPoint
internalFaceIndex0 | PxContactPairPoint
internalFaceIndex1 | PxContactPairPoint
normal | PxContactPairPoint
position | PxContactPairPoint
separation | PxContactPairPoint


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxContactPairPose Member List

This is the complete list of members for PxContactPairPose, including all inherited members.

globalPose PxContactPairPose
PxContactPairExtraDataItem() | PxContactPairExtraDataItem | [inline]
PxContactPairPose() | PxContactPairPose | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxContactPairVelocity Member List

This is the complete list of members for PxContactPairVelocity, including all inherited members.

angularVelocity PxContactPairVelocity
linearVelocity PxContactPairVelocity
PxContactPairExtraDataItem() | PxContactPairExtraDataItem | [inline]
PxContactPairVelocity() | PxContactPairVelocity | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxContactPatch Member List

This is the complete list of members for PxContactPatch, including all inherited members.

dynamicFriction PxContactPatch
eCOMPRESSED_MODIFIED_CONTACT enum value | PxContactPatch
eFORCE_NO_RESPONSE enum value | PxContactPatch
eHAS_FACE_INDICES enum value | PxContactPatch
eHAS_MAX_IMPULSE enum value | PxContactPatch
eHAS_MODIFIED_MASS_RATIOS enum value | PxContactPatch
eHAS_TARGET_VELOCITY enum value | PxContactPatch
eMODIFIABLE enum value | PxContactPatch
eREGENERATE_PATCHES enum value | PxContactPatch
internalFlags PxContactPatch
materialFlags PxContactPatch
materialIndex0 PxContactPatch
materialIndex1 PxContactPatch
nbContacts PxContactPatch
PX_ALIGN(16, PxMassModificationProps mMassModification) | PxContactPatch
PX_ALIGN(16, PxVec3 normal) | PxContactPatch
PxContactPatchFlags enum name | PxContactPatch


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxContactStreamIterator Member List

This is the complete list of members for PxContactStreamIterator, including all inherited members.

advanceToIndex(const PxU32 initialIndex) | PxContactStreamIterator | [inline]
contact PxContactStreamIterator
contactPatchHeaderSize PxContactStreamIterator
contactPointSize PxContactStreamIterator
eCOMPRESSED_MODIFIABLE_STREAM enum value | PxContactStreamIterator
eMODIFIABLE_STREAM enum value | PxContactStreamIterator
eSIMPLE_STREAM enum value | PxContactStreamIterator
faceIndice PxContactStreamIterator
forceNoResponse PxContactStreamIterator
getContactNormal() const | PxContactStreamIterator | [inline]
getContactPatch() const | PxContactStreamIterator | [inline, private]
getContactPoint() const | PxContactStreamIterator | [inline]
getDynamicFriction() const | PxContactStreamIterator | [inline]
getExtendedContact() const | PxContactStreamIterator | [inline, private]
getFaceIndex0() const | PxContactStreamIterator | [inline]
getFaceIndex1() const | PxContactStreamIterator | [inline]
getInvInertiaScale0() const | PxContactStreamIterator | [inline]
getInvInertiaScale1() const | PxContactStreamIterator | [inline]
getInvMassScale0() const | PxContactStreamIterator | [inline]
getInvMassScale1() const | PxContactStreamIterator | [inline]
getMaterialFlags() const | PxContactStreamIterator | [inline]
getMaterialIndex0() const | PxContactStreamIterator | [inline]
getMaterialIndex1() const | PxContactStreamIterator | [inline]
getMaxImpulse() const | PxContactStreamIterator | [inline]
getRestitution() const | PxContactStreamIterator | [inline]
getSeparation() const | PxContactStreamIterator | [inline]
getStaticFriction() const | PxContactStreamIterator | [inline]
getTargetVel() const | PxContactStreamIterator | [inline]
getTotalContactCount() const | PxContactStreamIterator | [inline]
getTotalPatchCount() const | PxContactStreamIterator | [inline]
hasFaceIndices PxContactStreamIterator
hasNextContact() const | PxContactStreamIterator | [inline]
hasNextPatch() const | PxContactStreamIterator | [inline]
mStreamFormat PxContactStreamIterator
nextContact() | PxContactStreamIterator | [inline]
nextContactIndex PxContactStreamIterator
nextPatch() | PxContactStreamIterator | [inline]
nextPatchIndex PxContactStreamIterator
patch PxContactStreamIterator
pointStepped PxContactStreamIterator
PxContactStreamIterator(const PxU8 *contactPatches, const PxU8 *contactPoints, const PxU32 *contactFaceIndices, PxU32 nbPatches, PxU32 nbContacts) | PxContactStreamIterator | [inline]
StreamFormat enum name | PxContactStreamIterator


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxControllerBehaviorFlag Member List

This is the complete list of members for PxControllerBehaviorFlag, including all inherited members.

eCCT_CAN_RIDE_ON_OBJECT enum value | PxControllerBehaviorFlag
eCCT_SLIDE enum value | PxControllerBehaviorFlag
eCCT_USER_DEFINED_RIDE enum value | PxControllerBehaviorFlag
Enum enum name | PxControllerBehaviorFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxControllerCollisionFlag Member List

This is the complete list of members for PxControllerCollisionFlag, including all inherited members.

eCOLLISION_DOWN enum value | PxControllerCollisionFlag
eCOLLISION_SIDES enum value | PxControllerCollisionFlag
eCOLLISION_UP enum value | PxControllerCollisionFlag
Enum enum name | PxControllerCollisionFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxControllerDebugRenderFlag Member List

This is the complete list of members for PxControllerDebugRenderFlag, including all inherited members.

eALL enum value | PxControllerDebugRenderFlag
eCACHED_BV enum value | PxControllerDebugRenderFlag
eNONE enum value | PxControllerDebugRenderFlag
Enum enum name | PxControllerDebugRenderFlag
eOBSTACLES enum value | PxControllerDebugRenderFlag
eTEMPORAL_BV enum value | PxControllerDebugRenderFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxControllerHit Member List

This is the complete list of members for PxControllerHit, including all inherited members.

controller | PxControllerHit
dir | PxControllerHit
length | PxControllerHit
worldNormal | PxControllerHit
worldPos | PxControllerHit


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxControllerNonWalkableMode Member List

This is the complete list of members for PxControllerNonWalkableMode, including all inherited members.

Enum enum name | PxControllerNonWalkableMode
ePREVENT_CLIMBING enum value | PxControllerNonWalkableMode
ePREVENT_CLIMBING_AND_FORCE_SLIDING enum value | PxControllerNonWalkableMode


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxControllerObstacleHit Member List

This is the complete list of members for PxControllerObstacleHit, including all inherited members.

controller | PxControllerHit
dir | PxControllerHit
length | PxControllerHit
userData | PxControllerObstacleHit
worldNormal | PxControllerHit
worldPos | PxControllerHit


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxControllerShapeHit Member List

This is the complete list of members for PxControllerShapeHit, including all inherited members.

actor | PxControllerShapeHit
controller | PxControllerHit
dir | PxControllerHit
length | PxControllerHit
shape | PxControllerShapeHit
triangleIndex | PxControllerShapeHit
worldNormal | PxControllerHit
worldPos | PxControllerHit


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxControllerShapeType Member List

This is the complete list of members for PxControllerShapeType, including all inherited members.

eBOX enum value | PxControllerShapeType
eCAPSULE enum value | PxControllerShapeType
eFORCE_DWORD enum value | PxControllerShapeType
Enum enum name | PxControllerShapeType


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxControllersHit Member List

This is the complete list of members for PxControllersHit, including all inherited members.

controller | PxControllerHit
dir | PxControllerHit
length | PxControllerHit
other | PxControllersHit
worldNormal | PxControllerHit
worldPos | PxControllerHit


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxControllerState Member List

This is the complete list of members for PxControllerState, including all inherited members.

collisionFlags | PxControllerState
deltaXP | PxControllerState
isMovingUp | PxControllerState
standOnAnotherCCT | PxControllerState
standOnObstacle | PxControllerState
touchedActor | PxControllerState
touchedObstacleHandle | PxControllerState
touchedShape | PxControllerState


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxControllerStats Member List

This is the complete list of members for PxControllerStats, including all inherited members.

nbFullUpdates | PxControllerStats
nbIterations | PxControllerStats
nbPartialUpdates | PxControllerStats
nbTessellation | PxControllerStats


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxConverterReportMode Member List

This is the complete list of members for PxConverterReportMode, including all inherited members.

eNONE enum value | PxConverterReportMode
eNORMAL enum value | PxConverterReportMode
Enum enum name | PxConverterReportMode
eVERBOSE enum value | PxConverterReportMode


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxConvexFlag Member List

This is the complete list of members for PxConvexFlag, including all inherited members.

e16_BIT_INDICES enum value | PxConvexFlag
eCHECK_ZERO_AREA_TRIANGLES enum value | PxConvexFlag
eCOMPUTE_CONVEX enum value | PxConvexFlag
eDISABLE_MESH_VALIDATION enum value | PxConvexFlag
eFAST_INERTIA_COMPUTATION enum value | PxConvexFlag
eGPU_COMPATIBLE enum value | PxConvexFlag
eINFLATE_CONVEX enum value | PxConvexFlag
Enum enum name | PxConvexFlag
ePLANE_SHIFTING enum value | PxConvexFlag
eQUANTIZE_INPUT enum value | PxConvexFlag
eSHIFT_VERTICES enum value | PxConvexFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxConvexMeshCookingResult Member List

This is the complete list of members for PxConvexMeshCookingResult, including all inherited members.

eFAILURE enum value | PxConvexMeshCookingResult
Enum enum name | PxConvexMeshCookingResult
ePOLYGONS_LIMIT_REACHED enum value | PxConvexMeshCookingResult
eSUCCESS enum value | PxConvexMeshCookingResult
eZERO_AREA_TEST_FAILED enum value | PxConvexMeshCookingResult


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxConvexMeshCookingType Member List

This is the complete list of members for PxConvexMeshCookingType, including all inherited members.

Enum enum name | PxConvexMeshCookingType
eQUICKHULL enum value | PxConvexMeshCookingType
PX_DEPRECATED enum value | PxConvexMeshCookingType


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxConvexMeshGeometryFlag Member List

This is the complete list of members for PxConvexMeshGeometryFlag, including all inherited members.

Enum enum name | PxConvexMeshGeometryFlag
eTIGHT_BOUNDS enum value | PxConvexMeshGeometryFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxCookingParams Member List

This is the complete list of members for PxCookingParams, including all inherited members.

areaTestEpsilon | PxCookingParams |
buildGPUData | PxCookingParams |
buildTriangleAdjacencies | PxCookingParams |
convexMeshCookingType | PxCookingParams |
gaussMapLimit | PxCookingParams |
meshCookingHint | PxCookingParams |
meshPreprocessParams | PxCookingParams |
meshSizePerformanceTradeOff | PxCookingParams |
meshWeldTolerance | PxCookingParams |
midphaseDesc | PxCookingParams |
planeTolerance | PxCookingParams |
PxCookingParams(const PxTolerancesScale &sc) | PxCookingParams | [inline]
scale | PxCookingParams |
skinWidth | PxCookingParams |
suppressTriangleMeshRemapTable | PxCookingParams |
targetPlatform | PxCookingParams |


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxD6Axis Member List

This is the complete list of members for PxD6Axis, including all inherited members.

eCOUNT enum value | PxD6Axis
Enum enum name | PxD6Axis
eSWING1 enum value | PxD6Axis
eSWING2 enum value | PxD6Axis
eTWIST enum value | PxD6Axis
eX enum value | PxD6Axis
eY enum value | PxD6Axis
eZ enum value | PxD6Axis


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxD6Drive Member List

This is the complete list of members for PxD6Drive, including all inherited members.

eCOUNT enum value | PxD6Drive
Enum enum name | PxD6Drive
eSLERP enum value | PxD6Drive
eSWING enum value | PxD6Drive
eTWIST enum value | PxD6Drive
eX enum value | PxD6Drive
eY enum value | PxD6Drive
eZ enum value | PxD6Drive


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxD6JointDriveFlag Member List

This is the complete list of members for PxD6JointDriveFlag, including all inherited members.

eACCELERATION enum value | PxD6JointDriveFlag
Enum enum name | PxD6JointDriveFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxD6Motion Member List

This is the complete list of members for PxD6Motion, including all inherited members.

eFREE enum value | PxD6Motion
eLIMITED enum value | PxD6Motion
eLOCKED enum value | PxD6Motion
Enum enum name | PxD6Motion


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxDataAccessFlag Member List

This is the complete list of members for PxDataAccessFlag, including all inherited members.

eDEVICE enum value | PxDataAccessFlag
Enum enum name | PxDataAccessFlag
eREADABLE enum value | PxDataAccessFlag
eWRITABLE enum value | PxDataAccessFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxDebugColor Member List

This is the complete list of members for PxDebugColor, including all inherited members.

eARGB_BLACK enum value | PxDebugColor
eARGB_BLUE enum value | PxDebugColor
eARGB_CYAN enum value | PxDebugColor
eARGB_DARKBLUE enum value | PxDebugColor
eARGB_DARKGREEN enum value | PxDebugColor
eARGB_DARKRED enum value | PxDebugColor
eARGB_GREEN enum value | PxDebugColor
eARGB_GREY enum value | PxDebugColor
eARGB_MAGENTA enum value | PxDebugColor
eARGB_RED enum value | PxDebugColor
eARGB_WHITE enum value | PxDebugColor
eARGB_YELLOW enum value | PxDebugColor
Enum enum name | PxDebugColor


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxDebugLine Member List

This is the complete list of members for PxDebugLine, including all inherited members.

color0 | PxDebugLine |
color1 | PxDebugLine |
pos0 | PxDebugLine |
pos1 | PxDebugLine |
PxDebugLine(const PxVec3 &p0, const PxVec3 &p1, const PxU32 &c) | PxDebugLine | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxDebugPoint Member List

This is the complete list of members for PxDebugPoint, including all inherited members.

color | PxDebugPoint |
pos | PxDebugPoint |
PxDebugPoint(const PxVec3 &p, const PxU32 &c) | PxDebugPoint | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxDebugText Member List

This is the complete list of members for PxDebugText, including all inherited members.

color PxDebugText
position PxDebugText
PxDebugText() | PxDebugText | [inline]
PxDebugText(const PxVec3 &p, const PxReal &s, const PxU32 &c, const char *str) | PxDebugText | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxDebugTriangle Member List

This is the complete list of members for PxDebugTriangle, including all inherited members.

color0 | PxDebugTriangle |
color1 | PxDebugTriangle |
color2 | PxDebugTriangle |
pos0 | PxDebugTriangle |
pos1 | PxDebugTriangle |
pos2 | PxDebugTriangle |
PxDebugTriangle(const PxVec3 &p0, const PxVec3 &p1, const PxVec3 &p2, const PxU32 &c) | PxDebugTriangle | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxDeletionEventFlag Member List

This is the complete list of members for PxDeletionEventFlag, including all inherited members.

eMEMORY_RELEASE enum value | PxDeletionEventFlag
Enum enum name | PxDeletionEventFlag
eUSER_RELEASE enum value | PxDeletionEventFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxDistanceJointFlag Member List

This is the complete list of members for PxDistanceJointFlag, including all inherited members.

eMAX_DISTANCE_ENABLED enum value | PxDistanceJointFlag
eMIN_DISTANCE_ENABLED enum value | PxDistanceJointFlag
Enum enum name | PxDistanceJointFlag
eSPRING_ENABLED enum value | PxDistanceJointFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxDominanceGroupPair Member List

This is the complete list of members for PxDominanceGroupPair, including all inherited members.

dominance0 | PxDominanceGroupPair |
dominance1 | PxDominanceGroupPair |
PxDominanceGroupPair(PxU8 a, PxU8 b) | PxDominanceGroupPair | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxErrorCode Member List

This is the complete list of members for PxErrorCode, including all inherited members.

eABORT enum value | PxErrorCode
eDEBUG_INFO enum value | PxErrorCode
eDEBUG_WARNING enum value | PxErrorCode
eINTERNAL_ERROR enum value | PxErrorCode
eINVALID_OPERATION enum value | PxErrorCode
eINVALID_PARAMETER enum value | PxErrorCode
eMASK_ALL enum value | PxErrorCode
eNO_ERROR enum value | PxErrorCode
Enum enum name | PxErrorCode
eOUT_OF_MEMORY enum value | PxErrorCode
ePERF_WARNING enum value | PxErrorCode


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxExtendedContact Member List

This is the complete list of members for PxExtendedContact, including all inherited members.

contact PxContact
maxImpulse PxExtendedContact
PX_ALIGN(16, PxVec3 targetVelocity) PxExtendedContact


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxExtendedVec3 Member List

This is the complete list of members for PxExtendedVec3, including all inherited members.

cross(const PxExtendedVec3 &left, const PxVec3 &right) | PxExtendedVec3 | [inline]
cross(const PxExtendedVec3 &left, const PxExtendedVec3 &right) | PxExtendedVec3 | [inline]
cross(const PxExtendedVec3 &v) const | PxExtendedVec3 | [inline]
cross(const PxVec3 &left, const PxExtendedVec3 &right) | PxExtendedVec3 | [inline]
distanceSquared(const PxExtendedVec3 &v) const | PxExtendedVec3 | [inline]
dot(const PxVec3 &v) const | PxExtendedVec3 | [inline]
isFinite() const | PxExtendedVec3 | [inline]
isZero() const | PxExtendedVec3 | [inline]
magnitude() const | PxExtendedVec3 | [inline]
magnitudeSquared() const | PxExtendedVec3 | [inline]
maximum(const PxExtendedVec3 &v) | PxExtendedVec3 | [inline]
minimum(const PxExtendedVec3 &v) | PxExtendedVec3 | [inline]
normalize() | PxExtendedVec3 | [inline]
operator*=(const PxReal &s) | PxExtendedVec3 | [inline]
operator+(const PxExtendedVec3 &v) const | PxExtendedVec3 | [inline]
operator+=(const PxExtendedVec3 &v) | PxExtendedVec3 | [inline]
operator+=(const PxVec3 &v) | PxExtendedVec3 | [inline]
operator-() const | PxExtendedVec3 | [inline]
operator-(const PxExtendedVec3 &v) const | PxExtendedVec3 | [inline]
operator-=(const PxExtendedVec3 &v) | PxExtendedVec3 | [inline]
operator-=(const PxVec3 &v) | PxExtendedVec3 | [inline]
operator[](int index) | PxExtendedVec3 | [inline]
operator[](int index) const | PxExtendedVec3 | [inline]
PxExtendedVec3() | PxExtendedVec3 | [inline]
PxExtendedVec3(PxExtended _x, PxExtended _y, PxExtended _z) | PxExtendedVec3 | [inline]
set(PxExtended x_, PxExtended y_, PxExtended z_) | PxExtendedVec3 | [inline]
setMinusInfinity() | PxExtendedVec3 | [inline]
setPlusInfinity() | PxExtendedVec3 | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxFilterData Member List

This is the complete list of members for PxFilterData, including all inherited members.

operator!=(const PxFilterData &a) const | PxFilterData | [inline]
operator=(const PxFilterData &fd) | PxFilterData | [inline]
operator==(const PxFilterData &a) const | PxFilterData | [inline]
PxFilterData(const PxEMPTY) | PxFilterData | [inline]
PxFilterData() | PxFilterData | [inline]
PxFilterData(const PxFilterData &fd) | PxFilterData | [inline]
PxFilterData(PxU32 w0, PxU32 w1, PxU32 w2, PxU32 w3) | PxFilterData | [inline]
setToDefault() | PxFilterData | [inline]
word0 | PxFilterData |
word1 | PxFilterData |
word2 | PxFilterData |
word3 | PxFilterData |


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxFilterFlag Member List

This is the complete list of members for PxFilterFlag, including all inherited members.

eCALLBACK enum value | PxFilterFlag
eDEFAULT enum value | PxFilterFlag
eKILL enum value | PxFilterFlag
eNOTIFY enum value | PxFilterFlag
Enum enum name | PxFilterFlag
eSUPPRESS enum value | PxFilterFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxFilterInfo Member List

This is the complete list of members for PxFilterInfo, including all inherited members.

filterFlags | PxFilterInfo |
filterPairIndex | PxFilterInfo |
pairFlags | PxFilterInfo |
PxFilterInfo() | PxFilterInfo | [inline]
PxFilterInfo(PxFilterFlags filterFlags_) | PxFilterInfo | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxFilterObjectFlag Member List

This is the complete list of members for PxFilterObjectFlag, including all inherited members.

eKINEMATIC enum value | PxFilterObjectFlag
Enum enum name | PxFilterObjectFlag
eTRIGGER enum value | PxFilterObjectFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxFilterObjectType Member List

This is the complete list of members for PxFilterObjectType, including all inherited members.

eARTICULATION enum value | PxFilterObjectType
eCLOTH enum value | PxFilterObjectType
eMAX_TYPE_COUNT enum value | PxFilterObjectType
Enum enum name | PxFilterObjectType
eRIGID_DYNAMIC enum value | PxFilterObjectType
eRIGID_STATIC enum value | PxFilterObjectType
eUNDEFINED enum value | PxFilterObjectType
PX_DEPRECATED enum value | PxFilterObjectType


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxFilterOp Member List

This is the complete list of members for PxFilterOp, including all inherited members.

Enum enum name | PxFilterOp
PX_FILTEROP_AND enum value | PxFilterOp
PX_FILTEROP_NAND enum value | PxFilterOp
PX_FILTEROP_NOR enum value | PxFilterOp
PX_FILTEROP_NXOR enum value | PxFilterOp
PX_FILTEROP_OR enum value | PxFilterOp
PX_FILTEROP_SWAP_AND enum value | PxFilterOp
PX_FILTEROP_XOR enum value | PxFilterOp


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxForceMode Member List

This is the complete list of members for PxForceMode, including all inherited members.

eACCELERATION enum value | PxForceMode
eFORCE enum value | PxForceMode
eIMPULSE enum value | PxForceMode
Enum enum name | PxForceMode
eVELOCITY_CHANGE enum value | PxForceMode


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxFrictionType Member List

This is the complete list of members for PxFrictionType, including all inherited members.

eFRICTION_COUNT enum value | PxFrictionType
Enum enum name | PxFrictionType
eONE_DIRECTIONAL enum value | PxFrictionType
ePATCH enum value | PxFrictionType
eTWO_DIRECTIONAL enum value | PxFrictionType


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxgDynamicsMemoryConfig Member List

This is the complete list of members for PxgDynamicsMemoryConfig, including all inherited members.

constraintBufferCapacity PxgDynamicsMemoryConfig
contactBufferCapacity PxgDynamicsMemoryConfig
contactStreamSize PxgDynamicsMemoryConfig
forceStreamCapacity PxgDynamicsMemoryConfig
foundLostPairsCapacity PxgDynamicsMemoryConfig
heapCapacity PxgDynamicsMemoryConfig
patchStreamSize PxgDynamicsMemoryConfig
PxgDynamicsMemoryConfig() PxgDynamicsMemoryConfig [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxGeometryType Member List

This is the complete list of members for PxGeometryType, including all inherited members.

eBOX enum value | PxGeometryType
eCAPSULE enum value | PxGeometryType
eCONVEXMESH enum value | PxGeometryType
eGEOMETRY_COUNT enum value | PxGeometryType
eHEIGHTFIELD enum value | PxGeometryType
eINVALID enum value | PxGeometryType
Enum enum name | PxGeometryType
ePLANE enum value | PxGeometryType
eSPHERE enum value | PxGeometryType
eTRIANGLEMESH enum value | PxGeometryType


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxHeightFieldFlag Member List

This is the complete list of members for PxHeightFieldFlag, including all inherited members.

eNO_BOUNDARY_EDGES enum value | PxHeightFieldFlag
Enum enum name | PxHeightFieldFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxHeightFieldFormat Member List

This is the complete list of members for PxHeightFieldFormat, including all inherited members.

Enum enum name | PxHeightFieldFormat
eS16_TM enum value | PxHeightFieldFormat


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxHeightFieldMaterial Member List

This is the complete list of members for PxHeightFieldMaterial, including all inherited members.

eHOLE enum value | PxHeightFieldMaterial
Enum enum name | PxHeightFieldMaterial


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxHeightFieldSample Member List

This is the complete list of members for PxHeightFieldSample, including all inherited members.

clearTessFlag() | PxHeightFieldSample | [inline]
height | PxHeightFieldSample |
materialIndex0 | PxHeightFieldSample |
materialIndex1 | PxHeightFieldSample |
setTessFlag() | PxHeightFieldSample | [inline]
tessFlag() const | PxHeightFieldSample | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxHeightFieldTessFlag Member List

This is the complete list of members for PxHeightFieldTessFlag, including all inherited members.

e0TH_VERTEX_SHARED enum value | PxHeightFieldTessFlag
Enum enum name | PxHeightFieldTessFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxHitBuffer< HitType > Member List

This is the complete list of members for PxHitBuffer< HitType >, including all inherited members.

block | PxHitCallback< HitType > |
finalizeQuery() | PxHitCallback< HitType > | [inline, virtual]
getAnyHit(const PxU32 index) const | PxHitBuffer< HitType > | [inline]
getMaxNbTouches() const | PxHitBuffer< HitType > | [inline]
getNbAnyHits() const | PxHitBuffer< HitType > | [inline]
getNbTouches() const | PxHitBuffer< HitType > | [inline]
getTouch(const PxU32 index) const | PxHitBuffer< HitType > | [inline]
getTouches() const | PxHitBuffer< HitType > | [inline]
hasAnyHits() | PxHitCallback< HitType > | [inline]
hasBlock | PxHitCallback< HitType > |
maxNbTouches | PxHitCallback< HitType > |
nbTouches | PxHitCallback< HitType > |
processTouches(const HitType *buffer, PxU32 nbHits) | PxHitBuffer< HitType > | [inline, protected, virtual]
PxHitBuffer(HitType *aTouches=NULL, PxU32 aMaxNbTouches=0) | PxHitBuffer< HitType > | [inline]
PxHitCallback(HitType *aTouches, PxU32 aMaxNbTouches) | PxHitCallback< HitType > | [inline]
touches | PxHitCallback< HitType > |
~PxHitBuffer() | PxHitBuffer< HitType > | [inline, virtual]
~PxHitCallback() | PxHitCallback< HitType > | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxHitCallback< HitType > Member List

This is the complete list of members for PxHitCallback< HitType >, including all inherited members.

block | PxHitCallback< HitType > |
finalizeQuery() | PxHitCallback< HitType > | [inline, virtual]
hasAnyHits() | PxHitCallback< HitType > | [inline]
hasBlock | PxHitCallback< HitType > |
maxNbTouches | PxHitCallback< HitType > |
nbTouches | PxHitCallback< HitType > |
processTouches(const HitType *buffer, PxU32 nbHits)=0 | PxHitCallback< HitType > | [pure virtual]
PxHitCallback(HitType *aTouches, PxU32 aMaxNbTouches) | PxHitCallback< HitType > | [inline]
touches | PxHitCallback< HitType > |
~PxHitCallback() | PxHitCallback< HitType > | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxHitFlag Member List

This is the complete list of members for PxHitFlag, including all inherited members.

eASSUME_NO_INITIAL_OVERLAP enum value | PxHitFlag
eDEFAULT enum value | PxHitFlag
eDISTANCE enum value | PxHitFlag
eFACE_INDEX enum value | PxHitFlag
eMESH_ANY enum value | PxHitFlag
eMESH_BOTH_SIDES enum value | PxHitFlag
eMESH_MULTIPLE enum value | PxHitFlag
eMODIFIABLE_FLAGS enum value | PxHitFlag
eMTD enum value | PxHitFlag
eNORMAL enum value | PxHitFlag
Enum enum name | PxHitFlag
ePOSITION enum value | PxHitFlag
ePRECISE_SWEEP enum value | PxHitFlag
eUV enum value | PxHitFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxHullPolygon Member List

This is the complete list of members for PxHullPolygon, including all inherited members.

mIndexBase | PxHullPolygon
mNbVerts | PxHullPolygon
mPlane | PxHullPolygon


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxJointActorIndex Member List

This is the complete list of members for PxJointActorIndex, including all inherited members.

COUNT enum value | PxJointActorIndex
eACTOR0 enum value | PxJointActorIndex
eACTOR1 enum value | PxJointActorIndex
Enum enum name | PxJointActorIndex


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxJointConcreteType Member List

This is the complete list of members for PxJointConcreteType, including all inherited members.

eD6 enum value | PxJointConcreteType
eDISTANCE enum value | PxJointConcreteType
eFIXED enum value | PxJointConcreteType
eLast enum value | PxJointConcreteType
Enum enum name | PxJointConcreteType
ePRISMATIC enum value | PxJointConcreteType
eREVOLUTE enum value | PxJointConcreteType
eSPHERICAL enum value | PxJointConcreteType


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxLocationHit Member List

This is the complete list of members for PxLocationHit, including all inherited members.

actor PxActorShape
distance PxLocationHit
faceIndex PxQueryHit
flags PxLocationHit
hadInitialOverlap() const | PxLocationHit | [inline]
normal PxLocationHit
position PxLocationHit
PxActorShape() | PxActorShape | [inline]
PxActorShape(PxRigidActor *a, PxShape *s) | PxActorShape | [inline]
PxLocationHit() | PxLocationHit | [inline]
PxQueryHit() | PxQueryHit | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxMassModificationProps Member List

This is the complete list of members for PxMassModificationProps, including all inherited members.

mInvInertiaScale0 | PxMassModificationProps
mInvInertiaScale1 | PxMassModificationProps
mInvMassScale0 | PxMassModificationProps
mInvMassScale1 | PxMassModificationProps


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxMaterialFlag Member List

This is the complete list of members for PxMaterialFlag, including all inherited members.

eDISABLE_FRICTION enum value | PxMaterialFlag
eDISABLE_STRONG_FRICTION enum value | PxMaterialFlag
Enum enum name | PxMaterialFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxMeshCookingHint Member List

This is the complete list of members for PxMeshCookingHint, including all inherited members.

eCOOKING_PERFORMANCE enum value | PxMeshCookingHint
Enum enum name | PxMeshCookingHint
eSIM_PERFORMANCE enum value | PxMeshCookingHint


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxMeshFlag Member List

This is the complete list of members for PxMeshFlag, including all inherited members.

e16_BIT_INDICES enum value | PxMeshFlag
eFLIPNORMALS enum value | PxMeshFlag
Enum enum name | PxMeshFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxMeshGeometryFlag Member List

This is the complete list of members for PxMeshGeometryFlag, including all inherited members.

eDOUBLE_SIDED enum value | PxMeshGeometryFlag
Enum enum name | PxMeshGeometryFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxMeshMidPhase Member List

This is the complete list of members for PxMeshMidPhase, including all inherited members.

eBVH33 enum value | PxMeshMidPhase
eBVH34 enum value | PxMeshMidPhase
eINVALID enum value | PxMeshMidPhase
eLAST enum value | PxMeshMidPhase
Enum enum name | PxMeshMidPhase


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxMeshPreprocessingFlag Member List

This is the complete list of members for PxMeshPreprocessingFlag, including all inherited members.

eDISABLE_ACTIVE_EDGES_PRECOMPUTE enum value | PxMeshPreprocessingFlag
eDISABLE_CLEAN_MESH enum value | PxMeshPreprocessingFlag
eFORCE_32BIT_INDICES enum value | PxMeshPreprocessingFlag
Enum enum name | PxMeshPreprocessingFlag
eWELD_VERTICES enum value | PxMeshPreprocessingFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxMetaDataEntry Member List

This is the complete list of members for PxMetaDataEntry, including all inherited members.

alignment | PxMetaDataEntry
count | PxMetaDataEntry
flags | PxMetaDataEntry
name | PxMetaDataEntry
offset | PxMetaDataEntry
offsetSize | PxMetaDataEntry
size | PxMetaDataEntry
type | PxMetaDataEntry


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxMetaDataFlag Member List

This is the complete list of members for PxMetaDataFlag, including all inherited members.

eALIGNMENT enum value | PxMetaDataFlag
eCLASS enum value | PxMetaDataFlag
eCONTROL_FLIP enum value | PxMetaDataFlag
eCONTROL_MASK enum value | PxMetaDataFlag
eCONTROL_MASK_RANGE enum value | PxMetaDataFlag
eCOUNT_MASK_MSB enum value | PxMetaDataFlag
eCOUNT_SKIP_IF_ONE enum value | PxMetaDataFlag
eEXTRA_DATA enum value | PxMetaDataFlag
eEXTRA_ITEM enum value | PxMetaDataFlag
eEXTRA_ITEMS enum value | PxMetaDataFlag
eEXTRA_NAME enum value | PxMetaDataFlag
eFORCE_DWORD enum value | PxMetaDataFlag
Enum enum name | PxMetaDataFlag
ePADDING enum value | PxMetaDataFlag
ePTR enum value | PxMetaDataFlag
eTYPEDEF enum value | PxMetaDataFlag
eUNION enum value | PxMetaDataFlag
eVIRTUAL enum value | PxMetaDataFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxModifiableContact Member List

This is the complete list of members for PxModifiableContact, including all inherited members.

contact PxContact
dynamicFriction PxModifiableContact
materialFlags PxModifiableContact
materialIndex0 PxModifiableContact
materialIndex1 PxModifiableContact
maxImpulse PxExtendedContact
PX_ALIGN(16, PxVec3 normal) PxModifiableContact


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxOverlapBufferN< N > Member List

This is the complete list of members for PxOverlapBufferN< N >, including all inherited members.

block | PxHitCallback< PxOverlapHit > |
finalizeQuery() | PxHitCallback< PxOverlapHit > | [inline, virtual]
getAnyHit(const PxU32 index) const | PxHitBuffer< PxOverlapHit > | [inline]
getMaxNbTouches() const | PxHitBuffer< PxOverlapHit > | [inline]
getNbAnyHits() const | PxHitBuffer< PxOverlapHit > | [inline]
getNbTouches() const | PxHitBuffer< PxOverlapHit > | [inline]
getTouch(const PxU32 index) const | PxHitBuffer< PxOverlapHit > | [inline]
getTouches() const | PxHitBuffer< PxOverlapHit > | [inline]
hasAnyHits() | PxHitCallback< PxOverlapHit > | [inline]
hasBlock | PxHitCallback< PxOverlapHit > |
hits | PxOverlapBufferN< N > |
maxNbTouches | PxHitCallback< PxOverlapHit > |
nbTouches | PxHitCallback< PxOverlapHit > |
processTouches(const PxOverlapHit *buffer, PxU32 nbHits) | PxHitBuffer< PxOverlapHit > | [inline, protected, virtual]
PxHitBuffer(PxOverlapHit *aTouches=NULL, PxU32 aMaxNbTouches=0) | PxHitBuffer< PxOverlapHit > | [inline]
PxHitCallback(PxOverlapHit *aTouches, PxU32 aMaxNbTouches) | PxHitCallback< PxOverlapHit > | [inline]
PxOverlapBufferN() | PxOverlapBufferN< N > | [inline]
touches | PxHitCallback< PxOverlapHit > |
~PxHitBuffer() | PxHitBuffer< PxOverlapHit > | [inline, virtual]
~PxHitCallback() | PxHitCallback< PxOverlapHit > | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxOverlapHit Member List

This is the complete list of members for PxOverlapHit, including all inherited members.

actor PxActorShape
faceIndex PxQueryHit
padTo16Bytes PxOverlapHit
PxActorShape() | PxActorShape | [inline]
PxActorShape(PxRigidActor *a, PxShape *s) | PxActorShape | [inline]
PxQueryHit() | PxQueryHit | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxPackValidation Member List

This is the complete list of members for PxPackValidation, including all inherited members.

_ | PxPackValidation
a | PxPackValidation


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxPadding< TNumBytes > Member List

This is the complete list of members for PxPadding< TNumBytes >, including all inherited members.

mPadding | PxPadding< TNumBytes > |
PxPadding() | PxPadding< TNumBytes > | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxPairFilteringMode Member List

This is the complete list of members for PxPairFilteringMode, including all inherited members.

eDEFAULT enum value | PxPairFilteringMode
eKEEP enum value | PxPairFilteringMode
eKILL enum value | PxPairFilteringMode
Enum enum name | PxPairFilteringMode
eSUPPRESS enum value | PxPairFilteringMode


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxPairFlag Member List

This is the complete list of members for PxPairFlag, including all inherited members.

eCONTACT_DEFAULT enum value | PxPairFlag
eCONTACT_EVENT_POSE enum value | PxPairFlag
eDETECT_CCD_CONTACT enum value | PxPairFlag
eDETECT_DISCRETE_CONTACT enum value | PxPairFlag
eMODIFY_CONTACTS enum value | PxPairFlag
eNEXT_FREE enum value | PxPairFlag
eNOTIFY_CONTACT_POINTS enum value | PxPairFlag
eNOTIFY_THRESHOLD_FORCE_FOUND enum value | PxPairFlag
eNOTIFY_THRESHOLD_FORCE_LOST enum value | PxPairFlag
eNOTIFY_THRESHOLD_FORCE_PERSISTS enum value | PxPairFlag
eNOTIFY_TOUCH_CCD enum value | PxPairFlag
eNOTIFY_TOUCH_FOUND enum value | PxPairFlag
eNOTIFY_TOUCH_LOST enum value | PxPairFlag
eNOTIFY_TOUCH_PERSISTS enum value | PxPairFlag
Enum enum name | PxPairFlag
ePOST_SOLVER_VELOCITY enum value | PxPairFlag
ePRE_SOLVER_VELOCITY enum value | PxPairFlag
eSOLVE_CONTACT enum value | PxPairFlag
eTRIGGER_DEFAULT enum value | PxPairFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxParticleBaseFlag Member List

This is the complete list of members for PxParticleBaseFlag, including all inherited members.

eCOLLISION_TWOWAY enum value | PxParticleBaseFlag
eCOLLISION_WITH_DYNAMIC_ACTORS enum value | PxParticleBaseFlag
eENABLED enum value | PxParticleBaseFlag
eGPU enum value | PxParticleBaseFlag
Enum enum name | PxParticleBaseFlag
ePER_PARTICLE_COLLISION_CACHE_HINT enum value | PxParticleBaseFlag
ePER_PARTICLE_REST_OFFSET enum value | PxParticleBaseFlag
ePROJECT_TO_PLANE enum value | PxParticleBaseFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxParticleExt::PxParticleExt::ParticleBounds Member List

This is the complete list of members for PxParticleExt::PxParticleExt::ParticleBounds, including all inherited members.

bounds | PxParticleExt::PxParticleExt::ParticleBounds
firstParticle | PxParticleExt::PxParticleExt::ParticleBounds
numParticles | PxParticleExt::PxParticleExt::ParticleBounds


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxParticleFlag Member List

This is the complete list of members for PxParticleFlag, including all inherited members.

eCOLLISION_WITH_DRAIN enum value | PxParticleFlag
eCOLLISION_WITH_DYNAMIC enum value | PxParticleFlag
eCOLLISION_WITH_STATIC enum value | PxParticleFlag
Enum enum name | PxParticleFlag
eSPATIAL_DATA_STRUCTURE_OVERFLOW enum value | PxParticleFlag
eVALID enum value | PxParticleFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxParticleReadDataFlag Member List

This is the complete list of members for PxParticleReadDataFlag, including all inherited members.

eCOLLISION_NORMAL_BUFFER enum value | PxParticleReadDataFlag
eCOLLISION_VELOCITY_BUFFER enum value | PxParticleReadDataFlag
eDENSITY_BUFFER enum value | PxParticleReadDataFlag
eFLAGS_BUFFER enum value | PxParticleReadDataFlag
Enum enum name | PxParticleReadDataFlag
ePOSITION_BUFFER enum value | PxParticleReadDataFlag
eREST_OFFSET_BUFFER enum value | PxParticleReadDataFlag
eVELOCITY_BUFFER enum value | PxParticleReadDataFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxPlatform Member List

This is the complete list of members for PxPlatform, including all inherited members.

eARM enum value | PxPlatform
Enum enum name | PxPlatform
ePC enum value | PxPlatform


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxPrismaticJointFlag Member List

This is the complete list of members for PxPrismaticJointFlag, including all inherited members.

eLIMIT_ENABLED enum value | PxPrismaticJointFlag
Enum enum name | PxPrismaticJointFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxPruningStructureType Member List

This is the complete list of members for PxPruningStructureType, including all inherited members.

eDYNAMIC_AABB_TREE enum value | PxPruningStructureType
eLAST enum value | PxPruningStructureType
eNONE enum value | PxPruningStructureType
Enum enum name | PxPruningStructureType
eSTATIC_AABB_TREE enum value | PxPruningStructureType


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxPvdInstrumentationFlag Member List

This is the complete list of members for PxPvdInstrumentationFlag, including all inherited members.

eALL enum value | PxPvdInstrumentationFlag
eDEBUG enum value | PxPvdInstrumentationFlag
eMEMORY enum value | PxPvdInstrumentationFlag
Enum enum name | PxPvdInstrumentationFlag
ePROFILE enum value | PxPvdInstrumentationFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxPvdSceneFlag Member List

This is the complete list of members for PxPvdSceneFlag, including all inherited members.

Enum enum name | PxPvdSceneFlag
eTRANSMIT_CONSTRAINTS enum value | PxPvdSceneFlag
eTRANSMIT_CONTACTS enum value | PxPvdSceneFlag
eTRANSMIT_SCENEQUERIES enum value | PxPvdSceneFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxPvdUpdateType Member List

This is the complete list of members for PxPvdUpdateType, including all inherited members.

CREATE_INSTANCE enum value | PxPvdUpdateType
Enum enum name | PxPvdUpdateType
RELEASE_INSTANCE enum value | PxPvdUpdateType
UPDATE_ALL_PROPERTIES enum value | PxPvdUpdateType
UPDATE_SIM_PROPERTIES enum value | PxPvdUpdateType


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxQueryCache Member List

This is the complete list of members for PxQueryCache, including all inherited members.

actor PxQueryCache
faceIndex PxQueryCache
PxQueryCache() | PxQueryCache | [inline]
PxQueryCache(PxShape *s, PxU32 findex) | PxQueryCache | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxQueryFilterData Member List

This is the complete list of members for PxQueryFilterData, including all inherited members.

clientId | PxQueryFilterData |
data | PxQueryFilterData |
flags | PxQueryFilterData |
PxQueryFilterData() | PxQueryFilterData | [inline, explicit]
PxQueryFilterData(const PxFilterData &fd, PxQueryFlags f) | PxQueryFilterData | [inline, explicit]
PxQueryFilterData(PxQueryFlags f) | PxQueryFilterData | [inline, explicit]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxQueryFlag Member List

This is the complete list of members for PxQueryFlag, including all inherited members.

eANY_HIT enum value | PxQueryFlag
eDYNAMIC enum value | PxQueryFlag
eNO_BLOCK enum value | PxQueryFlag
Enum enum name | PxQueryFlag
ePOSTFILTER enum value | PxQueryFlag
ePREFILTER enum value | PxQueryFlag
eRESERVED enum value | PxQueryFlag
eSTATIC enum value | PxQueryFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxQueryHit Member List

This is the complete list of members for PxQueryHit, including all inherited members.

actor PxActorShape
faceIndex PxQueryHit
PxActorShape() | PxActorShape | [inline]
PxActorShape(PxRigidActor *a, PxShape *s) | PxActorShape | [inline]
PxQueryHit() | PxQueryHit | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxQueryHitType Member List

This is the complete list of members for PxQueryHitType, including all inherited members.

eBLOCK enum value | PxQueryHitType
eNONE enum value | PxQueryHitType
Enum enum name | PxQueryHitType
eTOUCH enum value | PxQueryHitType


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxRaycastBufferN< N > Member List

This is the complete list of members for PxRaycastBufferN< N >, including all inherited members.

block | PxHitCallback< PxRaycastHit > |
finalizeQuery() | PxHitCallback< PxRaycastHit > | [inline, virtual]
getAnyHit(const PxU32 index) const | PxHitBuffer< PxRaycastHit > | [inline]
getMaxNbTouches() const | PxHitBuffer< PxRaycastHit > | [inline]
getNbAnyHits() const | PxHitBuffer< PxRaycastHit > | [inline]
getNbTouches() const | PxHitBuffer< PxRaycastHit > | [inline]
getTouch(const PxU32 index) const | PxHitBuffer< PxRaycastHit > | [inline]
getTouches() const | PxHitBuffer< PxRaycastHit > | [inline]
hasAnyHits() | PxHitCallback< PxRaycastHit > | [inline]
hasBlock | PxHitCallback< PxRaycastHit > |
hits | PxRaycastBufferN< N > |
maxNbTouches | PxHitCallback< PxRaycastHit > |
nbTouches | PxHitCallback< PxRaycastHit > |
processTouches(const PxRaycastHit *buffer, PxU32 nbHits) | PxHitBuffer< PxRaycastHit > | [inline, protected, virtual]
PxHitBuffer(PxRaycastHit *aTouches=NULL, PxU32 aMaxNbTouches=0) | PxHitBuffer< PxRaycastHit > | [inline]
PxHitCallback(PxRaycastHit *aTouches, PxU32 aMaxNbTouches) | PxHitCallback< PxRaycastHit > | [inline]
PxRaycastBufferN() | PxRaycastBufferN< N > | [inline]
touches | PxHitCallback< PxRaycastHit > |
~PxHitBuffer() | PxHitBuffer< PxRaycastHit > | [inline, virtual]
~PxHitCallback() | PxHitCallback< PxRaycastHit > | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxRaycastHit Member List

This is the complete list of members for PxRaycastHit, including all inherited members.

actor PxActorShape
distance PxLocationHit
faceIndex PxQueryHit
flags PxLocationHit
hadInitialOverlap() const | PxLocationHit | [inline]
normal PxLocationHit
padTo16Bytes PxRaycastHit
position PxLocationHit
PxActorShape() | PxActorShape | [inline]
PxActorShape(PxRigidActor *a, PxShape *s) | PxActorShape | [inline]
PxLocationHit() | PxLocationHit | [inline]
PxQueryHit() | PxQueryHit | [inline]
PxRaycastHit() | PxRaycastHit | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxRepXInstantiationArgs Member List

This is the complete list of members for PxRepXInstantiationArgs, including all inherited members.

cooker PxRepXInstantiationArgs
operator=(const PxRepXInstantiationArgs &) | PxRepXInstantiationArgs
physics PxRepXInstantiationArgs
PxRepXInstantiationArgs(PxPhysics &inPhysics, PxCooking *inCooking=NULL, PxStringTable *inStringTable=NULL) | PxRepXInstantiationArgs | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxRepXObject Member List

This is the complete list of members for PxRepXObject, including all inherited members.

id PxRepXObject
isValid() const | PxRepXObject | [inline]
PxRepXObject(const char *inTypeName="", const void *inSerializable=NULL, const PxSerialObjectId inId=0) | PxRepXObject | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxRevoluteJointFlag Member List

This is the complete list of members for PxRevoluteJointFlag, including all inherited members.

eDRIVE_ENABLED enum value | PxRevoluteJointFlag
eDRIVE_FREESPIN enum value | PxRevoluteJointFlag
eLIMIT_ENABLED enum value | PxRevoluteJointFlag
Enum enum name | PxRevoluteJointFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxRigidBodyData Member List

This is the complete list of members for PxRigidBodyData, including all inherited members.

angularDamping | PxRigidBodyData
angularVelocity | PxRigidBodyData
body2World | PxRigidBodyData
invInertia | PxRigidBodyData
invMass | PxRigidBodyData
linearDamping | PxRigidBodyData
maxAngularVelocitySq | PxRigidBodyData
maxContactImpulse | PxRigidBodyData
maxDepenetrationVelocity | PxRigidBodyData
maxLinearVelocitySq | PxRigidBodyData
pad | PxRigidBodyData
PX_ALIGN(16, PxVec3 linearVelocity) | PxRigidBodyData


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxRigidBodyFlag Member List

This is the complete list of members for PxRigidBodyFlag, including all inherited members.

eENABLE_CCD enum value | PxRigidBodyFlag
eENABLE_CCD_FRICTION enum value | PxRigidBodyFlag
eENABLE_CCD_MAX_CONTACT_IMPULSE enum value | PxRigidBodyFlag
eENABLE_POSE_INTEGRATION_PREVIEW enum value | PxRigidBodyFlag
eENABLE_SPECULATIVE_CCD enum value | PxRigidBodyFlag
eKINEMATIC enum value | PxRigidBodyFlag
Enum enum name | PxRigidBodyFlag
eUSE_KINEMATIC_TARGET_FOR_SCENE_QUERIES enum value | PxRigidBodyFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxRigidDynamicLockFlag Member List

This is the complete list of members for PxRigidDynamicLockFlag, including all inherited members.

eLOCK_ANGULAR_X enum value | PxRigidDynamicLockFlag
eLOCK_ANGULAR_Y enum value | PxRigidDynamicLockFlag
eLOCK_ANGULAR_Z enum value | PxRigidDynamicLockFlag
eLOCK_LINEAR_X enum value | PxRigidDynamicLockFlag
eLOCK_LINEAR_Y enum value | PxRigidDynamicLockFlag
eLOCK_LINEAR_Z enum value | PxRigidDynamicLockFlag
Enum enum name | PxRigidDynamicLockFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxSceneFlag Member List

This is the complete list of members for PxSceneFlag, including all inherited members.

eADAPTIVE_FORCE enum value | PxSceneFlag
eDEPRECATED_TRIGGER_TRIGGER_REPORTS enum value | PxSceneFlag
eDISABLE_CCD_RESWEEP enum value | PxSceneFlag
eDISABLE_CONTACT_CACHE enum value | PxSceneFlag
eDISABLE_CONTACT_REPORT_BUFFER_RESIZE enum value | PxSceneFlag
eENABLE_ACTIVE_ACTORS enum value | PxSceneFlag
eENABLE_AVERAGE_POINT enum value | PxSceneFlag
eENABLE_CCD enum value | PxSceneFlag
eENABLE_ENHANCED_DETERMINISM enum value | PxSceneFlag
eENABLE_GPU_DYNAMICS enum value | PxSceneFlag
eENABLE_PCM enum value | PxSceneFlag
eENABLE_STABILIZATION enum value | PxSceneFlag
eEXCLUDE_KINEMATICS_FROM_ACTIVE_ACTORS enum value | PxSceneFlag
eMUTABLE_FLAGS enum value | PxSceneFlag
Enum enum name | PxSceneFlag
eREQUIRE_RW_LOCK enum value | PxSceneFlag
PX_DEPRECATED enum value | PxSceneFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxSceneQueryUpdateMode Member List

This is the complete list of members for PxSceneQueryUpdateMode, including all inherited members.

eBUILD_DISABLED_COMMIT_DISABLED enum value | PxSceneQueryUpdateMode
eBUILD_ENABLED_COMMIT_DISABLED enum value | PxSceneQueryUpdateMode
eBUILD_ENABLED_COMMIT_ENABLED enum value | PxSceneQueryUpdateMode
Enum enum name | PxSceneQueryUpdateMode


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxSerialization::PxSerialization::PxXmlMiscParameter Member List

This is the complete list of members for PxSerialization::PxSerialization::PxXmlMiscParameter, including all inherited members.

PxXmlMiscParameter() | PxSerialization::PxSerialization::PxXmlMiscParameter | [inline]
PxXmlMiscParameter(PxVec3 &inUpVector, PxTolerancesScale inScale) | PxSerialization::PxSerialization::PxXmlMiscParameter | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxShapeFlag Member List

This is the complete list of members for PxShapeFlag, including all inherited members.

Enum enum name | PxShapeFlag
ePARTICLE_DRAIN enum value | PxShapeFlag
eSCENE_QUERY_SHAPE enum value | PxShapeFlag
eSIMULATION_SHAPE enum value | PxShapeFlag
eTRIGGER_SHAPE enum value | PxShapeFlag
eVISUALIZATION enum value | PxShapeFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxSpatialLocationCallback Member List

This is the complete list of members for PxSpatialLocationCallback, including all inherited members.

onHit(PxSpatialIndexItem &item, PxReal distance, PxReal &shrunkDistance)=0 | PxSpatialLocationCallback | [pure virtual]
~PxSpatialLocationCallback() | PxSpatialLocationCallback | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxSpatialOverlapCallback Member List

This is the complete list of members for PxSpatialOverlapCallback, including all inherited members.

onHit(PxSpatialIndexItem &item)=0 | PxSpatialOverlapCallback | [pure virtual]
~PxSpatialOverlapCallback() | PxSpatialOverlapCallback | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxSphericalJointFlag Member List

This is the complete list of members for PxSphericalJointFlag, including all inherited members.

eLIMIT_ENABLED enum value | PxSphericalJointFlag
Enum enum name | PxSphericalJointFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxStridedData Member List

This is the complete list of members for PxStridedData, including all inherited members.

at(PxU32 idx) const | PxStridedData | [inline]
data PxStridedData
PxStridedData() | PxStridedData | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxSweepBufferN< N > Member List

This is the complete list of members for PxSweepBufferN< N >, including all inherited members.

block | PxHitCallback< PxSweepHit > |
finalizeQuery() | PxHitCallback< PxSweepHit > | [inline, virtual]
getAnyHit(const PxU32 index) const | PxHitBuffer< PxSweepHit > | [inline]
getMaxNbTouches() const | PxHitBuffer< PxSweepHit > | [inline]
getNbAnyHits() const | PxHitBuffer< PxSweepHit > | [inline]
getNbTouches() const | PxHitBuffer< PxSweepHit > | [inline]
getTouch(const PxU32 index) const | PxHitBuffer< PxSweepHit > | [inline]
getTouches() const | PxHitBuffer< PxSweepHit > | [inline]
hasAnyHits() | PxHitCallback< PxSweepHit > | [inline]
hasBlock | PxHitCallback< PxSweepHit > |
hits | PxSweepBufferN< N > |
maxNbTouches | PxHitCallback< PxSweepHit > |
nbTouches | PxHitCallback< PxSweepHit > |
processTouches(const PxSweepHit *buffer, PxU32 nbHits) | PxHitBuffer< PxSweepHit > | [inline, protected, virtual]
PxHitBuffer(PxSweepHit *aTouches=NULL, PxU32 aMaxNbTouches=0) | PxHitBuffer< PxSweepHit > | [inline]
PxHitCallback(PxSweepHit *aTouches, PxU32 aMaxNbTouches) | PxHitCallback< PxSweepHit > | [inline]
PxSweepBufferN() | PxSweepBufferN< N > | [inline]
touches | PxHitCallback< PxSweepHit > |
~PxHitBuffer() | PxHitBuffer< PxSweepHit > | [inline, virtual]
~PxHitCallback() | PxHitCallback< PxSweepHit > | [inline, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxSweepHit Member List

This is the complete list of members for PxSweepHit, including all inherited members.

actor PxActorShape
distance PxLocationHit
faceIndex PxQueryHit
flags PxLocationHit
hadInitialOverlap() const | PxLocationHit | [inline]
normal PxLocationHit
padTo16Bytes PxSweepHit
position PxLocationHit
PxActorShape() | PxActorShape | [inline]
PxActorShape(PxRigidActor *a, PxShape *s) | PxActorShape | [inline]
PxLocationHit() | PxLocationHit | [inline]
PxQueryHit() | PxQueryHit | [inline]
PxSweepHit() | PxSweepHit | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxTriangleMeshCookingResult Member List

This is the complete list of members for PxTriangleMeshCookingResult, including all inherited members.

eFAILURE enum value | PxTriangleMeshCookingResult
eLARGE_TRIANGLE enum value | PxTriangleMeshCookingResult
Enum enum name | PxTriangleMeshCookingResult
eSUCCESS enum value | PxTriangleMeshCookingResult


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxTriangleMeshFlag Member List

This is the complete list of members for PxTriangleMeshFlag, including all inherited members.

e16_BIT_INDICES enum value | PxTriangleMeshFlag
eADJACENCY_INFO enum value | PxTriangleMeshFlag
Enum enum name | PxTriangleMeshFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxTriggerPair Member List

This is the complete list of members for PxTriggerPair, including all inherited members.

flags PxTriggerPair
otherActor PxTriggerPair
otherShape PxTriggerPair
PxTriggerPair() PxTriggerPair [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxTriggerPairFlag Member List

This is the complete list of members for PxTriggerPairFlag, including all inherited members.

eNEXT_FREE enum value | PxTriggerPairFlag
Enum enum name | PxTriggerPairFlag
eREMOVED_SHAPE_OTHER enum value | PxTriggerPairFlag
eREMOVED_SHAPE_TRIGGER enum value | PxTriggerPairFlag


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxTypedStridedData< TDataType > Member List

This is the complete list of members for PxTypedStridedData< TDataType >, including all inherited members.

data PxTypedStridedData< TDataType >
PxTypedStridedData() PxTypedStridedData< TDataType > [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleClutchAccuracyMode Member List

This is the complete list of members for PxVehicleClutchAccuracyMode, including all inherited members.

eBEST_POSSIBLE enum value | PxVehicleClutchAccuracyMode
eESTIMATE enum value | PxVehicleClutchAccuracyMode
Enum enum name | PxVehicleClutchAccuracyMode


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleConcreteType Member List

This is the complete list of members for PxVehicleConcreteType, including all inherited members.

Enum enum name | PxVehicleConcreteType
eVehicleDrive4W enum value | PxVehicleConcreteType
eVehicleDriveNW enum value | PxVehicleConcreteType
eVehicleDriveTank enum value | PxVehicleConcreteType
eVehicleNoDrive enum value | PxVehicleConcreteType


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleConcurrentUpdateData Member List

This is the complete list of members for PxVehicleConcurrentUpdateData, including all inherited members.

angularMomentumChange | PxVehicleConcurrentUpdateData | [private]
concurrentWheelUpdates | PxVehicleConcurrentUpdateData |
linearMomentumChange | PxVehicleConcurrentUpdateData | [private]
nbConcurrentWheelUpdates | PxVehicleConcurrentUpdateData |
PxVehicleConcurrentUpdateData() | PxVehicleConcurrentUpdateData | [inline]
PxVehicleUpdate class | PxVehicleConcurrentUpdateData | [friend]
staySleeping | PxVehicleConcurrentUpdateData | [private]
wakeup | PxVehicleConcurrentUpdateData | [private]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleDrivableSurfaceType Member List

This is the complete list of members for PxVehicleDrivableSurfaceType, including all inherited members.

eSURFACE_TYPE_UNKNOWN enum value PxVehicleDrivableSurfaceType


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleDrive4WControl Member List

This is the complete list of members for PxVehicleDrive4WControl, including all inherited members.

eANALOG_INPUT_ACCEL enum value | PxVehicleDrive4WControl
eANALOG_INPUT_BRAKE enum value | PxVehicleDrive4WControl
eANALOG_INPUT_HANDBRAKE enum value | PxVehicleDrive4WControl
eANALOG_INPUT_STEER_LEFT enum value | PxVehicleDrive4WControl
eANALOG_INPUT_STEER_RIGHT enum value | PxVehicleDrive4WControl
eMAX_NB_DRIVE4W_ANALOG_INPUTS enum value | PxVehicleDrive4WControl
Enum enum name | PxVehicleDrive4WControl


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleDrive4WWheelOrder Member List

This is the complete list of members for PxVehicleDrive4WWheelOrder, including all inherited members.

eFRONT_LEFT enum value | PxVehicleDrive4WWheelOrder
eFRONT_RIGHT enum value | PxVehicleDrive4WWheelOrder
Enum enum name | PxVehicleDrive4WWheelOrder
eREAR_LEFT enum value | PxVehicleDrive4WWheelOrder
eREAR_RIGHT enum value | PxVehicleDrive4WWheelOrder


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleDriveNWControl Member List

This is the complete list of members for PxVehicleDriveNWControl, including all inherited members.

eANALOG_INPUT_ACCEL enum value | PxVehicleDriveNWControl
eANALOG_INPUT_BRAKE enum value | PxVehicleDriveNWControl
eANALOG_INPUT_HANDBRAKE enum value | PxVehicleDriveNWControl
eANALOG_INPUT_STEER_LEFT enum value | PxVehicleDriveNWControl
eANALOG_INPUT_STEER_RIGHT enum value | PxVehicleDriveNWControl
eMAX_NB_DRIVENW_ANALOG_INPUTS enum value | PxVehicleDriveNWControl
Enum enum name | PxVehicleDriveNWControl


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleDriveTankControl Member List

This is the complete list of members for PxVehicleDriveTankControl, including all inherited members.

eANALOG_INPUT_ACCEL enum value | PxVehicleDriveTankControl
eANALOG_INPUT_BRAKE_LEFT enum value | PxVehicleDriveTankControl
eANALOG_INPUT_BRAKE_RIGHT enum value | PxVehicleDriveTankControl
eANALOG_INPUT_THRUST_LEFT enum value | PxVehicleDriveTankControl
eANALOG_INPUT_THRUST_RIGHT enum value | PxVehicleDriveTankControl
eMAX_NB_DRIVETANK_ANALOG_INPUTS enum value | PxVehicleDriveTankControl
Enum enum name | PxVehicleDriveTankControl


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleDriveTankControlModel Member List

This is the complete list of members for PxVehicleDriveTankControlModel, including all inherited members.

Enum enum name | PxVehicleDriveTankControlModel
eSPECIAL enum value | PxVehicleDriveTankControlModel
eSTANDARD enum value | PxVehicleDriveTankControlModel


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleDriveTankWheelOrder Member List

This is the complete list of members for PxVehicleDriveTankWheelOrder, including all inherited members.

e1ST_FROM_FRONT_LEFT enum value | PxVehicleDriveTankWheelOrder
e1ST_FROM_FRONT_RIGHT enum value | PxVehicleDriveTankWheelOrder
e2ND_FROM_FRONT_LEFT enum value | PxVehicleDriveTankWheelOrder
e2ND_FROM_FRONT_RIGHT enum value | PxVehicleDriveTankWheelOrder
e3RD_FROM_FRONT_LEFT enum value | PxVehicleDriveTankWheelOrder
e3RD_FROM_FRONT_RIGHT enum value | PxVehicleDriveTankWheelOrder
e4TH_FROM_FRONT_LEFT enum value | PxVehicleDriveTankWheelOrder
e4TH_FROM_FRONT_RIGHT enum value | PxVehicleDriveTankWheelOrder
e5TH_FROM_FRONT_LEFT enum value | PxVehicleDriveTankWheelOrder
e5TH_FROM_FRONT_RIGHT enum value | PxVehicleDriveTankWheelOrder
e6TH_FROM_FRONT_LEFT enum value | PxVehicleDriveTankWheelOrder
e6TH_FROM_FRONT_RIGHT enum value | PxVehicleDriveTankWheelOrder
e7TH_FROM_FRONT_LEFT enum value | PxVehicleDriveTankWheelOrder
e7TH_FROM_FRONT_RIGHT enum value | PxVehicleDriveTankWheelOrder
e8TH_FROM_FRONT_LEFT enum value | PxVehicleDriveTankWheelOrder
e8TH_FROM_FRONT_RIGHT enum value | PxVehicleDriveTankWheelOrder
e9TH_FROM_FRONT_LEFT enum value | PxVehicleDriveTankWheelOrder
e9TH_FROM_FRONT_RIGHT enum value | PxVehicleDriveTankWheelOrder
eFRONT_LEFT enum value | PxVehicleDriveTankWheelOrder
eFRONT_RIGHT enum value | PxVehicleDriveTankWheelOrder
Enum enum name | PxVehicleDriveTankWheelOrder


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleKeySmoothingData Member List

This is the complete list of members for PxVehicleKeySmoothingData, including all inherited members.

mFallRates | PxVehicleKeySmoothingData
mRiseRates | PxVehicleKeySmoothingData


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehiclePadSmoothingData Member List

This is the complete list of members for PxVehiclePadSmoothingData, including all inherited members.

mFallRates | PxVehiclePadSmoothingData
mRiseRates | PxVehiclePadSmoothingData


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleTypes Member List

This is the complete list of members for PxVehicleTypes, including all inherited members.

eDRIVE4W enum value | PxVehicleTypes
eDRIVENW enum value | PxVehicleTypes
eDRIVETANK enum value | PxVehicleTypes
eMAX_NB_VEHICLE_TYPES enum value | PxVehicleTypes
eNODRIVE enum value | PxVehicleTypes
Enum enum name | PxVehicleTypes
eUSER1 enum value | PxVehicleTypes
eUSER2 enum value | PxVehicleTypes
eUSER3 enum value | PxVehicleTypes


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleUpdateMode Member List

This is the complete list of members for PxVehicleUpdateMode, including all inherited members.

eACCELERATION enum value | PxVehicleUpdateMode
Enum enum name | PxVehicleUpdateMode
eVELOCITY_CHANGE enum value | PxVehicleUpdateMode


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleWheelConcurrentUpdateData Member List

This is the complete list of members for PxVehicleWheelConcurrentUpdateData, including all inherited members.

hitActor | PxVehicleWheelConcurrentUpdateData | [private]
hitActorForce | PxVehicleWheelConcurrentUpdateData | [private]
hitActorForcePosition | PxVehicleWheelConcurrentUpdateData | [private]
localPose | PxVehicleWheelConcurrentUpdateData | [private]
PxVehicleUpdate class | PxVehicleWheelConcurrentUpdateData | [friend]
PxVehicleWheelConcurrentUpdateData() | PxVehicleWheelConcurrentUpdateData | [inline]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVehicleWheelQueryResult Member List

This is the complete list of members for PxVehicleWheelQueryResult, including all inherited members.

nbWheelQueryResults | PxVehicleWheelQueryResult
wheelQueryResults | PxVehicleWheelQueryResult


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVisualizationParameter Member List

This is the complete list of members for PxVisualizationParameter, including all inherited members.

eACTOR_AXES enum value | PxVisualizationParameter
eBODY_ANG_VELOCITY enum value | PxVisualizationParameter
eBODY_AXES enum value | PxVisualizationParameter
eBODY_LIN_VELOCITY enum value | PxVisualizationParameter
eBODY_MASS_AXES enum value | PxVisualizationParameter
eCLOTH_BENDING enum value | PxVisualizationParameter
eCLOTH_HORIZONTAL enum value | PxVisualizationParameter
eCLOTH_SHEARING enum value | PxVisualizationParameter
eCLOTH_VERTICAL enum value | PxVisualizationParameter
eCLOTH_VIRTUAL_PARTICLES enum value | PxVisualizationParameter
eCOLLISION_AABBS enum value | PxVisualizationParameter
eCOLLISION_AXES enum value | PxVisualizationParameter
eCOLLISION_COMPOUNDS enum value | PxVisualizationParameter
eCOLLISION_DYNAMIC enum value | PxVisualizationParameter
eCOLLISION_EDGES enum value | PxVisualizationParameter
eCOLLISION_FNORMALS enum value | PxVisualizationParameter
eCOLLISION_SHAPES enum value | PxVisualizationParameter
eCOLLISION_STATIC enum value | PxVisualizationParameter
eCONTACT_ERROR enum value | PxVisualizationParameter
eCONTACT_FORCE enum value | PxVisualizationParameter
eCONTACT_NORMAL enum value | PxVisualizationParameter
eCONTACT_POINT enum value | PxVisualizationParameter
eCULL_BOX enum value | PxVisualizationParameter
eDEPRECATED_BODY_JOINT_GROUPS enum value | PxVisualizationParameter
eDEPRECATED_COLLISION_PAIRS enum value | PxVisualizationParameter
eFORCE_DWORD enum value | PxVisualizationParameter
eJOINT_LIMITS enum value | PxVisualizationParameter
eJOINT_LOCAL_FRAMES enum value | PxVisualizationParameter
eMBP_REGIONS enum value | PxVisualizationParameter
Enum enum name | PxVisualizationParameter
eNUM_VALUES enum value | PxVisualizationParameter
ePARTICLE_SYSTEM_BOUNDS enum value | PxVisualizationParameter
ePARTICLE_SYSTEM_BROADPHASE_BOUNDS enum value | PxVisualizationParameter
ePARTICLE_SYSTEM_COLLISION_NORMAL enum value | PxVisualizationParameter
ePARTICLE_SYSTEM_GRID enum value | PxVisualizationParameter
ePARTICLE_SYSTEM_MAX_MOTION_DISTANCE enum value | PxVisualizationParameter
ePARTICLE_SYSTEM_POSITION enum value | PxVisualizationParameter
ePARTICLE_SYSTEM_VELOCITY enum value | PxVisualizationParameter
eSCALE enum value | PxVisualizationParameter
eWORLD_AXES enum value | PxVisualizationParameter


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxVolumeCache::PxVolumeCache::Iterator Member List

This is the complete list of members for PxVolumeCache::PxVolumeCache::Iterator, including all inherited members.

finalizeQuery() | PxVolumeCache::PxVolumeCache::Iterator | [inline, virtual]
processShapes(PxU32 count, const PxActorShape *actorShapePairs)=0 | PxVolumeCache::PxVolumeCache::Iterator | [pure virtual]
~Iterator() | PxVolumeCache::PxVolumeCache::Iterator | [inline, protected, virtual]


NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Member List

PxWheelQueryResult Member List

This is the complete list of members for PxWheelQueryResult, including all inherited members.

isInAir | PxWheelQueryResult |
lateralSlip | PxWheelQueryResult |
localPose | PxWheelQueryResult |
longitudinalSlip | PxWheelQueryResult |
PxWheelQueryResult() | PxWheelQueryResult | [inline]
steerAngle | PxWheelQueryResult |
suspJounce | PxWheelQueryResult |
suspLineDir | PxWheelQueryResult |
suspLineLength | PxWheelQueryResult |
suspLineStart | PxWheelQueryResult |
suspSpringForce | PxWheelQueryResult |
tireContactActor | PxWheelQueryResult |
tireContactNormal | PxWheelQueryResult |
tireContactPoint | PxWheelQueryResult |
tireContactShape | PxWheelQueryResult |
tireFriction | PxWheelQueryResult |
tireLateralDir | PxWheelQueryResult |
tireLongitudinalDir | PxWheelQueryResult |
tireSurfaceMaterial | PxWheelQueryResult |
tireSurfaceType | PxWheelQueryResult |