FineKernelToolKit 4.2.13
読み取り中…
検索中…
一致する文字列を見つけられません
公開メンバ関数 | 全メンバ一覧
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)
 単独線分生成メソッド
 
- 基底クラス 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 型である属性消去メソッド
 

その他の継承メンバ

- 基底クラス FK_CLI::fk_Shape に属する継承プロパティ
fk_RealShapeTypeRealShapeType [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]arrayfk_Vector 型の配列。array[0] が始点、array[1] が終点となります。