FineKernelToolKit: FK::fk_DataAccess クラス

FineKernelToolKit 4.3.0

読み取り中…
検索中…
一致する文字列を見つけられません
公開メンバ関数 | 全メンバ一覧
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_Vertex * | getVData (int ID) const
| 頂点位相要素参照関数
fk_Half * | getHData (int ID) const
| 半稜線位相要素参照関数
fk_Edge * | getEData (int ID) const
| 稜線位相要素参照関数
fk_Loop * | getLData (int ID) const
| ループ位相要素参照関数
fk_Vertex * | getNextV (fk_Vertex *vertex) const
| 頂点位相要素逐次参照関数
fk_Half * | getNextH (fk_Half *half) const
| 半稜線位相要素逐次参照関数
fk_Edge * | getNextE (fk_Edge *edge) const
| 稜線位相要素逐次参照関数
fk_Loop * | getNextL (fk_Loop *loop) const
| ループ位相要素逐次参照関数
fk_Vertex * | getLastV (void) const
| 頂点位相最終要素参照関数
fk_Half * | getLastH (void) const
| 半稜線位相最終要素参照関数
fk_Edge * | getLastE (void) const
| 稜線位相最終要素参照関数
fk_Loop * | getLastL (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()