ロードマップ More...
#include <Roadmap.h>
Public Member Functions | |
void | addEdge (RoadmapNodePtr from, RoadmapNodePtr to) |
有向エッジを追加する | |
void | addNode (RoadmapNodePtr node) |
ノードを追加する | |
void | clear () |
ロードマップをクリアする | |
std::vector< RoadmapNodePtr > | DFS (RoadmapNodePtr startNode, RoadmapNodePtr goalNode) |
深さ優先探索 | |
void | findNearestNode (const Configuration &cfg, RoadmapNodePtr &node, double &distance) |
最も距離の小さいノードを返す | |
int | indexOfNode (RoadmapNodePtr node) |
指定されたノードのインデックスを取得する | |
void | integrate (RoadmapPtr rdmp) |
このロードマップの内容を引数のロードマップに統合する | |
RoadmapNodePtr | lastAddedNode () |
最後に追加されたノードを取得する | |
unsigned int | nEdges () const |
unsigned int | nNodes () const |
ノード数を取得する | |
RoadmapNodePtr | node (unsigned int index) |
ノードを取得する | |
bool | removeEdge (RoadmapNodePtr from, RoadmapNodePtr to) |
有向エッジを削除する | |
Roadmap (PathPlanner *planner) | |
コンストラクタ | |
void | tryConnection (RoadmapNodePtr from, RoadmapNodePtr to, bool tryReversed=true) |
2つのノードの接続を試み、接続できた場合はエッジを追加する | |
~Roadmap () | |
デストラクタ | |
Private Attributes | |
unsigned int | m_nEdges |
std::vector< RoadmapNodePtr > | nodes_ |
ノードのリスト | |
PathPlanner * | planner_ |
PathEngine::Roadmap::Roadmap | ( | PathPlanner * | planner | ) | [inline] |
void Roadmap::addEdge | ( | RoadmapNodePtr | from, |
RoadmapNodePtr | to | ||
) |
void PathEngine::Roadmap::addNode | ( | RoadmapNodePtr | node | ) | [inline] |
void Roadmap::clear | ( | void | ) |
ロードマップをクリアする
Definition at line 9 of file Roadmap.cpp.
std::vector< RoadmapNodePtr > Roadmap::DFS | ( | RoadmapNodePtr | startNode, |
RoadmapNodePtr | goalNode | ||
) |
深さ優先探索
startNode | 初期ノード |
goalNode | 終了ノード |
Definition at line 78 of file Roadmap.cpp.
void Roadmap::findNearestNode | ( | const Configuration & | cfg, |
RoadmapNodePtr & | node, | ||
double & | distance | ||
) |
最も距離の小さいノードを返す
cfg | 距離計算を行う対象となる位置 |
node | 最も近いノード。ノードが一つもない場合はNULL |
distance | 最も近いノードまでの距離 |
Definition at line 42 of file Roadmap.cpp.
int Roadmap::indexOfNode | ( | RoadmapNodePtr | node | ) |
指定されたノードのインデックスを取得する
node | ノード |
Definition at line 70 of file Roadmap.cpp.
void Roadmap::integrate | ( | RoadmapPtr | rdmp | ) |
このロードマップの内容を引数のロードマップに統合する
統合の後、このロードマップの中身は空になる。
rdmp | 統合先のロードマップ |
Definition at line 27 of file Roadmap.cpp.
unsigned int PathEngine::Roadmap::nEdges | ( | ) | const [inline] |
unsigned int PathEngine::Roadmap::nNodes | ( | ) | const [inline] |
RoadmapNodePtr Roadmap::node | ( | unsigned int | index | ) |
ノードを取得する
index | ノードのインデックス |
Definition at line 35 of file Roadmap.cpp.
bool Roadmap::removeEdge | ( | RoadmapNodePtr | from, |
RoadmapNodePtr | to | ||
) |
有向エッジを削除する
from | エッジの始点 |
to | エッジの終点 |
Definition at line 126 of file Roadmap.cpp.
void Roadmap::tryConnection | ( | RoadmapNodePtr | from, |
RoadmapNodePtr | to, | ||
bool | tryReversed = true |
||
) |
2つのノードの接続を試み、接続できた場合はエッジを追加する
from | 接続元 |
to | 接続先 |
tryReversed | trueの時逆向きの接続も試みる |
Definition at line 112 of file Roadmap.cpp.
unsigned int PathEngine::Roadmap::m_nEdges [private] |
std::vector<RoadmapNodePtr> PathEngine::Roadmap::nodes_ [private] |
PathPlanner* PathEngine::Roadmap::planner_ [private] |