16#ifndef BT_KINEMATIC_CHARACTER_CONTROLLER_H
17#define BT_KINEMATIC_CHARACTER_CONTROLLER_H
123 preStep(collisionWorld);
124 playerStep(collisionWorld, deltaTime);
139 virtual void setWalkDirection(
const btVector3& walkDirection);
146 virtual void setVelocityForTimeInterval(
const btVector3& velocity,
149 virtual void setAngularVelocity(
const btVector3& velocity);
150 virtual const btVector3& getAngularVelocity()
const;
152 virtual void setLinearVelocity(
const btVector3& velocity);
153 virtual btVector3 getLinearVelocity()
const;
168 void setFallSpeed(
btScalar fallSpeed);
170 void setJumpSpeed(
btScalar jumpSpeed);
172 void setMaxJumpHeight(
btScalar maxJumpHeight);
173 bool canJump()
const;
179 void setGravity(
const btVector3& gravity);
184 void setMaxSlope(
btScalar slopeRadians);
187 void setMaxPenetrationDepth(
btScalar d);
188 btScalar getMaxPenetrationDepth()
const;
193 m_useGhostObjectSweepTest = useGhostObjectSweepTest;
196 bool onGround()
const;
197 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.