ランタイム
IDynamicsWorld.h
Go to the documentation of this file.
1 #pragma once
2 
5 
8 
9 namespace Mix{ namespace Scene{
10 
18  {
19  public:
22  struct TEST_RESULT
23  {
28  };
29 
33  {
34  public:
36  virtual ~TestCallback( void ) {}
37 
38  public:
41  virtual Boolean OnHit( Mix::Scene::IDynamicsObject* pObject ) = 0;
42  };
43 
47  {
48  private:
49  Mix::Scene::IDynamicsObject* m_pSelfObject;
50 
51  public:
56  m_pSelfObject( NULL )
57  {
58  MIX_ASSERT( pSelfObject != NULL );
59 
60  MIX_ADD_REF( pSelfObject );
61  m_pSelfObject = pSelfObject;
62  }
63 
65  virtual ~TestWithoutSelfCallback( void )
66  {
67  MIX_RELEASE( m_pSelfObject );
68  }
69 
74  {
75  return ( m_pSelfObject != pObject );
76  }
77  };
78 
79  protected:
81  virtual ~IDynamicsWorld( void ) {}
82 
83  public:
86  virtual const Mix::Vector3& GetGravity( void ) const = 0;
89  virtual void SetGravity( const Mix::Vector3& gravity ) = 0;
90 
93  virtual UInt32 Activate( void ) = 0;
96  virtual UInt32 Deactivate( Boolean bForce = False ) = 0;
97 
105  virtual Boolean TestRay( UInt16 filterMask,
106  const Mix::Vector3& fromWorldPos,
107  const Mix::Vector3& toWorldPos,
110 
119  virtual Boolean TestSweep( UInt16 filterMask,
120  Mix::Dynamics::IShape* pShape,
121  const Mix::Vector3& fromWorldPos,
122  const Mix::Vector3& toWorldPos,
125  };
126 
127 }}
3次元浮動小数点ベクトルクラス
Definition: Vector3.h:12
ダイナミクスオブジェクトインターフェース
Definition: IDynamicsObject.h:12
Mix::Vector3 worldPos
ワールド座標を表す Mix::Vector3 クラス
Definition: IDynamicsWorld.h:26
virtual Boolean OnHit(Mix::Scene::IDynamicsObject *pObject)
オブジェクトがヒットした際に呼び出されます
Definition: IDynamicsWorld.h:73
#define MIX_RELEASE(x)
Mix::Release インターフェースを継承したクラスの参照カウンタをデクリメントします
Definition: Common.h:464
virtual UInt32 Activate(void)=0
全てのオブジェクトを活動状態にします
virtual Boolean TestRay(UInt16 filterMask, const Mix::Vector3 &fromWorldPos, const Mix::Vector3 &toWorldPos, Mix::Scene::IDynamicsWorld::TestCallback *pCallback, Mix::Scene::IDynamicsWorld::TEST_RESULT &result)=0
光線でテストします
テスト結果構造体
Definition: IDynamicsWorld.h:22
レンダラーオブジェクトインターフェースインクルードファイル
Definition: IRendererObject.h:12
テストコールバッククラス(自身を除外)
Definition: IDynamicsWorld.h:46
ダイナミクスワールドインターフェース
Definition: IDynamicsWorld.h:17
virtual ~IDynamicsWorld(void)
デストラクタ
Definition: IDynamicsWorld.h:81
Mix::Vector3 worldNormal
ワールド法線を表す Mix::Vector3 クラス
Definition: IDynamicsWorld.h:27
unsigned int UInt32
符号無し32ビット整数
Definition: Common.h:68
Mix::Scene::IDynamicsObject * pObject
ダイナミクスオブジェクトを表す Mix::Scene::IDynamicsObject インターフェースのポインタ ...
Definition: IDynamicsWorld.h:24
Mix::Dynamics::MATERIAL material
マテリアルを表す Mix::Dynamics::MATERIAL 構造体
Definition: IDynamicsWorld.h:25
virtual void SetGravity(const Mix::Vector3 &gravity)=0
重力を設定します
テストコールバッククラス
Definition: IDynamicsWorld.h:32
ミックス
Definition: AtomicValue.h:6
#define False
Boolean型の偽値
Definition: Common.h:108
virtual const Mix::Vector3 & GetGravity(void) const =0
重力を取得します
TestWithoutSelfCallback(Mix::Scene::IDynamicsObject *pSelfObject)
コンストラクタ
Definition: IDynamicsWorld.h:55
レンダラーオブジェクトインターフェースインクルードファイル
virtual Boolean TestSweep(UInt16 filterMask, Mix::Dynamics::IShape *pShape, const Mix::Vector3 &fromWorldPos, const Mix::Vector3 &toWorldPos, Mix::Scene::IDynamicsWorld::TestCallback *pCallback, Mix::Scene::IDynamicsWorld::TEST_RESULT &result)=0
スイープでテストします
virtual ~TestCallback(void)
デストラクタ
Definition: IDynamicsWorld.h:36
virtual UInt32 Deactivate(Boolean bForce=False)=0
全てのオブジェクトを非活動状態にします
unsigned short UInt16
符号無し16ビット整数
Definition: Common.h:62
ダイナミクスオブジェクトインターフェースインクルードファイル
#define MIX_ADD_REF(x)
Mix::Release インターフェースを継承したクラスの参照カウンタをインクリメントします ...
Definition: Common.h:456
BOOL Boolean
32ビットブーリアン
Definition: Common.h:102
virtual Boolean OnHit(Mix::Scene::IDynamicsObject *pObject)=0
ダイナミクスオブジェクトがヒットした際に呼び出されます
シェイプインターフェース
Definition: IShape.h:16
#define MIX_ASSERT(cnd)
標準のアサート
Definition: Common.h:120
マテリアル構造体
Definition: Common.h:1882
virtual ~TestWithoutSelfCallback(void)
デストラクタ
Definition: IDynamicsWorld.h:65