32 #ifndef PX_PHYSICS_CCT_CONTROLLER 33 #define PX_PHYSICS_CCT_CONTROLLER 70 eFORCE_DWORD = 0x7fffffff
95 ePREVENT_CLIMBING_AND_FORCE_SLIDING
106 eCOLLISION_SIDES = (1<<0),
107 eCOLLISION_UP = (1<<1),
108 eCOLLISION_DOWN = (1<<2)
284 mFilterData (filterData),
285 mFilterCallback (cb),
287 mCCTFilterCallback (cctFilterCb)
bool standOnObstacle
Are we standing on a user-defined obstacle?
Definition: PxController.h:132
PxVec3 deltaXP
delta position vector for the object the CCT is standing/riding on. Not always match the CCT delta wh...
Definition: PxController.h:126
Definition: GuContactBuffer.h:37
PxF32 volumeGrowth
Cached volume growth.
Definition: PxController.h:450
PxExtendedVec3 worldPos
Contact position in world space.
Definition: PxController.h:153
PxControllerBehaviorCallback * behaviorCallback
Specifies a user behavior callback.
Definition: PxController.h:476
virtual PxF32 getStepOffset() const =0
Retrieve the step height.
A scene is a collection of bodies and constraints which can interact.
Definition: PxScene.h:169
PxController * other
Touched controller.
Definition: PxController.h:178
const void * userData
Definition: PxController.h:188
PxU32 collisionFlags
Last known collision flags (PxControllerCollisionFlag)
Definition: PxController.h:130
Scene query filtering callbacks.
Definition: PxQueryFiltering.h:169
PxControllerFilterCallback * mCCTFilterCallback
CCT-vs-CCT filter callback. If NULL, all CCT-vs-CCT collisions are kept.
Definition: PxController.h:296
PxControllerNonWalkableMode::Enum nonWalkableMode
The non-walkable mode controls if a character controller slides or not on a non-walkable part...
Definition: PxController.h:487
PxRigidDynamic represents a dynamic rigid simulation object in the physics SDK.
Definition: PxRigidDynamic.h:83
float PxF32
Definition: PxSimpleTypes.h:76
PxFilterData is user-definable data which gets passed into the collision filtering shader and/or call...
Definition: PxFiltering.h:366
PxRigidActor * actor
Touched actor.
Definition: PxController.h:167
virtual PX_INLINE bool isValid() const
returns true if the current settings are valid
Definition: PxController.h:601
Abstract class for collision shapes.
Definition: PxShape.h:142
float PxReal
Definition: PxSimpleTypes.h:78
A box controller.
Definition: PxController.h:61
PX_INLINE PxControllerDesc(PxControllerShapeType::Enum)
constructor sets to default.
Definition: PxController.h:542
Stops character from climbing up non-walkable slopes, but doesn't move it otherwise.
Definition: PxController.h:94
Describes a generic CCT hit.
Definition: PxController.h:150
PxQueryFlags mFilterFlags
Flags for internal PxQueryFilterData structure. Passed to PxScene::overlap() call.
Definition: PxController.h:294
PxVec3 upDirection
Specifies the 'up' direction.
Definition: PxController.h:341
virtual void getStats(PxControllerStats &stats) const =0
Returns the controller's internal statistics.
PxExtended y
Definition: PxExtended.h:253
virtual void invalidateCache()=0
Flushes internal geometry cache.
virtual void setContactOffset(PxF32 offset)=0
Sets the contact offset.
User callback class for character controller events.
Definition: PxController.h:198
PX_INLINE PxControllerFilters(const PxFilterData *filterData=NULL, PxQueryFilterCallback *cb=NULL, PxControllerFilterCallback *cctFilterCb=NULL)
Definition: PxController.h:283
PX_INLINE PxController()
Definition: PxController.h:902
PxF32 scaleCoeff
Scale coefficient for underlying kinematic actor.
Definition: PxController.h:440
PxF32 slopeLimit
The maximum slope which the character can walk up.
Definition: PxController.h:357
virtual ~PxUserControllerHitReport()
Definition: PxController.h:232
PxF32 stepOffset
Defines the maximum height of an obstacle which the character can climb.
Definition: PxController.h:421
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.
PxF32 invisibleWallHeight
Height of invisible walls created around non-walkable triangles.
Definition: PxController.h:370
virtual ~PxController()
Definition: PxController.h:903
virtual void * getUserData() const =0
Returns the user data associated with this controller.
PxU16 nbPartialUpdates
Definition: PxController.h:143
virtual PxF32 getContactOffset() const =0
Retrieve the contact offset.
virtual PxControllerShapeType::Enum getType() const =0
Return the type of controller.
virtual void setUserData(void *userData)=0
Sets the user data associated with this controller.
virtual PxF32 getSlopeLimit() const =0
Retrieve the slope limit.
PxMaterial * material
The material for the actor associated with the controller.
Definition: PxController.h:498
PxRigidActor represents a base class shared between dynamic and static rigid bodies in the physics SD...
Definition: PxRigidActor.h:58
virtual ~PxControllerFilterCallback()
Definition: PxController.h:250
virtual void setStepOffset(const PxF32 offset)=0
The step height.
virtual const PxExtendedVec3 & getPosition() const =0
Retrieve the raw position of the controller.
Enum
Definition: PxController.h:92
Dedicated filtering callback for CCT vs CCT.
Definition: PxController.h:247
virtual PX_INLINE ~PxControllerDesc()
Definition: PxController.h:597
Context class for obstacles.
Definition: PxControllerObstacles.h:115
PxF32 length
Motion length.
Definition: PxController.h:156
PxF32 density
Density of underlying kinematic actor.
Definition: PxController.h:430
PxExtended x
Definition: PxExtended.h:253
PxU16 nbIterations
Definition: PxController.h:141
const PxControllerShapeType::Enum mType
The type of the controller. This gets set by the derived class' ctor, the user should not have to cha...
Definition: PxController.h:521
PxShape * touchedShape
Shape on which the CCT is standing.
Definition: PxController.h:127
virtual void setNonWalkableMode(PxControllerNonWalkableMode::Enum flag)=0
Sets the non-walkable mode for the CCT.
Base class for character controllers.
Definition: PxController.h:623
A capsule controller.
Definition: PxController.h:68
PX_INLINE PxControllerShapeType::Enum getType() const
Returns the character controller type.
Definition: PxController.h:322
bool standOnAnotherCCT
Are we standing on another CCT?
Definition: PxController.h:131
PX_INLINE PxControllerDesc & operator=(const PxControllerDesc &)
assignment operator.
Definition: PxController.h:569
virtual void setUpDirection(const PxVec3 &up)=0
Sets the 'up' direction.
PxF32 maxJumpHeight
Maximum height a jumping character can reach.
Definition: PxController.h:395
PxExtended z
Definition: PxExtended.h:253
PxVec3 worldNormal
Contact normal in world space.
Definition: PxController.h:154
uint8_t PxU8
Definition: PxSimpleTypes.h:75
virtual bool setPosition(const PxExtendedVec3 &position)=0
Sets controller's position.
Base class for obstacles.
Definition: PxControllerObstacles.h:54
PxU16 nbFullUpdates
Definition: PxController.h:142
PxShape * shape
Touched shape.
Definition: PxController.h:166
void * userData
User specified data associated with the controller.
Definition: PxController.h:518
PxU32 ObstacleHandle
Definition: PxControllerObstacles.h:106
virtual void release()=0
Releases the controller.
double PxExtended
Definition: PxExtended.h:52
PxU16 nbTessellation
Definition: PxController.h:144
PxRigidActor * touchedActor
Actor owning 'touchedShape'.
Definition: PxController.h:128
specifies which sides a character is colliding with.
Definition: PxController.h:102
virtual bool setFootPosition(const PxExtendedVec3 &position)=0
Set controller's foot position.
bool isMovingUp
is CCT moving up or not? (i.e. explicit jumping)
Definition: PxController.h:133
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.
The type of controller, eg box, sphere or capsule.
Definition: PxController.h:52
User behavior callback.
Definition: PxControllerBehavior.h:74
virtual void getState(PxControllerState &state) const =0
Returns information about the controller's internal state.
specifies how a CCT interacts with non-walkable parts.
Definition: PxController.h:90
virtual PxScene * getScene()=0
Retrieve the scene associated with the controller.
Filtering flags for scene queries.
Definition: PxQueryFiltering.h:57
PxVec3 dir
Motion direction.
Definition: PxController.h:155
virtual void resize(PxReal height)=0
Resizes the controller.
Describes a hit between a CCT and a shape. Passed to onShapeHit()
Definition: PxController.h:164
Material class to represent a set of surface properties.
Definition: PxMaterial.h:130
ObstacleHandle touchedObstacleHandle
Definition: PxController.h:129
virtual PxExtendedVec3 getFootPosition() const =0
Retrieve the "foot" position of the controller, i.e. the position of the bottom of the CCT's shape...
Container for bitfield flag variables associated with a specific enum type.
Definition: PxFlags.h:73
Describes a hit between a CCT and a user-defined obstacle. Passed to onObstacleHit().
Definition: PxController.h:186
Enum
Definition: PxController.h:104
PxF32 contactOffset
The contact offset used by the controller.
Definition: PxController.h:408
PxController * controller
Current controller.
Definition: PxController.h:152
Filtering data for "move" call.
Definition: PxController.h:279
uint16_t PxU16
Definition: PxSimpleTypes.h:73
uint32_t PxU32
Definition: Px.h:48
Describes a controller's internal state.
Definition: PxController.h:124
virtual void setSlopeLimit(PxF32 slopeLimit)=0
Sets the slope limit.
PxExtendedVec3 position
The position of the character.
Definition: PxController.h:331
virtual PxControllerNonWalkableMode::Enum getNonWalkableMode() const =0
Retrieves the non-walkable mode for the CCT.
Descriptor class for a character controller.
Definition: PxController.h:304
Describes a controller's internal statistics.
Definition: PxController.h:139
const PxFilterData * mFilterData
Definition: PxController.h:291
PxFlags< PxControllerCollisionFlag::Enum, PxU8 > PxControllerCollisionFlags
Bitfield that contains a set of raised flags defined in PxControllerCollisionFlag.
Definition: PxController.h:117
#define PX_INLINE
Definition: PxPreprocessor.h:349
virtual PxVec3 getUpDirection() const =0
Retrieve the 'up' direction.
Enum
Definition: PxController.h:54
bool registerDeletionListener
Use a deletion listener to get informed about released objects and clear internal caches if needed...
Definition: PxController.h:511
3 Element vector class.
Definition: PxVec3.h:49
PX_INLINE void copy(const PxControllerDesc &)
Definition: PxController.h:575
Describes a hit between a CCT and another CCT. Passed to onControllerHit().
Definition: PxController.h:176
PxU32 triangleIndex
touched triangle index (only for meshes/heightfields)
Definition: PxController.h:168
PxUserControllerHitReport * reportCallback
Specifies a user report callback.
Definition: PxController.h:463
Definition: PxExtended.h:56