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

曲線用純粋仮想クラス [詳解]

#include <FK/Curve.h>

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

公開メンバ関数

 fk_Curve (void)
 コンストラクタ
 
virtual ~fk_Curve ()
 デストラクタ
 
virtual void init (void)
 初期化用関数
 
virtual bool setCtrl (int ID, fk_Vector pos)
 制御点設定関数2
 
virtual bool setWeight (int ID, double w)
 制御点重み値設定関数
 
fk_Vector getCtrl (int ID)
 制御点位置取得関数
 
double getWeight (int ID)
 制御点重み値取得関数
 
int getCtrlSize (void)
 制御点数取得関数
 
void setDiv (int num)
 分割数設定関数
 
int getDiv (void)
 分割数取得関数
 
virtual fk_Vector pos (double t)=0
 曲線点位置ベクトル算出関数
 
virtual fk_Vector diff (double t)=0
 曲線微分ベクトル算出関数
 
- 基底クラス 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
 タイプ取得関数
 

限定公開メンバ関数

void setCtrlSize (int num)
 制御点数設定関数
 

限定公開変数類

std::unique_ptr< fk_FVecArray_m_ctrlPos
 制御点配列
 

詳解

曲線用純粋仮想クラス

このクラスは、自由曲線用のクラスです。 fk_BezCurvefk_BSplCurve はこのクラスを継承しています。 自由曲線は、以下の条件を満たす必要があります。

参照
fk_BezCurve, fk_BSplCurve, fk_Surface

構築子と解体子

◆ fk_Curve()

FK::fk_Curve::fk_Curve ( void  )

コンストラクタ

◆ ~fk_Curve()

virtual FK::fk_Curve::~fk_Curve ( )
virtual

デストラクタ

関数詳解

◆ init()

virtual void FK::fk_Curve::init ( void  )
virtual

初期化用関数

この関数は、曲線を初期状態にします。

FK::fk_BezCurve, FK::fk_BSplCurve, FK::fk_RBezCurveで再実装されています。

◆ setCtrl()

virtual bool FK::fk_Curve::setCtrl ( int  ID,
fk_Vector  pos 
)
virtual

制御点設定関数2

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

引数
[in]ID設定する制御点の ID。先頭は 0 になります。
[in]pos制御点位置ベクトル
戻り値
設定に成功した場合 true、失敗した場合 false を返します。

FK::fk_RBezCurveで再実装されています。

◆ setWeight()

virtual bool FK::fk_Curve::setWeight ( int  ID,
double  w 
)
virtual

制御点重み値設定関数

曲線の制御点重み値を設定します。

引数
[in]ID設定する制御点の ID。先頭は 0 になります。
[in]w制御点の重み値
戻り値
設定に成功した場合 true、失敗した場合 false を返します。

FK::fk_RBezCurveで再実装されています。

◆ getCtrl()

fk_Vector FK::fk_Curve::getCtrl ( int  ID)

制御点位置取得関数

曲線の制御点位置ベクトルを取得します。

引数
[in]ID設定する制御点の ID。先頭は 0 になります。
戻り値
指定した制御点の位置ベクトル。 指定した制御点が存在しない場合は零ベクトルを返します。

◆ getWeight()

double FK::fk_Curve::getWeight ( int  ID)

制御点重み値取得関数

曲線の制御点重み値を取得します。

引数
[in]ID設定する制御点の ID。先頭は 0 になります。
戻り値
指定した制御点の重み値。 指定した制御点が存在しない場合は 0 を返します。

◆ getCtrlSize()

int FK::fk_Curve::getCtrlSize ( void  )

制御点数取得関数

曲線の制御点数を取得します。

戻り値
制御点数

◆ setDiv()

void FK::fk_Curve::setDiv ( int  num)

分割数設定関数

描画時の分割数を設定します。 デフォルトでは 128 に設定されています。

引数
[in]num分割数

◆ getDiv()

int FK::fk_Curve::getDiv ( void  )

分割数取得関数

描画時の分割数を取得します。

戻り値
分割数

◆ pos()

virtual fk_Vector FK::fk_Curve::pos ( double  t)
pure virtual

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

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

引数
[in]t曲線パラメータ
戻り値
曲線点の位置ベクトル

FK::fk_BezCurve, FK::fk_BSplCurve, FK::fk_RBezCurveで実装されています。

◆ diff()

virtual fk_Vector FK::fk_Curve::diff ( double  t)
pure virtual

曲線微分ベクトル算出関数

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

引数
[in]t曲線パラメータ
戻り値
曲線点の微分ベクトル

FK::fk_BezCurve, FK::fk_BSplCurve, FK::fk_RBezCurveで実装されています。

◆ setCtrlSize()

void FK::fk_Curve::setCtrlSize ( int  num)
protected

制御点数設定関数

曲線の制御点数を設定します。負数が指定された場合は無視します。

引数
[in]num制御点数

メンバ詳解

◆ _m_ctrlPos

std::unique_ptr<fk_FVecArray> FK::fk_Curve::_m_ctrlPos
protected

制御点配列

この変数は制御点情報を格納しておくものであり、 派生クラス内で設定や参照が可能です。