Skyscraper 2.0
|
#include <vehicle.h>
Public Member Functions | |
Vehicle (Object *parent, const int number) | |
~Vehicle () | |
bool | CreateChassis (Real restitution, Real friction, Real mass, Real linear_dampening, Real angular_dampening) |
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)) |
void | KeyPressed (bool left, bool right, bool down, bool up) |
void | KeyReleased (bool left, bool right, bool down, bool up) |
void | Loop () |
void | Enabled (bool value) |
bool | Create (const Vector3 &position) |
void | OnMove (bool parent) |
void | AttachCamera (bool value) |
Real | GetWidth () |
void | Report (const std::string &message) |
bool | ReportError (const std::string &message) |
![]() | |
Object (Object *parent) | |
virtual | ~Object () |
void | SetValues (const std::string &type, const std::string &name, bool is_permanent, bool is_movable=true) |
bool | IsPermanent () |
bool | IsMovable () |
const std::string & | GetType () |
int | GetNumber () |
void | AddChild (Object *object) |
Object * | GetChild (int index) |
int | GetChildrenCount () |
void | RemoveChild (Object *object) |
SceneNode * | GetSceneNode () |
void | ShowBoundingBox (bool value) |
virtual void | Move (const Vector3 &vector, Real speed=1.0) |
virtual void | Move (Real X, Real Y, Real Z, Real speed=1.0) |
virtual void | SetPosition (const Vector3 &position) |
void | SetPositionRelative (const Vector3 &position) |
virtual void | SetPosition (Real X, Real Y, Real Z) |
void | SetPositionRelative (Real X, Real Y, Real Z) |
virtual void | SetPositionY (Real value) |
virtual Vector3 | GetPosition (bool relative=false) |
virtual void | Rotate (const Vector3 &vector, Real speed=1.0) |
virtual void | Rotate (Real X, Real Y, Real Z, Real speed=1.0) |
virtual void | SetRotation (const Vector3 &rotation) |
virtual void | SetRotation (Real X, Real Y, Real Z) |
virtual Vector3 | GetRotation () |
Quaternion | GetOrientation (bool relative=false) |
void | SetOrientation (const Quaternion &q, bool relative=false) |
virtual void | OnRotate (bool parent) |
virtual void | OnClick (Vector3 &position, bool shift, bool ctrl, bool alt, bool right) |
virtual void | OnUnclick (bool right) |
virtual void | OnHit () |
void | NotifyMove (bool parent=false) |
void | NotifyRotate (bool parent=false) |
virtual void | ResetState () |
void | ChangeParent (Object *new_parent) |
bool | IsGlobal () |
void | Init (bool children=true) |
virtual void | OnInit () |
void | RegisterLoop (Object *object) |
void | UnregisterLoop (Object *object) |
std::string | GetNameBase () |
template<typename T > | |
bool | IsType () |
template<typename T > | |
T * | ConvertTo () |
![]() | |
ObjectBase (Object *parent) | |
virtual | ~ObjectBase () |
Object * | GetParent () |
SBS * | GetRoot () |
void | SetName (const std::string &name) |
const std::string & | GetName () |
std::string | GetNameBase () |
Public Attributes | |
int | Number |
std::string | Name |
bool | Created |
Vector3 | ChassisShift |
std::string | ChassisMesh |
std::string | WheelMesh |
Real | ChassisScale |
Real | WheelScale |
Vector3 | CameraPoint |
Real | MaxEngineForce |
Real | SteeringIncrement |
Real | SteeringClamp |
Real | WheelFriction |
Real | SuspensionStiffness |
Real | SuspensionDamping |
Real | SuspensionCompression |
Real | RollInfluence |
Real | SuspensionRestLength |
Real | MaxSuspensionTravelCm |
Real | FrictionSlip |
![]() | |
std::string | command |
std::string | command_processed |
std::string | context |
int | linenum |
std::string | includefile |
bool | parent_deleting |
Private Attributes | |
OgreBulletDynamics::WheeledRigidBody * | mCarChassis |
OgreBulletDynamics::VehicleTuning * | mTuning |
OgreBulletDynamics::VehicleRayCaster * | mVehicleRayCaster |
OgreBulletDynamics::RaycastVehicle * | mVehicle |
Object * | vehicle |
MeshObject * | mChassis |
std::vector< MeshObject * > | mWheels |
int | WheelCount |
std::vector< int > | mWheelsEngine |
std::vector< int > | mWheelsSteerable |
Real | mEngineForce |
Real | mSteering |
bool | mSteeringLeft |
bool | mSteeringRight |
bool | camera_attached |
Additional Inherited Members | |
![]() | |
void | EnableLoop (bool value) |
void | LoopChildren () |
bool | SelfDestruct () |
![]() | |
SBS * | sbs |
SBS::Vehicle::Vehicle | ( | Object * | parent, |
const int | number ) |
Definition at line 54 of file vehicle.cpp.
References camera_attached, CameraPoint, ChassisScale, ChassisShift, Created, Enabled(), FrictionSlip, MaxEngineForce, MaxSuspensionTravelCm, mCarChassis, mChassis, mEngineForce, mSteering, mSteeringLeft, mSteeringRight, mTuning, mVehicle, mVehicleRayCaster, Number, RollInfluence, SBS::ObjectBase::SetName(), SBS::Object::SetValues(), SteeringClamp, SteeringIncrement, SuspensionCompression, SuspensionDamping, SuspensionRestLength, SuspensionStiffness, SBS::ToString(), vehicle, WheelCount, WheelFriction, and WheelScale.
SBS::Vehicle::~Vehicle | ( | ) |
Definition at line 98 of file vehicle.cpp.
References AttachCamera(), SBS::SBS::FastDelete, SBS::SBS::GetVehicleManager(), mCarChassis, mChassis, mTuning, mVehicle, mVehicleRayCaster, mWheels, SBS::Object::parent_deleting, SBS::VehicleManager::Remove(), SBS::ObjectBase::sbs, and vehicle.
bool SBS::Vehicle::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) ) |
Definition at line 207 of file vehicle.cpp.
References SBS::ObjectBase::GetName(), SBS::SceneNode::GetRawSceneNode(), SBS::Object::GetSceneNode(), mVehicle, mWheels, mWheelsEngine, mWheelsSteerable, ReportError(), RollInfluence, SBS::ObjectBase::sbs, SuspensionRestLength, SBS::SBS::ToRemote(), SBS::ToString(), WheelCount, WheelFriction, WheelMesh, and WheelScale.
Referenced by Skyscraper::ScriptProcessor::VehicleSection::Run().
void SBS::Vehicle::AttachCamera | ( | bool | value | ) |
Definition at line 318 of file vehicle.cpp.
References camera_attached, CameraPoint, and Report().
Referenced by SBS::Camera::AttachToVehicle(), and ~Vehicle().
bool SBS::Vehicle::Create | ( | const Vector3 & | position | ) |
Definition at line 144 of file vehicle.cpp.
References Created, SBS::Object::Move(), ReportError(), and vehicle.
Referenced by SBS::SBS::NewVehicle(), and Skyscraper::ScriptProcessor::VehicleSection::Run().
bool SBS::Vehicle::CreateChassis | ( | Real | restitution, |
Real | friction, | ||
Real | mass, | ||
Real | linear_dampening, | ||
Real | angular_dampening ) |
Definition at line 159 of file vehicle.cpp.
References SBS::MeshObject::Bounds, ChassisMesh, ChassisScale, ChassisShift, FrictionSlip, SBS::MeshObject::GetBounds(), SBS::ObjectBase::GetName(), SBS::SceneNode::GetRawSceneNode(), SBS::SceneNode::GetScale(), SBS::Object::GetSceneNode(), MaxSuspensionTravelCm, mCarChassis, mChassis, mTuning, mVehicle, mVehicleRayCaster, SBS::SBS::mWorld, SBS::ObjectBase::Object, ReportError(), SBS::ObjectBase::sbs, SBS::Object::SetPosition(), SBS::Object::SetValues(), SuspensionCompression, SuspensionDamping, SuspensionStiffness, SBS::SBS::ToRemote(), and vehicle.
Referenced by Skyscraper::ScriptProcessor::VehicleSection::Run().
|
virtual |
Reimplemented from SBS::Object.
Definition at line 307 of file vehicle.cpp.
References SBS::Object::EnableLoop().
Referenced by Vehicle().
Real SBS::Vehicle::GetWidth | ( | ) |
Definition at line 332 of file vehicle.cpp.
References SBS::MeshObject::Bounds, and mChassis.
Referenced by SBS::Camera::AttachToVehicle().
void SBS::Vehicle::KeyPressed | ( | bool | left, |
bool | right, | ||
bool | down, | ||
bool | up ) |
Definition at line 235 of file vehicle.cpp.
References MaxEngineForce, mEngineForce, mSteeringLeft, and mSteeringRight.
Referenced by SBS::Camera::Drive().
void SBS::Vehicle::KeyReleased | ( | bool | left, |
bool | right, | ||
bool | down, | ||
bool | up ) |
Definition at line 247 of file vehicle.cpp.
References mEngineForce, mSteeringLeft, and mSteeringRight.
Referenced by SBS::Camera::Drive().
|
virtual |
Reimplemented from SBS::Object.
Definition at line 257 of file vehicle.cpp.
References SBS::SBS::camera, camera_attached, CameraPoint, EPSILON, SBS::Object::GetOrientation(), SBS::Object::GetPosition(), mEngineForce, mSteering, mSteeringLeft, mSteeringRight, mVehicle, mWheelsEngine, mWheelsSteerable, SBS::ObjectBase::sbs, SBS::Camera::SetOrientation(), SBS::Camera::SetPosition(), SteeringClamp, and SteeringIncrement.
|
virtual |
|
virtual |
Reimplemented from SBS::ObjectBase.
Definition at line 344 of file vehicle.cpp.
References SBS::ObjectBase::GetName(), and SBS::ObjectBase::Report().
Referenced by AttachCamera().
|
virtual |
Reimplemented from SBS::ObjectBase.
Definition at line 350 of file vehicle.cpp.
References SBS::ObjectBase::GetName(), and SBS::ObjectBase::ReportError().
Referenced by AddWheel(), Create(), and CreateChassis().
|
private |
Definition at line 98 of file vehicle.h.
Referenced by AttachCamera(), Loop(), and Vehicle().
Vector3 SBS::Vehicle::CameraPoint |
Definition at line 48 of file vehicle.h.
Referenced by AttachCamera(), Loop(), and Vehicle().
std::string SBS::Vehicle::ChassisMesh |
Definition at line 44 of file vehicle.h.
Referenced by CreateChassis(), and Skyscraper::ScriptProcessor::VehicleSection::Run().
Real SBS::Vehicle::ChassisScale |
Definition at line 46 of file vehicle.h.
Referenced by CreateChassis(), Skyscraper::ScriptProcessor::VehicleSection::Run(), and Vehicle().
Vector3 SBS::Vehicle::ChassisShift |
Definition at line 43 of file vehicle.h.
Referenced by CreateChassis(), Skyscraper::ScriptProcessor::VehicleSection::Run(), and Vehicle().
bool SBS::Vehicle::Created |
Real SBS::Vehicle::FrictionSlip |
Definition at line 60 of file vehicle.h.
Referenced by CreateChassis(), Skyscraper::ScriptProcessor::VehicleSection::Run(), and Vehicle().
Real SBS::Vehicle::MaxEngineForce |
Definition at line 50 of file vehicle.h.
Referenced by KeyPressed(), Skyscraper::ScriptProcessor::VehicleSection::Run(), and Vehicle().
Real SBS::Vehicle::MaxSuspensionTravelCm |
Definition at line 59 of file vehicle.h.
Referenced by CreateChassis(), Skyscraper::ScriptProcessor::VehicleSection::Run(), and Vehicle().
|
private |
Definition at line 79 of file vehicle.h.
Referenced by CreateChassis(), OnMove(), Vehicle(), and ~Vehicle().
|
private |
Definition at line 85 of file vehicle.h.
Referenced by CreateChassis(), GetWidth(), Vehicle(), and ~Vehicle().
|
private |
Definition at line 92 of file vehicle.h.
Referenced by KeyPressed(), KeyReleased(), Loop(), and Vehicle().
|
private |
|
private |
Definition at line 95 of file vehicle.h.
Referenced by KeyPressed(), KeyReleased(), Loop(), and Vehicle().
|
private |
Definition at line 96 of file vehicle.h.
Referenced by KeyPressed(), KeyReleased(), Loop(), and Vehicle().
|
private |
Definition at line 80 of file vehicle.h.
Referenced by CreateChassis(), Vehicle(), and ~Vehicle().
|
private |
Definition at line 82 of file vehicle.h.
Referenced by AddWheel(), CreateChassis(), Loop(), Vehicle(), and ~Vehicle().
|
private |
Definition at line 81 of file vehicle.h.
Referenced by CreateChassis(), Vehicle(), and ~Vehicle().
|
private |
Definition at line 86 of file vehicle.h.
Referenced by AddWheel(), and ~Vehicle().
|
private |
Definition at line 89 of file vehicle.h.
Referenced by AddWheel(), and Loop().
|
private |
Definition at line 90 of file vehicle.h.
Referenced by AddWheel(), and Loop().
std::string SBS::Vehicle::Name |
Definition at line 40 of file vehicle.h.
Referenced by Skyscraper::ScriptProcessor::VehicleSection::Run().
Real SBS::Vehicle::RollInfluence |
Definition at line 57 of file vehicle.h.
Referenced by AddWheel(), Skyscraper::ScriptProcessor::VehicleSection::Run(), and Vehicle().
Real SBS::Vehicle::SteeringClamp |
Definition at line 52 of file vehicle.h.
Referenced by Loop(), Skyscraper::ScriptProcessor::VehicleSection::Run(), and Vehicle().
Real SBS::Vehicle::SteeringIncrement |
Definition at line 51 of file vehicle.h.
Referenced by Loop(), Skyscraper::ScriptProcessor::VehicleSection::Run(), and Vehicle().
Real SBS::Vehicle::SuspensionCompression |
Definition at line 56 of file vehicle.h.
Referenced by CreateChassis(), Skyscraper::ScriptProcessor::VehicleSection::Run(), and Vehicle().
Real SBS::Vehicle::SuspensionDamping |
Definition at line 55 of file vehicle.h.
Referenced by CreateChassis(), Skyscraper::ScriptProcessor::VehicleSection::Run(), and Vehicle().
Real SBS::Vehicle::SuspensionRestLength |
Definition at line 58 of file vehicle.h.
Referenced by AddWheel(), Skyscraper::ScriptProcessor::VehicleSection::Run(), and Vehicle().
Real SBS::Vehicle::SuspensionStiffness |
Definition at line 54 of file vehicle.h.
Referenced by CreateChassis(), Skyscraper::ScriptProcessor::VehicleSection::Run(), and Vehicle().
|
private |
Definition at line 84 of file vehicle.h.
Referenced by Create(), CreateChassis(), Vehicle(), and ~Vehicle().
|
private |
Definition at line 88 of file vehicle.h.
Referenced by AddWheel(), and Vehicle().
Real SBS::Vehicle::WheelFriction |
Definition at line 53 of file vehicle.h.
Referenced by AddWheel(), Skyscraper::ScriptProcessor::VehicleSection::Run(), and Vehicle().
std::string SBS::Vehicle::WheelMesh |
Definition at line 45 of file vehicle.h.
Referenced by AddWheel(), and Skyscraper::ScriptProcessor::VehicleSection::Run().
Real SBS::Vehicle::WheelScale |
Definition at line 47 of file vehicle.h.
Referenced by AddWheel(), Skyscraper::ScriptProcessor::VehicleSection::Run(), and Vehicle().