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
 

Macros

#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. More...
 
typedef PxFlags< PxControllerBehaviorFlag::Enum, PxU8 > PxControllerBehaviorFlags
 Bitfield that contains a set of raised flags defined in PxControllerBehaviorFlag. More...
 
typedef PxFlags< PxControllerDebugRenderFlag::Enum, PxU32PxControllerDebugRenderFlags
 Bitfield that contains a set of raised flags defined in PxControllerDebugRenderFlag. More...
 
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. More...
 
PX_FORCE_INLINE PxVec3 toVec3 (const PxExtendedVec3 &v)
 
PX_INLINE PxBoxControllerDesc::PxBoxControllerDesc ()
 constructor sets to default. More...
 
PX_INLINE PxBoxControllerDesc::PxBoxControllerDesc (const PxBoxControllerDesc &)
 copy constructor. More...
 
PX_INLINE PxBoxControllerDescPxBoxControllerDesc::operator= (const PxBoxControllerDesc &)
 assignment operator. More...
 
PX_INLINE void PxBoxControllerDesc::copy (const PxBoxControllerDesc &)
 
virtual PX_INLINE void PxBoxControllerDesc::setToDefault ()
 (re)sets the structure to the default. More...
 
virtual PX_INLINE bool PxBoxControllerDesc::isValid () const
 returns true if the current settings are valid More...
 
PX_INLINE PxCapsuleControllerDesc::PxCapsuleControllerDesc ()
 constructor sets to default. More...
 
PX_INLINE PxCapsuleControllerDesc::PxCapsuleControllerDesc (const PxCapsuleControllerDesc &)
 copy constructor. More...
 
PX_INLINE PxCapsuleControllerDescPxCapsuleControllerDesc::operator= (const PxCapsuleControllerDesc &)
 assignment operator. More...
 
PX_INLINE void PxCapsuleControllerDesc::copy (const PxCapsuleControllerDesc &)
 
virtual PX_INLINE void PxCapsuleControllerDesc::setToDefault ()
 (re)sets the structure to the default. More...
 
virtual PX_INLINE bool PxCapsuleControllerDesc::isValid () const
 returns true if the current settings are valid More...
 
PX_INLINE PxControllerDesc::PxControllerDesc (PxControllerShapeType::Enum)
 constructor sets to default. More...
 
PX_INLINE PxControllerDesc::PxControllerDesc (const PxControllerDesc &)
 copy constructor. More...
 
PX_INLINE PxControllerDescPxControllerDesc::operator= (const PxControllerDesc &)
 assignment operator. More...
 
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 More...
 

Detailed Description

Macro Definition Documentation

◆ INVALID_OBSTACLE_HANDLE

#define INVALID_OBSTACLE_HANDLE   0xffffffff

◆ PX_BIG_WORLDS

#define PX_BIG_WORLDS

◆ PX_MAX_EXTENDED

#define PX_MAX_EXTENDED   PX_MAX_F64

◆ PX_PHYSX_CHARACTER_API

#define PX_PHYSX_CHARACTER_API

◆ PxExtendedAbs

#define PxExtendedAbs (   x)    fabs(x)

Typedef Documentation

◆ ObstacleHandle

◆ PxControllerBehaviorFlags

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

See also
PxControllerBehaviorFlag

◆ PxControllerCollisionFlags

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

See also
PxControllerCollisionFlag

◆ PxControllerDebugRenderFlags

◆ PxExtended

typedef double PxExtended

Function Documentation

◆ copy() [1/3]

◆ copy() [2/3]

◆ copy() [3/3]

◆ isValid() [1/3]

PX_INLINE bool PxBoxControllerDesc::isValid ( ) const
virtual

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.

◆ isValid() [2/3]

PX_INLINE bool PxCapsuleControllerDesc::isValid ( ) const
virtual

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.

◆ isValid() [3/3]

◆ operator=() [1/3]

PX_INLINE PxBoxControllerDesc & PxBoxControllerDesc::operator= ( const PxBoxControllerDesc other)

assignment operator.

References PxBoxControllerDesc::copy(), and PxControllerDesc::operator=().

◆ operator=() [2/3]

PX_INLINE PxCapsuleControllerDesc & PxCapsuleControllerDesc::operator= ( const PxCapsuleControllerDesc other)

assignment operator.

References PxCapsuleControllerDesc::copy(), and PxControllerDesc::operator=().

◆ operator=() [3/3]

PX_INLINE PxControllerDesc & PxControllerDesc::operator= ( const PxControllerDesc other)
protected

◆ PxBoxControllerDesc() [1/2]

PX_INLINE PxBoxControllerDesc::PxBoxControllerDesc ( )

constructor sets to default.

Referenced by PxBoxControllerDesc::setToDefault().

◆ PxBoxControllerDesc() [2/2]

PX_INLINE PxBoxControllerDesc::PxBoxControllerDesc ( const PxBoxControllerDesc other)

copy constructor.

References PxBoxControllerDesc::copy().

◆ PxCapsuleControllerDesc() [1/2]

PX_INLINE PxCapsuleControllerDesc::PxCapsuleControllerDesc ( )

◆ PxCapsuleControllerDesc() [2/2]

PX_INLINE PxCapsuleControllerDesc::PxCapsuleControllerDesc ( const PxCapsuleControllerDesc other)

copy constructor.

References PxCapsuleControllerDesc::copy().

◆ PxControllerDesc() [1/2]

◆ PxControllerDesc() [2/2]

PX_INLINE PxControllerDesc::PxControllerDesc ( const PxControllerDesc other)
protected

copy constructor.

References PxControllerDesc::copy().

◆ PxCreateControllerManager()

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]scenePhysX scene.
[in]lockingEnabledEnables/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.

◆ setToDefault() [1/2]

PX_INLINE void PxBoxControllerDesc::setToDefault ( )
virtual

(re)sets the structure to the default.

References PxBoxControllerDesc::PxBoxControllerDesc().

◆ setToDefault() [2/2]

PX_INLINE void PxCapsuleControllerDesc::setToDefault ( )
virtual

(re)sets the structure to the default.

References PxCapsuleControllerDesc::PxCapsuleControllerDesc().

◆ toVec3()

◆ ~PxControllerDesc()

PX_INLINE PxControllerDesc::~PxControllerDesc ( )
protectedvirtual