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

ランタイム

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

- File List
- File Members

IObject.h
Go to the documentation of this file.
1 #pragma once
2
5
6 #include "Mix/Reference.h"
7 #include "Mix/Geometry/AABB.h"
8
9 namespace Mix{ namespace Dynamics{
10
13 class IObject : public Mix::Reference
14 {
15 public:
18 enum TYPE
19 {
20 STATIC_PLANE = 0,
21 STATIC_MESH = 1,
22 RIGIDBODY = 2,
23 SENSOR = 3,
24 KINEMATIC_CHARACTER = 4,
25 VEHICLE = 5,
26 };
27
28 protected:
30 virtual ~IObject( void ) {}
31
32 public:
35 virtual Mix::Dynamics::IObject::TYPE GetType( void ) const = 0;
36
46 virtual Boolean GetShape( Mix::Dynamics::IShape** ppShape ) = 0;
47
51 virtual Float32 GetShapeMargin( void ) const = 0;
55 virtual void SetShapeMargin( Float32 margin ) = 0;
56
59 virtual UInt16 GetFilterGroup( void ) const = 0;
62 virtual void SetFilterGroup( UInt16 filterGroup ) = 0;
63
66 virtual UInt16 GetFilterMask( void ) const = 0;
69 virtual void SetFilterMask( UInt16 filterMask ) = 0;
70
73 virtual const Mix::Dynamics::MATERIAL& GetMaterial( void ) const = 0;
76 virtual void SetMaterial( const Mix::Dynamics::MATERIAL& material ) = 0;
77
80 virtual Mix::Quaternion GetWorldRotation( void ) const = 0;
83 virtual Mix::Vector3 GetWorldPosition( void ) const = 0;
86 virtual Mix::Matrix4x4 GetWorldMatrix( void ) const = 0;
87
90 virtual void SetWorldRotation( const Mix::Quaternion& rot ) = 0;
93 virtual void SetWorldPosition( const Mix::Vector3& pos ) = 0;
97 virtual void SetWorldTransform( const Mix::Quaternion& rot, const Mix::Vector3& pos ) = 0;
98
101 virtual Boolean IsInWorld( void ) const = 0;
102
105 virtual Mix::Geometry::AABB GetBounds( void ) const = 0;
106
110 virtual Boolean AddListener( Mix::Dynamics::IObjectListener* pListener ) = 0;
113 virtual void RemoveListener( Mix::Dynamics::IObjectListener* pListener ) = 0;
114
117 virtual Int32 GetUserIndex( void ) const = 0;
121 virtual void SetUserIndex( Int32 index ) = 0;
122
125 virtual void* GetUserPtr( void ) const = 0;
129 virtual void SetUserPtr( void* pData ) = 0;
130
133 virtual UInt32 Debug_GetDrawFlags( void ) const = 0;
136 virtual void Debug_SetDrawFlags( UInt32 flags ) = 0;
137
140 virtual Float32 Debug_GetDrawAxisScaling( void ) const = 0;
143 virtual void Debug_SetDrawAxisScaling( Float32 scaling ) = 0;
144
148 virtual void Debug_Draw( Mix::Graphics::Utility::IPerspectiveRenderer* pPerspectiveRenderer, Float32 opacity = 1.0f ) = 0;
149 };
150
151 }}
Mix::Vector3
3次元浮動小数点ベクトルクラス
Definition: Vector3.h:12
Mix::Dynamics::IObject::RemoveListener
virtual void RemoveListener(Mix::Dynamics::IObjectListener *pListener)=0
リスナーを削除します
Mix::Dynamics::IObject::~IObject
virtual ~IObject(void)
デストラクタ
Definition: IObject.h:30
Mix::Dynamics::IObject::SetFilterGroup
virtual void SetFilterGroup(UInt16 filterGroup)=0
フィルターグループを設定します
Mix::Dynamics::IObject::GetMaterial
virtual const Mix::Dynamics::MATERIAL & GetMaterial(void) const =0
マテリアルを取得します
Mix::Dynamics::IObject::STATIC_MESH
スタティックメッシュ
Definition: IObject.h:21
Mix::Dynamics::IObject::SetFilterMask
virtual void SetFilterMask(UInt16 filterMask)=0
フィルターマスクを設定します
Mix::Dynamics::IObject::GetWorldMatrix
virtual Mix::Matrix4x4 GetWorldMatrix(void) const =0
ワールド行列を取得します
Mix::Dynamics::IObject::SetShapeMargin
virtual void SetShapeMargin(Float32 margin)=0
シェイプの衝突マージンを設定します
Mix::Quaternion
クォータニオンクラス
Definition: Quaternion.h:10
Mix::Dynamics::IObject::GetFilterMask
virtual UInt16 GetFilterMask(void) const =0
フィルターマスクを取得します
AABB.h
AABBクラスインクルードファイル
Mix::Dynamics::IObject::GetUserPtr
virtual void * GetUserPtr(void) const =0
ユーザーポインタを取得します
Int32
int Int32
符号有り32ビット整数
Definition: Common.h:65
Mix::Dynamics::IObject::GetBounds
virtual Mix::Geometry::AABB GetBounds(void) const =0
境界を取得します
Mix::Geometry::AABB
AABBクラス
Definition: AABB.h:12
Mix::Dynamics::IObject::SetWorldRotation
virtual void SetWorldRotation(const Mix::Quaternion &rot)=0
ワールドの回転を設定します
Mix::Dynamics::IObject::SetUserPtr
virtual void SetUserPtr(void *pData)=0
ユーザーポインタを設定します
Mix::Dynamics::IObject::Debug_Draw
virtual void Debug_Draw(Mix::Graphics::Utility::IPerspectiveRenderer *pPerspectiveRenderer, Float32 opacity=1.0f)=0
デバッグ描画をします
Mix::Matrix4x4
4x4行列クラス
Definition: Matrix4x4.h:12
UInt32
unsigned int UInt32
符号無し32ビット整数
Definition: Common.h:68
Mix::Dynamics::IObject::VEHICLE
ビハイクル
Definition: IObject.h:25
Mix::Graphics::Utility::IPerspectiveRenderer
パースペクティブレンダラーインターフェース
Definition: IPerspectiveRenderer.h:16
Mix::Dynamics::IObjectListener
オブジェクトリスナーインターフェース
Definition: IObjectListener.h:12
Mix::Dynamics::IObject::GetType
virtual Mix::Dynamics::IObject::TYPE GetType(void) const =0
種類を取得します
Mix::Dynamics::IObject::SetWorldPosition
virtual void SetWorldPosition(const Mix::Vector3 &pos)=0
ワールドの位置を設定します
Mix
ミックス
Definition: AtomicValue.h:6
Mix::Dynamics::IObject::STATIC_PLANE
スタティックプレーン
Definition: IObject.h:20
Mix::Dynamics::IObject::Debug_GetDrawFlags
virtual UInt32 Debug_GetDrawFlags(void) const =0
デバッグ : 描画フラグを取得します
Mix::Dynamics::IObject::GetWorldPosition
virtual Mix::Vector3 GetWorldPosition(void) const =0
ワールドの位置を取得します
Mix::Dynamics::IObject::SetUserIndex
virtual void SetUserIndex(Int32 index)=0
ユーザーインデックスを設定します
Mix::Dynamics::IObject::GetFilterGroup
virtual UInt16 GetFilterGroup(void) const =0
フィルターグループを取得します
Mix::Dynamics::IObject::TYPE
TYPE
タイプ列挙定数
Definition: IObject.h:18
Mix::Dynamics::IObject
オブジェクトインターフェース
Definition: IObject.h:13
Float32
float Float32
32ビット浮動小数点
Definition: Common.h:83
Mix::Dynamics::IObject::Debug_SetDrawFlags
virtual void Debug_SetDrawFlags(UInt32 flags)=0
デバッグ : 描画フラグを設定します
Mix::Reference
リファレンスクラス
Definition: Reference.h:12
Mix::Dynamics::IObject::SENSOR
センサー
Definition: IObject.h:23
Reference.h
リファレンスクラスインクルードファイル
Mix::Dynamics::IObject::GetWorldRotation
virtual Mix::Quaternion GetWorldRotation(void) const =0
ワールドの回転を取得します
UInt16
unsigned short UInt16
符号無し16ビット整数
Definition: Common.h:62
Mix::Dynamics::IObject::IsInWorld
virtual Boolean IsInWorld(void) const =0
ワールドに配置されているかどうかを確認します
Mix::Dynamics::IObject::AddListener
virtual Boolean AddListener(Mix::Dynamics::IObjectListener *pListener)=0
リスナーを追加します
Mix::Dynamics::IObject::GetShape
virtual Boolean GetShape(Mix::Dynamics::IShape **ppShape)=0
シェイプを取得します
Mix::Dynamics::IObject::Debug_SetDrawAxisScaling
virtual void Debug_SetDrawAxisScaling(Float32 scaling)=0
デバッグ : 軸を描画する際のスケールを設定します
Boolean
BOOL Boolean
32ビットブーリアン
Definition: Common.h:102
Mix::Dynamics::IObject::RIGIDBODY
リジッドボディ
Definition: IObject.h:22
Mix::Dynamics::IObject::SetMaterial
virtual void SetMaterial(const Mix::Dynamics::MATERIAL &material)=0
マテリアルを設定します
Mix::Dynamics::IShape
シェイプインターフェース
Definition: IShape.h:16
Mix::Dynamics::IObject::KINEMATIC_CHARACTER
キネマティックキャラクター
Definition: IObject.h:24
Mix::Dynamics::IObject::GetShapeMargin
virtual Float32 GetShapeMargin(void) const =0
シェイプの衝突マージンを取得します
Mix::Dynamics::IObject::GetUserIndex
virtual Int32 GetUserIndex(void) const =0
ユーザーインデックスを取得します
Mix::Dynamics::IObject::Debug_GetDrawAxisScaling
virtual Float32 Debug_GetDrawAxisScaling(void) const =0
デバッグ : 軸を描画する際のを取得します
Mix::Dynamics::MATERIAL
マテリアル構造体
Definition: Common.h:1882
Mix::Dynamics::IObject::SetWorldTransform
virtual void SetWorldTransform(const Mix::Quaternion &rot, const Mix::Vector3 &pos)=0
ワールドトランスフォームを設定します