FineKernelToolKit  2.9.0
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義 ページ
Public メソッド | すべてのメンバ一覧
クラス fk_BezCurve

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

+ fk_BezCurveに対する継承グラフ
+ fk_BezCurveのコラボレーション図

Public メソッド

 fk_BezCurve (void)
 コンストラクタ [詳細]
 
virtual ~fk_BezCurve ()
 デストラクタ [詳細]
 
void init (void)
 初期化用関数 [詳細]
 
bool setDegree (int deg)
 次数設定関数 [詳細]
 
bool setCtrl (int ID, const fk_Vector &pos)
 制御点設定関数 [詳細]
 
int getDegree (void)
 次数参照関数 [詳細]
 
fk_Vector getCtrl (int ID)
 制御点参照関数 [詳細]
 
fk_Vector pos (double t)
 曲線算出関数 [詳細]
 
fk_Vector diff (double t)
 曲線1階微分ベクトル算出関数 [詳細]
 
- Public メソッド inherited from fk_Curve
 fk_Curve (void)
 コンストラクタ [詳細]
 
virtual ~fk_Curve ()
 デストラクタ [詳細]
 
void setDiv (int div)
 曲線キャッシュ分割数設定関数 [詳細]
 
int getDiv (void)
 曲線キャッシュ分割数参照関数 [詳細]
 
- Public メソッド inherited from fk_BaseObject
 fk_BaseObject (fk_ObjectType type=FK_BASEOBJECT)
 コンストラクタ [詳細]
 
fk_ObjectType getObjectType (void) const
 タイプ取得関数 [詳細]
 

Additional Inherited Members

- Protected 変数 inherited from fk_Curve
bool changeFlg
 修正告知用フラグ [詳細]
 

説明

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

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

意見
本クラスは現在ベータ機能としての位置づけであり、 ユーザーズマニュアルには記載されていません。 また、今後のバージョンアップにおいて仕様が変更される可能性があります。

コンストラクタとデストラクタ

fk_BezCurve::fk_BezCurve ( void  )

コンストラクタ

virtual fk_BezCurve::~fk_BezCurve ( )
virtual

デストラクタ

関数

void fk_BezCurve::init ( void  )

初期化用関数

この関数は、曲線を初期状態(3次式、全ての制御点が原点にある状態)にします。

bool fk_BezCurve::setDegree ( int  deg)

次数設定関数

この関数は、曲線の次数を設定します。 現状では、2,3,4のいずれかのみ以外は設定できません。 次数が増加した場合は、これまで保持されていた制御点位置ベクトルは保持され、 新たな制御点は原点に配置されます。 次数が減少した場合は、末尾の制御点が消失しますが、 存続している制御点の位置ベクトルは保持されます。

引数
[in]deg次数
戻り値
次数設定に成功した場合 true、失敗した場合 false を返します。
bool fk_BezCurve::setCtrl ( int  ID,
const fk_Vector pos 
)

制御点設定関数

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

引数
[in]ID設定する制御点の ID。先頭は 0 になります。
[in]pos制御点位置ベクトル
戻り値
設定に成功した場合 true、失敗した場合 false を返します。
int fk_BezCurve::getDegree ( void  )

次数参照関数

曲線の次数を参照します。

戻り値
次数
fk_Vector fk_BezCurve::getCtrl ( int  ID)

制御点参照関数

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

引数
[in]ID制御点 ID
戻り値
制御点位置ベクトル。IDが不正だった場合、零ベクトルを返します。
fk_Vector fk_BezCurve::pos ( double  t)
virtual

曲線算出関数

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

引数
[in]t曲線上のパラメータ
戻り値
曲線上の点の位置ベクトル

fk_Curveを実装しています。

fk_Vector fk_BezCurve::diff ( double  t)
virtual

曲線1階微分ベクトル算出関数

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

引数
[in]t曲線上のパラメータ
戻り値
曲線上の点の1階微分ベクトル

fk_Curveを実装しています。