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

ランタイム

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

- File List
- File Members

IRigidBody.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
46 class IRigidBody : public Mix::Dynamics::IObject
47 {
48 public:
51 enum STATUS
52 {
55 DEFAULT = 0,
56
59 STATIC = 1,
60
63 KINEMATIC = 2,
64 };
65
66 protected:
68 virtual ~IRigidBody( void ){}
69
70 public:
73 virtual Boolean IsSimulationEnabled( void ) const = 0;
76 virtual void SetSimulationEnabled( Boolean state ) = 0;
77
80 virtual Float32 GetMass( void ) const = 0;
92 virtual void SetMass( Float32 mass ) = 0;
93
96 virtual Mix::Dynamics::IRigidBody::STATUS GetStatus( void ) const = 0;
101 virtual Boolean SetStatus( Mix::Dynamics::IRigidBody::STATUS status ) = 0;
102
105 virtual Boolean IsAlwaysActive( void ) const = 0;
110 virtual Boolean SetAlwaysActive( Boolean state ) = 0;
111
114 virtual Boolean IsActive( void ) const = 0;
118 virtual Boolean Activate( void ) = 0;
123 virtual Boolean Deactivate( Boolean bFroce = False ) = 0;
124
127 virtual Mix::Vector3 GetLinearFactor( void ) const = 0;
131 virtual void SetLinearFactor( const Mix::Vector3& factor ) = 0;
132
135 virtual Float32 GetLinearDamping( void ) const = 0;
138 virtual void SetLinearDamping( Float32 damping ) = 0;
139
142 virtual Mix::Vector3 GetLinearVelocity( void ) = 0;
145 virtual Boolean SetLinearVelocity( const Mix::Vector3& velocity ) = 0;
146
149 virtual Float32 GetLinearSleepingThresholds( void ) const = 0;
152 virtual void SetLinearSleepingThresholds( Float32 thresholds ) = 0;
153
156 virtual Mix::Vector3 GetAngularFactor( void ) const = 0;
160 virtual void SetAngularFactor( const Mix::Vector3& factor ) = 0;
161
164 virtual Float32 GetAngularDamping( void ) const = 0;
167 virtual void SetAngularDamping( Float32 damping ) = 0;
168
171 virtual Mix::Vector3 GetAngularVelocity( void ) = 0;
174 virtual Boolean SetAngularVelocity( const Mix::Vector3& velocity ) = 0;
175
178 virtual Float32 GetAngularSleepingThresholds( void ) const = 0;
181 virtual void SetAngularSleepingThresholds( Float32 thresholds ) = 0;
182
185 virtual Boolean ApplyLinearImpulse( const Mix::Vector3& impulse ) = 0;
188 virtual Boolean ApplyAngularImpulse( const Mix::Vector3& impulse ) = 0;
192 virtual Boolean ApplyImpulse( const Mix::Vector3& impulse, const Mix::Vector3& pos ) = 0;
193
196 virtual Mix::Vector3 GetTotalLinearForce( void ) = 0;
199 virtual Mix::Vector3 GetTotalAngularForce( void ) = 0;
202 virtual Boolean ApplyLinearForce( const Mix::Vector3& force ) = 0;
205 virtual Boolean ApplyAngularForce( const Mix::Vector3& force ) = 0;
209 virtual Boolean ApplyForce( const Mix::Vector3& force, const Mix::Vector3& pos ) = 0;
211 virtual void ClearForce( void ) = 0;
212
215 virtual void ClearMotion( void ) = 0;
219 virtual void ClearMotion( const Mix::Quaternion& rot, const Mix::Vector3& pos ) = 0;
220
226 virtual Boolean UpdateLocalInertia( void ) = 0;
227 };
228
229 }}
Mix::Dynamics::IRigidBody::STATIC
スタティック
Definition: IRigidBody.h:59
Mix::Vector3
3次元浮動小数点ベクトルクラス
Definition: Vector3.h:12
Mix::Dynamics::IRigidBody::GetLinearVelocity
virtual Mix::Vector3 GetLinearVelocity(void)=0
移動速度を取得します
Mix::Dynamics::IRigidBody::ClearMotion
virtual void ClearMotion(void)=0
モーションをクリアします
Mix::Dynamics::IRigidBody::SetAngularVelocity
virtual Boolean SetAngularVelocity(const Mix::Vector3 &velocity)=0
回転速度を設定します
Mix::Dynamics::IRigidBody::DEFAULT
デフォルト
Definition: IRigidBody.h:55
Mix::Dynamics::IRigidBody::GetAngularSleepingThresholds
virtual Float32 GetAngularSleepingThresholds(void) const =0
回転を停止する速度を取得します
Mix::Dynamics::IRigidBody::SetStatus
virtual Boolean SetStatus(Mix::Dynamics::IRigidBody::STATUS status)=0
状態を設定します
Mix::Dynamics::IRigidBody::GetTotalAngularForce
virtual Mix::Vector3 GetTotalAngularForce(void)=0
回転に適用されている力を取得します
Mix::Dynamics::IRigidBody::SetAlwaysActive
virtual Boolean SetAlwaysActive(Boolean state)=0
活動設定をします
Mix::Dynamics::IRigidBody::GetAngularVelocity
virtual Mix::Vector3 GetAngularVelocity(void)=0
回転速度を取得します
IObject.h
オブジェクトインターフェースインクルードファイル
Mix::Dynamics::IRigidBody::GetLinearSleepingThresholds
virtual Float32 GetLinearSleepingThresholds(void) const =0
移動を停止する速度を取得します
Mix::Quaternion
クォータニオンクラス
Definition: Quaternion.h:10
Mix::Dynamics::IRigidBody::Activate
virtual Boolean Activate(void)=0
活動状態にします
Mix::Dynamics::IRigidBody::ApplyAngularForce
virtual Boolean ApplyAngularForce(const Mix::Vector3 &force)=0
回転に力を適用します
Mix::Dynamics::IRigidBody::GetTotalLinearForce
virtual Mix::Vector3 GetTotalLinearForce(void)=0
移動に適用されている力を取得します
Mix::Dynamics::IRigidBody::SetLinearSleepingThresholds
virtual void SetLinearSleepingThresholds(Float32 thresholds)=0
移動を停止する速度を設定します
Mix::Dynamics::IRigidBody::KINEMATIC
キネマティック
Definition: IRigidBody.h:63
Mix::Dynamics::IRigidBody::ClearForce
virtual void ClearForce(void)=0
適用されている力をクリアします
Mix::Dynamics::IRigidBody::ApplyForce
virtual Boolean ApplyForce(const Mix::Vector3 &force, const Mix::Vector3 &pos)=0
指定した位置に力を適用します
Mix::Dynamics::IRigidBody::SetLinearVelocity
virtual Boolean SetLinearVelocity(const Mix::Vector3 &velocity)=0
移動速度を設定します
Mix::Dynamics::IRigidBody::ApplyLinearImpulse
virtual Boolean ApplyLinearImpulse(const Mix::Vector3 &impulse)=0
移動に撃力を適用します
Mix::Dynamics::IRigidBody::SetLinearFactor
virtual void SetLinearFactor(const Mix::Vector3 &factor)=0
移動のファクタを設定します
Mix::Dynamics::IRigidBody::GetStatus
virtual Mix::Dynamics::IRigidBody::STATUS GetStatus(void) const =0
状態を取得します
Mix::Dynamics::IRigidBody::IsAlwaysActive
virtual Boolean IsAlwaysActive(void) const =0
活動設定を取得します
Mix::Dynamics::IRigidBody::GetLinearFactor
virtual Mix::Vector3 GetLinearFactor(void) const =0
移動のファクタを設定します
Mix::Dynamics::IRigidBody::UpdateLocalInertia
virtual Boolean UpdateLocalInertia(void)=0
慣性テンソルを更新します
Mix
ミックス
Definition: AtomicValue.h:6
Mix::Dynamics::IRigidBody::SetSimulationEnabled
virtual void SetSimulationEnabled(Boolean state)=0
シミュレーションを有効にするかどうかを設定します
False
#define False
Boolean型の偽値
Definition: Common.h:108
Mix::Dynamics::IRigidBody::STATUS
STATUS
ステータス列挙定数
Definition: IRigidBody.h:51
Mix::Dynamics::IRigidBody::SetAngularSleepingThresholds
virtual void SetAngularSleepingThresholds(Float32 thresholds)=0
回転を停止する速度を設定します
Mix::Dynamics::IRigidBody
リジッドボディインターフェース
Definition: IRigidBody.h:46
Mix::Dynamics::IRigidBody::IsActive
virtual Boolean IsActive(void) const =0
活動状態を取得します
Mix::Dynamics::IRigidBody::GetMass
virtual Float32 GetMass(void) const =0
質量を取得します
Mix::Dynamics::IObject
オブジェクトインターフェース
Definition: IObject.h:13
Float32
float Float32
32ビット浮動小数点
Definition: Common.h:83
Mix::Dynamics::IRigidBody::SetMass
virtual void SetMass(Float32 mass)=0
質量を設定します
Mix::Dynamics::IRigidBody::GetLinearDamping
virtual Float32 GetLinearDamping(void) const =0
移動の減衰値を取得します
Mix::Dynamics::IRigidBody::SetAngularDamping
virtual void SetAngularDamping(Float32 damping)=0
回転の減衰値を設定します
Mix::Dynamics::IRigidBody::SetLinearDamping
virtual void SetLinearDamping(Float32 damping)=0
移動の減衰値を設定します
Mix::Dynamics::IRigidBody::ApplyLinearForce
virtual Boolean ApplyLinearForce(const Mix::Vector3 &force)=0
移動に力を適用します
Boolean
BOOL Boolean
32ビットブーリアン
Definition: Common.h:102
Mix::Dynamics::IRigidBody::SetAngularFactor
virtual void SetAngularFactor(const Mix::Vector3 &factor)=0
回転のファクタを設定します
Mix::Dynamics::IRigidBody::IsSimulationEnabled
virtual Boolean IsSimulationEnabled(void) const =0
シミュレーションが有効かどうかを取得します
Mix::Dynamics::IRigidBody::GetAngularFactor
virtual Mix::Vector3 GetAngularFactor(void) const =0
回転のファクタを設定します
Mix::Dynamics::IRigidBody::ApplyAngularImpulse
virtual Boolean ApplyAngularImpulse(const Mix::Vector3 &impulse)=0
回転に撃力を適用します
Mix::Dynamics::IRigidBody::~IRigidBody
virtual ~IRigidBody(void)
デストラクタ
Definition: IRigidBody.h:68
Mix::Dynamics::IRigidBody::Deactivate
virtual Boolean Deactivate(Boolean bFroce=False)=0
非活動状態にします
Mix::Dynamics::IRigidBody::ApplyImpulse
virtual Boolean ApplyImpulse(const Mix::Vector3 &impulse, const Mix::Vector3 &pos)=0
指定した位置に撃力を適用します
Mix::Dynamics::IRigidBody::GetAngularDamping
virtual Float32 GetAngularDamping(void) const =0
回転の減衰値を取得します