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

グラフ構造のノードを制御するクラス [詳解]

#include <FK/GraphNode.h>

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

公開メンバ関数

unsigned int getID (void)
 ID 取得関数
 
void setPosition (fk_Vector pos)
 位置ベクトル設定関数
 
fk_VectorgetPosition (void)
 位置ベクトル取得関数
 
unsigned int getGeneration (void)
 位置変更回数取得関数
 
bool isConnect (fk_GraphNode *node)
 接続ノード確認関数
 
bool isConnect (bool mode, fk_GraphNode *node)
 方向判定付き接続ノード確認関数
 
std::list< fk_GraphEdge * > getAllEdge (void)
 全接続辺取得関数1
 
void getAllEdge (std::list< fk_GraphEdge * > *list)
 全接続辺取得関数2
 
std::list< fk_GraphEdge * > getStartEdge (void)
 始点接続辺取得関数1
 
void getStartEdge (std::list< fk_GraphEdge * > *list)
 始点接続辺取得関数2
 
std::list< fk_GraphEdge * > getEndEdge (void)
 終点接続辺取得関数1
 
void getEndEdge (std::list< fk_GraphEdge * > *list)
 終点接続辺取得関数2
 
std::list< fk_GraphNode * > getNextNode (void)
 接続終点取得関数1
 
void getNextNode (std::list< fk_GraphNode * > *list)
 接続終点取得関数2
 
std::list< fk_GraphNode * > getPrevNode (void)
 接続始点取得関数1
 
void getPrevNode (std::list< fk_GraphNode * > *list)
 接続始点取得関数2
 
void setIntCost (unsigned int ID, int cost, int prev=-1)
 整数型コスト設定関数
 
void setDoubleCost (unsigned int ID, double cost, int prev=-1)
 実数型コスト設定関数
 
int getIntCost (unsigned int ID)
 整数型コスト取得関数
 
double getDoubleCost (unsigned int ID)
 実数型コスト取得関数
 
void clearIntCost (unsigned int ID)
 整数型コスト設定解除関数
 
void clearDoubleCost (unsigned int ID)
 実数型コスト設定解除関数
 
bool isDoneIntCost (unsigned int ID)
 整数型コスト設定状態参照関数
 
bool isDoneDoubleCost (unsigned int ID)
 実数型コスト設定状態参照関数
 
void setColor (fk_Color col)
 色指定関数1
 
void setColor (fk_Color *col)
 色指定関数2
 
- 基底クラス FK::fk_BaseObject に属する継承公開メンバ関数
 fk_BaseObject (fk_Type type=fk_Type::BASEOBJECT)
 コンストラクタ
 
fk_Type getObjectType (void) const
 タイプ取得関数
 

詳解

グラフ構造のノードを制御するクラス

このクラスは、グラフ構造におけるノードを制御する機能を提供します。

グラフ構造の詳細および利用方法についての詳細は、 fk_Graph のマニュアルを参照して下さい。 ここでは、グラフの辺に関する情報に特化して解説します。

本クラスのインスタンスは fk_Graph 内で自動的に生成されるものであり、 FK 利用者が直接インスタンスを生成することはありません。

参照
fk_Graph, fk_GraphNode

関数詳解

◆ getID()

unsigned int FK::fk_GraphNode::getID ( void  )

ID 取得関数

ノードの ID を取得します。

戻り値
ID

◆ setPosition()

void FK::fk_GraphNode::setPosition ( fk_Vector  pos)

位置ベクトル設定関数

ノードの位置ベクトルを設定します。

引数
[in]pos位置ベクトル

◆ getPosition()

fk_Vector & FK::fk_GraphNode::getPosition ( void  )

位置ベクトル取得関数

ノードの位置ベクトルを取得します。

戻り値
位置ベクトル

◆ getGeneration()

unsigned int FK::fk_GraphNode::getGeneration ( void  )

位置変更回数取得関数

これまでのノード位置変更回数を取得します。

戻り値
変更回数

◆ isConnect() [1/2]

bool FK::fk_GraphNode::isConnect ( fk_GraphNode node)

接続ノード確認関数

指定したノードとの間に辺が存在するかどうかを判定します。 辺の方向も考慮したい場合は isConnect(bool, fk_GraphNode *) を使用して下さい。

引数
[in]node接続を確認するノード
戻り値
辺が存在する場合 true を、存在しない場合 false を返します。

