37#include <OgreBulletDynamicsRigidBody.h>
38#include <OgreBulletDynamicsRaycastVehicle.h>
39#include <OgreBulletCollisionsBoxShape.h>
40#include <OgreBulletCollisionsCompoundShape.h>
107 for (
size_t i = 0; i <
mWheels.size(); i++)
179 OgreBulletCollisions::BoxCollisionShape* chassisShape =
new OgreBulletCollisions::BoxCollisionShape(bounds);
180 OgreBulletCollisions::CompoundCollisionShape* compound =
new OgreBulletCollisions::CompoundCollisionShape();
186 mCarChassis->setDamping(linear_dampening, angular_dampening);
200 int forwardIndex = 2;
202 mVehicle->setCoordinateSystem(rightIndex, upIndex, forwardIndex);
214 if (steerable ==
true)
253 if (down ==
true || up ==
true)
327 Report(
"Camera attached");
329 Report(
"Camera detached");
void SetPosition(const Vector3 &position)
void SetOrientation(const Quaternion &orientation)
Ogre::AxisAlignedBox * Bounds
const std::string & GetName()
virtual bool ReportError(const std::string &message)
virtual void Report(const std::string &message)
void SetName(const std::string &name)
virtual void Move(const Vector3 &vector, Real speed=1.0)
virtual Vector3 GetPosition(bool relative=false)
SceneNode * GetSceneNode()
void SetValues(const std::string &type, const std::string &name, bool is_permanent, bool is_movable=true)
Quaternion GetOrientation(bool relative=false)
void EnableLoop(bool value)
virtual void SetPosition(const Vector3 &position)
VehicleManager * GetVehicleManager()
OgreBulletDynamics::DynamicsWorld * mWorld
Real ToRemote(Real local_value)
Ogre::SceneNode * GetRawSceneNode()
void Remove(Vehicle *elevator)
bool CreateChassis(Real restitution, Real friction, Real mass, Real linear_dampening, Real angular_dampening)
void KeyReleased(bool left, bool right, bool down, bool up)
void AttachCamera(bool value)
Real SuspensionRestLength
OgreBulletDynamics::VehicleTuning * mTuning
OgreBulletDynamics::WheeledRigidBody * mCarChassis
Real MaxSuspensionTravelCm
Vehicle(Object *parent, const int number)
OgreBulletDynamics::RaycastVehicle * mVehicle
Real SuspensionCompression
void KeyPressed(bool left, bool right, bool down, bool up)
std::vector< int > mWheelsSteerable
std::vector< int > mWheelsEngine
bool ReportError(const std::string &message)
bool AddWheel(bool engine, bool steerable, bool IsFrontWheel, Real radius, const Vector3 &ConnectionPoint, const Vector3 &Direction=Vector3(0, -1, 0), const Vector3 &Axle=Vector3(-1, 0, 0))
bool Create(const Vector3 &position)
void Report(const std::string &message)
OgreBulletDynamics::VehicleRayCaster * mVehicleRayCaster
std::vector< MeshObject * > mWheels
std::string ToString(int number)