FineKernelToolKit 4.3.0
読み取り中…
検索中…
一致する文字列を見つけられません
FK_CLI::fk_Particle クラス

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

#include <CLI/FK_CLI/include/Particle_CLI.h>

FK_CLI::fk_Particle の継承関係図
FK_CLI::fk_Particle 連携図

公開メンバ関数

void Init (void)
 初期化メソッド
void Handle (void)
 年齢更新メソッド
基底クラス FK_CLI::fk_Attribute に属する継承公開メンバ関数
bool SetAttrII (int key, int value)
 キーが int 型、値が int 型である属性設定メソッド
bool SetAttrID (int key, double value)
 キーが int 型、値が double 型である属性設定メソッド
bool SetAttrIS (int key, String^ value)
 キーが int 型、値が String 型である属性設定メソッド
bool SetAttrSI (String^ key, int value)
 キーが String 型、値が int 型である属性設定メソッド
bool SetAttrSD (String^ key, double value)
 キーが String 型、値が double 型である属性設定メソッド
bool SetAttrSS (String ^ key, String^ value)
 キーが String 型、値が String 型である属性設定メソッド
int GetAttrII (int key)
 キーが int 型、値が int 型である属性参照メソッド
double GetAttrID (int key)
 キーが int 型、値が double 型である属性参照メソッド
String ^ GetAttrIS (int key)
 キーが int 型、値が String 型である属性参照メソッド
int GetAttrSI (String^ key)
 キーが String 型、値が int 型である属性参照メソッド
double GetAttrSD (String^ key)
 キーが String 型、値が double 型である属性参照メソッド
String ^ GetAttrSS (String^ key)
 キーが String 型、値が String 型である属性参照メソッド
bool ExistAttrII (int key)
 キーが int 型、値が int 型である属性存在参照メソッド
bool ExistAttrID (int key)
 キーが int 型、値が double 型である属性存在参照メソッド
bool ExistAttrIS (int key)
 キーが int 型、値が String 型である属性存在参照メソッド
bool ExistAttrSI (String^ key)
 キーが String 型、値が int 型である属性存在参照メソッド
bool ExistAttrSD (String^ key)
 キーが String 型、値が double 型である属性存在参照メソッド
bool ExistAttrSS (String^ key)
 キーが String 型、値が String 型である属性存在参照メソッド
bool DeleteAttrII (int key)
 キーが int 型、値が int 型である属性消去メソッド
bool DeleteAttrID (int key)
 キーが int 型、値が double 型である属性消去メソッド
bool DeleteAttrIS (int key)
 キーが int 型、値が String 型である属性消去メソッド
bool DeleteAttrSI (String^ key)
 キーが String 型、値が int 型である属性消去メソッド
bool DeleteAttrSD (String^ key)
 キーが String 型、値が double 型である属性消去メソッド
bool DeleteAttrSS (String^ key)
 キーが String 型、値が String 型である属性消去メソッド

プロパティ

int ID [get]
 ID プロパティ
unsigned int Count [get]
 年齢プロパティ
fk_VectorPosition [get, set]
 位置ベクトルプロパティ
fk_VectorVelocity [get, set]
 速度ベクトルプロパティ
fk_VectorAccel [get, set]
 加速度ベクトルプロパティ
fk_ColorColor [get, set]
 色 ID プロパティ
bool DrawMode [get, set]
 描画有無効プロパティ

詳解

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

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

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

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

  • ID番号
  • 位置
  • 速度
  • 加速度
  • 年齢
  • 色インデックス
  • 描画有無属性

パーティクルは、 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

関数詳解

◆ Init()

void FK_CLI::fk_Particle::Init ( void )

初期化メソッド

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

◆ Handle()

void FK_CLI::fk_Particle::Handle ( void )

年齢更新メソッド

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

参照
fk_ParticleSet::Handle()

プロパティ詳解

◆ ID

int FK_CLI::fk_Particle::ID
get

ID プロパティ

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

◆ Count

unsigned int FK_CLI::fk_Particle::Count
get

年齢プロパティ

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

◆ Position

fk_Vector^ FK_CLI::fk_Particle::Position
getset

位置ベクトルプロパティ

パーティクルの位置ベクトルの参照・設定を行います。

◆ Velocity

fk_Vector^ FK_CLI::fk_Particle::Velocity
getset

速度ベクトルプロパティ

パーティクルの速度ベクトルの参照・設定を行います。

◆ Accel

fk_Vector^ FK_CLI::fk_Particle::Accel
getset

加速度ベクトルプロパティ

パーティクルの加速度ベクトルの参照・設定を行います。

◆ Color

fk_Color^ FK_CLI::fk_Particle::Color
getset

色 ID プロパティ

パーティクルの色 ID の参照・設定を行います。

参照
fk_ParticleSet::SetColorPalette()

◆ DrawMode

bool FK_CLI::fk_Particle::DrawMode
getset

描画有無効プロパティ

現在の描画状態の有無を参照・設定します。 true で描画が有効、false で描画が無効となります。