FineKernelToolKit: FK_CLI::fk_BezSurface クラス

FineKernelToolKit 4.3.0

読み取り中…
検索中…
一致する文字列を見つけられません
公開メンバ関数 | プロパティ | 全メンバ一覧
FK_CLI::fk_BezSurface クラス

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

`#include <CLI/FK_CLI/include/BezSurface_CLI.h>`

FK_CLI::fk_BezSurface の継承関係図
[凡例]
FK_CLI::fk_BezSurface 連携図
[凡例]

## 公開メンバ関数

| fk_BezSurface ()
| コンストラクタ
| ~fk_BezSurface ()
| デストラクタ
| !fk_BezSurface ()
| ファイナライザ
void | Init (void)
| 初期化用メソッド
bool | SetCtrl (int uID, int vID, fk_Vector^ pos)
| 制御点設定メソッド1
fk_Vector ^ | GetCtrl (int uID, int vID)
| 制御点参照メソッド
fk_Vector ^ | Pos (double u, double v)
| 曲面点算出関数
fk_Vector ^ | Norm (double u, double v)
| 曲面法線ベクトル算出メソッド
fk_Vector ^ | UDeriv (double u, double v)
| 曲面 u 方向偏微分ベクトル算出メソッド
fk_Vector ^ | VDeriv (double u, double v)
| 曲面 v 方向偏微分ベクトル算出メソッド
基底クラス FK_CLI::fk_Shape に属する継承公開メンバ関数
void | SetShaderAttribute (String^ name, int dim, IEnumerable< int >^ array)
| シェーダー内 attribute 変数設定メソッド1
void | SetShaderAttribute (String^ name, int dim, IEnumerable< float >^ array)
| シェーダー内 attribute 変数設定メソッド2
void | SetShaderAttribute (String^ name, int dim, IEnumerable< double >^ array)
| シェーダー内 attribute 変数設定メソッド3
void | SetShaderAttribute (String^ name, int dim, IEnumerable< fk_Vector^>^ array)
| シェーダー内 attribute 変数設定メソッド4
void | SetShaderAttribute (String^ name, int dim, IEnumerable< fk_TexCoord^>^ array)
| シェーダー内 attribute 変数設定メソッド5
void | SetShaderAttribute (String^ name, int dim, IEnumerable< fk_HVector^>^ array)
| シェーダー内 attribute 変数設定メソッド6
基底クラス FK_CLI::fk_Attribute に属する継承公開メンバ関数
bool | SetAttrII (int key, int value)
| キーが int 型、値が int 型である属性設定メソッド
bool | SetAttrID (int key, double value)
| キーが int 型、値が double 型である属性設定メソッド
bool | SetAttrIS (int key, String^ value)
| キーが int 型、値が String 型である属性設定メソッド
bool | SetAttrSI (String^ key, int value)
| キーが String 型、値が int 型である属性設定メソッド
bool | SetAttrSD (String^ key, double value)
| キーが String 型、値が double 型である属性設定メソッド
bool | SetAttrSS (String ^ key, String^ value)
| キーが String 型、値が String 型である属性設定メソッド
int | GetAttrII (int key)
| キーが int 型、値が int 型である属性参照メソッド
double | GetAttrID (int key)
| キーが int 型、値が double 型である属性参照メソッド
String ^ | GetAttrIS (int key)
| キーが int 型、値が String 型である属性参照メソッド
int | GetAttrSI (String^ key)
| キーが String 型、値が int 型である属性参照メソッド
double | GetAttrSD (String^ key)
| キーが String 型、値が double 型である属性参照メソッド
String ^ | GetAttrSS (String^ key)
| キーが String 型、値が String 型である属性参照メソッド
bool | ExistAttrII (int key)
| キーが int 型、値が int 型である属性存在参照メソッド
bool | ExistAttrID (int key)
| キーが int 型、値が double 型である属性存在参照メソッド
bool | ExistAttrIS (int key)
| キーが int 型、値が String 型である属性存在参照メソッド
bool | ExistAttrSI (String^ key)
| キーが String 型、値が int 型である属性存在参照メソッド
bool | ExistAttrSD (String^ key)
| キーが String 型、値が double 型である属性存在参照メソッド
bool | ExistAttrSS (String^ key)
| キーが String 型、値が String 型である属性存在参照メソッド
bool | DeleteAttrII (int key)
| キーが int 型、値が int 型である属性消去メソッド
bool | DeleteAttrID (int key)
| キーが int 型、値が double 型である属性消去メソッド
bool | DeleteAttrIS (int key)
| キーが int 型、値が String 型である属性消去メソッド
bool | DeleteAttrSI (String^ key)
| キーが String 型、値が int 型である属性消去メソッド
bool | DeleteAttrSD (String^ key)
| キーが String 型、値が double 型である属性消去メソッド
bool | DeleteAttrSS (String^ key)
| キーが String 型、値が String 型である属性消去メソッド

