FineKernelToolKit: FK_CLI::fk_Line クラス

FineKernelToolKit 4.3.0

読み取り中…
検索中…
一致する文字列を見つけられません
公開メンバ関数 | プロパティ | 全メンバ一覧
FK_CLI::fk_Line クラス

有向線分を生成、管理するクラス [詳解]

`#include <CLI/FK_CLI/include/Line_CLI.h>`

FK_CLI::fk_Line の継承関係図
[凡例]
FK_CLI::fk_Line 連携図
[凡例]

## 公開メンバ関数

| fk_Line ()
| コンストラクタ
| ~fk_Line ()
| デストラクタ
| !fk_Line ()
| ファイナライザ
void | AllClear (void)
| 全消去メソッド
void | PushLine (IEnumerable< fk_Vector^>^ array)
| 単独線分追加メソッド1
void | PushLine (fk_Vector^ startPos, fk_Vector^ endPos)
| 単独線分追加メソッド2
bool | ChangeLine (int lineID, fk_Vector^ startPos, fk_Vector^ endPos)
| 線分端点位置変更メソッド
bool | SetVertex (int vertexID, fk_Vector^ pos)
| 単独線分端点位置設定メソッド
bool | SetVertex (int lineID, int vertexID, fk_Vector^ pos)
| 任意線分端点位置設定メソッド
void | SetVertex (IEnumerable< fk_Vector^>^ array)
| 単独線分生成メソッド
void | SetDrawMode (int ID, bool mode)
| 線分描画制御メソッド
bool | GetDrawMode (int ID)
| 個別線分描画状態参照メソッド
void | SetColor (int ID, fk_Color^ color)
| 個別色設定メソッド
基底クラス FK_CLI::fk_Shape に属する継承公開メンバ関数
void | SetShaderAttribute (String^ name, int dim, IEnumerable< int >^ array)
| シェーダー内 attribute 変数設定メソッド1
void | SetShaderAttribute (String^ name, int dim, IEnumerable< float >^ array)
| シェーダー内 attribute 変数設定メソッド2
void | SetShaderAttribute (String^ name, int dim, IEnumerable< double >^ array)
| シェーダー内 attribute 変数設定メソッド3
void | SetShaderAttribute (String^ name, int dim, IEnumerable< fk_Vector^>^ array)
| シェーダー内 attribute 変数設定メソッド4
void | SetShaderAttribute (String^ name, int dim, IEnumerable< fk_TexCoord^>^ array)
| シェーダー内 attribute 変数設定メソッド5
void | SetShaderAttribute (String^ name, int dim, IEnumerable< fk_HVector^>^ array)
| シェーダー内 attribute 変数設定メソッド6
基底クラス 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 | Size`[get]`
| 線分本数プロパティ
基底クラス FK_CLI::fk_Shape に属する継承プロパティ
fk_RealShapeType^ | RealShapeType`[get]`
| 形状データ構造プロパティ

## 詳解

有向線分を生成、管理するクラス

このクラスは、形状として有向線分を制御する機能を提供します。 1つのインスタンスで、複数の有向線分の制御が可能です。 特に断りがない場合、「線分」は有向線分のことを指すものとします。

本クラスの実質的な意義は、 fk_Solid が持つ汎用的な形状操作機能のうち、 線分を生成、管理することに特化していることです。 基底クラスの機能を利用することは可能ですが、 位相操作を伴う変形をした場合、 本クラスのメソッドが正しく動作しない可能性があります。

参照
  fk_Solid, fk_Model, fk_Shape

## 構築子と解体子

## ◆ fk_Line()

FK_CLI::fk_Line::fk_Line | ( |  | ) |

コンストラクタ

## ◆ ~fk_Line()

FK_CLI::fk_Line::~fk_Line | ( |  | ) |

デストラクタ

## ◆ !fk_Line()

FK_CLI::fk_Line::!fk_Line | ( |  | ) |

ファイナライザ

## 関数詳解

## ◆ AllClear()

void FK_CLI::fk_Line::AllClear | ( | void |  | ) |

全消去メソッド

すべてのデータを消去します。

## ◆ PushLine() [1/2]

void FK_CLI::fk_Line::PushLine | ( | IEnumerable< fk_Vector^>^ | array | ) |

