FineKernelToolKit 4.2.13
|
B-Spline 曲線を生成、管理するクラス [詳解]
#include <FK/BSplCurve.h>
公開メンバ関数 | |
fk_BSplCurve (void) | |
コンストラクタ | |
virtual | ~fk_BSplCurve () |
デストラクタ | |
void | init (void) |
初期化用関数 | |
bool | setOrdinate (int ord) |
位数設定関数 | |
bool | setNum (int num) |
制御点数設定関数 | |
int | getOrdinate (void) |
int | getNum (void) |
制御点数参照関数 | |
fk_Vector | pos (double t) |
曲線算出関数 | |
fk_Vector | diff (double t) |
曲線1階微分ベクトル算出関数 | |
![]() | |
fk_Curve (void) | |
コンストラクタ | |
virtual | ~fk_Curve () |
デストラクタ | |
virtual bool | setCtrl (int ID, fk_Vector pos) |
制御点設定関数2 | |
virtual bool | setWeight (int ID, double w) |
制御点重み値設定関数 | |
fk_Vector | getCtrl (int ID) |
制御点位置取得関数 | |
double | getWeight (int ID) |
制御点重み値取得関数 | |
int | getCtrlSize (void) |
制御点数取得関数 | |
void | setDiv (int num) |
分割数設定関数 | |
int | getDiv (void) |
分割数取得関数 | |
![]() | |
fk_Shape (fk_Type=fk_Type::SHAPE) | |
コンストラクタ | |
virtual | ~fk_Shape () |
デストラクタ | |
fk_RealShapeType | getRealShapeType (void) |
形状データ構造取得関数 | |
void | setShaderAttribute (std::string name, int dim, std::vector< int > *array, bool self=false) |
シェーダー内 attribute 変数設定関数1 | |
void | setShaderAttribute (std::string name, int dim, std::vector< float > *array, bool self=false) |
シェーダー内 attribute 変数設定関数2 | |
void | setShaderAttribute (std::string name, int dim, std::vector< fk_Vector > *array) |
シェーダー内 attribute 変数設定関数3 | |
void | setShaderAttribute (std::string name, int dim, std::vector< fk_TexCoord > *array) |
シェーダー内 attribute 変数設定関数4 | |
void | setShaderAttribute (std::string name, int dim, std::vector< fk_HVector > *array) |
シェーダー内 attribute 変数設定関数5 | |
void | modifyAttribute (std::string name) |
attribute 変数更新関数 | |
![]() | |
fk_Attribute (void) | |
コンストラクタ | |
virtual | ~fk_Attribute () |
デストラクタ | |
bool | setAttrII (const int key, const int value) |
キーが int 型、値が int 型である属性設定関数 | |
bool | setAttrID (const int key, const double value) |
キーが int 型、値が double 型である属性設定関数 | |
bool | setAttrIS (const int key, const std::string value) |
キーが int 型、値が std::string 型である属性設定関数 | |
bool | setAttrSI (const std::string key, const int value) |
キーが std::string 型、値が int 型である属性設定関数 | |
bool | setAttrSD (const std::string key, const double value) |
キーが std::string 型、値が double 型である属性設定関数 | |
bool | setAttrSS (const std::string key, const std::string value) |
キーが std::string 型、値が std::string 型である属性設定関数 | |
int | getAttrII (const int key) const |
キーが int 型、値が int 型である属性参照関数 | |
double | getAttrID (const int key) const |
キーが int 型、値が double 型である属性参照関数 | |
std::string | getAttrIS (const int key) const |
キーが int 型、値が std::string 型である属性参照関数 | |
int | getAttrSI (const std::string key) const |
キーが std::string 型、値が int 型である属性参照関数 | |
double | getAttrSD (const std::string key) const |
キーが std::string 型、値が double 型である属性参照関数 | |
std::string | getAttrSS (const std::string key) const |
キーが std::string 型、値が std::string 型である属性参照関数 | |
bool | existAttrII (const int key) const |
キーが int 型、値が int 型である属性存在参照関数 | |
bool | existAttrID (const int key) const |
キーが int 型、値が double 型である属性存在参照関数 | |
bool | existAttrIS (const int key) const |
キーが int 型、値が std::string 型である属性存在参照関数 | |
bool | existAttrSI (const std::string key) const |
キーが std::string 型、値が int 型である属性存在参照関数 | |
bool | existAttrSD (const std::string key) const |
キーが std::string 型、値が double 型である属性存在参照関数 | |
bool | existAttrSS (const std::string key) const |
キーが std::string 型、値が std::string 型である属性存在参照関数 | |
bool | deleteAttrII (const int key) |
キーが int 型、値が int 型である属性消去関数 | |
bool | deleteAttrID (const int key) |
キーが int 型、値が double 型である属性消去関数 | |
bool | deleteAttrIS (const int key) |
キーが int 型、値が std::string 型である属性消去関数 | |
bool | deleteAttrSI (const std::string key) |
キーが std::string 型、値が int 型である属性消去関数 | |
bool | deleteAttrSD (const std::string key) |
キーが std::string 型、値が double 型である属性消去関数 | |
bool | deleteAttrSS (const std::string key) |
キーが std::string 型、値が std::string 型である属性消去関数 | |
![]() | |
fk_BaseObject (fk_Type type=fk_Type::BASEOBJECT) | |
コンストラクタ | |
fk_Type | getObjectType (void) const |
タイプ取得関数 | |
その他の継承メンバ | |
![]() | |
void | setCtrlSize (int num) |
制御点数設定関数 | |
![]() | |
std::unique_ptr< fk_FVecArray > | _m_ctrlPos |
制御点配列 | |
B-Spline 曲線を生成、管理するクラス
このクラスは、形状として B-Spline 曲線を制御する機能を提供します。 初期状態での位数は 3 で、制御点が全て原点にある状態となります。 現状では位数が 3,4,5 のいずれかのみしか生成できません。 また、このクラスの B-Spline 曲線は開一様 (Open Uniform) であることを前提にしており、ノットベクトルを制御することはできません。
FK::fk_BSplCurve::fk_BSplCurve | ( | void | ) |
コンストラクタ
|
virtual |
デストラクタ
|
virtual |
初期化用関数
この関数は、曲線を初期状態にします。 初期状態とは、以下のような条件で曲線を構築することです。
FK::fk_Curveを再実装しています。
bool FK::fk_BSplCurve::setOrdinate | ( | int | ord | ) |
位数設定関数
この関数は、曲線の位数を設定します。 現状では、3,4,5 のいずれかのみ以外は設定できません。 位数が増加した場合は、これまで保持されていた制御点位置ベクトルは保持され、 新たな制御点は原点に配置されます。 位数が減少した場合は、末尾の制御点が消失しますが、 存続している制御点の位置ベクトルは保持されます。
[in] | ord | 位数 |
bool FK::fk_BSplCurve::setNum | ( | int | num | ) |
制御点数設定関数
曲線の制御点数を設定します。 制御点数は、位数以上である必要があります。 上限値はありません。
[in] | num | 制御点数 |
int FK::fk_BSplCurve::getOrdinate | ( | void | ) |
曲線の位数を参照します。
int FK::fk_BSplCurve::getNum | ( | void | ) |
制御点数参照関数
曲線の制御点数を参照します。
|
virtual |
曲線算出関数
パラメータに対応する曲線上の点の位置ベクトルを返します。 B-Spline 曲線の幾何的定義ではパラメータの定義域は 0 から 1 までですが、 本関数はそれ以外の範囲であっても式の演算結果を返します。
[in] | t | 曲線上のパラメータ |
FK::fk_Curveを実装しています。
|
virtual |
曲線1階微分ベクトル算出関数
パラメータに対応する曲線上の点の1階微分ベクトルを返します。 B-Spline 曲線の幾何的定義ではパラメータの定義域は 0 から 1 までですが、 本関数はそれ以外の範囲であっても式の演算結果を返します。
[in] | t | 曲線上のパラメータ |
FK::fk_Curveを実装しています。