ランタイム
IManager.h
Go to the documentation of this file.
1 #pragma once
2 
5 
6 #include "Mix/Reference.h"
7 #include "Mix/Scene/ISkyDome.h"
9 #include "Mix/Scene/IPlanter.h"
11 
12 namespace Mix{ namespace Scene{
13 
16  class IManager : public Mix::Reference
17  {
18  protected:
20  virtual ~IManager( void ) {}
21 
22  public:
25 
31  virtual Boolean CreateEffectPackage( const wchar_t* pDirPath, const wchar_t* pName,
32  Mix::Scene::IEffectPackage** ppEffectPackage ) = 0;
33 
40  virtual Boolean CreateRenderer( Mix::Scene::IEffectPackage* pEffectPackage,
41  const Mix::Scene::RENDERER_CONFIG& config,
42  Mix::Scene::IRenderer** ppRenderer,
43  const wchar_t* pDebugName = NULL ) = 0;
44 
46 
49 
55  virtual Boolean CreateUniversalCamera( const Mix::Scene::CAMERA_CONFIG& config, Mix::Scene::IUniversalCamera** ppCamera, const wchar_t* pDebugName = NULL ) = 0;
61  virtual Boolean CreateViewCamera( const Mix::Scene::CAMERA_CONFIG& config, Mix::Scene::IViewCamera** ppCamera, const wchar_t* pDebugName = NULL ) = 0;
62 
64 
67 
72  virtual Boolean CreateHemisphereLight( Mix::Scene::IHemisphereLight** ppLight, const wchar_t* pDebugName = NULL ) = 0;
77  virtual Boolean CreateDirectionalLight( Mix::Scene::IDirectionalLight** ppLight, const wchar_t* pDebugName = NULL ) = 0;
78 
83  virtual Boolean CreatePointLight( Mix::Scene::IPointLight** ppLight, const wchar_t* pDebugName = NULL ) = 0;
88  virtual Boolean CreateSpotLight( Mix::Scene::ISpotLight** ppLight, const wchar_t* pDebugName = NULL ) = 0;
89 
91 
94 
102  virtual Boolean CreateSkyDome( Float32 radius, Float32 height,
104  Mix::Scene::ISkyDome** ppSkyDome,
105  const wchar_t* pDebugName = NULL ) = 0;
106 
115  virtual Boolean CreateSkyDome( Float32 radius, Float32 height,
118  Mix::Scene::ISkyDome** ppSkyDome,
119  const wchar_t* pDebugName = NULL ) = 0;
120 
122 
125 
132  virtual Boolean CreateDefaultParticleSystem( Boolean bSimWorldSpace, Mix::Scene::IDefaultParticleSystem::PLANE_TYPE planeType, Mix::Scene::IDefaultParticleSystem** ppSystem, const wchar_t* pDebugName = NULL ) = 0;
138  virtual Boolean CreateBillboardParticleSystem( Boolean bSimWorldSpace, Mix::Scene::IBillboardParticleSystem** ppSystem, const wchar_t* pDebugName = NULL ) = 0;
139 
146  virtual Boolean CreateLeavingParticle( Mix::Scene::IMaterial* pMaterial, Mix::Scene::IParticleSystem* pSystem, Mix::Scene::ILeavingParticle** ppParticle, const wchar_t* pDebugName = NULL ) = 0;
153  virtual Boolean CreateScatterParticle( Mix::Scene::IMaterial* pMaterial, Mix::Scene::IParticleSystem* pSystem, Mix::Scene::IScatterParticle** ppParticle, const wchar_t* pDebugName = NULL ) = 0;
154 
156 
159 
168  UInt32 numModel, const Mix::Scene::IFlowerPackage::MODEL* models,
169  Mix::Scene::IFlowerPackage** ppFlowerPackage,
170  const wchar_t* pDebugName = NULL ) = 0;
171 
177  virtual Boolean CreatePlanter( Mix::Scene::IFlowerPackage* pFlowerPackage,
178  Mix::Scene::IPlanter** ppPlanter,
179  const wchar_t* pDebugName = NULL ) = 0;
180 
189  virtual Boolean CreatePlanter( Mix::Scene::IFlowerPackage* pFlowerPackage,
190  UInt32 numUnit, const Mix::Scene::IPlanter::UNIT* units,
191  const Mix::Matrix4x4& worldMat,
192  Mix::Scene::IPlanter** ppPlanter,
193  const wchar_t* pDebugName = NULL ) = 0;
194 
196 
199 
205  virtual Boolean CreateActorModelFromFile( Mix::Scene::IEffectPackage* pEffectPackage, const wchar_t* pFilePath, Mix::Scene::IActorModel** ppModel ) = 0;
219  virtual Boolean CreateActorModelFromMemory( Mix::Scene::IEffectPackage* pEffectPackage, const wchar_t* pFilePath, const void* pSrc, UInt32 srcSize, Mix::Scene::IActorModel** ppModel ) = 0;
220 
222 
225 
231  virtual Boolean CreateTerrainModelFromFile( Mix::Scene::IEffectPackage* pEffectPackage, const wchar_t* pFilePath, Mix::Scene::ITerrainModel** ppModel ) = 0;
245  virtual Boolean CreateTerrainModelFromMemory( Mix::Scene::IEffectPackage* pEffectPackage, const wchar_t* pFilePath, const void* pSrc, UInt32 srcSize, Mix::Scene::ITerrainModel** ppModel ) = 0;
246 
248 
251 
256  virtual Boolean CreateLightShaftsCaster( Mix::Scene::ILightShaftsCaster** ppLightShaftsCaster, const wchar_t* pDebugName = NULL ) = 0;
257 
264  virtual Boolean CreateWaterPool( const Mix::Vector3& halfExtents, Mix::Vector3& worldPos, Mix::Scene::IWaterPool** ppWaterPool, const wchar_t* pDebugName = NULL ) = 0;
271  virtual Boolean CreateWaterPool( Mix::Scene::IWaterPoolContext* pContext, const Mix::Matrix4x4& worldMat, Mix::Scene::IWaterPool** ppWaterPool, const wchar_t* pDebugName = NULL ) = 0;
272 
274 
277 
285  virtual Boolean CreateFloor( Mix::Scene::IFloor** ppFloor, const wchar_t* pDebugName = NULL ) = 0;
293  virtual Boolean CreateFloor( const Mix::Vector3& normal, Float32 offset, Mix::Scene::IFloor** ppFloor, const wchar_t* pDebugName = NULL ) = 0;
294 
296 
299 
313  virtual Boolean CreateBasisGhost( Mix::Dynamics::IShape* pShape, Boolean bCollide, Mix::Scene::IGhost** ppGhost, const wchar_t* pDebugName = NULL ) = 0;
326  virtual Boolean CreateKinematicGhost( Float32 height, Float32 radius, Float32 stepHeight, Mix::Scene::IGhost** ppGhost, const wchar_t* pDebugName = NULL ) = 0;
327 
329 
332 
338  virtual Boolean CreateMaterialFromFile( Mix::Scene::IEffectPackage* pEffectPackage, const wchar_t* pFilePath, Mix::Scene::IMaterial** ppMaterial ) = 0;
344  virtual Boolean CreateMaterialFromReader( Mix::Scene::IEffectPackage* pEffectPackage, Mix::IO::IReader* pReader, Mix::Scene::IMaterial** ppMaterial ) = 0;
352  virtual Boolean CreateMaterialFromMemory( Mix::Scene::IEffectPackage* pEffectPackage, const wchar_t* pFilePath, const void* pSrc, UInt32 srcSize, Mix::Scene::IMaterial** ppMaterial ) = 0;
353 
355 
358 
363  virtual Boolean CreateMotionFromFile( const wchar_t* pFilePath, Mix::Scene::IMotion** ppMotion ) = 0;
368  virtual Boolean CreateMotionFromReader( Mix::IO::IReader* pReader, Mix::Scene::IMotion** ppMotion ) = 0;
375  virtual Boolean CreateMotionFromMemory( const wchar_t* pFilePath, const void* pSrc, UInt32 srcSize, Mix::Scene::IMotion** ppMotion ) = 0;
376 
378 
381 
385  virtual const Mix::Vector4& Debug_GetDrawColor( Mix::Scene::DEBUG_DRAW_COLOR_TYPE type ) const = 0;
389  virtual void Debug_SetDrawColor( Mix::Scene::DEBUG_DRAW_COLOR_TYPE type, const Mix::Vector4& color ) = 0;
390 
392  };
393 
394 }}
3次元浮動小数点ベクトルクラス
Definition: Vector3.h:12
プランターインターフェース
Definition: IPlanter.h:13
レンダラーインターフェース
Definition: IRenderer.h:15
virtual Boolean CreateDefaultParticleSystem(Boolean bSimWorldSpace, Mix::Scene::IDefaultParticleSystem::PLANE_TYPE planeType, Mix::Scene::IDefaultParticleSystem **ppSystem, const wchar_t *pDebugName=NULL)=0
デフォルトパーティクルシステムを作成します
virtual Boolean CreateMotionFromReader(Mix::IO::IReader *pReader, Mix::Scene::IMotion **ppMotion)=0
モーションをファイルから作成します
virtual Boolean CreateBasisGhost(Mix::Dynamics::IShape *pShape, Boolean bCollide, Mix::Scene::IGhost **ppGhost, const wchar_t *pDebugName=NULL)=0
ベイシスゴーストを作成します
virtual Boolean CreatePlanter(Mix::Scene::IFlowerPackage *pFlowerPackage, Mix::Scene::IPlanter **ppPlanter, const wchar_t *pDebugName=NULL)=0
プランターを作成します
virtual Boolean CreateRenderer(Mix::Scene::IEffectPackage *pEffectPackage, const Mix::Scene::RENDERER_CONFIG &config, Mix::Scene::IRenderer **ppRenderer, const wchar_t *pDebugName=NULL)=0
レンダラーを作成します
シーンマネージャインターフェース
Definition: IManager.h:16
virtual Boolean CreateTerrainModelFromFile(Mix::Scene::IEffectPackage *pEffectPackage, const wchar_t *pFilePath, Mix::Scene::ITerrainModel **ppModel)=0
テラインモデルをファイルから作成します
virtual Boolean CreateActorModelFromMemory(Mix::Scene::IEffectPackage *pEffectPackage, const wchar_t *pFilePath, const void *pSrc, UInt32 srcSize, Mix::Scene::IActorModel **ppModel)=0
アクターモデルをメモリ内のファイルから作成します
アクターモデルインターフェース
Definition: IActorModel.h:13
レンダラー設定構造体
Definition: Common.h:2377
ディレクショナルライトインターフェース
Definition: IDirectionalLight.h:15
ビューカメラインターフェース
Definition: IViewCamera.h:12
DEBUG_DRAW_COLOR_TYPE
Definition: Common.h:2808
virtual Boolean CreateScatterParticle(Mix::Scene::IMaterial *pMaterial, Mix::Scene::IParticleSystem *pSystem, Mix::Scene::IScatterParticle **ppParticle, const wchar_t *pDebugName=NULL)=0
スキャッターパーティクルを作成します
virtual Boolean CreateTerrainModelFromReader(Mix::Scene::IEffectPackage *pEffectPackage, Mix::IO::IReader *pReader, Mix::Scene::ITerrainModel **ppModel)=0
テラインモデルをリーダーから作成します
スカイドームインターフェースインクルードファイル
virtual Boolean CreateMaterialFromFile(Mix::Scene::IEffectPackage *pEffectPackage, const wchar_t *pFilePath, Mix::Scene::IMaterial **ppMaterial)=0
マテリアルをファイルから作成します
virtual Boolean CreateLeavingParticle(Mix::Scene::IMaterial *pMaterial, Mix::Scene::IParticleSystem *pSystem, Mix::Scene::ILeavingParticle **ppParticle, const wchar_t *pDebugName=NULL)=0
リービングパーティクルを作成します
フロアインターフェース
Definition: IFloor.h:13
半球ライトインターフェース
Definition: IHemisphereLight.h:12
virtual Boolean CreateHemisphereLight(Mix::Scene::IHemisphereLight **ppLight, const wchar_t *pDebugName=NULL)=0
半球ライトを作成します
フラワーパッケージインターフェースインクルードファイル
virtual Boolean CreateFloor(Mix::Scene::IFloor **ppFloor, const wchar_t *pDebugName=NULL)=0
フロアを作成します
virtual Boolean CreateSkyDome(Float32 radius, Float32 height, Mix::Scene::ISkyDome::QUALITY heQuality, Mix::Scene::ISkyDome **ppSkyDome, const wchar_t *pDebugName=NULL)=0
スカイドームを作成します
virtual Boolean CreateTerrainModelFromMemory(Mix::Scene::IEffectPackage *pEffectPackage, const wchar_t *pFilePath, const void *pSrc, UInt32 srcSize, Mix::Scene::ITerrainModel **ppModel)=0
テラインモデルをメモリ内のファイルから作成します
フラワーパッケージインターフェース
Definition: IFlowerPackage.h:12
virtual Boolean CreateWaterPool(const Mix::Vector3 &halfExtents, Mix::Vector3 &worldPos, Mix::Scene::IWaterPool **ppWaterPool, const wchar_t *pDebugName=NULL)=0
ウォータープールを作成します
virtual ~IManager(void)
デストラクタ
Definition: IManager.h:20
ポイントライトインターフェース
Definition: IPointLight.h:12
スポットライトインターフェース
Definition: ISpotLight.h:12
virtual Boolean CreateMotionFromMemory(const wchar_t *pFilePath, const void *pSrc, UInt32 srcSize, Mix::Scene::IMotion **ppMotion)=0
モーションをメモリ内のファイルから作成します
4x4行列クラス
Definition: Matrix4x4.h:12
デフォルトパーティクルプロデューサーインターフェースインクルードファイル
リーダーインターフェース
Definition: IReader.h:17
unsigned int UInt32
符号無し32ビット整数
Definition: Common.h:68
PLANE_TYPE
プレーンタイプ列挙定数
Definition: IDefaultParticleSystem.h:20
エフェクトパッケージインターフェース
Definition: IEffectPackage.h:14
virtual Boolean CreateKinematicGhost(Float32 height, Float32 radius, Float32 stepHeight, Mix::Scene::IGhost **ppGhost, const wchar_t *pDebugName=NULL)=0
キネマティックゴーストを作成します
リービングパーティクルインターフェース
Definition: ILeavingParticle.h:16
ウォータープールインターフェース
Definition: IWaterPool.h:48
ユニット構造体
Definition: IPlanter.h:18
virtual const Mix::Vector4 & Debug_GetDrawColor(Mix::Scene::DEBUG_DRAW_COLOR_TYPE type) const =0
デバッグ : 描画色を取得します
モデル構造体
Definition: IFlowerPackage.h:26
ビルボードパーティクルシステムインターフェース
Definition: IBillboardParticleSystem.h:15
virtual Boolean CreateBillboardParticleSystem(Boolean bSimWorldSpace, Mix::Scene::IBillboardParticleSystem **ppSystem, const wchar_t *pDebugName=NULL)=0
ビルボードパーティクルシステムを作成します
virtual void Debug_SetDrawColor(Mix::Scene::DEBUG_DRAW_COLOR_TYPE type, const Mix::Vector4 &color)=0
デバッグ : 描画色を設定します
スカイドームインターフェース
Definition: ISkyDome.h:12
virtual Boolean CreateFlowerPackage(Mix::Scene::IMaterial *pMaterial, UInt32 numModel, const Mix::Scene::IFlowerPackage::MODEL *models, Mix::Scene::IFlowerPackage **ppFlowerPackage, const wchar_t *pDebugName=NULL)=0
フラワーパッケージを作成します
デフォルトパーティクルプロデューサーインターフェース
Definition: IDefaultParticleSystem.h:15
テラインモデルインターフェース
Definition: ITerrainModel.h:12
ミックス
Definition: AtomicValue.h:6
virtual Boolean CreatePointLight(Mix::Scene::IPointLight **ppLight, const wchar_t *pDebugName=NULL)=0
スポットライトを作成します
virtual Boolean CreateMaterialFromMemory(Mix::Scene::IEffectPackage *pEffectPackage, const wchar_t *pFilePath, const void *pSrc, UInt32 srcSize, Mix::Scene::IMaterial **ppMaterial)=0
マテリアルをメモリ内のファイルから作成します
マテリアルインターフェース
Definition: IMaterial.h:12
virtual Boolean CreateSpotLight(Mix::Scene::ISpotLight **ppLight, const wchar_t *pDebugName=NULL)=0
ポイントライトを作成します
ユニバーサルカメラインターフェース
Definition: IUniversalCamera.h:12
virtual Boolean CreateMotionFromFile(const wchar_t *pFilePath, Mix::Scene::IMotion **ppMotion)=0
モーションをファイルから作成します
ウォータープールコンテキストインターフェース
Definition: IWaterPool.h:13
ゴーストインターフェース
Definition: IGhost.h:12
float Float32
32ビット浮動小数点
Definition: Common.h:83
リファレンスクラス
Definition: Reference.h:12
virtual Boolean CreateActorModelFromFile(Mix::Scene::IEffectPackage *pEffectPackage, const wchar_t *pFilePath, Mix::Scene::IActorModel **ppModel)=0
アクターモデルをファイルから作成します
virtual Boolean CreateMaterialFromReader(Mix::Scene::IEffectPackage *pEffectPackage, Mix::IO::IReader *pReader, Mix::Scene::IMaterial **ppMaterial)=0
マテリアルをリーダーから作成します
リファレンスクラスインクルードファイル
カメラ設定構造体
Definition: Common.h:2403
4次元浮動小数点ベクトルクラス
Definition: Vector4.h:12
QUALITY
品質列挙定数
Definition: ISkyDome.h:17
パーティクルシステムタインターフェース
Definition: IParticleSystem.h:12
ライトシャフトキャスターインターフェース
Definition: ILightShaftsCaster.h:12
virtual Boolean CreateViewCamera(const Mix::Scene::CAMERA_CONFIG &config, Mix::Scene::IViewCamera **ppCamera, const wchar_t *pDebugName=NULL)=0
ビューカメラを作成します
スキャッターパーティクルインターフェース
Definition: IScatterParticle.h:15
virtual Boolean CreateEffectPackage(const wchar_t *pDirPath, const wchar_t *pName, Mix::Scene::IEffectPackage **ppEffectPackage)=0
エフェクトパッケージを作成します
virtual Boolean CreateDirectionalLight(Mix::Scene::IDirectionalLight **ppLight, const wchar_t *pDebugName=NULL)=0
ディレクショナルライトを作成します
BOOL Boolean
32ビットブーリアン
Definition: Common.h:102
プランターインターフェースインクルードファイル
シェイプインターフェース
Definition: IShape.h:16
virtual Boolean CreateLightShaftsCaster(Mix::Scene::ILightShaftsCaster **ppLightShaftsCaster, const wchar_t *pDebugName=NULL)=0
ライトシャフトキャスターを作成します
virtual Boolean CreateUniversalCamera(const Mix::Scene::CAMERA_CONFIG &config, Mix::Scene::IUniversalCamera **ppCamera, const wchar_t *pDebugName=NULL)=0
ユニバーサルカメラを作成します
virtual Boolean CreateActorModelFromReader(Mix::Scene::IEffectPackage *pEffectPackage, Mix::IO::IReader *pReader, Mix::Scene::IActorModel **ppModel)=0
アクターモデルをファイルから作成します
モーションインターフェース
Definition: IMotion.h:12