## プロパティ

int | Degree`[get, set]`
| 次数プロパティ
int | Div`[get, set]`
| 分割数プロパティ
基底クラス FK_CLI::fk_Shape に属する継承プロパティ
fk_RealShapeType^ | RealShapeType`[get]`
| 形状データ構造プロパティ

## 詳解

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

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

## 構築子と解体子

## ◆ fk_BezSurface()

FK_CLI::fk_BezSurface::fk_BezSurface | ( |  | ) |

コンストラクタ

## ◆ ~fk_BezSurface()

FK_CLI::fk_BezSurface::~fk_BezSurface | ( |  | ) |

デストラクタ

## ◆ !fk_BezSurface()

FK_CLI::fk_BezSurface::!fk_BezSurface | ( |  | ) |

ファイナライザ

## 関数詳解

## ◆ Init()

void FK_CLI::fk_BezSurface::Init | ( | void |  | ) |

初期化用メソッド

このメソッドは、曲面を初期状態(3次式、全ての制御点が原点にある状態)にします。

## ◆ SetCtrl()

bool FK_CLI::fk_BezSurface::SetCtrl | ( | int | uID,
|  | int | vID,
|  | fk_Vector^ | pos )

制御点設定メソッド1

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

引数

  [in] | uID | 設定する制御点の u方向 ID。先頭は 0 になります。
  [in] | vID | 設定する制御点の v方向 ID。先頭は 0 になります。
  [in] | pos | 制御点位置ベクトル

戻り値
  設定に成功した場合 true、失敗した場合 false を返します。

## ◆ GetCtrl()

fk_Vector ^ FK_CLI::fk_BezSurface::GetCtrl | ( | int | uID,
|  | int | vID )

制御点参照メソッド

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

引数

  [in] | uID | 制御点のu方向ID
  [in] | vID | 制御点のv方向ID

戻り値
  制御点位置ベクトル。IDが不正だった場合、零ベクトルを返します。

## ◆ Pos()

fk_Vector ^ FK_CLI::fk_BezSurface::Pos | ( | double | u,
|  | double | v )

曲面点算出関数

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

引数

  [in] | u | 曲面の u パラメータ
  [in] | v | 曲面の v パラメータ

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

## ◆ Norm()

fk_Vector ^ FK_CLI::fk_BezSurface::Norm | ( | double | u,
|  | double | v )

曲面法線ベクトル算出メソッド

曲面上の法線ベクトルを返します。

引数

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

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

## ◆ UDeriv()

fk_Vector ^ FK_CLI::fk_BezSurface::UDeriv | ( | double | u,
|  | double | v )

曲面 u 方向偏微分ベクトル算出メソッド

曲面上の u 方向偏微分ベクトルを返します。

引数

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

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

## ◆ VDeriv()

fk_Vector ^ FK_CLI::fk_BezSurface::VDeriv | ( | double | u,
|  | double | v )

曲面 v 方向偏微分ベクトル算出メソッド

曲面上の v 方向偏微分ベクトルを返します。

引数

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

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

## プロパティ詳解

## ◆ Degree

int FK_CLI::fk_BezSurface::Degree

getset

次数プロパティ

このプロパティは、曲面次数の設定や参照に使用します。 現状では、2,3,4のいずれかのみ以外は設定できません。 設定した場合、全ての制御点の位置ベクトルは原点になります。

## ◆ Div

int FK_CLI::fk_BezSurface::Div

getset

分割数プロパティ

このプロパティは、描画時分割数の設定や参照に使用します。