FineKernelToolKit 4.2.13
|
グラフ構造のノードを制御するクラス [詳解]
#include <FK/GraphNode.h>
公開メンバ関数 | |
unsigned int | getID (void) |
ID 取得関数 | |
void | setPosition (fk_Vector pos) |
位置ベクトル設定関数 | |
fk_Vector & | getPosition (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_BaseObject (fk_Type type=fk_Type::BASEOBJECT) | |
コンストラクタ | |
fk_Type | getObjectType (void) const |
タイプ取得関数 | |
グラフ構造のノードを制御するクラス
このクラスは、グラフ構造におけるノードを制御する機能を提供します。
グラフ構造の詳細および利用方法についての詳細は、 fk_Graph のマニュアルを参照して下さい。 ここでは、グラフの辺に関する情報に特化して解説します。
本クラスのインスタンスは fk_Graph 内で自動的に生成されるものであり、 FK 利用者が直接インスタンスを生成することはありません。
unsigned int FK::fk_GraphNode::getID | ( | void | ) |
ID 取得関数
ノードの ID を取得します。
void FK::fk_GraphNode::setPosition | ( | fk_Vector | pos | ) |
位置ベクトル設定関数
ノードの位置ベクトルを設定します。
[in] | pos | 位置ベクトル |
fk_Vector & FK::fk_GraphNode::getPosition | ( | void | ) |
位置ベクトル取得関数
ノードの位置ベクトルを取得します。
unsigned int FK::fk_GraphNode::getGeneration | ( | void | ) |
位置変更回数取得関数
これまでのノード位置変更回数を取得します。
bool FK::fk_GraphNode::isConnect | ( | fk_GraphNode * | node | ) |
接続ノード確認関数
指定したノードとの間に辺が存在するかどうかを判定します。 辺の方向も考慮したい場合は isConnect(bool, fk_GraphNode *) を使用して下さい。
[in] | node | 接続を確認するノード |
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 | 接続を確認するノード。 |
std::list< fk_GraphEdge * > FK::fk_GraphNode::getAllEdge | ( | void | ) |
全接続辺取得関数1
このノードに接続している全ての辺を取得します。
void FK::fk_GraphNode::getAllEdge | ( | std::list< fk_GraphEdge * > * | list | ) |
全接続辺取得関数2
このノードに接続している全ての辺を取得します。
[out] | list | 接続辺の list 集合。 |
std::list< fk_GraphEdge * > FK::fk_GraphNode::getStartEdge | ( | void | ) |
始点接続辺取得関数1
このノードに接続している辺のうち、以下の条件に当てはまる辺を取得します。
void FK::fk_GraphNode::getStartEdge | ( | std::list< fk_GraphEdge * > * | list | ) |
始点接続辺取得関数2
このノードに接続している辺のうち、以下の条件に当てはまる辺を取得します。
[out] | list | 接続辺の list 集合。 |
std::list< fk_GraphEdge * > FK::fk_GraphNode::getEndEdge | ( | void | ) |
終点接続辺取得関数1
このノードに接続している辺のうち、以下の条件に当てはまる辺を取得します。
void FK::fk_GraphNode::getEndEdge | ( | std::list< fk_GraphEdge * > * | list | ) |
終点接続辺取得関数2
このノードに接続している辺のうち、以下の条件に当てはまる辺を取得します。
[out] | list | 接続辺の list 集合。 |
std::list< fk_GraphNode * > FK::fk_GraphNode::getNextNode | ( | void | ) |
接続終点取得関数1
このノードと隣接するノードのうち、以下の条件に当てはまるノードを取得します。
void FK::fk_GraphNode::getNextNode | ( | std::list< fk_GraphNode * > * | list | ) |
接続終点取得関数2
このノードと隣接するノードのうち、以下の条件に当てはまるノードを取得します。
[out] | list | 接続点の list 集合 |
std::list< fk_GraphNode * > FK::fk_GraphNode::getPrevNode | ( | void | ) |
接続始点取得関数1
このノードと隣接するノードのうち、以下の条件に当てはまるノードを取得します。
void FK::fk_GraphNode::getPrevNode | ( | std::list< fk_GraphNode * > * | list | ) |
接続始点取得関数2
このノードと隣接するノードのうち、以下の条件に当てはまるノードを取得します。
[out] | list | 接続点の list 集合 |
void FK::fk_GraphNode::setIntCost | ( | unsigned int | ID, |
int | cost, | ||
int | prev = -1 |
||
) |
整数型コスト設定関数
整数型コストを設定します。
[in] | ID | コスト ID |
[in] | cost | コスト値 |
[in] | prev | 前ノード ID (省略可) |
void FK::fk_GraphNode::setDoubleCost | ( | unsigned int | ID, |
double | cost, | ||
int | prev = -1 |
||
) |
実数型コスト設定関数
実数型コストを設定します。
[in] | ID | コスト ID |
[in] | cost | コスト値 |
[in] | prev | 前ノード ID (省略可) |
int FK::fk_GraphNode::getIntCost | ( | unsigned int | ID | ) |
整数型コスト取得関数
整数型コストを取得します。 なお、ID に対応するコスト値が未設定だった場合は 0 が返りますが、 取得後も未設定状態のままになります。
[in] | ID | コスト ID |
double FK::fk_GraphNode::getDoubleCost | ( | unsigned int | ID | ) |
実数型コスト取得関数
実数型コストを取得します。 なお、ID に対応するコスト値が未設定だった場合は 0.0 が返りますが、 取得後も未設定状態のままになります。
[in] | ID | コスト ID |
void FK::fk_GraphNode::clearIntCost | ( | unsigned int | ID | ) |
整数型コスト設定解除関数
整数型コストの設定を解除し、未設定状態とします。
[in] | ID | コスト ID |
void FK::fk_GraphNode::clearDoubleCost | ( | unsigned int | ID | ) |
実数型コスト設定解除関数
実数型コストの設定を解除し、未設定状態とします。
[in] | ID | コスト ID |
bool FK::fk_GraphNode::isDoneIntCost | ( | unsigned int | ID | ) |
整数型コスト設定状態参照関数
整数型コストが設定済がどうかを参照します。
[in] | ID | コスト ID |
bool FK::fk_GraphNode::isDoneDoubleCost | ( | unsigned int | ID | ) |
実数型コスト設定状態参照関数
実数型コストが設定済がどうかを参照します。
[in] | ID | コスト ID |
void FK::fk_GraphNode::setColor | ( | fk_Color | col | ) |
色指定関数1
辺の色を指定します。
[in] | col | 色値 |
void FK::fk_GraphNode::setColor | ( | fk_Color * | col | ) |
色指定関数2
辺の色を指定します。
[in] | col | 色値 |