Bevel Factor Mapping
[blender.git] / source / gameengine / Physics / common / PHY_ICharacter.h
1
2 /** \file PHY_ICharacter.h
3  *  \ingroup phys
4  */
5
6 #ifndef __PHY_ICHARACTER_H__
7 #define __PHY_ICHARACTER_H__
8
9 //PHY_ICharacter provides a generic interface for "character" controllers
10
11 #ifdef WITH_CXX_GUARDEDALLOC
12 #include "MEM_guardedalloc.h"
13 #endif
14
15 class PHY_ICharacter
16 {
17 public: 
18         virtual ~PHY_ICharacter(){};
19
20         virtual void Jump()= 0;
21         virtual bool OnGround()= 0;
22
23         virtual float GetGravity()= 0;
24         virtual void SetGravity(float gravity)= 0;
25         
26         virtual int GetMaxJumps()= 0;
27         virtual void SetMaxJumps(int maxJumps)= 0;
28
29         virtual int GetJumpCount()= 0;
30
31         virtual void SetWalkDirection(const class MT_Vector3& dir)=0;
32         virtual MT_Vector3 GetWalkDirection()=0;
33
34 #ifdef WITH_CXX_GUARDEDALLOC
35         MEM_CXX_CLASS_ALLOC_FUNCS("GE:PHY_ICharacter")
36 #endif
37 };
38
39 #endif //__PHY_ICHARACTER_H__