FineKernelToolKit: FK_CLI::fk_Particle クラス

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_Vector^ | Position`[get, set]`
| 位置ベクトルプロパティ
fk_Vector^ | Velocity`[get, set]`
| 速度ベクトルプロパティ
fk_Vector^ | Accel`[get, set]`
| 加速度ベクトルプロパティ
fk_Color^ | Color`[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_Particle や fk_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 で描画が無効となります。