# クラス fk_Surface

曲面用純粋仮想クラス [詳細]

fk_Surfaceに対する継承グラフ
[凡例]
fk_Surfaceのコラボレーション図
[凡例]

すべてのメンバ一覧

## Public メソッド
| fk_Surface (void)
| コンストラクタ
virtual | ~fk_Surface ()
| デストラクタ
virtual fk_Vector | pos (double u, double v)=0
| 曲面点位置ベクトル算出関数
virtual fk_Vector | uDeriv (double u, double v)=0
| 曲面 u 方向偏微分ベクトル算出関数
virtual fk_Vector | vDeriv (double u, double v)=0
| 曲面 v 方向偏微分ベクトル算出関数
fk_Vector | norm (double u, double v)
void | setDiv (int div)
| 曲面キャッシュ分割数設定関数
int | getDiv (void)
| 曲面キャッシュ分割数参照関数
## Protected 変数
bool | changeFlg
| 修正告知用フラグ

## 説明

曲面用純粋仮想クラス

このクラスは、自由曲面用の純粋仮想クラスです。 このクラスを継承することによって、 ユーザは任意の自由曲面形式を四辺形となる fk_Loop に追加することができます。 自由曲面は、以下の条件を満たす必要があります。

- パラメータ空間が 2 次元である。(以降、これを「u方向」「v方向」とします。)
- パラメータ空間中のあらゆるパラメータで曲面上の点を算出できる。
- パラメータ空間中のあらゆるパラメータで、 u 方向 と v 方向共に偏微分ベクトルが算出できる。
- 曲面のパラメータ端点、 つまり (0, 0), (0, 1), (1, 0), (1, 1) となる 4 点の位置ベクトルが、 ループの 4 頂点の位置ベクトルと一致している。

参照:
  fk_Loop, fk_Curve

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

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

fk_Surface::fk_Surface | ( | void |  | ) |

コンストラクタ

virtual fk_Surface::~fk_Surface | ( |  | ) | `[virtual]`

デストラクタ

## 関数

virtual fk_Vector fk_Surface::pos | ( | double | u,
|  | double | v |
| ) |  |  | `[pure virtual]`

曲面点位置ベクトル算出関数

曲面上の点の位置ベクトルを算出する純粋仮想関数です。 派生クラスにおいて実際に実装する必要があります。

引数:

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

戻り値:
  曲面上の位置ベクトル

virtual fk_Vector fk_Surface::uDeriv | ( | double | u,
|  | double | v |
| ) |  |  | `[pure virtual]`

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

曲面上の u 方向偏微分ベクトルを算出する純粋仮想関数です。 派生クラスにおいて実際に実装する必要があります。

引数:

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

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

virtual fk_Vector fk_Surface::vDeriv | ( | double | u,
|  | double | v |
| ) |  |  | `[pure virtual]`

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

曲面上の v 方向偏微分ベクトルを算出する純粋仮想関数です。 派生クラスにおいて実際に実装する必要があります。

引数:

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

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

fk_Vector fk_Surface::norm | ( | double | u,
|  | double | v |
| ) |  |  |

曲面上の法線ベクトルを算出します。 本関数は、派生クラスにおいて再定義する必要はありません。

引数:

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

戻り値:
  曲面上の法線ベクトル

void fk_Surface::setDiv | ( | int | div | ) |

曲面キャッシュ分割数設定関数

描画する際の曲面の分割数を設定します。 本関数は、派生クラスにおいて再定義する必要はありません。

引数:

  `[in]` | div | 分割数。

int fk_Surface::getDiv | ( | void |  | ) |

曲面キャッシュ分割数参照関数

描画する際の曲面の分割数を参照します。 本関数は、派生クラスにおいて再定義する必要はありません。

戻り値:
  分割数

## 変数

bool fk_Surface::changeFlg`[protected]`

修正告知用フラグ

この変数は、派生クラスにおいて曲面形状を変更した状況となったとき、 値を true に変更して下さい。 描画データキャッシュが生成された時点で再び false に戻されます。