ランタイム
IWaterPool.h
Go to the documentation of this file.
1 #pragma once
2 
5 
7 #include "Mix/Geometry/AABB.h"
8 
9 namespace Mix{ namespace Scene{
10 
14  {
15  protected:
17  virtual ~IWaterPoolContext( void ) {}
18 
19  public:
23  virtual void Update( const Mix::Matrix4x4& worldMat ) = 0;
24 
27  virtual const Mix::Geometry::AABB& GetBounds( void ) const = 0;
28 
33  virtual Float32 Contains( const Mix::Vector3& pos ) const = 0;
38  virtual Mix::Scene::WATER_CONTAINS_RESULT Contains( const Mix::Geometry::AABB& bounds ) const = 0;
43  virtual Mix::Scene::WATER_CONTAINS_RESULT Contains( const Mix::Geometry::Sphere& bounds ) const = 0;
44  };
45 
49  {
50  public:
53  struct VISUAL_PARAM
54  {
59  };
60 
61  protected:
63  virtual ~IWaterPool( void ) {}
64 
65  public:
68  virtual Boolean IsRefraction( void ) const = 0;
74  virtual void SetRefraction( Boolean state ) = 0;
75 
78  virtual const Mix::Scene::IWaterPool::VISUAL_PARAM& GetVisualParam( void ) const = 0;
81  virtual void SetVisualParam( const Mix::Scene::IWaterPool::VISUAL_PARAM& param ) = 0;
82 
85  virtual const Mix::Matrix4x4& GetWorldMatrix( void ) const = 0;
88  virtual void SetWorldMatrix( const Mix::Matrix4x4& worldMat ) = 0;
89 
92  virtual void Update( void ) const = 0;
93 
97  virtual const Mix::Geometry::AABB& GetBounds( void ) const = 0;
98 
101  virtual void Refresh( void ) const = 0;
102 
106  virtual Boolean IsIllegal( void ) const = 0;
107  };
108 
109 }}
3次元浮動小数点ベクトルクラス
Definition: Vector3.h:12
virtual void SetRefraction(Boolean state)=0
屈折効果の判定対象とするかどうかを設定します
WATER_CONTAINS_RESULT
水面との判定結果列挙定数
Definition: Common.h:2645
Float32 intensity
全体的な不透明度
Definition: IWaterPool.h:57
virtual void Refresh(void) const =0
リフレッシュします
レンダラーオブジェクトインターフェースインクルードファイル
Definition: IRendererObject.h:12
Float32 density
手前から奥に向かっての水の不透明度
Definition: IWaterPool.h:56
AABBクラスインクルードファイル
AABBクラス
Definition: AABB.h:12
球クラス
Definition: Sphere.h:12
virtual const Mix::Matrix4x4 & GetWorldMatrix(void) const =0
ワールド行列を取得します
virtual void Update(const Mix::Matrix4x4 &worldMat)=0
更新します
virtual const Mix::Geometry::AABB & GetBounds(void) const =0
境界を取得します
4x4行列クラス
Definition: Matrix4x4.h:12
virtual Boolean IsRefraction(void) const =0
屈折効果の判定対象とされているかどうかを確認します
virtual void SetVisualParam(const Mix::Scene::IWaterPool::VISUAL_PARAM &param)=0
表示パラメータを設定します
ウォータープールインターフェース
Definition: IWaterPool.h:48
ミックス
Definition: AtomicValue.h:6
virtual void SetWorldMatrix(const Mix::Matrix4x4 &worldMat)=0
ワールド行列を設定します
Float32 depth
最大深度
Definition: IWaterPool.h:58
virtual const Mix::Geometry::AABB & GetBounds(void) const =0
境界を取得します
レンダラーオブジェクトインターフェースインクルードファイル
ウォータープールコンテキストインターフェース
Definition: IWaterPool.h:13
float Float32
32ビット浮動小数点
Definition: Common.h:83
リファレンスクラス
Definition: Reference.h:12
virtual ~IWaterPoolContext(void)
デストラクタ
Definition: IWaterPool.h:17
4次元浮動小数点ベクトルクラス
Definition: Vector4.h:12
virtual const Mix::Scene::IWaterPool::VISUAL_PARAM & GetVisualParam(void) const =0
表示パラメータを取得します
virtual Boolean IsIllegal(void) const =0
イリーガルかどうかを確認します
Mix::Vector4 color
Definition: IWaterPool.h:55
表示パラメータ構造体
Definition: IWaterPool.h:53
virtual Float32 Contains(const Mix::Vector3 &pos) const =0
位置関係について問い合わせます
BOOL Boolean
32ビットブーリアン
Definition: Common.h:102
virtual void Update(void) const =0
更新します
virtual ~IWaterPool(void)
デストラクタ
Definition: IWaterPool.h:63