Blender V2.61 - r43446

btCharacterControllerInterface.h

Go to the documentation of this file.
00001 /*
00002 Bullet Continuous Collision Detection and Physics Library
00003 Copyright (c) 2003-2008 Erwin Coumans  http://bulletphysics.com
00004 
00005 This software is provided 'as-is', without any express or implied warranty.
00006 In no event will the authors be held liable for any damages arising from the use of this software.
00007 Permission is granted to anyone to use this software for any purpose, 
00008 including commercial applications, and to alter it and redistribute it freely, 
00009 subject to the following restrictions:
00010 
00011 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
00012 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
00013 3. This notice may not be removed or altered from any source distribution.
00014 */
00015 
00016 #ifndef CHARACTER_CONTROLLER_INTERFACE_H
00017 #define CHARACTER_CONTROLLER_INTERFACE_H
00018 
00019 #include "LinearMath/btVector3.h"
00020 #include "BulletDynamics/Dynamics/btActionInterface.h"
00021 
00022 class btCollisionShape;
00023 class btRigidBody;
00024 class btCollisionWorld;
00025 
00026 class btCharacterControllerInterface : public btActionInterface
00027 {
00028 public:
00029     btCharacterControllerInterface () {};
00030     virtual ~btCharacterControllerInterface () {};
00031     
00032     virtual void    setWalkDirection(const btVector3& walkDirection) = 0;
00033     virtual void    setVelocityForTimeInterval(const btVector3& velocity, btScalar timeInterval) = 0;
00034     virtual void    reset () = 0;
00035     virtual void    warp (const btVector3& origin) = 0;
00036 
00037     virtual void    preStep ( btCollisionWorld* collisionWorld) = 0;
00038     virtual void    playerStep (btCollisionWorld* collisionWorld, btScalar dt) = 0;
00039     virtual bool    canJump () const = 0;
00040     virtual void    jump () = 0;
00041 
00042     virtual bool    onGround () const = 0;
00043 };
00044 
00045 #endif