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] | uDeg | u方向字数
  [in] | vDeg | v方向次数

戻り値
  次数設定に成功した場合 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] | u | u パラメータ
  [in] | v | v パラメータ

戻り値
  曲面上の u 方向偏微分ベクトル

fk_Surfaceを実装しています。

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

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

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

引数

  [in] | u | u パラメータ
  [in] | v | v パラメータ

戻り値
  曲面上の v 方向偏微分ベクトル

fk_Surfaceを実装しています。