単独線分追加メソッド1

線分を追加します。

引数

  [in] | array | 端点位置ベクトルの配列。 array[0] に始点、array[1] に終点となるように配置してください。

## ◆ PushLine() [2/2]

void FK_CLI::fk_Line::PushLine | ( | fk_Vector^ | startPos,
|  | fk_Vector^ | endPos )

単独線分追加メソッド2

線分を追加します。

引数

  [in] | startPos | 始点位置ベクトル
  [in] | endPos | 終点位置ベクトル

## ◆ ChangeLine()

bool FK_CLI::fk_Line::ChangeLine | ( | int | lineID,
|  | fk_Vector^ | startPos,
|  | fk_Vector^ | endPos )

線分端点位置変更メソッド

線分の端点位置を変更します。

引数

  [in] | lineID | 制御する線分ID。線分IDは、最初に生成したものが0で、 以降生成順に 1 ずつ増加したものになります。 存在しない線分 ID を指定した場合は何も起こりません。
  [in] | startPos | 始点位置ベクトル
  [in] | endPos | 終点位置ベクトル

戻り値
  端点位置の設定がなされれば true、 そうでない場合は false を返します。

## ◆ SetVertex() [1/3]

bool FK_CLI::fk_Line::SetVertex | ( | int | vertexID,
|  | fk_Vector^ | pos )

単独線分端点位置設定メソッド

このメソッドは、現在の線分本数によって挙動が異なります。

- 線分が生成されていない場合、vertexID の値は無視され、 pos を両端点とする縮退した線分が生成されます。
- 線分が1本のみの場合は、その線分の端点位置を pos に変更します。 vertexID が 0 の場合始点、1 の場合終点を変更します。 vertexID がその他の値だった場合は、何も起こりません。
- 線分が2本以上あった場合は、何も起こりません。

引数

  [in] | vertexID | 端点ID。(線分が1本のときのみ有効)
  [in] | pos | 端点の位置ベクトル

戻り値
  なんらかの形で端点位置の設定がなされれば true、 そうでない場合は false を返します。

## ◆ SetVertex() [2/3]

bool FK_CLI::fk_Line::SetVertex | ( | int | lineID,
|  | int | vertexID,
|  | fk_Vector^ | pos )

任意線分端点位置設定メソッド

生成されている任意の線分の端点位置を変更します。

引数

  [in] | lineID | 制御する線分ID。線分IDは、最初に生成したものが0で、 以降生成順に 1 ずつ増加したものになります。 存在しない線分 ID を指定した場合は何も起こりません。
  [in] | vertexID | 始点の場合 0、終点の場合 1 を入力します。 その他の値を指定した場合は何も起こりません。
  [in] | pos | 端点の位置ベクトル

戻り値
  端点位置の設定がなされれば true、 そうでない場合は false を返します。

## ◆ SetVertex() [3/3]

void FK_CLI::fk_Line::SetVertex | ( | IEnumerable< fk_Vector^>^ | array | ) |

単独線分生成メソッド

1本の線分を生成します。 入力する fk_Vector 型の配列は、長さが 2 以上でなければなりません。 このメソッドを呼んだ場合、既にあった線分はすべて破棄されます。

引数

  [in] | array | fk_Vector 型の配列。array[0] が始点、array[1] が終点となります。

## ◆ SetDrawMode()

void FK_CLI::fk_Line::SetDrawMode | ( | int | ID,
|  | bool | mode )

線分描画制御メソッド

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

引数

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

## ◆ GetDrawMode()

bool FK_CLI::fk_Line::GetDrawMode | ( | int | ID | ) |

個別線分描画状態参照メソッド

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

引数

  [in] | ID | 線分ID

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

## ◆ SetColor()

void FK_CLI::fk_Line::SetColor | ( | int | ID,
|  | fk_Color^ | color )

個別色設定メソッド

線分の色を個別に設定します。 この色設定によって表示するには、 fk_Model.ElementMode に fk_ElementMode.ELEMENT を設定しておく必要があります。

引数

  [in] | ID | 要素ID
  [in] | color | 色値

## プロパティ詳解

## ◆ Size

int FK_CLI::fk_Line::Size

get

線分本数プロパティ

線分の本数を参照します。