◆ isConnect() [2/2]

bool FK::fk_GraphNode::isConnect ( bool  mode,
fk_GraphNode node 
)

方向判定付き接続ノード確認関数

指定したノードとの間に、指定した方向の辺が存在するかどうかを判定します。 isConnect(fk_GraphNode *) の場合は何かしらの辺が存在すれば true を返しますが、 こちらの関数では辺の方向を指定することができます。 mode が true のときは、this インスタンスから node への経路が存在する場合のみに true を返します。そのため、辺が存在していたとしても、 node から this への一方通行辺だった場合は false を返します。 mode が false の場合は this インスタンスが終点側の場合に true を返します。 間の辺が双方向辺だった場合は、mode の値にかかわらず true を返します。

引数
[in]mode辺の向きを指定します。
[in]node接続を確認するノード。
戻り値
指定した方向への辺が存在する場合 true を、存在しない場合 false を返します。

◆ getAllEdge() [1/2]

std::list< fk_GraphEdge * > FK::fk_GraphNode::getAllEdge ( void  )

全接続辺取得関数1

このノードに接続している全ての辺を取得します。

戻り値
接続辺の list 集合。

◆ getAllEdge() [2/2]

void FK::fk_GraphNode::getAllEdge ( std::list< fk_GraphEdge * > *  list)

全接続辺取得関数2

このノードに接続している全ての辺を取得します。

引数
[out]list接続辺の list 集合。

◆ getStartEdge() [1/2]

std::list< fk_GraphEdge * > FK::fk_GraphNode::getStartEdge ( void  )

始点接続辺取得関数1

このノードに接続している辺のうち、以下の条件に当てはまる辺を取得します。

  • 双方向辺。
  • 一方通行辺のうち、このノードが始点となっている辺。
戻り値
接続辺の list 集合。

◆ getStartEdge() [2/2]

void FK::fk_GraphNode::getStartEdge ( std::list< fk_GraphEdge * > *  list)

始点接続辺取得関数2

このノードに接続している辺のうち、以下の条件に当てはまる辺を取得します。

  • 双方向辺。
  • 一方通行辺のうち、このノードが始点となっている辺。
引数
[out]list接続辺の list 集合。

◆ getEndEdge() [1/2]

std::list< fk_GraphEdge * > FK::fk_GraphNode::getEndEdge ( void  )

終点接続辺取得関数1

このノードに接続している辺のうち、以下の条件に当てはまる辺を取得します。

  • 双方向辺。
  • 一方通行辺のうち、このノードが終点となっている辺。
戻り値
接続辺の list 集合。

◆ getEndEdge() [2/2]

void FK::fk_GraphNode::getEndEdge ( std::list< fk_GraphEdge * > *  list)

終点接続辺取得関数2

このノードに接続している辺のうち、以下の条件に当てはまる辺を取得します。

  • 双方向辺。
  • 一方通行辺のうち、このノードが終点となっている辺。
引数
[out]list接続辺の list 集合。

◆ getNextNode() [1/2]

std::list< fk_GraphNode * > FK::fk_GraphNode::getNextNode ( void  )

接続終点取得関数1

このノードと隣接するノードのうち、以下の条件に当てはまるノードを取得します。

  • 双方向辺で接続しているノード。
  • このノードが始点である一方通行辺に接続している終点ノード。
戻り値
接続点の list 集合
参照
getStartEdge(void), getNextNode(std::list<fk_GraphNode *> *), getPrevNode(void)

◆ getNextNode() [2/2]

void FK::fk_GraphNode::getNextNode ( std::list< fk_GraphNode * > *  list)

接続終点取得関数2

このノードと隣接するノードのうち、以下の条件に当てはまるノードを取得します。

  • 双方向辺で接続しているノード。
  • このノードが始点である一方通行辺に接続している終点ノード。
引数
[out]list接続点の list 集合
参照
getStartEdge(std::list<fk_GraphEdge *> *), getNextNode(void), getPrevNode(std::list<fk_GraphNode *> *)

◆ getPrevNode() [1/2]

std::list< fk_GraphNode * > FK::fk_GraphNode::getPrevNode ( void  )

接続始点取得関数1

このノードと隣接するノードのうち、以下の条件に当てはまるノードを取得します。

  • 双方向辺で接続しているノード。
  • このノードが終点である一方通行辺に接続している始点ノード。
