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

ソリッドモデル用位相要素アクセスクラス [詳解]

#include <FK/DataAccess.h>

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

公開メンバ関数

 fk_DataAccess (void)
 コンストラクタ
 
virtual ~fk_DataAccess ()
 デストラクタ
 
bool checkDB (void) const
 データベース設定チェック関数
 
bool checkTopology (void)
 位相状況チェック関数
 
void printTopology (void)
 位相状況出力関数
 
位相要素存在判定
bool existVertex (fk_Vertex *vertex) const
 頂点位相要素存在判定関数1
 
bool existVertex (int ID) const
 頂点位相要素存在判定関数2
 
bool existHalf (fk_Half *half) const
 半稜線位相要素存在判定関数1
 
bool existHalf (int ID) const
 半稜線位相要素存在判定関数2
 
bool existEdge (fk_Edge *edge) const
 稜線位相要素存在判定関数1
 
bool existEdge (int ID) const
 稜線位相要素存在判定関数2
 
bool existLoop (fk_Loop *loop) const
 ループ位相要素存在判定関数1
 
bool existLoop (int ID) const
 ループ位相要素存在判定関数2
 
位相要素参照
fk_VertexgetVData (int ID) const
 頂点位相要素参照関数
 
fk_HalfgetHData (int ID) const
 半稜線位相要素参照関数
 
fk_EdgegetEData (int ID) const
 稜線位相要素参照関数
 
fk_LoopgetLData (int ID) const
 ループ位相要素参照関数
 
fk_VertexgetNextV (fk_Vertex *vertex) const
 頂点位相要素逐次参照関数
 
fk_HalfgetNextH (fk_Half *half) const
 半稜線位相要素逐次参照関数
 
fk_EdgegetNextE (fk_Edge *edge) const
 稜線位相要素逐次参照関数
 
fk_LoopgetNextL (fk_Loop *loop) const
 ループ位相要素逐次参照関数
 
fk_VertexgetLastV (void) const
 頂点位相最終要素参照関数
 
fk_HalfgetLastH (void) const
 半稜線位相最終要素参照関数
 
fk_EdgegetLastE (void) const
 稜線位相最終要素参照関数
 
fk_LoopgetLastL (void) const
 ループ位相最終要素参照関数
 
位相要素数参照
int getVNum (void) const
 頂点数参照関数
 
int getHNum (void) const
 半稜線数参照関数
 
int getENum (void) const
 稜線数参照関数
 
int getLNum (void) const
 ループ数参照関数
 
位相要素格納コンテナ取得
void getVertexList (std::list< fk_Vertex * > *list)
 頂点コンテナ取得関数
 
void getHalfList (std::list< fk_Half * > *list)
 半稜線コンテナ取得関数
 
void getEdgeList (std::list< fk_Edge * > *list)
 稜線コンテナ取得関数
 
void getLoopList (std::list< fk_Loop * > *list)
 ループコンテナ取得関数
 
- 基底クラス 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_Solid での各位相要素を参照するための機能を提供します。 FK におけるソリッドモデルの構造については、 ユーザーズマニュアルの「形状に対する高度な操作」の章を参照して下さい。

参照
fk_Solid, fk_Vertex, fk_Half, fk_Edge, fk_Loop

構築子と解体子

◆ fk_DataAccess()

FK::fk_DataAccess::fk_DataAccess ( void  )

コンストラクタ

◆ ~fk_DataAccess()

virtual FK::fk_DataAccess::~fk_DataAccess ( )
virtual

デストラクタ

関数詳解

◆ checkDB()

bool FK::fk_DataAccess::checkDB ( void  ) const

データベース設定チェック関数

データベース設定の有無をチェックします。 通常、ユーザが利用することはありません。

戻り値
設定済みであれば true、未設定であれば false を返します。

◆ checkTopology()

bool FK::fk_DataAccess::checkTopology ( void  )

位相状況チェック関数

位相状態の整合状態をチェックします。

戻り値
整合していれば true、非整合状態であれば false を返します。

