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

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

#include <FK/BezSurface.h>

+ FK::fk_BezSurface の継承関係図
+ FK::fk_BezSurface 連携図

公開メンバ関数

 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::fk_Surface に属する継承公開メンバ関数
 fk_Surface (void)
 コンストラクタ
 
virtual ~fk_Surface ()
 デストラクタ
 
fk_Vector norm (double u, double v)
 
void setDiv (int div)
 曲面分割数設定関数
 
int getDiv (void)
 曲面分割数参照関数
 
int getCtrlSize (void)
 制御点数取得関数
 
- 基底クラス FK::fk_Shape に属する継承公開メンバ関数
 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::fk_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::fk_BaseObject に属する継承公開メンバ関数
 fk_BaseObject (fk_Type type=fk_Type::BASEOBJECT)
 コンストラクタ
 
fk_Type getObjectType (void) const
 タイプ取得関数
 

その他の継承メンバ

- 基底クラス FK::fk_Surface に属する継承限定公開メンバ関数
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_BezSurface()

FK::fk_BezSurface::fk_BezSurface ( void  )

コンストラクタ

◆ ~fk_BezSurface()

virtual FK::fk_BezSurface::~fk_BezSurface ( )
virtual

デストラクタ

関数詳解

◆ init()

void FK::fk_BezSurface::init ( void  )

初期化用関数

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

◆ setDegree()

bool FK::fk_BezSurface::setDegree ( int  deg)

次数設定関数

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

引数
[in]deg次数
戻り値
次数設定に成功した場合 true、失敗した場合 false を返します。

◆ setCtrl()

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制御点位置ベクトル
戻り値
設定に成功した場合 true、失敗した場合 false を返します。

◆ getDegree()

int FK::fk_BezSurface::getDegree ( void  )

次数参照関数

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

戻り値
次数

◆ getCtrl()

fk_Vector FK::fk_BezSurface::getCtrl ( int  uID,
int  vID 
)

制御点参照関数

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

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

◆ pos()

fk_Vector FK::fk_BezSurface::pos ( double  u,
double  v 
)
virtual

曲面点算出関数

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

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

FK::fk_Surfaceを実装しています。

◆ uDeriv()

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

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

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

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

FK::fk_Surfaceを実装しています。

◆ vDeriv()

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

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

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

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

FK::fk_Surfaceを実装しています。