ランタイム: Mix/Dynamics/IVehicle.h Source File

ランタイム

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- File List
- File Members

IVehicle.h
Go to the documentation of this file.
1 #pragma once
2
5
6 #include "Mix/Dynamics/IObject.h"
7
8 namespace Mix{ namespace Dynamics{
9
12 class IVehicleWheel : public Mix::Reference
13 {
14 public:
17 struct TIRE
18 {
19 Float32 radius;
20 Float32 friction;
21 };
22
25 struct SUSPENSION
26 {
27 Float32 restLength;
28 Float32 maxTravelCm;
29 Float32 maxForce;
30 Float32 springStiffness;
31 Float32 damperRelaxation;
32 Float32 damperCompression;
33 };
34
37 struct CONTACT
38 {
39 Mix::Vector3 worldPosition;
40 Mix::Vector3 worldNormal;
41 };
42
43 protected:
45 virtual ~IVehicleWheel( void ) {}
46
47 public:
50 virtual Boolean IsFront( void ) const = 0;
53 virtual const Mix::Vector3& GetDirection( void ) const = 0;
56 virtual const Mix::Vector3& GetAxis( void ) const = 0;
57
60 virtual const Mix::Vector3& GetConnectionPoint( void ) const = 0;
63 virtual void SetConnectionPoint( const Mix::Vector3& cp ) = 0;
64
67 virtual Float32 GetRollInfluence( void ) const = 0;
71 virtual void SetRollInfluence( Float32 rollInfluence ) = 0;
72
75 virtual const Mix::Dynamics::IVehicleWheel::TIRE& GetTire( void ) const = 0;
78 virtual void SetTire( const Mix::Dynamics::IVehicleWheel::TIRE& tire ) = 0;
79
82 virtual const Mix::Dynamics::IVehicleWheel::SUSPENSION& GetSuspension( void ) const = 0;
85 virtual void SetSuspension( const Mix::Dynamics::IVehicleWheel::SUSPENSION& suspension ) = 0;
86
89 virtual Float32 GetSteeringValue( void ) const = 0;
92 virtual void SetSteeringValue( Float32 value ) = 0;
93
96 virtual Float32 GetEngineForce( void ) const = 0;
99 virtual void SetEngineForce( Float32 force ) = 0;
100
103 virtual Float32 GetBreakingForce( void ) const = 0;
106 virtual void SetBreakingForce( Float32 force ) = 0;
107
110 virtual Boolean OnGround( void ) const = 0;
111
115 virtual Mix::Dynamics::IVehicleWheel::CONTACT GetContact( void ) const = 0;
116
119 virtual const Mix::Matrix4x4& GetWorldMatrix( void ) = 0;
120 };
121
124 class IVehicle : public Mix::Dynamics::IObject
125 {
126 protected:
128 virtual ~IVehicle( void ) {}
129
130 public:
133 virtual void Reset( void ) = 0;
138 virtual void Reset( const Mix::Quaternion& worldRot, const Mix::Vector3& worldPos ) = 0;
139
142 virtual UInt32 GetWheelNum( void ) const = 0;
148 virtual Boolean GetWheel( UInt32 wheelIndex, Mix::Dynamics::IVehicleWheel** ppWheel ) = 0;
152 virtual Mix::Dynamics::IVehicleWheel* GetWheelPtr( UInt32 wheelIndex ) const = 0;
153
156 virtual Float32 GetCurrentSpeedKmHour( void ) const = 0;
157 };
158
159 }}
Mix::Vector3
3次元浮動小数点ベクトルクラス
Definition: Vector3.h:12
Mix::Dynamics::IVehicleWheel::SetConnectionPoint
virtual void SetConnectionPoint(const Mix::Vector3 &cp)=0
接続位置を設定します
Mix::Dynamics::IVehicleWheel::IsFront
virtual Boolean IsFront(void) const =0
フロントかどうかを取得します
Mix::Dynamics::IVehicle::GetWheelNum
virtual UInt32 GetWheelNum(void) const =0
ホイールの数を取得します
Mix::Dynamics::IVehicleWheel::SetBreakingForce
virtual void SetBreakingForce(Float32 force)=0
ブレーキの力を設定します
Mix::Dynamics::IVehicleWheel::SetEngineForce
virtual void SetEngineForce(Float32 force)=0
エンジンの力を設定します
Mix::Dynamics::IVehicleWheel::SUSPENSION::restLength
Float32 restLength
長さ(メートル単位)
Definition: IVehicle.h:27
IObject.h
オブジェクトインターフェースインクルードファイル
Mix::Dynamics::IVehicleWheel::TIRE::radius
Float32 radius
半径
Definition: IVehicle.h:19
Mix::Quaternion
クォータニオンクラス
Definition: Quaternion.h:10
Mix::Dynamics::IVehicle
ビハイクルインターフェース
Definition: IVehicle.h:124
Mix::Dynamics::IVehicleWheel::~IVehicleWheel
virtual ~IVehicleWheel(void)
デストラクタ
Definition: IVehicle.h:45
Mix::Dynamics::IVehicleWheel::CONTACT::worldPosition
Mix::Vector3 worldPosition
接触位置のワールド座標
Definition: IVehicle.h:39
Mix::Dynamics::IVehicleWheel::GetDirection
virtual const Mix::Vector3 & GetDirection(void) const =0
方向を取得します
Mix::Dynamics::IVehicleWheel::GetEngineForce
virtual Float32 GetEngineForce(void) const =0
エンジンを力を取得します
Mix::Dynamics::IVehicleWheel::SUSPENSION::damperRelaxation
Float32 damperRelaxation
バネが伸びる際に適用されるダンパーの減衰値
Definition: IVehicle.h:31
Mix::Dynamics::IVehicleWheel::SetRollInfluence
virtual void SetRollInfluence(Float32 rollInfluence)=0
車体が転がる影響度を設定します
Mix::Matrix4x4
4x4行列クラス
Definition: Matrix4x4.h:12
Mix::Dynamics::IVehicleWheel::SUSPENSION::damperCompression
Float32 damperCompression
バネが縮む際に適用されるダンパーの減衰値
Definition: IVehicle.h:32
Mix::Dynamics::IVehicleWheel::SUSPENSION::springStiffness
Float32 springStiffness
バネの剛さ
Definition: IVehicle.h:30
UInt32
unsigned int UInt32
符号無し32ビット整数
Definition: Common.h:68
Mix::Dynamics::IVehicleWheel::SetSteeringValue
virtual void SetSteeringValue(Float32 value)=0
ステアリングの値を設定します
Mix::Dynamics::IVehicleWheel::SUSPENSION::maxTravelCm
Float32 maxTravelCm
稼動範囲(センチメートル単位)
Definition: IVehicle.h:28
Mix::Dynamics::IVehicleWheel::SetSuspension
virtual void SetSuspension(const Mix::Dynamics::IVehicleWheel::SUSPENSION &suspension)=0
サスペンションを設定します
Mix::Dynamics::IVehicleWheel::GetContact
virtual Mix::Dynamics::IVehicleWheel::CONTACT GetContact(void) const =0
接触を取得します
Mix::Dynamics::IVehicleWheel::GetSuspension
virtual const Mix::Dynamics::IVehicleWheel::SUSPENSION & GetSuspension(void) const =0
サスペンションを取得します
Mix::Dynamics::IVehicleWheel::GetRollInfluence
virtual Float32 GetRollInfluence(void) const =0
車体が転がる影響度を取得します
Mix::Dynamics::IVehicle::GetWheelPtr
virtual Mix::Dynamics::IVehicleWheel * GetWheelPtr(UInt32 wheelIndex) const =0
ホイールのポインタを取得します
Mix::Dynamics::IVehicleWheel::CONTACT::worldNormal
Mix::Vector3 worldNormal
接触位置のワールド法線
Definition: IVehicle.h:40
Mix::Dynamics::IVehicle::~IVehicle
virtual ~IVehicle(void)
デストラクタ
Definition: IVehicle.h:128
Mix::Dynamics::IVehicle::GetCurrentSpeedKmHour
virtual Float32 GetCurrentSpeedKmHour(void) const =0
毎時の速度(キロメートル単位)を取得します
Mix::Dynamics::IVehicleWheel::TIRE::friction
Float32 friction
摩擦係数
Definition: IVehicle.h:20
Mix
ミックス
Definition: AtomicValue.h:6
Mix::Dynamics::IVehicleWheel::OnGround
virtual Boolean OnGround(void) const =0
接地しているかどうかを確認します
Mix::Dynamics::IVehicleWheel::GetConnectionPoint
virtual const Mix::Vector3 & GetConnectionPoint(void) const =0
接続位置を取得します
Mix::Dynamics::IVehicle::GetWheel
virtual Boolean GetWheel(UInt32 wheelIndex, Mix::Dynamics::IVehicleWheel **ppWheel)=0
ホイールを取得します
Mix::Dynamics::IObject
オブジェクトインターフェース
Definition: IObject.h:13
Float32
float Float32
32ビット浮動小数点
Definition: Common.h:83
Mix::Reference
リファレンスクラス
Definition: Reference.h:12
Mix::Dynamics::IVehicleWheel::GetBreakingForce
virtual Float32 GetBreakingForce(void) const =0
ブレーキの力を取得します
Mix::Dynamics::IVehicleWheel::CONTACT
コンタクト構造体
Definition: IVehicle.h:37
Mix::Dynamics::IVehicle::Reset
virtual void Reset(void)=0
リセットします
Mix::Dynamics::IVehicleWheel
ビハイクルホイールインターフェース
Definition: IVehicle.h:12
Mix::Dynamics::IVehicleWheel::TIRE
タイヤ構造体
Definition: IVehicle.h:17
Mix::Dynamics::IVehicleWheel::GetTire
virtual const Mix::Dynamics::IVehicleWheel::TIRE & GetTire(void) const =0
タイヤを取得します
Mix::Dynamics::IVehicleWheel::SetTire
virtual void SetTire(const Mix::Dynamics::IVehicleWheel::TIRE &tire)=0
タイヤを設定します
Mix::Dynamics::IVehicleWheel::SUSPENSION
サスペンション構造体
Definition: IVehicle.h:25
Boolean
BOOL Boolean
32ビットブーリアン
Definition: Common.h:102
Mix::Dynamics::IVehicleWheel::SUSPENSION::maxForce
Float32 maxForce
最大フォース
Definition: IVehicle.h:29
Mix::Dynamics::IVehicleWheel::GetSteeringValue
virtual Float32 GetSteeringValue(void) const =0
ステアリングの値を取得します
Mix::Dynamics::IVehicleWheel::GetAxis
virtual const Mix::Vector3 & GetAxis(void) const =0
軸を取得します
Mix::Dynamics::IVehicleWheel::GetWorldMatrix
virtual const Mix::Matrix4x4 & GetWorldMatrix(void)=0
ワールド行列を取得します