◆ printTopology()

void FK::fk_DataAccess::printTopology ( void  )

位相状況出力関数

この関数はシステム内部での解析用に存在するもので、 ユーザによる利用は推奨されていません。

◆ existVertex() [1/2]

bool FK::fk_DataAccess::existVertex ( fk_Vertex vertex) const

頂点位相要素存在判定関数1

fk_Vertex 型の頂点位相要素が形状内に存在するかどうかを判定します。

引数
[in]vertex頂点位相要素
戻り値
存在すれば true、しなければ false を返します。

◆ existVertex() [2/2]

bool FK::fk_DataAccess::existVertex ( int  ID) const

頂点位相要素存在判定関数2

fk_Vertex 型の頂点位相要素が形状内に存在するかどうかを判定します。

引数
[in]ID頂点位相要素のID
戻り値
存在すれば true、しなければ false を返します。

◆ existHalf() [1/2]

bool FK::fk_DataAccess::existHalf ( fk_Half half) const

半稜線位相要素存在判定関数1

fk_Half 型の半稜線位相要素が形状内に存在するかどうかを判定します。

引数
[in]half半稜線位相要素
戻り値
存在すれば true、しなければ false を返します。

◆ existHalf() [2/2]

bool FK::fk_DataAccess::existHalf ( int  ID) const

半稜線位相要素存在判定関数2

fk_Half 型の半稜線位相要素が形状内に存在するかどうかを判定します。

引数
[in]ID半稜線位相要素のID
戻り値
存在すれば true、しなければ false を返します。

◆ existEdge() [1/2]

bool FK::fk_DataAccess::existEdge ( fk_Edge edge) const

稜線位相要素存在判定関数1

fk_Edge 型の稜線位相要素が形状内に存在するかどうかを判定します。

引数
[in]edge稜線位相要素
戻り値
存在すれば true、しなければ false を返します。

◆ existEdge() [2/2]

bool FK::fk_DataAccess::existEdge ( int  ID) const

稜線位相要素存在判定関数2

fk_Edge 型の稜線位相要素が形状内に存在するかどうかを判定します。

引数
[in]ID稜線位相要素のID
戻り値
存在すれば true、しなければ false を返します。

◆ existLoop() [1/2]

bool FK::fk_DataAccess::existLoop ( fk_Loop loop) const

ループ位相要素存在判定関数1

fk_Loop 型のループ位相要素が形状内に存在するかどうかを判定します。

引数
[in]loopループ位相要素
戻り値
存在すれば true、しなければ false を返します。

◆ existLoop() [2/2]

bool FK::fk_DataAccess::existLoop ( int  ID) const

ループ位相要素存在判定関数2

fk_Loop 型のループ位相要素が形状内に存在するかどうかを判定します。

引数
[in]IDループ位相要素のID
戻り値
存在すれば true、しなければ false を返します。

◆ getVData()

fk_Vertex * FK::fk_DataAccess::getVData ( int  ID) const

頂点位相要素参照関数

fk_Vertex 型の頂点位相要素のポインタを取得します。

引数
[in]ID頂点位相要素のID
戻り値
存在すれば位相要素のポインタを返します。 存在しなかった場合は nullptr を返します。

◆ getHData()

fk_Half * FK::fk_DataAccess::getHData ( int  ID) const

半稜線位相要素参照関数

fk_Half 型の半稜線位相要素のポインタを取得します。

引数
[in]ID半稜線位相要素のID
戻り値
存在すれば位相要素のポインタを返します。 存在しなかった場合は nullptr を返します。

◆ getEData()

fk_Edge * FK::fk_DataAccess::getEData ( int  ID) const

稜線位相要素参照関数

fk_Edge 型の稜線位相要素のポインタを取得します。

引数
[in]ID稜線位相要素のID
戻り値
存在すれば位相要素のポインタを返します。 存在しなかった場合は nullptr を返します。

◆ getLData()

fk_Loop * FK::fk_DataAccess::getLData ( int  ID) const

ループ位相要素参照関数

