PhysX SDK 3.2 API Reference: PxController Class Reference

PhysX SDK 3.2 API

PxController Class Reference
[Character]

Base class for character controllers. More...

#include <PxController.h>

Inheritance diagram for PxController:

List of all members.


Public Member Functions

virtual PxControllerShapeType::Enum getType ()=0
 Return the type of controller.
virtual void release ()=0
 Releases the controller.
virtual PxU32 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 PxExtendedVec3getPosition () 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 PxRigidDynamicgetActor () 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 setInteraction (PxCCTInteractionMode::Enum flag)=0
 Sets the interaction mode for the CCT.
virtual PxCCTInteractionMode::Enum getInteraction () const =0
 Retrieves the interaction mode for the CCT.
virtual void setNonWalkableMode (PxCCTNonWalkableMode::Enum flag)=0
 Sets the non-walkable mode for the CCT.
virtual PxCCTNonWalkableMode::Enum getNonWalkableMode () const =0
 Retrieves the non-walkable mode for the CCT.
virtual void setGroupsBitmask (PxU32 bitmask)=0
 Sets the groups bitmask.
virtual PxU32 getGroupsBitmask () const =0
 Retrieves the groups bitmask.
virtual PxF32 getContactOffset () const =0
 Retrieve 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 invalidateCache ()=0
 Flushes internal geometry cache.
virtual PxScenegetScene ()=0
 Retrieve the scene associated with the controller.
virtual void * getUserData () const =0
 Returns 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.

Returns:
The controller's foot position
See also:
PxControllerDesc.position setPosition() getPosition() setFootPosition() move()

virtual PxU32 PxController::getGroupsBitmask (  )  const [pure virtual]

Retrieves the groups bitmask.

Returns:
The current groups bitmask
See also:
PxCCTInteractionMode

virtual PxCCTInteractionMode::Enum PxController::getInteraction (  )  const [pure virtual]

Retrieves the interaction mode for the CCT.

Returns:
The current interaction mode.
See also:
PxCCTInteractionMode

virtual PxCCTNonWalkableMode::Enum PxController::getNonWalkableMode (  )  const [pure virtual]

Retrieves the non-walkable mode for the CCT.

Returns:
The current non-walkable mode.
See also:
PxCCTNonWalkableMode

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 (  )  [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 are a few situations that cannot be automatically detected, and those require manual invalidation of the cache. This is mainly the case when the filtering parameters change (the PxControllerFilters parameter of the PxController::move call).

See also:
PxController.move

virtual PxU32 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 PxControllerFlag

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 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.

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::setGroupsBitmask ( PxU32  bitmask  )  [pure virtual]

Sets the groups bitmask.

Parameters:
[in] bitmask The new groups bitmask value
See also:
PxCCTInteractionMode

virtual void PxController::setInteraction ( PxCCTInteractionMode::Enum  flag  )  [pure virtual]

Sets the interaction mode for the CCT.

Parameters:
[in] flag The new value of the interaction mode.
See also:
PxCCTInteractionMode

virtual void PxController::setNonWalkableMode ( PxCCTNonWalkableMode::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:
PxCCTNonWalkableMode

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


The documentation for this class was generated from the following file:



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