FineKernelToolKit 4.2.13
|
Bezier曲面を生成、管理するクラス [詳解]
#include <FK/BezSurface.h>
公開メンバ関数 | |
fk_BezSurface (void) | |
コンストラクタ | |
virtual | ~fk_BezSurface () |
デストラクタ | |
void | init (void) |
初期化用関数 | |
bool | setDegree (int deg) |
次数設定関数 | |
bool | setCtrl (int uID, int vID, const fk_Vector &pos) |
制御点設定関数1 | |
int | getDegree (void) |
次数参照関数 | |
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 方向偏微分ベクトル算出関数 | |
![]() | |
fk_Surface (void) | |
コンストラクタ | |
virtual | ~fk_Surface () |
デストラクタ | |
fk_Vector | norm (double u, double v) |
void | setDiv (int div) |
曲面分割数設定関数 | |
int | getDiv (void) |
曲面分割数参照関数 | |
int | getCtrlSize (void) |
制御点数取得関数 | |
![]() | |
fk_Shape (fk_Type=fk_Type::SHAPE) | |
コンストラクタ | |
virtual | ~fk_Shape () |
デストラクタ | |
fk_RealShapeType | getRealShapeType (void) |
形状データ構造取得関数 | |
void | setShaderAttribute (std::string name, int dim, std::vector< int > *array, bool self=false) |
シェーダー内 attribute 変数設定関数1 | |
void | setShaderAttribute (std::string name, int dim, std::vector< float > *array, bool self=false) |
シェーダー内 attribute 変数設定関数2 | |
void | setShaderAttribute (std::string name, int dim, std::vector< fk_Vector > *array) |
シェーダー内 attribute 変数設定関数3 | |
void | setShaderAttribute (std::string name, int dim, std::vector< fk_TexCoord > *array) |
シェーダー内 attribute 変数設定関数4 | |
void | setShaderAttribute (std::string name, int dim, std::vector< fk_HVector > *array) |
シェーダー内 attribute 変数設定関数5 | |
void | modifyAttribute (std::string name) |
attribute 変数更新関数 | |
![]() | |
fk_Attribute (void) | |
コンストラクタ | |
virtual | ~fk_Attribute () |
デストラクタ | |
bool | setAttrII (const int key, const int value) |
キーが int 型、値が int 型である属性設定関数 | |
bool | setAttrID (const int key, const double value) |
キーが int 型、値が double 型である属性設定関数 | |
bool | setAttrIS (const int key, const std::string value) |
キーが int 型、値が std::string 型である属性設定関数 | |
bool | setAttrSI (const std::string key, const int value) |
キーが std::string 型、値が int 型である属性設定関数 | |
bool | setAttrSD (const std::string key, const double value) |
キーが std::string 型、値が double 型である属性設定関数 | |
bool | setAttrSS (const std::string key, const std::string value) |
キーが std::string 型、値が std::string 型である属性設定関数 | |
int | getAttrII (const int key) const |
キーが int 型、値が int 型である属性参照関数 | |
double | getAttrID (const int key) const |
キーが int 型、値が double 型である属性参照関数 | |
std::string | getAttrIS (const int key) const |
キーが int 型、値が std::string 型である属性参照関数 | |
int | getAttrSI (const std::string key) const |
キーが std::string 型、値が int 型である属性参照関数 | |
double | getAttrSD (const std::string key) const |
キーが std::string 型、値が double 型である属性参照関数 | |
std::string | getAttrSS (const std::string key) const |
キーが std::string 型、値が std::string 型である属性参照関数 | |
bool | existAttrII (const int key) const |
キーが int 型、値が int 型である属性存在参照関数 | |
bool | existAttrID (const int key) const |
キーが int 型、値が double 型である属性存在参照関数 | |
bool | existAttrIS (const int key) const |
キーが int 型、値が std::string 型である属性存在参照関数 | |
bool | existAttrSI (const std::string key) const |
キーが std::string 型、値が int 型である属性存在参照関数 | |
bool | existAttrSD (const std::string key) const |
キーが std::string 型、値が double 型である属性存在参照関数 | |
bool | existAttrSS (const std::string key) const |
キーが std::string 型、値が std::string 型である属性存在参照関数 | |
bool | deleteAttrII (const int key) |
キーが int 型、値が int 型である属性消去関数 | |
bool | deleteAttrID (const int key) |
キーが int 型、値が double 型である属性消去関数 | |
bool | deleteAttrIS (const int key) |
キーが int 型、値が std::string 型である属性消去関数 | |
bool | deleteAttrSI (const std::string key) |
キーが std::string 型、値が int 型である属性消去関数 | |
bool | deleteAttrSD (const std::string key) |
キーが std::string 型、値が double 型である属性消去関数 | |
bool | deleteAttrSS (const std::string key) |
キーが std::string 型、値が std::string 型である属性消去関数 | |
![]() | |
fk_BaseObject (fk_Type type=fk_Type::BASEOBJECT) | |
コンストラクタ | |
fk_Type | getObjectType (void) const |
タイプ取得関数 | |
その他の継承メンバ | |
![]() | |
bool | setCtrl (int ID, fk_Vector *pos) |
制御点設定関数1 | |
bool | setCtrl (int ID, fk_Vector pos) |
制御点設定関数2 | |
fk_Vector | getCtrl (int ID) |
制御点取得関数 | |
void | setCtrlSize (int num) |
制御点最大サイズ設定関数 | |
void | setCtrlNum (int num) |
制御点数設定関数 | |
Bezier曲面を生成、管理するクラス
このクラスは、形状として Bezier 曲面を制御する機能を提供します。 初期状態はu,v両方で 3 次式で、制御点が全て原点にある状態となります。 現状では、2,3,4次式のいずれかのみしか生成できません。
FK::fk_BezSurface::fk_BezSurface | ( | void | ) |
コンストラクタ
|
virtual |
デストラクタ
void FK::fk_BezSurface::init | ( | void | ) |
初期化用関数
この関数は、曲面を初期状態(3次式、全ての制御点が原点にある状態)にします。
bool FK::fk_BezSurface::setDegree | ( | int | deg | ) |
次数設定関数
この関数は、曲面の次数を設定します。 現状では、2,3,4のいずれかのみ以外は設定できません。 この関数の実行後、全ての制御点の位置ベクトルは原点になります。
[in] | deg | 次数 |
bool FK::fk_BezSurface::setCtrl | ( | int | uID, |
int | vID, | ||
const fk_Vector & | pos | ||
) |
制御点設定関数1
曲面の制御点位置ベクトルを設定します。
[in] | uID | 設定する制御点の u方向 ID。先頭は 0 になります。 |
[in] | vID | 設定する制御点の v方向 ID。先頭は 0 になります。 |
[in] | pos | 制御点位置ベクトル |
int FK::fk_BezSurface::getDegree | ( | void | ) |
次数参照関数
曲面の次数を参照します。
fk_Vector FK::fk_BezSurface::getCtrl | ( | int | uID, |
int | vID | ||
) |
制御点参照関数
曲面の制御点位置ベクトルを参照します。
[in] | uID | 制御点のu方向ID |
[in] | vID | 制御点のv方向ID |
|
virtual |
曲面点算出関数
パラメータに対応する曲面上の点の位置ベクトルを返します。
[in] | u | 曲面の u パラメータ |
[in] | v | 曲面の v パラメータ |
FK::fk_Surfaceを実装しています。
|
virtual |
曲面 u 方向偏微分ベクトル算出関数
曲面上の u 方向偏微分ベクトルを算出する関数です。
[in] | u | u パラメータ |
[in] | v | v パラメータ |
FK::fk_Surfaceを実装しています。
|
virtual |
曲面 v 方向偏微分ベクトル算出関数
曲面上の v 方向偏微分ベクトルを算出する関数です。
[in] | u | u パラメータ |
[in] | v | v パラメータ |
FK::fk_Surfaceを実装しています。