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_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] が終点となります。

◆ SetDrawMode()

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

線分描画制御メソッド

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

引数
[in]ID線分ID
[in]modetrue であれば描画を有効に、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.ElementModefk_ElementMode.ELEMENT を設定しておく必要があります。

引数
[in]ID要素ID
[in]color色値

プロパティ詳解

◆ Size

int FK_CLI::fk_Line::Size
get

線分本数プロパティ

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