fk_Loop 型のループ位相要素のポインタを取得します。

引数
[in]IDループ位相要素のID
戻り値
存在すれば位相要素のポインタを返します。 存在しなかった場合は nullptr を返します。

◆ getNextV()

fk_Vertex * FK::fk_DataAccess::getNextV ( fk_Vertex vertex) const

頂点位相要素逐次参照関数

fk_Vertex 型の頂点位相要素において、 引数で与えられた頂点要素の次に大きな ID を持つ 位相要素を返します。

引数
[in]vertex頂点位相要素。ここに nullptr を代入した場合、 形状中で最も ID が小さな位相要素を返します。 これは、必ずしも最初に生成した位相要素とは限らないことに注意して下さい。
戻り値
vertex の次に大きな ID を持つ位相要素を返します。 以下のいずれかを満たしている場合、nullptr を返します。
  • vertex が形状内頂点の中で最大の ID であった場合。
  • 形状中に頂点が存在しない場合。
  • vertex が形状中に存在する頂点位相要素ではなかった場合。

◆ getNextH()

fk_Half * FK::fk_DataAccess::getNextH ( fk_Half half) const

半稜線位相要素逐次参照関数

fk_Half 型の半稜線位相要素において、 引数で与えられた半稜線要素の次に大きな ID を持つ 位相要素を返します。

引数
[in]half半稜線位相要素。 ここに nullptr を代入した場合、 形状中で最も ID が小さな位相要素を返します。 これは、必ずしも最初に生成した位相要素とは限らないことに注意して下さい。
戻り値
half の次に大きな ID を持つ位相要素を返します。 以下のいずれかを満たしている場合、nullptr を返します。
  • half が形状内半稜線の中で最大の ID であった場合。
  • 形状中に半稜線が存在しない場合。
  • half が形状中に存在する半稜線位相要素ではなかった場合。

◆ getNextE()

fk_Edge * FK::fk_DataAccess::getNextE ( fk_Edge edge) const

稜線位相要素逐次参照関数

fk_Edge 型の稜線位相要素において、 引数で与えられた頂点要素の次に大きな ID を持つ 位相要素を返します。

引数
[in]edge稜線位相要素。ここに nullptr を代入した場合、 形状中で最も ID が小さな位相要素を返します。 これは、必ずしも最初に生成した位相要素とは限らないことに注意して下さい。
戻り値
edge の次に大きな ID を持つ位相要素を返します。 以下のいずれかを満たしている場合、nullptr を返します。
  • edge が形状内稜線の中で最大の ID であった場合。
  • 形状中に稜線が存在しない場合。
  • edge が形状中に存在する稜線位相要素ではなかった場合。

◆ getNextL()

fk_Loop * FK::fk_DataAccess::getNextL ( fk_Loop loop) const

ループ位相要素逐次参照関数

fk_Loop 型のループ位相要素において、 引数で与えられたループ要素の次に大きな ID を持つ 位相要素を返します。

引数
[in]loopループ位相要素。ここに nullptr を代入した場合、 形状中で最も ID が小さな位相要素を返します。 これは、必ずしも最初に生成した位相要素とは限らないことに注意して下さい。
戻り値
loop の次に大きな ID を持つ位相要素を返します。 以下のいずれかを満たしている場合、nullptr を返します。
  • loop が形状内ループの中で最大の ID であった場合。
  • 形状中にループが存在しない場合。
  • loop が形状中に存在するループ位相要素ではなかった場合。

◆ getLastV()

fk_Vertex * FK::fk_DataAccess::getLastV ( void  ) const

頂点位相最終要素参照関数

fk_Vertex 型の頂点位相要素において、 形状中で最も ID が大きな位相要素を返します。 これは、必ずしも最後に生成した位相要素とは限らないことに注意して下さい。

戻り値
最もIDが大きな位相要素。 形状中に頂点が存在しなかった場合は、nullptr を返します。

◆ getLastH()

fk_Half * FK::fk_DataAccess::getLastH ( void  ) const

