# クラス fk_DataAccess

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

fk_DataAccessに対する継承グラフ
[凡例]
fk_DataAccessのコラボレーション図
[凡例]

すべてのメンバ一覧

## Public メソッド
| fk_DataAccess (void)
| コンストラクタ
| ~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
| ループ数参照関数

## 説明

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

このクラスは、 fk_Solid での各位相要素を参照するための機能を提供します。 FK におけるソリッドモデルの構造については、 ユーザーズマニュアルの「形状に対する高度な操作」の章を参照して下さい。

参照:
  fk_Solid, fk_Vertex, fk_Half, fk_Edge, fk_Loop

## コンストラクタとデストラクタ

fk_DataAccess::fk_DataAccess | ( | void |  | ) |

コンストラクタ

fk_DataAccess::~fk_DataAccess | ( |  | ) |

デストラクタ

## 関数

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

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

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

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

bool fk_DataAccess::checkTopology | ( | void |  | ) |

位相状況チェック関数

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

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

void fk_DataAccess::printTopology | ( | void |  | ) |

位相状況出力関数

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

bool fk_DataAccess::existVertex | ( | fk_Vertex * | vertex | ) | const

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

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

引数:

  `[in]` | vertex | 頂点位相要素

戻り値:
  存在すれば true、しなければ false を返します。

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

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

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

引数:

  `[in]` | ID | 頂点位相要素のID

戻り値:
  存在すれば true、しなければ false を返します。

bool fk_DataAccess::existHalf | ( | fk_Half * | half | ) | const

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

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

引数:

  `[in]` | half | 半稜線位相要素

戻り値:
  存在すれば true、しなければ false を返します。

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

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

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

引数:

  `[in]` | ID | 半稜線位相要素のID

戻り値:
  存在すれば true、しなければ false を返します。

bool fk_DataAccess::existEdge | ( | fk_Edge * | edge | ) | const

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

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

引数:

  `[in]` | edge | 稜線位相要素

戻り値:
  存在すれば true、しなければ false を返します。

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

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

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

引数:

  `[in]` | ID | 稜線位相要素のID

戻り値:
  存在すれば true、しなければ false を返します。

bool fk_DataAccess::existLoop | ( | fk_Loop * | loop | ) | const

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

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

引数:

  `[in]` | loop | ループ位相要素

戻り値:
  存在すれば true、しなければ false を返します。

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

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

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

引数:

  `[in]` | ID | ループ位相要素のID

戻り値:
  存在すれば true、しなければ false を返します。

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

頂点位相要素参照関数

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

引数:

  `[in]` | ID | 頂点位相要素のID

戻り値:
  存在すれば位相要素のポインタを返します。 存在しなかった場合は NULL を返します。

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

半稜線位相要素参照関数

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

引数:

  `[in]` | ID | 半稜線位相要素のID

戻り値:
  存在すれば位相要素のポインタを返します。 存在しなかった場合は NULL を返します。

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

稜線位相要素参照関数

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

引数:

  `[in]` | ID | 稜線位相要素のID

戻り値:
  存在すれば位相要素のポインタを返します。 存在しなかった場合は NULL を返します。

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

ループ位相要素参照関数

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

引数:

  `[in]` | ID | ループ位相要素のID

戻り値:
  存在すれば位相要素のポインタを返します。 存在しなかった場合は NULL を返します。

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

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

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

引数:

  `[in]` | vertex | 頂点位相要素。 ここに NULL を代入した場合、 形状中で最も ID が小さな位相要素を返します。 これは、必ずしも最初に生成した位相要素とは限らないことに注意して下さい。

戻り値:
  vertex の次に大きな ID を持つ位相要素を返します。 以下のいずれかを満たしている場合、NULL を返します。
  - vertex が形状内頂点の中で最大の ID であった場合。
  - 形状中に頂点が存在しない場合。
  - vertex が形状中に存在する頂点位相要素ではなかった場合。

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

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

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

引数:

  `[in]` | half | 半稜線位相要素。 ここに NULL を代入した場合、 形状中で最も ID が小さな位相要素を返します。 これは、必ずしも最初に生成した位相要素とは限らないことに注意して下さい。

戻り値:
  half の次に大きな ID を持つ位相要素を返します。 以下のいずれかを満たしている場合、NULL を返します。
  - half が形状内半稜線の中で最大の ID であった場合。
  - 形状中に半稜線が存在しない場合。
  - half が形状中に存在する半稜線位相要素ではなかった場合。

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

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

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

引数:

  `[in]` | edge | 稜線位相要素。 ここに NULL を代入した場合、 形状中で最も ID が小さな位相要素を返します。 これは、必ずしも最初に生成した位相要素とは限らないことに注意して下さい。

戻り値:
  edge の次に大きな ID を持つ位相要素を返します。 以下のいずれかを満たしている場合、NULL を返します。
  - edge が形状内稜線の中で最大の ID であった場合。
  - 形状中に稜線が存在しない場合。
  - edge が形状中に存在する稜線位相要素ではなかった場合。

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

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

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

引数:

  `[in]` | loop | ループ位相要素。 ここに NULL を代入した場合、 形状中で最も ID が小さな位相要素を返します。 これは、必ずしも最初に生成した位相要素とは限らないことに注意して下さい。

戻り値:
  loop の次に大きな ID を持つ位相要素を返します。 以下のいずれかを満たしている場合、NULL を返します。
  - loop が形状内ループの中で最大の ID であった場合。
  - 形状中にループが存在しない場合。
  - loop が形状中に存在するループ位相要素ではなかった場合。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

頂点数参照関数

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

戻り値:
  頂点数

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

半稜線数参照関数

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

戻り値:
  半稜線数

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

稜線数参照関数

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

戻り値:
  稜線数

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

ループ数参照関数

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

戻り値:
  ループ数