ランタイム: Mix/Scene/IDynamicsWorld.h Source File

ランタイム

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

- File List
- File Members

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