17#ifndef BT_KINEMATIC_CHARACTER_CONTROLLER_H
18#define BT_KINEMATIC_CHARACTER_CONTROLLER_H
127 preStep ( collisionWorld);
128 playerStep (collisionWorld, deltaTime);
143 virtual void setWalkDirection(
const btVector3& walkDirection);
150 virtual void setVelocityForTimeInterval(
const btVector3& velocity,
153 virtual void setAngularVelocity(
const btVector3& velocity);
154 virtual const btVector3& getAngularVelocity()
const;
156 virtual void setLinearVelocity(
const btVector3& velocity);
157 virtual btVector3 getLinearVelocity()
const;
172 void setFallSpeed (
btScalar fallSpeed);
174 void setJumpSpeed (
btScalar jumpSpeed);
176 void setMaxJumpHeight (
btScalar maxJumpHeight);
177 bool canJump ()
const;
183 void setGravity(
const btVector3& gravity);
188 void setMaxSlope(
btScalar slopeRadians);
191 void setMaxPenetrationDepth(
btScalar d);
192 btScalar getMaxPenetrationDepth()
const;
197 m_useGhostObjectSweepTest = useGhostObjectSweepTest;
200 bool onGround ()
const;
201 void setUpInterpolate (
bool value);
const T & btClamped(const T &a, const T &lb, const T &ub)
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
#define ATTRIBUTE_ALIGNED16(a)
btCollisionDispatcher supports algorithms that handle ConvexConvex and ConvexConcave collision pairs.
btCollisionObject can be used to manage collision detection objects.
The btCollisionShape class provides an interface for collision shapes that can be shared among btColl...
CollisionWorld is interface and container for the collision detection.
The btConvexShape is an abstract shape interface, implemented by all convex shapes such as btBoxShape...
The btIDebugDraw interface class allows hooking up a debug renderer to visually debug simulations.
btKinematicCharacterController is an object that supports a sliding motion in a world.
btQuaternion m_targetOrientation
btVector3 m_walkDirection
this is the desired walk direction, set by the user
btScalar m_maxSlopeRadians
btScalar getFallSpeed() const
btQuaternion m_currentOrientation
btVector3 m_targetPosition
btScalar getStepHeight() const
btScalar getJumpSpeed() const
btVector3 m_currentPosition
void applyImpulse(const btVector3 &v)
virtual void updateAction(btCollisionWorld *collisionWorld, btScalar deltaTime)
btActionInterface interface
btScalar m_maxPenetrationDepth
void setUseGhostSweepTest(bool useGhostObjectSweepTest)
btScalar m_velocityTimeInterval
btManifoldArray m_manifoldArray
keep track of the contact manifolds
btVector3 m_touchingNormal
bool m_useGhostObjectSweepTest
btScalar m_verticalVelocity
btScalar m_currentStepOffset
btScalar m_verticalOffset
void setLinearDamping(btScalar d)
btScalar getAngularDamping() const
btScalar getLinearDamping() const
btScalar m_maxSlopeCosine
const btVector3 & getUp()
btScalar m_angularDamping
btConvexShape * m_convexShape
BT_DECLARE_ALIGNED_ALLOCATOR()
btVector3 m_normalizedDirection
void setAngularDamping(btScalar d)
btPairCachingGhostObject * m_ghostObject
The btQuaternion implements quaternion to perform linear algebra rotations in combination with btMatr...
The btRigidBody is the main class for rigid body objects.
btVector3 can be used to represent 3D points and vectors.