FineKernelToolKit  2.8.10
Public メソッド
クラス fk_Particle

パーティクル単体を制御するクラス [詳細]

+ fk_Particleに対する継承グラフ
+ fk_Particleのコラボレーション図

すべてのメンバ一覧

Public メソッド

void init (void)
 初期化関数
int getID (void) const
 ID参照関数
unsigned int getCount (void) const
 年齢参照関数
fk_Vector getPosition (void) const
 位置ベクトル参照設定
void setPosition (const fk_Vector &pos)
 位置ベクトル設定関数1
void setPosition (double x, double y, double z)
 位置ベクトル設定関数2
fk_Vector getVelocity (void) const
 速度ベクトル参照設定
void setVelocity (const fk_Vector &vel)
 速度ベクトル設定関数1
void setVelocity (double x, double y, double z)
 速度ベクトル設定関数2
fk_Vector getAccel (void) const
 加速度ベクトル参照設定
void setAccel (const fk_Vector &acc)
 加速度ベクトル設定関数1
void setAccel (double x, double y, double z)
 加速度ベクトル設定関数2
int getColorID (void) const
 色 ID 参照関数
void setColorID (int ID)
 色 ID 設定関数
bool getDrawMode (void) const
 描画有無効参照関数
void setDrawMode (bool mode)
 描画有無効設定関数
void handle (void)
 年齢更新関数

説明

パーティクル単体を制御するクラス

このクラスは、パーティクル集合中のパーティクル単体を制御する機能を提供します。

「パーティクル」とは粒子のことで、流体表現などに利用します。 本クラスは、インスタンスをユーザが直接生成するのではなく、 まずは fk_ParticleSet クラス(厳密にはその派生クラス)のインスタンスを用意し、 fk_ParticleSet::newParticle() を用いてインスタンスを生成します。

個々のパーティクルは、以下のような属性を持っています。

パーティクルは、 handle() を呼び出すか、 または fk_ParticleSet::handle() を呼び出すことで時間経過を行い、 速度は加速度によって自動的に更新され、位置も速度によって自動的に更新されます。 ただし、上記の属性はあらゆるタイミングで変更が可能となっており、 速度や加速度を零ベクトルに設定した上で自前で位置を制御することも可能です。

本クラスでは、あくまで個別のパーティクル情報しか得られないため、 パーティクル同士の相互作用など、他のパーティクルの情報を得ることはできません。 そのような場合は、 fk_ParticleSet の機能を利用して下さい。 また、パーティクルの消去は fk_ParticleSet::removeParticle() を利用して下さい。

fk_Particle クラスは fk_Attribute クラスの派生クラスですので、 パーティクルに対し独自の属性や情報を個別に持たせたい場合は、 fk_Attribute の機能を利用することができます。

このクラスと同様に点群を扱うクラスとして、 fk_Point があります。 fk_Particlefk_ParticleSet が法則を記述することが主であることに対し、 fk_Point では点の制御をより直接的に行います。

参照:
fk_ParticleSet, fk_Attribute, fk_Point

関数

void fk_Particle::init ( void  )

初期化関数

パーティクルを初期化します。

int fk_Particle::getID ( void  ) const

ID参照関数

パーティクルの ID を参照します。

戻り値:
ID番号
unsigned int fk_Particle::getCount ( void  ) const

年齢参照関数

パーティクルの年齢を参照します。 年齢とは、パーティクルが生成されてから handle() および fk_ParticleSet::handle() が呼ばれた回数のことです。

戻り値:
年齢
fk_Vector fk_Particle::getPosition ( void  ) const

位置ベクトル参照設定

パーティクルの位置ベクトルを参照します。

戻り値:
位置ベクトル
void fk_Particle::setPosition ( const fk_Vector pos)

位置ベクトル設定関数1

パーティクルの位置ベクトルを設定します。

引数:
[in]pos位置ベクトル
void fk_Particle::setPosition ( double  x,
double  y,
double  z 
)

位置ベクトル設定関数2

パーティクルの位置ベクトルを設定します。

引数:
[in]x位置ベクトルのx成分
[in]y位置ベクトルのy成分
[in]z位置ベクトルのz成分
fk_Vector fk_Particle::getVelocity ( void  ) const

速度ベクトル参照設定

パーティクルの速度ベクトルを参照します。

戻り値:
速度ベクトル
void fk_Particle::setVelocity ( const fk_Vector vel)

速度ベクトル設定関数1

パーティクルの速度ベクトルを設定します。

引数:
[in]vel速度ベクトル
void fk_Particle::setVelocity ( double  x,
double  y,
double  z 
)

速度ベクトル設定関数2

パーティクルの速度ベクトルを設定します。

引数:
[in]x速度ベクトルのx成分
[in]y速度ベクトルのy成分
[in]z速度ベクトルのz成分
fk_Vector fk_Particle::getAccel ( void  ) const

加速度ベクトル参照設定

パーティクルの加速度ベクトルを参照します。

戻り値:
加速度ベクトル
void fk_Particle::setAccel ( const fk_Vector acc)

加速度ベクトル設定関数1

パーティクルの加速度ベクトルを設定します。

引数:
[in]acc加速度ベクトル
void fk_Particle::setAccel ( double  x,
double  y,
double  z 
)

加速度ベクトル設定関数2

パーティクルの加速度ベクトルを設定します。

引数:
[in]x加速度ベクトルのx成分
[in]y加速度ベクトルのy成分
[in]z加速度ベクトルのz成分
int fk_Particle::getColorID ( void  ) const

色 ID 参照関数

パーティクルの色 ID を参照します。

戻り値:
色 ID
参照:
fk_ParticleSet::setColorPalette()
void fk_Particle::setColorID ( int  ID)

色 ID 設定関数

パーティクルの色 ID を設定します。

引数:
[in]ID色 ID
参照:
fk_ParticleSet::setColorPalette()
bool fk_Particle::getDrawMode ( void  ) const

描画有無効参照関数

現在の描画状態の有無を参照します。

戻り値:
描画が有効である場合 true を、 無効となっている場合 false を返します。
void fk_Particle::setDrawMode ( bool  mode)

描画有無効設定関数

現在の描画状態の有無を設定します。

引数:
[in]modetrue の場合、描画を有効とします。false の場合無効とします。
void fk_Particle::handle ( void  )

年齢更新関数

パーティクルの年齢を更新します。 これにより、速度ベクトルには加速度ベクトルが追加され、 位置ベクトルには速度ベクトルが追加されます。 同じパーティクル集合に属する別のパーティクルには影響しません。

参照:
fk_ParticleSet::handle()
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義