戻り値
接続点の list 集合
参照
getEndEdge(void), getPrevNode(std::list<fk_GraphNode *> *), getNextNode(void)

◆ getPrevNode() [2/2]

void FK::fk_GraphNode::getPrevNode ( std::list< fk_GraphNode * > *  list)

接続始点取得関数2

このノードと隣接するノードのうち、以下の条件に当てはまるノードを取得します。

  • 双方向辺で接続しているノード。
  • このノードが終点である一方通行辺に接続している始点ノード。
引数
[out]list接続点の list 集合
参照
getEndEdge(std::list<fk_GraphEdge *> *), getPrevNode(void), getNextNode(std::list<fk_GraphNode *> *)

◆ setIntCost()

void FK::fk_GraphNode::setIntCost ( unsigned int  ID,
int  cost,
int  prev = -1 
)

整数型コスト設定関数

整数型コストを設定します。

引数
[in]IDコスト ID
[in]costコスト値
[in]prev前ノード ID (省略可)
参照
setDoubleCost(), getIntCost(), clearIntCost(), isDoneIntCost()

◆ setDoubleCost()

void FK::fk_GraphNode::setDoubleCost ( unsigned int  ID,
double  cost,
int  prev = -1 
)

実数型コスト設定関数

実数型コストを設定します。

引数
[in]IDコスト ID
[in]costコスト値
[in]prev前ノード ID (省略可)
参照
setIntCost(), getDoubleCost(), clearDoubleCost(), isDoneDoubleCost()

◆ getIntCost()

int FK::fk_GraphNode::getIntCost ( unsigned int  ID)

整数型コスト取得関数

整数型コストを取得します。 なお、ID に対応するコスト値が未設定だった場合は 0 が返りますが、 取得後も未設定状態のままになります。

引数
[in]IDコスト ID
戻り値
コスト値
参照
getDoubleCost(), setIntCost(), clearIntCost(), isDoneIntCost()

◆ getDoubleCost()

double FK::fk_GraphNode::getDoubleCost ( unsigned int  ID)

実数型コスト取得関数

実数型コストを取得します。 なお、ID に対応するコスト値が未設定だった場合は 0.0 が返りますが、 取得後も未設定状態のままになります。

引数
[in]IDコスト ID
戻り値
コスト値
参照
getIntCost(), setDoubleCost(), clearDoubleCost(), isDoneDoubleCost()

◆ clearIntCost()

void FK::fk_GraphNode::clearIntCost ( unsigned int  ID)

整数型コスト設定解除関数

整数型コストの設定を解除し、未設定状態とします。

引数
[in]IDコスト ID
参照
clearDoubleCost(), setIntCost(), getIntCost(), isDoneIntCost()

◆ clearDoubleCost()

void FK::fk_GraphNode::clearDoubleCost ( unsigned int  ID)

実数型コスト設定解除関数

実数型コストの設定を解除し、未設定状態とします。

引数
[in]IDコスト ID
参照
clearIntCost(), setDoubleCost(), getDoubleCost(), isDoneDoubleCost()

◆ isDoneIntCost()

bool FK::fk_GraphNode::isDoneIntCost ( unsigned int  ID)

整数型コスト設定状態参照関数

整数型コストが設定済がどうかを参照します。

引数
[in]IDコスト ID
戻り値
対応する ID のコストが設定されている場合 true を、 未設定の場合 false を返します。
参照
isDoneDoubleCost(), setIntCost(), getIntCost(), clearIntCost()

◆ isDoneDoubleCost()

bool FK::fk_GraphNode::isDoneDoubleCost ( unsigned int  ID)

実数型コスト設定状態参照関数

実数型コストが設定済がどうかを参照します。

引数
[in]IDコスト ID
戻り値
対応する ID のコストが設定されている場合 true を、 未設定の場合 false を返します。
参照
isDoneIntCost(), setDoubleCost(), getDoubleCost(), clearDoubleCost()

◆ setColor() [1/2]

void FK::fk_GraphNode::setColor ( fk_Color  col)

色指定関数1

辺の色を指定します。

引数
[in]col色値

◆ setColor() [2/2]

void FK::fk_GraphNode::setColor ( fk_Color col)

色指定関数2

辺の色を指定します。

引数
[in]col色値