ランタイム
IManager.h
Go to the documentation of this file.
1 #pragma once
2 
5 
6 #include "Mix/Reference.h"
7 
8 namespace Mix{ namespace Dynamics{
9 
12  class IManager : public Mix::Reference
13  {
14  protected:
16  virtual ~IManager( void ){}
17 
18  public:
24  virtual Boolean CreateSphereShape( Float32 radius,
25  Mix::Dynamics::ISphereShape** ppSphereShape,
26  const wchar_t* pDebugName = NULL ) = 0;
27 
35  virtual Boolean CreateBoxShape( Float32 x, Float32 y, Float32 z,
36  Mix::Dynamics::IBoxShape** ppBoxShape,
37  const wchar_t* pDebugName = NULL ) = 0;
38 
44  virtual Boolean CreateBoxShape( const Mix::Vector3& halfExtents,
45  Mix::Dynamics::IBoxShape** ppBoxShape,
46  const wchar_t* pDebugName = NULL ) = 0;
47 
56  Float32 height,
57  Float32 radius,
58  Mix::Dynamics::IConeShape** ppConeShape,
59  const wchar_t* pDebugName = NULL ) = 0;
60 
69  Float32 height,
70  Float32 radius,
71  Mix::Dynamics::ICapsuleShape** ppCapsuleShape,
72  const wchar_t* pDebugName = NULL ) = 0;
73 
82  Float32 height,
83  Float32 radius,
84  Mix::Dynamics::ICylinderShape** ppCylinderShape,
85  const wchar_t* pDebugName = NULL ) = 0;
86 
93  Mix::Dynamics::IConvexHullShape** ppConvexHullShape,
94  const wchar_t* pDebugName = NULL ) = 0;
95 
100  virtual Boolean CreateCompoundShape( Mix::Dynamics::ICompoundShape** ppCompoundShape,
101  const wchar_t* pDebugName = NULL ) = 0;
102 
110  virtual Boolean CreatePointJoint( Mix::Dynamics::IRigidBody* pRigidBodyA,
111  const Mix::Vector3& pivotA,
112  Mix::Dynamics::IPointJoint** ppPointJoint,
113  const wchar_t* pDebugName = NULL ) = 0;
114 
124  virtual Boolean CreatePointJoint( Mix::Dynamics::IRigidBody* pRigidBodyA,
125  Mix::Dynamics::IRigidBody* pRigidBodyB,
126  const Mix::Vector3& pivotA,
127  const Mix::Vector3& pivotB,
128  Mix::Dynamics::IPointJoint** ppPointJoint,
129  const wchar_t* pDebugName = NULL ) = 0;
130 
139  virtual Boolean CreateHingeJoint( Mix::Dynamics::IRigidBody* pRigidBodyA,
140  const Mix::Vector3& pivotA,
141  const Mix::Vector3& axis,
142  Mix::Dynamics::IHingeJoint** ppHingeJoint,
143  const wchar_t* pDebugName = NULL ) = 0;
144 
155  virtual Boolean CreateHingeJoint( Mix::Dynamics::IRigidBody* pRigidBodyA,
156  Mix::Dynamics::IRigidBody* pRigidBodyB,
157  const Mix::Vector3& pivotA,
158  const Mix::Vector3& pivotB,
159  const Mix::Vector3& axis,
160  Mix::Dynamics::IHingeJoint** ppHingeJoint,
161  const wchar_t* pDebugName = NULL ) = 0;
162 
172  const Mix::Quaternion& rotA,
173  const Mix::Vector3& pivotA,
174  Mix::Dynamics::ISliderJoint** ppSliderJoint,
175  const wchar_t* pDebugName = NULL ) = 0;
176 
189  Mix::Dynamics::IRigidBody* pRigidBodyB,
190  const Mix::Quaternion& rotA,
191  const Mix::Quaternion& rotB,
192  const Mix::Vector3& pivotA,
193  const Mix::Vector3& pivotB,
194  Mix::Dynamics::ISliderJoint** ppSliderJoint,
195  const wchar_t* pDebugName = NULL ) = 0;
196 
205  virtual Boolean CreateDofJoint( Mix::Dynamics::IRigidBody* pRigidBodyA,
206  const Mix::Quaternion& rotA,
207  const Mix::Vector3& pivotA,
208  Mix::Dynamics::IDofJoint** ppDofJoint,
209  const wchar_t* pDebugName = NULL ) = 0;
210 
222  virtual Boolean CreateDofJoint( Mix::Dynamics::IRigidBody* pRigidBodyA,
223  Mix::Dynamics::IRigidBody* pRigidBodyB,
224  const Mix::Quaternion& rotA,
225  const Mix::Quaternion& rotB,
226  const Mix::Vector3& pivotA,
227  const Mix::Vector3& pivotB,
228  Mix::Dynamics::IDofJoint** ppDofJoint,
229  const wchar_t* pDebugName = NULL ) = 0;
230 
240  virtual Boolean CreateBallJoint( Mix::Dynamics::IRigidBody* pRigidBodyA,
241  const Mix::Vector3& pivotA,
242  const Mix::Vector3& twistAxis,
243  const Mix::Vector3& swingAxis,
244  Mix::Dynamics::IBallJoint** ppBallJoint,
245  const wchar_t* pDebugName = NULL ) = 0;
246 
258  virtual Boolean CreateBallJoint( Mix::Dynamics::IRigidBody* pRigidBodyA,
259  Mix::Dynamics::IRigidBody* pRigidBodyB,
260  const Mix::Vector3& pivotA,
261  const Mix::Vector3& pivotB,
262  const Mix::Vector3& twistAxis,
263  const Mix::Vector3& swingAxis,
264  Mix::Dynamics::IBallJoint** ppBallJoint,
265  const wchar_t* pDebugName = NULL ) = 0;
266 
272  virtual Boolean CreateWorld( const Mix::Dynamics::WORLD_CONFIG& config, Mix::Dynamics::IWorld** ppWorld, const wchar_t* pDebugName = NULL ) = 0;
273 
280  virtual Boolean CreateStaticPlane( const Mix::Vector3& normal,
281  Float32 constant,
282  Mix::Dynamics::IStaticPlane** ppStaticPlane,
283  const wchar_t* pDebugName = NULL ) = 0;
284 
292  virtual Boolean CreateStaticMesh( const Mix::Dynamics::MESH* meshes,
293  UInt32 meshNum,
294  UInt32 materialNum,
295  Mix::Dynamics::IStaticMesh** ppStaticMesh,
296  const wchar_t* pDebugName = NULL ) = 0;
297 
306  UInt32 materialNum,
307  Mix::Dynamics::IStaticMesh** ppStaticMesh,
308  const wchar_t* pDebugName = NULL ) = 0;
309 
317  virtual Boolean CreateRigidBody( Float32 mass,
318  Mix::Dynamics::IShape* pShape,
319  Mix::Dynamics::IRigidBody** ppRigidBody,
320  const wchar_t* pDebugName = NULL ) = 0;
321 
328  virtual Boolean CreateSensor( Mix::Dynamics::IShape* pShape,
329  Mix::Dynamics::ISensor** ppSensor,
330  const wchar_t* pDebugName = NULL ) = 0;
331 
339  virtual Boolean CreateKinematicCharacter( Float32 height,
340  Float32 radius,
341  Float32 stepHeight,
342  Mix::Dynamics::IKinematicCharacter** ppKinematicCharacter,
343  const wchar_t* pDebugName = NULL ) = 0;
344 
353  virtual Boolean CreateVehicle( Float32 mass,
354  Mix::Dynamics::IShape* pShape,
355  const Mix::Dynamics::VEHICLE_WHEEL_DESC* wheels,
356  UInt32 wheelNum,
357  Mix::Dynamics::IVehicle** ppVehicle,
358  const wchar_t* pDebugName = NULL ) = 0;
359 
367  Mix::Dynamics::IObjectDragger** ppObjectDragger,
368  const wchar_t* pDebugName = NULL ) = 0;
369 
370  public:
378  virtual void Debug_SetDrawColor( Mix::Dynamics::DEBUG_DRAW_COLOR_TYPE type, const Mix::Vector4& color ) = 0;
379  };
380 
381 }}
ボックスシェイプインターフェース
Definition: IBoxShape.h:12
virtual Boolean CreateBallJoint(Mix::Dynamics::IRigidBody *pRigidBodyA, const Mix::Vector3 &pivotA, const Mix::Vector3 &twistAxis, const Mix::Vector3 &swingAxis, Mix::Dynamics::IBallJoint **ppBallJoint, const wchar_t *pDebugName=NULL)=0
ボールジョイントを作成します
3次元浮動小数点ベクトルクラス
Definition: Vector3.h:12
センサーインターフェース
Definition: ISensor.h:12
スタティックプレーンインターフェース
Definition: IStaticPlane.h:20
virtual Boolean CreateStaticMesh(const Mix::Dynamics::MESH *meshes, UInt32 meshNum, UInt32 materialNum, Mix::Dynamics::IStaticMesh **ppStaticMesh, const wchar_t *pDebugName=NULL)=0
スタティックメッシュを作成します
AXIS_TYPE
軸タイプ列挙定数
Definition: Common.h:1790
virtual Boolean CreateCapsuleShape(Mix::Dynamics::AXIS_TYPE axis, Float32 height, Float32 radius, Mix::Dynamics::ICapsuleShape **ppCapsuleShape, const wchar_t *pDebugName=NULL)=0
カプセルシェイプを作成します
virtual Boolean CreateWorld(const Mix::Dynamics::WORLD_CONFIG &config, Mix::Dynamics::IWorld **ppWorld, const wchar_t *pDebugName=NULL)=0
ワールドを作成します
virtual Boolean CreateStaticPlane(const Mix::Vector3 &normal, Float32 constant, Mix::Dynamics::IStaticPlane **ppStaticPlane, const wchar_t *pDebugName=NULL)=0
スタティックプレーンを作成します
virtual Boolean CreateDofJoint(Mix::Dynamics::IRigidBody *pRigidBodyA, const Mix::Quaternion &rotA, const Mix::Vector3 &pivotA, Mix::Dynamics::IDofJoint **ppDofJoint, const wchar_t *pDebugName=NULL)=0
DOFジョイントを作成します
ボールジョイントインターフェース
Definition: IBallJoint.h:14
virtual Boolean CreateSensor(Mix::Dynamics::IShape *pShape, Mix::Dynamics::ISensor **ppSensor, const wchar_t *pDebugName=NULL)=0
センサーを作成します
virtual Boolean CreatePointJoint(Mix::Dynamics::IRigidBody *pRigidBodyA, const Mix::Vector3 &pivotA, Mix::Dynamics::IPointJoint **ppPointJoint, const wchar_t *pDebugName=NULL)=0
ポイントジョイントを作成します
virtual Boolean CreateBoxShape(Float32 x, Float32 y, Float32 z, Mix::Dynamics::IBoxShape **ppBoxShape, const wchar_t *pDebugName=NULL)=0
ボックスシェイプを作成します
クォータニオンクラス
Definition: Quaternion.h:10
ビハイクルインターフェース
Definition: IVehicle.h:124
スタティックメッシュインターフェース
Definition: IStaticMesh.h:12
コンベックスハルシェイプインターフェース
Definition: IConvexHullShape.h:13
ワールド設定構造体
Definition: Common.h:1855
コーンシェイプインターフェース
Definition: IConeShape.h:13
バッファインターフェース
Definition: IBuffer.h:12
DOFジョイントインターフェース
Definition: IDofJoint.h:24
virtual Boolean CreateKinematicCharacter(Float32 height, Float32 radius, Float32 stepHeight, Mix::Dynamics::IKinematicCharacter **ppKinematicCharacter, const wchar_t *pDebugName=NULL)=0
キネマティックキャラクターを作成します
unsigned int UInt32
符号無し32ビット整数
Definition: Common.h:68
virtual ~IManager(void)
デストラクタ
Definition: IManager.h:16
virtual Boolean CreateSliderJoint(Mix::Dynamics::IRigidBody *pRigidBodyA, const Mix::Quaternion &rotA, const Mix::Vector3 &pivotA, Mix::Dynamics::ISliderJoint **ppSliderJoint, const wchar_t *pDebugName=NULL)=0
スライダージョイントを作成します
virtual Boolean CreateSphereShape(Float32 radius, Mix::Dynamics::ISphereShape **ppSphereShape, const wchar_t *pDebugName=NULL)=0
スフィアシェイプを作成します
virtual void Debug_SetDrawColor(Mix::Dynamics::DEBUG_DRAW_COLOR_TYPE type, const Mix::Vector4 &color)=0
デバッグ描画の色を設定します
virtual Boolean CreateObjectDragger(Mix::Dynamics::IWorld *pWorld, Mix::Dynamics::IObjectDragger **ppObjectDragger, const wchar_t *pDebugName=NULL)=0
オブジェクトドラッガーを作成します
カプセルシェイプ
Definition: ICapsuleShape.h:13
キネマティックキャラクターインターフェース
Definition: IKinematicCharacter.h:15
ダイナミクスマネージャインターフェース
Definition: IManager.h:12
ミックス
Definition: AtomicValue.h:6
virtual Boolean CreateRigidBody(Float32 mass, Mix::Dynamics::IShape *pShape, Mix::Dynamics::IRigidBody **ppRigidBody, const wchar_t *pDebugName=NULL)=0
リジッドボディを作成します
シリンダーシェイプインターフェース
Definition: ICylinderShape.h:16
リジッドボディインターフェース
Definition: IRigidBody.h:46
オブジェクドラッガートインターフェース
Definition: IObjectDragger.h:12
DEBUG_DRAW_COLOR_TYPE
デバッグ描画のカラータイプ列挙定数
Definition: Common.h:1837
ビハイクルホイール構造体
Definition: Common.h:2001
virtual Boolean CreateVehicle(Float32 mass, Mix::Dynamics::IShape *pShape, const Mix::Dynamics::VEHICLE_WHEEL_DESC *wheels, UInt32 wheelNum, Mix::Dynamics::IVehicle **ppVehicle, const wchar_t *pDebugName=NULL)=0
ビハイクルを作成します
float Float32
32ビット浮動小数点
Definition: Common.h:83
リファレンスクラス
Definition: Reference.h:12
virtual Boolean CreateCompoundShape(Mix::Dynamics::ICompoundShape **ppCompoundShape, const wchar_t *pDebugName=NULL)=0
コンパウンドシェイプを作成します
virtual const Mix::Vector4 & Debug_GetDrawColor(Mix::Dynamics::DEBUG_DRAW_COLOR_TYPE type) const =0
デバッグ描画の色を取得します
リファレンスクラスインクルードファイル
スフィアシェイプインターフェース
Definition: ISphereShape.h:12
4次元浮動小数点ベクトルクラス
Definition: Vector4.h:12
ポイントジョイントインターフェース
Definition: IPointJoint.h:13
コンパウンドシェイプインターフェース
Definition: ICompoundShape.h:22
virtual Boolean CreateHingeJoint(Mix::Dynamics::IRigidBody *pRigidBodyA, const Mix::Vector3 &pivotA, const Mix::Vector3 &axis, Mix::Dynamics::IHingeJoint **ppHingeJoint, const wchar_t *pDebugName=NULL)=0
ヒンジジョイントを作成します
スライダージョイントインターフェース
Definition: ISliderJoint.h:13
virtual Boolean CreateCylinderShape(Mix::Dynamics::AXIS_TYPE axis, Float32 height, Float32 radius, Mix::Dynamics::ICylinderShape **ppCylinderShape, const wchar_t *pDebugName=NULL)=0
シリンダーシェイプを作成します
BOOL Boolean
32ビットブーリアン
Definition: Common.h:102
virtual Boolean CreateConeShape(Mix::Dynamics::AXIS_TYPE axis, Float32 height, Float32 radius, Mix::Dynamics::IConeShape **ppConeShape, const wchar_t *pDebugName=NULL)=0
コーンシェイプを作成します
ヒンジジョイントインターフェース
Definition: IHingeJoint.h:13
シェイプインターフェース
Definition: IShape.h:16
virtual Boolean CreateConvexHullShape(const Mix::Dynamics::MESH &mesh, Mix::Dynamics::IConvexHullShape **ppConvexHullShape, const wchar_t *pDebugName=NULL)=0
コンベックスハルシェイプを作成します
ワールドインターフェース
Definition: IWorld.h:14
メッシュ構造体
Definition: Common.h:1925