FineKernelToolKit
2.8.10
|
有向線分を生成、管理するクラス [詳細]
Public メソッド | |
fk_Line (std::vector< fk_Vector > *array=NULL) | |
コンストラクタ | |
virtual | ~fk_Line () |
デストラクタ | |
bool | setVertex (int vertexID, fk_Vector pos) |
単独線分端点位置設定関数 | |
bool | setVertex (int lineID, int vertexID, fk_Vector pos) |
任意線分端点位置設定関数 | |
void | setVertex (fk_Vector *array) |
単独線分生成関数 | |
void | setVertex (std::vector< fk_Vector > *array) |
複数線分生成関数 | |
void | pushLine (fk_Vector *array) |
単独線分追加関数1 | |
void | pushLine (fk_Vector startPos, fk_Vector endPos) |
単独線分追加関数2 | |
bool | changeLine (int lineID, fk_Vector startPos, fk_Vector endPos) |
線分端点位置変更関数 |
有向線分を生成、管理するクラス
このクラスは、形状として有向線分を制御する機能を提供します。 1つのインスタンスで、複数の有向線分の制御が可能です。 特に断りがない場合、「線分」は有向線分のことを指すものとします。
本クラスの実質的な意義は、 fk_Solid が持つ汎用的な形状操作機能のうち、 線分を生成、管理することに特化していることです。 基底クラスの機能を利用することは可能ですが、 位相操作を伴う変形をした場合、 本クラスのメンバ関数が正しく動作しない可能性があります。
fk_Line::fk_Line | ( | std::vector< fk_Vector > * | array = NULL | ) |
コンストラクタ
引数として vector による fk_Vector 型の配列を与えることによって、 最初から線分を生成することができます。
[in] | array | 端点位置ベクトルの配列。 線分 ID が i となる線分の端点が、 array[2*i] と array[2*i+1] となるように配置してください。 線分の端点配列。NULL が代入された場合、線分を生成しません。 |
virtual fk_Line::~fk_Line | ( | ) | [virtual] |
デストラクタ
bool fk_Line::setVertex | ( | int | vertexID, |
fk_Vector | pos | ||
) |
単独線分端点位置設定関数
この関数は、現在の線分本数によって挙動が異なります。
[in] | vertexID | 端点ID。(線分が1本のときのみ有効) |
[in] | pos | 端点の位置ベクトル |
bool fk_Line::setVertex | ( | int | lineID, |
int | vertexID, | ||
fk_Vector | pos | ||
) |
任意線分端点位置設定関数
生成されている任意の線分の端点位置を変更します。
[in] | lineID | 制御する線分ID。線分IDは、最初に生成したものが0で、 以降生成順に 1 ずつ増加したものになります。 存在しない線分 ID を指定した場合は何も起こりません。 |
[in] | vertexID | 始点の場合 0、終点の場合 1 を入力します。 その他の値を指定した場合は何も起こりません。 |
[in] | pos | 端点の位置ベクトル |
void fk_Line::setVertex | ( | fk_Vector * | array | ) |
void fk_Line::setVertex | ( | std::vector< fk_Vector > * | array | ) |
複数線分生成関数
複数の線分を生成します。 この関数を呼んだ場合、既にあった線分はすべて破棄されます。
[in] | array | 端点位置ベクトルの配列。 線分 ID が i となる線分の端点が、 array[2*i] と array[2*i+1] となるように配置してください。 |
void fk_Line::pushLine | ( | fk_Vector * | array | ) |
単独線分追加関数1
線分を追加します。
[in] | array | 端点位置ベクトルの配列。 array[0] に始点、array[1] に終点となるように配置してください。 |
単独線分追加関数2
線分を追加します。
[in] | startPos | 始点位置ベクトル |
[in] | endPos | 終点位置ベクトル |
線分端点位置変更関数
線分の端点位置を変更します。
[in] | lineID | 制御する線分ID。線分IDは、最初に生成したものが0で、 以降生成順に 1 ずつ増加したものになります。 存在しない線分 ID を指定した場合は何も起こりません。 |
[in] | startPos | 始点位置ベクトル |
[in] | endPos | 終点位置ベクトル |
fk_Modifyを再定義しています。