1#if !defined(__FK_GRAPH_HEADER__)
2#define __FK_GRAPH_HEADER__
4#include <FK/CostTable.hh>
5#include <FK/IDAdmin.hh>
44#if !defined(FK_DOXYGEN_USER_PROCESS)
49 std::unique_ptr<fk_IDAdmin> edgeAdmin;
51 std::vector<std::unique_ptr<fk_GraphNode>> nodeArray;
52 std::vector<std::unique_ptr<fk_GraphEdge>> edgeArray;
53 std::vector<std::unique_ptr<fk_CostTable>> tableArray;
55 std::list<fk_GraphNode *> nodeList;
56 std::list<fk_GraphEdge *> edgeList;
58 unsigned int intCostMax, doubleCostMax;
365 void getOnePath(
unsigned int tableID, std::list<fk_GraphNode *> *nodeList);
369#if !defined(FK_DOXYGEN_USER_PROCESS)
372 void TablePrint(
void);
373 void CostPrint(
unsigned int);
379 std::unique_ptr<Member> _m;
381 void NodeResize(
unsigned int);
382 bool TableReady(
unsigned int);
387 std::list<fk_GraphNode *> *, std::list<fk_GraphNode *> *);
390 std::list<fk_GraphNode *> *, std::list<fk_GraphNode *> *);
グラフ構造の辺を制御するクラス
Definition GraphEdge.h:37
グラフ構造のノードを制御するクラス
Definition GraphNode.h:27
グラフ構造を制御するクラス
Definition Graph.h:42
void clearGoal(unsigned int tableID)
目標ノード初期化関数
fk_Graph(unsigned int num)
コンストラクタ
void setStart(unsigned int tableID, fk_GraphNode *node)
出発ノード設定関数
fk_GraphNode * getNode(unsigned int ID)
ノード取得関数
fk_CostStatus updateCostTable(unsigned int tableID)
コストテーブル更新関数
bool deleteEdge(fk_GraphEdge *e)
辺削除関数
bool makeCostTable(unsigned int tableID, fk_CostType type)
コストテーブル生成関数
unsigned int getNodeSize(void)
ノード数取得関数
void getOnePath(unsigned int tableID, std::list< fk_GraphNode * > *nodeList)
最短経路取得関数2
fk_GraphEdge * makeEdge(bool mode, fk_GraphNode *v1, fk_GraphNode *v2)
辺生成関数
fk_CostStatus getCostStatus(unsigned int tableID)
コストテーブル状態取得関数
unsigned int getMaxEdgeID(void)
辺ID最大値取得関数
fk_GraphEdge * getEdge(unsigned int ID)
辺情報取得関数
std::list< fk_GraphEdge * > * getAllEdge(void)
全辺取得関数
std::list< fk_GraphNode * > * getAllNode(void)
全ノード取得関数
void addGoal(unsigned int tableID, fk_GraphNode *node)
目標ノード追加関数
unsigned int getNodeCostID(unsigned int tableID)
ノード内コストID参照関数
std::list< fk_GraphNode * > getOnePath(unsigned int tableID)
最短経路取得関数1
void removeGoal(unsigned int tableID, fk_GraphNode *node)
目標ノード除外関数
bool setCostDirection(unsigned int tableID, fk_CostDirection direction)
コスト算出方向指定関数
bool setEdgeCostID(unsigned int tableID, unsigned int edgeCostID)
辺コストID対応指定関数
bool initCostTable(unsigned int tableID)
コストテーブル初期化関数
bool isConnect(fk_GraphNode *v1, fk_GraphNode *v2)
辺存在確認関数
有向線分を生成、管理するクラス
Definition Line.h:22
点群を生成、管理するクラス
Definition Point.h:29
形状用基底クラス
Definition Shape.h:44
Fine Kernel Toolkit 名前空間
Definition Angle.h:6
fk_CostType
グラフ内コスト値の型を表す列挙型
Definition GraphEdge.h:12
fk_CostDirection
グラフ内コスト算出方向を表す列挙型
Definition GraphEdge.h:19
fk_CostStatus
グラフのコスト算出状況を表す列挙型
Definition Graph.h:10