# クラス fk_Point

点群を生成、管理するクラス [詳細]

fk_Pointに対する継承グラフ
[凡例]
fk_Pointのコラボレーション図
[凡例]

すべてのメンバ一覧

## Public メソッド
| fk_Point (std::vector< fk_Vector > *array=NULL)
| コンストラクタ
| ~fk_Point ()
| デストラクタ
int | pushVertex (fk_Vector pos)
| 頂点追加関数
bool | setVertex (int ID, fk_Vector pos)
| 頂点位置設定関数
bool | setVertex (int num, fk_Vector *array)
| 点群生成関数 1
bool | setVertex (std::vector< fk_Vector > *array)
| 点群生成関数 2
bool | removeVertex (int ID)
| 頂点削除関数
fk_FVector * | getVertex (int ID)
| 頂点位置ベクトル取得関数
int | getSize (void)
| 頂点数取得関数
void | setDrawMode (int ID, bool mode)
| 頂点描画制御関数
bool | getDrawMode (void)
| 全頂点描画状態参照関数
bool | getDrawMode (int ID)
| 個別頂点描画状態参照関数
void | setColorID (int vID, int cID)
| 描画色設定関数
bool | getColorCount (void)
| 描画色設定有無参照関数
int | getColorID (int vID)
| 描画色参照関数
void | allClear (bool matFlag=true)
| 点群全消去関数

## 説明

点群を生成、管理するクラス

このクラスは、形状として点群を制御する機能を提供します。 1つのインスタンスで、複数の点を制御することが可能です。

このクラスの機能は大きく以下のようなものとなります。

- 点の生成や消去
- 点の移動
- 各点の描画有無の設定
- 各店の描画色の設定

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

参照:
  fk_Shape, fk_Particle, fk_ParticleSet

## コンストラクタとデストラクタ

fk_Point::fk_Point | ( | std::vector< fk_Vector > * | array = `NULL` | ) |

コンストラクタ

引数として vector による fk_Vector 型の配列を与えることによって、 最初から点群を生成することができます。

引数:

  `[in]` | array | 点群位置ベクトル配列。NULL の場合は何も生成しません。

fk_Point::~fk_Point | ( |  | ) |

デストラクタ

## 関数

int fk_Point::pushVertex | ( | fk_Vector | pos | ) |

頂点追加関数

頂点を新たに追加します。

引数:

  `[in]` | pos | 追加する頂点の位置ベクトル

戻り値:
  新しい頂点の ID

bool fk_Point::setVertex | ( | int | ID,
|  | fk_Vector | pos |
| ) |  |  |

頂点位置設定関数

点群中の任意の頂点に対し、位置を設定します。

引数:

  `[in]` | ID | 頂点ID
  `[in]` | pos | 移動先の位置ベクトル

戻り値:
  移動に成功すれば true を、失敗すれば false を返します。

bool fk_Point::setVertex | ( | int | num,
|  | fk_Vector * | array |
| ) |  |  |

点群生成関数 1

bool fk_Point::setVertex | ( | std::vector< fk_Vector > * | array | ) |

点群生成関数 2

bool fk_Point::removeVertex | ( | int | ID | ) |

頂点削除関数

fk_FVector* fk_Point::getVertex | ( | int | ID | ) |

頂点位置ベクトル取得関数

指定した頂点の位置ベクトルのポインタを返します。 ベクトルの型は fk_Vector ではなく fk_FVector であることに注意して下さい。

引数:

  `[in]` | ID | 頂点ID

戻り値:
  頂点の位置ベクトルインスタンスへのポインタ。 指定した頂点が存在しない場合は NULL を返します。

int fk_Point::getSize | ( | void |  | ) |

頂点数取得関数

点群の頂点数を返します。

戻り値:
  頂点数

void fk_Point::setDrawMode | ( | int | ID,
|  | bool | mode |
| ) |  |  |

頂点描画制御関数

個別の頂点に対し、描画の有無を設定します。

引数:

  `[in]` | ID | 頂点ID
  `[in]` | mode | true であれば描画を有効に、false であれば無効にします。

bool fk_Point::getDrawMode | ( | void |  | ) |

全頂点描画状態参照関数

点群全体の描画状況を取得します。

戻り値:
  点群中、1つでも描画される状態であれば true を、 そうでない場合は false を返します。 false を返す場合は、頂点が存在するが全て描画状態が無効である場合と、 1個も頂点が存在していない場合の2通りがありえます。

bool fk_Point::getDrawMode | ( | int | ID | ) |

個別頂点描画状態参照関数

個別の頂点に対し、描画状況をを取得します。

引数:

  `[in]` | ID | 頂点ID

戻り値:
  描画が有効であれば true を、無効であれば false を返します。 指定した ID を持つ頂点が存在しなかった場合も false を返します。

void fk_Point::setColorID | ( | int | vID,
|  | int | cID |
| ) |  |  |

描画色設定関数

個別の頂点に対し、描画色の ID を設定します。 色そのものの設定は、fk_ShapesetPalette() を参照して下さい。

引数:

  `[in]` | vID | 頂点ID
  `[in]` | cID | 色ID

bool fk_Point::getColorCount | ( | void |  | ) |

描画色設定有無参照関数

点群の描画色設定の有無を取得します。

戻り値:
  1個以上の点に描画色が設定されている場合 true を、 1つも描画色が設定されていない場合に false を返します。

int fk_Point::getColorID | ( | int | vID | ) |

描画色参照関数

個別の頂点の描画色を取得します。

引数:

  `[in]` | vID | 頂点ID

戻り値:
  描画色が設定されている場合はその描画色 ID を返します。 描画色が設定されていない場合は -1 を返します。 頂点が存在しない場合は -2 を返します。

void fk_Point::allClear | ( | bool | matFlag = `true` | ) |

点群全消去関数

全ての頂点に関するデータを消去します。

引数:

  `[in]` | matFlag | true の場合は、マテリアルパレットも初期化します。 false の場合は、マテリアルパレットに関しては消去しません。