FineKernelToolKit: FK_CLI::fk_BezCurve クラス

FineKernelToolKit 4.3.0

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

Bezier曲線を生成、管理するクラス [詳解]

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

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

## 公開メンバ関数

| fk_BezCurve ()
| コンストラクタ
| ~fk_BezCurve ()
| デストラクタ
| !fk_BezCurve ()
| ファイナライザ
void | Init (void)
| 初期化用メソッド
bool | SetCtrl (int ID, fk_Vector^ pos)
| 制御点設定メソッド
fk_Vector ^ | GetCtrl (int ID)
| 制御点参照メソッド
fk_Vector ^ | Pos (double t)
| 曲線点算出関数
fk_Vector ^ | Diff (double t)
| 曲線1階微分ベクトル算出メソッド
基底クラス 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 | Degree`[get, set]`
| 次数プロパティ
int | Div`[get, set]`
| 分割数プロパティ
基底クラス FK_CLI::fk_Shape に属する継承プロパティ
fk_RealShapeType^ | RealShapeType`[get]`
| 形状データ構造プロパティ

## 詳解

Bezier曲線を生成、管理するクラス

このクラスは、形状として Bezier 曲線を制御する機能を提供します。 初期状態は 3 次式で、制御点が全て原点にある状態となります。 現状では、2,3,4次式のいずれかのみしか生成できません。

## 構築子と解体子

## ◆ fk_BezCurve()

FK_CLI::fk_BezCurve::fk_BezCurve | ( |  | ) |

コンストラクタ

## ◆ ~fk_BezCurve()

FK_CLI::fk_BezCurve::~fk_BezCurve | ( |  | ) |

デストラクタ

## ◆ !fk_BezCurve()

FK_CLI::fk_BezCurve::!fk_BezCurve | ( |  | ) |

ファイナライザ

## 関数詳解

## ◆ Init()

void FK_CLI::fk_BezCurve::Init | ( | void |  | ) |

初期化用メソッド

このメソッドは、曲線を初期状態にします。具体的には、以下の通りの設定を行います。

- 次数を3次とする。
- 制御点を全て原点とする。

## ◆ SetCtrl()

bool FK_CLI::fk_BezCurve::SetCtrl | ( | int | ID,
|  | fk_Vector^ | pos )

制御点設定メソッド

曲線の制御点位置ベクトルを設定します。

引数

  [in] | ID | 設定する制御点の ID。先頭は 0 になります。
  [in] | pos | 制御点位置ベクトル

戻り値
  設定に成功した場合 true、失敗した場合 false を返します。

## ◆ GetCtrl()

fk_Vector ^ FK_CLI::fk_BezCurve::GetCtrl | ( | int | ID | ) |

制御点参照メソッド

曲線の制御点位置ベクトルを参照します。

引数

  [in] | ID | 制御点の ID

戻り値
  制御点位置ベクトル。ID が不正だった場合、零ベクトルを返します。

## ◆ Pos()

fk_Vector ^ FK_CLI::fk_BezCurve::Pos | ( | double | t | ) |

曲線点算出関数

パラメータに対応する曲線の点の位置ベクトルを返します。

引数

  [in] | t | パラメータ

戻り値
  曲線上の点の位置ベクトル

## ◆ Diff()

fk_Vector ^ FK_CLI::fk_BezCurve::Diff | ( | double | t | ) |

曲線1階微分ベクトル算出メソッド

パラメータに対応する曲線上の点の1階微分ベクトルを返します。 Bezier 曲線の幾何的定義ではパラメータの定義域は 0 から 1 までですが、 本メソッドはそれ以外の範囲であっても式の演算結果を返します。

引数

  [in] | t | 曲線上のパラメータ

戻り値
  曲線上の点の1階微分ベクトル

## プロパティ詳解

## ◆ Degree

int FK_CLI::fk_BezCurve::Degree

getset

次数プロパティ

このプロパティは、曲線次数の設定や参照に使用します。 現状では、2,3,4のいずれかのみ以外は設定できません。 設定した場合、全ての制御点の位置ベクトルは原点になります。

## ◆ Div

int FK_CLI::fk_BezCurve::Div

getset

分割数プロパティ

このプロパティは、描画時分割数の設定や参照に使用します。