|
FineKernelToolKit
2.8.10
|
B-Spline 曲線を生成、管理するクラス [詳細]
fk_BSplCurveに対する継承グラフ
fk_BSplCurveのコラボレーション図Public メソッド | |
| fk_BSplCurve (void) | |
| コンストラクタ | |
| virtual | ~fk_BSplCurve () |
| デストラクタ | |
| void | init (void) |
| 初期化用関数 | |
| bool | setOrdinate (int ord) |
| 位数設定関数 | |
| bool | setNum (int num) |
| 制御点数設定関数 | |
| bool | setCtrl (int ID, const fk_Vector &pos) |
| 制御点設定関数(個別) | |
| bool | setCtrl (std::vector< fk_Vector > *array) |
| 制御点設定関数(配列) | |
| int | getOrdinate (void) |
| int | getNum (void) |
| 制御点数参照関数 | |
| fk_Vector | getCtrl (int ID) |
| 制御点参照関数 | |
| fk_Vector | pos (double t) |
| 曲線算出関数 | |
| fk_Vector | diff (double t) |
| 曲線1階微分ベクトル算出関数 | |
B-Spline 曲線を生成、管理するクラス
このクラスは、形状として B-Spline 曲線を制御する機能を提供します。 初期状態での位数は 3 で、制御点が全て原点にある状態となります。 現状では位数が 3,4,5 のいずれかのみしか生成できません。 また、このクラスの B-Spline 曲線は開一様 (Open Uniform) であることを前提にしており、ノットベクトルを制御することはできません。
| fk_BSplCurve::fk_BSplCurve | ( | void | ) |
コンストラクタ
| virtual fk_BSplCurve::~fk_BSplCurve | ( | ) | [virtual] |
デストラクタ
| void fk_BSplCurve::init | ( | void | ) |
初期化用関数
この関数は、曲線を初期状態にします。 初期状態とは、以下のような条件で曲線を構築することです。
| bool fk_BSplCurve::setOrdinate | ( | int | ord | ) |
位数設定関数
この関数は、曲線の位数を設定します。 現状では、3,4,5 のいずれかのみ以外は設定できません。 位数が増加した場合は、これまで保持されていた制御点位置ベクトルは保持され、 新たな制御点は原点に配置されます。 位数が減少した場合は、末尾の制御点が消失しますが、 存続している制御点の位置ベクトルは保持されます。
| [in] | ord | 位数 |
| bool fk_BSplCurve::setNum | ( | int | num | ) |
制御点数設定関数
曲線の制御点数を設定します。 制御点数は、位数以上である必要があります。 上限値はありません。
| [in] | num | 制御点数 |
| bool fk_BSplCurve::setCtrl | ( | int | ID, |
| const fk_Vector & | pos | ||
| ) |
制御点設定関数(個別)
曲線の制御点位置ベクトルを設定します。
| [in] | ID | 設定する制御点の ID。先頭は 0 になります。 |
| [in] | pos | 制御点位置ベクトル |
| bool fk_BSplCurve::setCtrl | ( | std::vector< fk_Vector > * | array | ) |
制御点設定関数(配列)
曲線の制御点位置ベクトルを、vector 配列を用いて一斉に設定します。 設定の際、制御点数は setNum() によって設定しておく必要があり、 配列のサイズは上記と一致していなければなりません。
| [in] | array | 制御点の vector 配列のポインタ |
| int fk_BSplCurve::getOrdinate | ( | void | ) |
曲線の位数を参照します。
| int fk_BSplCurve::getNum | ( | void | ) |
制御点数参照関数
曲線の制御点数を参照します。
| fk_Vector fk_BSplCurve::getCtrl | ( | int | ID | ) |
制御点参照関数
曲線の制御点位置ベクトルを参照します。
| [in] | ID | 制御点 ID |
| fk_Vector fk_BSplCurve::pos | ( | double | t | ) | [virtual] |
曲線算出関数
パラメータに対応する曲線上の点の位置ベクトルを返します。 B-Spline 曲線の幾何的定義ではパラメータの定義域は 0 から 1 までですが、 本関数はそれ以外の範囲であっても式の演算結果を返します。
| [in] | t | 曲線上のパラメータ |
fk_Curveを実装しています。
1.7.5.1