add missing files after merging
[blender.git] / source / gameengine / Ketsji / KX_VehicleWrapper.h
1
2 /** \file KX_VehicleWrapper.h
3  *  \ingroup ketsji
4  */
5
6 #ifndef KX_VEHICLE_WRAPPER
7 #define KX_VEHICLE_WRAPPER
8
9 #include "Value.h"
10 #include "PHY_DynamicTypes.h"
11 class PHY_IVehicle;
12 class PHY_IMotionState;
13
14 #include <vector>
15
16 ///Python interface to physics vehicles (primarily 4-wheel cars and 2wheel bikes)
17 class   KX_VehicleWrapper : public PyObjectPlus
18 {
19         Py_Header;
20
21         std::vector<PHY_IMotionState*> m_motionStates;
22
23 public:
24         KX_VehicleWrapper(PHY_IVehicle* vehicle,class PHY_IPhysicsEnvironment* physenv);
25         virtual ~KX_VehicleWrapper ();
26         int                     getConstraintId();
27         
28 #ifdef WITH_PYTHON
29         
30         KX_PYMETHOD_VARARGS(KX_VehicleWrapper,AddWheel);
31         KX_PYMETHOD_VARARGS(KX_VehicleWrapper,GetNumWheels);
32         KX_PYMETHOD_VARARGS(KX_VehicleWrapper,GetWheelOrientationQuaternion);
33         KX_PYMETHOD_VARARGS(KX_VehicleWrapper,GetWheelRotation);
34         
35         KX_PYMETHOD_VARARGS(KX_VehicleWrapper,GetWheelPosition);
36         
37         KX_PYMETHOD_VARARGS(KX_VehicleWrapper,GetConstraintId);
38         KX_PYMETHOD_VARARGS(KX_VehicleWrapper,GetConstraintType);
39
40         KX_PYMETHOD_VARARGS(KX_VehicleWrapper,SetSteeringValue);
41
42         KX_PYMETHOD_VARARGS(KX_VehicleWrapper,ApplyEngineForce);
43
44         KX_PYMETHOD_VARARGS(KX_VehicleWrapper,ApplyBraking);
45
46         KX_PYMETHOD_VARARGS(KX_VehicleWrapper,SetTyreFriction);
47
48         KX_PYMETHOD_VARARGS(KX_VehicleWrapper,SetSuspensionStiffness);
49         
50         KX_PYMETHOD_VARARGS(KX_VehicleWrapper,SetSuspensionDamping);
51         
52         KX_PYMETHOD_VARARGS(KX_VehicleWrapper,SetSuspensionCompression);
53         
54         KX_PYMETHOD_VARARGS(KX_VehicleWrapper,SetRollInfluence);
55 #endif // WITH_PYTHON
56
57 private:
58         PHY_IVehicle*                    m_vehicle;
59         PHY_IPhysicsEnvironment* m_physenv;
60 };
61
62 #endif //KX_VEHICLE_WRAPPER