ランタイム
IKineticCollider.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "Mix/Scene/ICollider.h"
4 
5 namespace Mix{ namespace Scene{
6 
10  {
11  public:
14  virtual Float32 GetMass( void ) const = 0;
17  virtual void SetMass( Float32 mass ) = 0;
18 
21  virtual const Mix::Dynamics::MATERIAL& GetMaterial( void ) const = 0;
24  virtual void SetMaterial( const Mix::Dynamics::MATERIAL& material ) = 0;
25 
28  virtual Boolean IsAlwaysActive( void ) const = 0;
33  virtual Boolean SetAlwaysActive( Boolean state ) = 0;
34 
37  virtual Boolean IsActive( void ) const = 0;
41  virtual Boolean Activate( void ) = 0;
46  virtual Boolean Deactivate( Boolean bFroce = False ) = 0;
47 
50  virtual Mix::Vector3 GetLinearFactor( void ) const = 0;
54  virtual void SetLinearFactor( const Mix::Vector3& factor ) = 0;
55 
58  virtual Float32 GetLinearDamping( void ) const = 0;
61  virtual void SetLinearDamping( Float32 damping ) = 0;
62 
65  virtual Mix::Vector3 GetLinearVelocity( void ) = 0;
68  virtual Boolean SetLinearVelocity( const Mix::Vector3& velocity ) = 0;
69 
72  virtual Float32 GetLinearSleepingThresholds( void ) const = 0;
75  virtual void SetLinearSleepingThresholds( Float32 thresholds ) = 0;
76 
79  virtual Mix::Vector3 GetAngularFactor( void ) const = 0;
83  virtual void SetAngularFactor( const Mix::Vector3& factor ) = 0;
84 
87  virtual Float32 GetAngularDamping( void ) const = 0;
90  virtual void SetAngularDamping( Float32 damping ) = 0;
91 
94  virtual Mix::Vector3 GetAngularVelocity( void ) = 0;
97  virtual Boolean SetAngularVelocity( const Mix::Vector3& velocity ) = 0;
98 
101  virtual Float32 GetAngularSleepingThresholds( void ) const = 0;
104  virtual void SetAngularSleepingThresholds( Float32 thresholds ) = 0;
105 
108  virtual Boolean ApplyLinearImpulse( const Mix::Vector3& impulse ) = 0;
111  virtual Boolean ApplyAngularImpulse( const Mix::Vector3& impulse ) = 0;
115  virtual Boolean ApplyImpulse( const Mix::Vector3& impulse, const Mix::Vector3& pos ) = 0;
116 
119  virtual Mix::Vector3 GetTotalLinearForce( void ) = 0;
122  virtual Mix::Vector3 GetTotalAngularForce( void ) = 0;
125  virtual Boolean ApplyLinearForce( const Mix::Vector3& force ) = 0;
128  virtual Boolean ApplyAngularForce( const Mix::Vector3& force ) = 0;
132  virtual Boolean ApplyForce( const Mix::Vector3& force, const Mix::Vector3& pos ) = 0;
134  virtual void ClearForce( void ) = 0;
135 
138  virtual void ClearMotion( void ) = 0;
142  virtual void ClearMotion( const Mix::Quaternion& rot, const Mix::Vector3& pos ) = 0;
143  };
144 
145 }}
3次元浮動小数点ベクトルクラス
Definition: Vector3.h:12
virtual Float32 GetAngularSleepingThresholds(void) const =0
回転を停止する速度を取得します
virtual Boolean ApplyAngularImpulse(const Mix::Vector3 &impulse)=0
回転に撃力を適用します
virtual void SetMaterial(const Mix::Dynamics::MATERIAL &material)=0
マテリアルを設定します
virtual Mix::Vector3 GetLinearVelocity(void)=0
移動速度を取得します
virtual void SetAngularDamping(Float32 damping)=0
回転の減衰値を設定します
virtual void SetLinearFactor(const Mix::Vector3 &factor)=0
移動のファクタを設定します
virtual Boolean ApplyImpulse(const Mix::Vector3 &impulse, const Mix::Vector3 &pos)=0
指定した位置に撃力を適用します
virtual Boolean ApplyLinearImpulse(const Mix::Vector3 &impulse)=0
移動に撃力を適用します
virtual void SetAngularFactor(const Mix::Vector3 &factor)=0
回転のファクタを設定します
virtual void SetMass(Float32 mass)=0
質量を設定します
virtual Boolean Deactivate(Boolean bFroce=False)=0
非活動状態にします
virtual Mix::Vector3 GetAngularVelocity(void)=0
回転速度を取得します
virtual void SetLinearDamping(Float32 damping)=0
移動の減衰値を設定します
virtual void SetLinearSleepingThresholds(Float32 thresholds)=0
移動を停止する速度を設定します
クォータニオンクラス
Definition: Quaternion.h:10
コライダーインターフェースインクルードファイル
virtual Boolean ApplyAngularForce(const Mix::Vector3 &force)=0
回転に力を適用します
コライダーインターフェース
Definition: ICollider.h:12
virtual Boolean SetAngularVelocity(const Mix::Vector3 &velocity)=0
回転速度を設定します
virtual Mix::Vector3 GetTotalLinearForce(void)=0
移動に適用されている力を取得します
virtual Float32 GetAngularDamping(void) const =0
回転の減衰値を取得します
virtual Float32 GetLinearSleepingThresholds(void) const =0
移動を停止する速度を取得します
virtual Boolean SetAlwaysActive(Boolean state)=0
活動設定をします
virtual void ClearForce(void)=0
適用されている力をクリアします
virtual Mix::Vector3 GetLinearFactor(void) const =0
移動のファクタを設定します
virtual Boolean IsAlwaysActive(void) const =0
活動設定を取得します
virtual const Mix::Dynamics::MATERIAL & GetMaterial(void) const =0
マテリアルを取得します
ミックス
Definition: AtomicValue.h:6
#define False
Boolean型の偽値
Definition: Common.h:108
virtual void SetAngularSleepingThresholds(Float32 thresholds)=0
回転を停止する速度を設定します
virtual Boolean ApplyForce(const Mix::Vector3 &force, const Mix::Vector3 &pos)=0
指定した位置に力を適用します
キネティックコライダー
Definition: IKineticCollider.h:9
float Float32
32ビット浮動小数点
Definition: Common.h:83
virtual Float32 GetMass(void) const =0
質量を取得します
virtual Boolean SetLinearVelocity(const Mix::Vector3 &velocity)=0
移動速度を設定します
virtual Mix::Vector3 GetTotalAngularForce(void)=0
回転に適用されている力を取得します
virtual Boolean Activate(void)=0
活動状態にします
virtual Mix::Vector3 GetAngularFactor(void) const =0
回転のファクタを設定します
BOOL Boolean
32ビットブーリアン
Definition: Common.h:102
virtual Float32 GetLinearDamping(void) const =0
移動の減衰値を取得します
virtual Boolean IsActive(void) const =0
活動状態を取得します
virtual void ClearMotion(void)=0
モーションをクリアします
マテリアル構造体
Definition: Common.h:1882
virtual Boolean ApplyLinearForce(const Mix::Vector3 &force)=0
移動に力を適用します