29#ifndef PX_CONTROLLER_MANAGER_H
30#define PX_CONTROLLER_MANAGER_H
35#include "PxPhysXConfig.h"
36#include "foundation/PxFlags.h"
37#include "foundation/PxErrorCallback.h"
38#include "common/PxRenderBuffer.h"
48class PxControllerDesc;
49class PxObstacleContext;
50class PxControllerFilterCallback;
Descriptor class for a character controller.
Definition PxController.h:300
Dedicated filtering callback for CCT vs CCT.
Definition PxController.h:243
Manages an array of character controllers.
Definition PxControllerManager.h:83
virtual void computeInteractions(PxF32 elapsedTime, PxControllerFilterCallback *cctFilterCb=NULL)=0
Computes character-character interactions.
virtual PxU32 getNbControllers() const =0
Returns the number of controllers that are being managed.
virtual void setPreciseSweeps(bool flag)=0
Enables or disables the precise sweeps.
virtual PxU32 getNbObstacleContexts() const =0
Returns the number of obstacle contexts that are being managed.
virtual void release()=0
Releases the controller manager.
virtual void shiftOrigin(const PxVec3 &shift)=0
Shift the origin of the character controllers and obstacle objects by the specified vector.
virtual void setPreventVerticalSlidingAgainstCeiling(bool flag)=0
Enables or disables vertical sliding against ceilings.
virtual PxObstacleContext * createObstacleContext()=0
Creates an obstacle context.
virtual PxScene & getScene() const =0
Returns the scene the manager is adding the controllers to.
virtual PxController * createController(const PxControllerDesc &desc)=0
Creates a new character controller.
virtual PxRenderBuffer & getRenderBuffer()=0
Retrieves debug data.
virtual PxController * getController(PxU32 index)=0
Retrieve one of the controllers in the manager.
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 PxObstacleContext * getObstacleContext(PxU32 index)=0
Retrieve one of the obstacle contexts in the manager.
virtual void setDebugRenderingFlags(PxControllerDebugRenderFlags flags)=0
Sets debug rendering flags.
virtual void purgeControllers()=0
Releases all the controllers that are being managed.
Base class for character controllers.
Definition PxController.h:638
Container for bitfield flag variables associated with a specific enum type.
Definition PxFlags.h:73
Context class for obstacles.
Definition PxControllerObstacles.h:114
Interface for points, lines, triangles, and text buffer.
Definition PxRenderBuffer.h:136
A scene is a collection of bodies and constraints which can interact.
Definition PxScene.h:178
3 Element vector class.
Definition PxVec3.h:50
PX_C_EXPORT physx::PxControllerManager *PX_CALL_CONV PxCreateControllerManager(physx::PxScene &scene, bool lockingEnabled=false)
Creates the controller manager.
Definition CctCharacterControllerManager.cpp:682
#define PX_CALL_CONV
Definition PxPreprocessor.h:299
Sorts an array of objects in ascending order, assuming that the predicate implements the < operator:
Definition PxBoxController.h:39
PxFlags< PxControllerDebugRenderFlag::Enum, PxU32 > PxControllerDebugRenderFlags
Bitfield that contains a set of raised flags defined in PxControllerDebugRenderFlag.
Definition PxControllerManager.h:73
specifies debug-rendering flags
Definition PxControllerManager.h:56
Enum
Definition PxControllerManager.h:58
@ eTEMPORAL_BV
Temporal bounding volume around controllers.
Definition PxControllerManager.h:59
@ eCACHED_BV
Cached bounding volume around controllers.
Definition PxControllerManager.h:60
@ eOBSTACLES
User-defined obstacles.
Definition PxControllerManager.h:61