半稜線位相最終要素参照関数

fk_Half 型の半稜線位相要素において、 形状中で最も ID が大きな位相要素を返します。 これは、必ずしも最後に生成した位相要素とは限らないことに注意して下さい。

戻り値
最もIDが大きな位相要素。 形状中に半稜線が存在しなかった場合は、nullptr を返します。

◆ getLastE()

fk_Edge * FK::fk_DataAccess::getLastE ( void  ) const

稜線位相最終要素参照関数

fk_Edge 型の稜線位相要素において、 形状中で最も ID が大きな位相要素を返します。 これは、必ずしも最後に生成した位相要素とは限らないことに注意して下さい。

戻り値
最もIDが大きな位相要素。 形状中に稜線が存在しなかった場合は、nullptr を返します。

◆ getLastL()

fk_Loop * FK::fk_DataAccess::getLastL ( void  ) const

ループ位相最終要素参照関数

fk_Loop 型の頂点位相要素において、 形状中で最も ID が大きな位相要素を返します。 これは、必ずしも最後に生成した位相要素とは限らないことに注意して下さい。

戻り値
最もIDが大きな位相要素。 形状中にループが存在しなかった場合は、nullptr を返します。

◆ getVNum()

int FK::fk_DataAccess::getVNum ( void  ) const

頂点数参照関数

形状中の頂点数を返します。

戻り値
頂点数

◆ getHNum()

int FK::fk_DataAccess::getHNum ( void  ) const

半稜線数参照関数

形状中の半稜線数を返します。

戻り値
半稜線数

◆ getENum()

int FK::fk_DataAccess::getENum ( void  ) const

稜線数参照関数

形状中の稜線数を返します。

戻り値
稜線数

◆ getLNum()

int FK::fk_DataAccess::getLNum ( void  ) const

ループ数参照関数

形状中のループ数を返します。

戻り値
ループ数

◆ getVertexList()

void FK::fk_DataAccess::getVertexList ( std::list< fk_Vertex * > *  list)

頂点コンテナ取得関数

形状中の頂点要素を全て格納した list 型コンテナを取得します。

覚え書き
本関数で取得した情報は、 位相変化を伴う変形を行う前まで有効です。 位相変化を伴う変形を行った場合に、 本関数で取得した位相要素を参照した場合の挙動は保証されません。
引数
[out]list頂点位相要素を格納したコンテナ
参照
getNextV(), getVNum()

◆ getHalfList()

void FK::fk_DataAccess::getHalfList ( std::list< fk_Half * > *  list)

半稜線コンテナ取得関数

形状中の半稜線要素を全て格納した list 型コンテナを取得します。

覚え書き
本関数で取得した情報は、 位相変化を伴う変形を行う前まで有効です。 位相変化を伴う変形を行った場合に、 本関数で取得した位相要素を参照した場合の挙動は保証されません。
引数
[out]list半稜線位相要素を格納したコンテナ
参照
getNextH(), getHNum()

◆ getEdgeList()

void FK::fk_DataAccess::getEdgeList ( std::list< fk_Edge * > *  list)

稜線コンテナ取得関数

形状中の稜線要素を全て格納した list 型コンテナを取得します。

覚え書き
本関数で取得した情報は、 位相変化を伴う変形を行う前まで有効です。 位相変化を伴う変形を行った場合に、 本関数で取得した位相要素を参照した場合の挙動は保証されません。
引数
[out]list稜線位相要素を格納したコンテナ
参照
getNextE(), getENum()

◆ getLoopList()

void FK::fk_DataAccess::getLoopList ( std::list< fk_Loop * > *  list)

ループコンテナ取得関数

形状中のループ要素を全て格納した list 型コンテナを取得します。

覚え書き
本関数で取得した情報は、 位相変化を伴う変形を行う前まで有効です。 位相変化を伴う変形を行った場合に、 本関数で取得した位相要素を参照した場合の挙動は保証されません。
引数
[out]listループ位相要素を格納したコンテナ
参照
getNextL(), getLNum()