#ifndef KX_VEHICLE_WRAPPER #define KX_VEHICLE_WRAPPER #include "Value.h" #include "PHY_DynamicTypes.h" class PHY_IVehicle; class PHY_IMotionState; #include ///Python interface to physics vehicles (primarily 4-wheel cars and 2wheel bikes) class KX_VehicleWrapper : public PyObjectPlus { Py_Header; std::vector m_motionStates; public: KX_VehicleWrapper(PHY_IVehicle* vehicle,class PHY_IPhysicsEnvironment* physenv); virtual ~KX_VehicleWrapper (); int getConstraintId(); #ifdef WITH_PYTHON KX_PYMETHOD_VARARGS(KX_VehicleWrapper,AddWheel); KX_PYMETHOD_VARARGS(KX_VehicleWrapper,GetNumWheels); KX_PYMETHOD_VARARGS(KX_VehicleWrapper,GetWheelOrientationQuaternion); KX_PYMETHOD_VARARGS(KX_VehicleWrapper,GetWheelRotation); KX_PYMETHOD_VARARGS(KX_VehicleWrapper,GetWheelPosition); KX_PYMETHOD_VARARGS(KX_VehicleWrapper,GetConstraintId); KX_PYMETHOD_VARARGS(KX_VehicleWrapper,GetConstraintType); KX_PYMETHOD_VARARGS(KX_VehicleWrapper,SetSteeringValue); KX_PYMETHOD_VARARGS(KX_VehicleWrapper,ApplyEngineForce); KX_PYMETHOD_VARARGS(KX_VehicleWrapper,ApplyBraking); KX_PYMETHOD_VARARGS(KX_VehicleWrapper,SetTyreFriction); KX_PYMETHOD_VARARGS(KX_VehicleWrapper,SetSuspensionStiffness); KX_PYMETHOD_VARARGS(KX_VehicleWrapper,SetSuspensionDamping); KX_PYMETHOD_VARARGS(KX_VehicleWrapper,SetSuspensionCompression); KX_PYMETHOD_VARARGS(KX_VehicleWrapper,SetRollInfluence); #endif // WITH_PYTHON private: PHY_IVehicle* m_vehicle; PHY_IPhysicsEnvironment* m_physenv; }; #endif //KX_VEHICLE_WRAPPER