ランタイム
ISimpleParticleSystem.h
Go to the documentation of this file.
1 #pragma once
2 
5 
7 
8 namespace Mix{ namespace Scene{
9 
13  {
14  protected:
16  virtual ~ISimpleParticleSystem( void ) {}
17 
18  public:
21  virtual Boolean IsBillboard( void ) const = 0;
24  virtual Boolean IsSimulationWorldSpace( void ) const = 0;
25 
28  virtual Boolean IsInvisibleSleep( void ) const = 0;
31  virtual void SetInvisibleSleep( Boolean state ) = 0;
32 
35  virtual Float32 GetMinFarDist( void ) const = 0;
38  virtual Float32 GetMaxFarDist( void ) const = 0;
42  virtual void SetFarDist( Float32 minDist, Float32 maxDist ) = 0;
43 
46  virtual Boolean IsFarSkipFrames( void ) const = 0;
49  virtual void SetFarSkipFrames( Boolean state ) = 0;
52  virtual UInt32 GetMaxFarSkipFrames( void ) const = 0;
55  virtual void SetMaxFarSkipFrames( UInt32 value ) = 0;
56 
59  virtual Float32 GetMinEmitInterval( void ) const = 0;
62  virtual Float32 GetMaxEmitInterval( void ) const = 0;
66  virtual void SetEmitInterval( Float32 minEI, Float32 maxEI ) = 0;
67 
70  virtual UInt32 GetMinEmitCount( void ) const = 0;
73  virtual UInt32 GetMaxEmitCount( void ) const = 0;
77  virtual void SetEmitCount( UInt32 minEC, UInt32 maxEC ) = 0;
78 
81  virtual const Mix::Vector3& GetEmitRadius( void ) const = 0;
84  virtual void SetEmitRadius( const Mix::Vector3& radius ) = 0;
85 
88  virtual Float32 GetEmitOffset( void ) const = 0;
91  virtual void SetEmitOffset( Float32 offset ) = 0;
92 
95  virtual Float32 GetMinLife( void ) const = 0;
98  virtual Float32 GetMaxLife( void ) const = 0;
102  virtual void SetLife( Float32 minLife, Float32 maxLife ) = 0;
103 
106  virtual Float32 GetMinMass( void ) const = 0;
109  virtual Float32 GetMaxMass( void ) const = 0;
113  virtual void SetMass( Float32 minMass, Float32 maxMass ) = 0;
114 
117  virtual const Mix::Vector3& GetGravity( void ) const = 0;
120  virtual void SetGravity( const Mix::Vector3& gravity ) = 0;
121 
124  virtual const Mix::Vector3& GetConstantLinearVelocity( void ) const = 0;
127  virtual void SetConstantLinearVelocity( const Mix::Vector3& vel ) = 0;
128 
131  virtual const Mix::Vector3& GetMinLinearImpulse( void ) const = 0;
134  virtual const Mix::Vector3& GetMaxLinearImpulse( void ) const = 0;
139  virtual void SetLinearImpulse( const Mix::Vector3& minImpulse, const Mix::Vector3& maxImpulse ) = 0;
140 
143  virtual const Mix::Vector3& GetMinLinearAcceleration( void ) const = 0;
146  virtual const Mix::Vector3& GetMaxLinearAcceleration( void ) const = 0;
150  virtual void SetLinearAcceleration( const Mix::Vector3& minAcc, const Mix::Vector3& maxAcc ) = 0;
151 
154  virtual Float32 GetMinLinearVelocityDamping( void ) const = 0;
157  virtual Float32 GetMaxLinearVelocityDamping( void ) const = 0;
161  virtual void SetLinearVelocityDamping( Float32 minDamping, Float32 maxDamping ) = 0;
162 
165  virtual Float32 GetMinAngularVelocityDamping( void ) const = 0;
168  virtual Float32 GetMaxAngularVelocityDamping( void ) const = 0;
172  virtual void SetAngularVelocityDamping( Float32 minDamping, Float32 maxDamping ) = 0;
173 
176  virtual const Mix::Vector2& GetInitalSize( void ) const = 0;
179  virtual const Mix::Vector2& GetLastSize( void ) const = 0;
182  virtual Float32 GetMinSizeRand( void ) const = 0;
185  virtual Float32 GetMaxSizeRand( void ) const = 0;
191  virtual void SetSize( const Mix::Vector2& initalSize, const Mix::Vector2& lastSize, Float32 minSizeRnd, Float32 maxSizeRnd ) = 0;
192 
195  virtual const Mix::Vector4& GetInitalColor( void ) const = 0;
198  virtual const Mix::Vector4& GetMiddleColor( void ) const = 0;
201  virtual const Mix::Vector4& GetLastColor( void ) const = 0;
206  virtual void SetColor( const Mix::Vector4& initalColor, const Mix::Vector4& middleColor, const Mix::Vector4& lastColor ) = 0;
207 
210  virtual Float32 GetColorControlPoint1( void ) const = 0;
213  virtual Float32 GetColorControlPoint2( void ) const = 0;
218  virtual void SetColorControlPoints( Float32 p1, Float32 p2 ) = 0;
219 
222  virtual const Mix::Vector2& GetTexTL( void ) const = 0;
225  virtual const Mix::Vector2& GetTexBR( void ) const = 0;
229  virtual void SetTexCoords( const Mix::Vector2& tl, const Mix::Vector2& br ) = 0;
230  };
231 
232 }}
3次元浮動小数点ベクトルクラス
Definition: Vector3.h:12
virtual UInt32 GetMaxEmitCount(void) const =0
最大発生数を取得します
virtual Float32 GetMinMass(void) const =0
最小質量を取得します
virtual Boolean IsInvisibleSleep(void) const =0
視界に入っていない場合にスリープ状態にするかどうかを取得します
virtual Float32 GetMaxEmitInterval(void) const =0
最大発生間隔を取得します
パーティクルシステムインターフェースインクルードファイル
virtual void SetColor(const Mix::Vector4 &initalColor, const Mix::Vector4 &middleColor, const Mix::Vector4 &lastColor)=0
色を設定します
virtual Float32 GetMaxAngularVelocityDamping(void) const =0
回転の最大減衰値を取得します
virtual const Mix::Vector2 & GetTexBR(void) const =0
貼り付けるテクスチャの右下のUV座標を取得します
virtual Boolean IsSimulationWorldSpace(void) const =0
発生元の回転、移動の影響を受けるかどうかを取得します
virtual Float32 GetMinLinearVelocityDamping(void) const =0
移動の最小減衰値を取得します
virtual void SetLife(Float32 minLife, Float32 maxLife)=0
ライフを設定します
virtual Boolean IsFarSkipFrames(void) const =0
遠いと判断された際にフレームをスキップするかどうかを取得します
virtual void SetFarDist(Float32 minDist, Float32 maxDist)=0
遠いかどうかを判断する距離を設定します
シンプルパーティクルシステムインターフェース
Definition: ISimpleParticleSystem.h:12
virtual const Mix::Vector2 & GetInitalSize(void) const =0
最初のサイズを取得します
virtual const Mix::Vector2 & GetLastSize(void) const =0
最後のサイズを取得します
virtual void SetEmitInterval(Float32 minEI, Float32 maxEI)=0
発生間隔を設定します
virtual void SetTexCoords(const Mix::Vector2 &tl, const Mix::Vector2 &br)=0
貼り付けるテクスチャのUV座標を設定します
virtual Boolean IsBillboard(void) const =0
常にカメラの方向を向くかどうかを確認します
virtual const Mix::Vector3 & GetGravity(void) const =0
重力を取得します
virtual const Mix::Vector2 & GetTexTL(void) const =0
貼り付けるテクスチャの左上のUV座標を取得します
virtual Float32 GetMinLife(void) const =0
最小ライフを取得します
virtual void SetLinearAcceleration(const Mix::Vector3 &minAcc, const Mix::Vector3 &maxAcc)=0
移動の加速度を設定します
virtual const Mix::Vector4 & GetLastColor(void) const =0
最後の色を取得します
virtual void SetMaxFarSkipFrames(UInt32 value)=0
遠いと判断された際にスキップするフレームの最大数を設定します
unsigned int UInt32
符号無し32ビット整数
Definition: Common.h:68
virtual Float32 GetMaxSizeRand(void) const =0
サイズの最大スケールを取得します
virtual Float32 GetMinEmitInterval(void) const =0
最小発生間隔を取得します
virtual const Mix::Vector3 & GetMaxLinearAcceleration(void) const =0
移動の最大加速度を取得します
virtual void SetLinearVelocityDamping(Float32 minDamping, Float32 maxDamping)=0
移動の減衰値を設定します
virtual void SetSize(const Mix::Vector2 &initalSize, const Mix::Vector2 &lastSize, Float32 minSizeRnd, Float32 maxSizeRnd)=0
サイズを設定します
virtual const Mix::Vector3 & GetMinLinearImpulse(void) const =0
移動の最小撃力を取得します
virtual Float32 GetMaxLinearVelocityDamping(void) const =0
移動の最大減衰値を取得します
ミックス
Definition: AtomicValue.h:6
virtual void SetMass(Float32 minMass, Float32 maxMass)=0
質量を設定します
virtual void SetGravity(const Mix::Vector3 &gravity)=0
重力を設定します
virtual ~ISimpleParticleSystem(void)
デストラクタ
Definition: ISimpleParticleSystem.h:16
virtual const Mix::Vector3 & GetMaxLinearImpulse(void) const =0
移動の最大撃力を取得します
2次元浮動小数点ベクトルクラス
Definition: Vector2.h:12
virtual Float32 GetMinFarDist(void) const =0
遠いと判断する最小距離を取得します
virtual void SetColorControlPoints(Float32 p1, Float32 p2)=0
色の制御ポイントを設定します
virtual void SetLinearImpulse(const Mix::Vector3 &minImpulse, const Mix::Vector3 &maxImpulse)=0
移動の撃力を設定します
virtual const Mix::Vector3 & GetConstantLinearVelocity(void) const =0
一定の移動速度を取得します
virtual const Mix::Vector4 & GetInitalColor(void) const =0
最初の色を取得します
float Float32
32ビット浮動小数点
Definition: Common.h:83
virtual const Mix::Vector3 & GetEmitRadius(void) const =0
発生半径を取得します
virtual Float32 GetEmitOffset(void) const =0
発生範囲の中心からのオフセットを取得します
virtual Float32 GetColorControlPoint2(void) const =0
色の制御ポイント2を取得します
4次元浮動小数点ベクトルクラス
Definition: Vector4.h:12
virtual void SetInvisibleSleep(Boolean state)=0
視界に入っていない場合にスリープ状態にするかどうかを設定します
virtual UInt32 GetMaxFarSkipFrames(void) const =0
遠いと判断された際にスキップするフレームの最大数を取得します
パーティクルシステムタインターフェース
Definition: IParticleSystem.h:12
virtual Float32 GetMaxMass(void) const =0
最大質量を取得します
virtual void SetAngularVelocityDamping(Float32 minDamping, Float32 maxDamping)=0
回転の減衰値を設定します
virtual const Mix::Vector4 & GetMiddleColor(void) const =0
中間の色を取得します
virtual Float32 GetMaxFarDist(void) const =0
遠いと判断する最大距離を取得します
virtual void SetFarSkipFrames(Boolean state)=0
遠いと判断された際にフレームをスキップするかどうかを設定します
virtual void SetEmitOffset(Float32 offset)=0
発生範囲の中心からのオフセットを設定します
virtual void SetEmitRadius(const Mix::Vector3 &radius)=0
発生半径を設定します
virtual Float32 GetColorControlPoint1(void) const =0
色の制御ポイント1を取得します
BOOL Boolean
32ビットブーリアン
Definition: Common.h:102
virtual void SetEmitCount(UInt32 minEC, UInt32 maxEC)=0
発生数を設定します
virtual UInt32 GetMinEmitCount(void) const =0
最小発生数を取得します
virtual const Mix::Vector3 & GetMinLinearAcceleration(void) const =0
移動の最小加速度を取得します
virtual Float32 GetMinSizeRand(void) const =0
サイズの最小スケールを取得します
virtual void SetConstantLinearVelocity(const Mix::Vector3 &vel)=0
一定の移動速度を設定します
virtual Float32 GetMaxLife(void) const =0
最大ライフを取得します
virtual Float32 GetMinAngularVelocityDamping(void) const =0
回転の最小減衰値を取得します