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

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

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

Public メソッド

 fk_BezSurface (void)
 コンストラクタ [詳細]
 
virtual ~fk_BezSurface ()
 デストラクタ [詳細]
 
void init (void)
 初期化用関数 [詳細]
 
bool setDegree (int uDeg, int vDeg)
 次数設定関数 [詳細]
 
bool setCtrl (int uID, int vID, const fk_Vector &pos)
 制御点設定関数 [詳細]
 
int getUDegree (void)
 u方向次数参照関数 [詳細]
 
int getVDegree (void)
 v方向次数参照関数 [詳細]
 
fk_Vector getCtrl (int uID, int vID)
 制御点参照関数 [詳細]
 
fk_Vector pos (double u, double v)
 曲面点算出関数 [詳細]
 
fk_Vector uDeriv (double u, double v)
 曲面 u 方向偏微分ベクトル算出関数 [詳細]
 
fk_Vector vDeriv (double u, double v)
 曲面 v 方向偏微分ベクトル算出関数 [詳細]
 
- Public メソッド inherited from fk_Surface
 fk_Surface (void)
 コンストラクタ [詳細]
 
virtual ~fk_Surface ()
 デストラクタ [詳細]
 
fk_Vector norm (double u, double v)
 
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_Surface
bool changeFlg
 修正告知用フラグ [詳細]
 

説明

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

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

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

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

fk_BezSurface::fk_BezSurface ( void  )

コンストラクタ

virtual fk_BezSurface::~fk_BezSurface ( )
virtual

デストラクタ

関数

void fk_BezSurface::init ( void  )

初期化用関数

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

bool fk_BezSurface::setDegree ( int  uDeg,
int  vDeg 
)

次数設定関数

この関数は、曲面の次数を設定します。 現状では、2,3,4のいずれかのみ以外は設定できません。 この関数の実行後、全ての制御点の位置ベクトルは原点になります。

引数
[in]uDegu方向字数
[in]vDegv方向次数
戻り値
次数設定に成功した場合 true、失敗した場合 false を返します。
bool fk_BezSurface::setCtrl ( int  uID,
int  vID,
const fk_Vector pos 
)

制御点設定関数

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

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

u方向次数参照関数

曲面のu方向次数を参照します。

戻り値
u方向次数
int fk_BezSurface::getVDegree ( void  )

v方向次数参照関数

曲面のv方向次数を参照します。

戻り値
v方向次数
fk_Vector fk_BezSurface::getCtrl ( int  uID,
int  vID 
)

制御点参照関数

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

引数
[in]uID制御点のu方向ID
[in]vID制御点のv方向ID
戻り値
制御点位置ベクトル。IDが不正だった場合、零ベクトルを返します。
fk_Vector fk_BezSurface::pos ( double  u,
double  v 
)
virtual

曲面点算出関数

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

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

fk_Surfaceを実装しています。

fk_Vector fk_BezSurface::uDeriv ( double  u,
double  v 
)
virtual

曲面 u 方向偏微分ベクトル算出関数

曲面上の u 方向偏微分ベクトルを算出する関数です。

引数
[in]uu パラメータ
[in]vv パラメータ
戻り値
曲面上の u 方向偏微分ベクトル

fk_Surfaceを実装しています。

fk_Vector fk_BezSurface::vDeriv ( double  u,
double  v 
)
virtual

曲面 v 方向偏微分ベクトル算出関数

曲面上の v 方向偏微分ベクトルを算出する関数です。

引数
[in]uu パラメータ
[in]vv パラメータ
戻り値
曲面上の v 方向偏微分ベクトル

fk_Surfaceを実装しています。