RobotStateNode 構造体をノードとする木構造のグラフのクラス.
[詳解]
#include <gait_pattern_graph_tree.h>
|
| GaitPatternGraphTree ()=delete |
|
| GaitPatternGraphTree (const int graph_max_size) |
| コンストラクタ.
ノード数の最大値を指定する.
|
|
constexpr int | GetGraphSize () const |
| グラフのノードの総数を返す.
|
|
constexpr bool | IsEmpty () const |
| グラフが空かどうかを返す.
|
|
constexpr bool | HasRoot () const |
| グラフが根ノードを持つかどうかを返す.
根ノードとは,親を持たないノードのこと.
一番最初に追加するノードは必ず根になるため, 根を持つかどうかはノードの総数が0でないかどうかで判定できる.
|
|
constexpr int | GetRootIndex () const |
| グラフの根ノードのインデックスを返す.
ノードがない場合を考慮していないため, HasRoot()で根ノードを持つかどうかを確認すること.
一番最初に追加されたノードは必ず根ノードになるため, 根ノードのインデックスは0で固定される.
|
|
const RobotStateNode & | GetRootNode () const |
| グラフの根ノードの参照を返す.
|
|
const RobotStateNode & | GetNode (const int index) const |
| グラフのノードの参照を返す.
|
|
const RobotStateNode & | GetParentNode (const int index, const int depth) const |
| 指定したノードの親ノードの参照を返す.depthは親ノードの深さを指定する.
|
|
const int | GetParentNodeIndex (const int index, const int depth) const |
| 指定したノードの親ノードの参照を返す.depthは親ノードの深さを指定する.
|
|
void | AddNode (const RobotStateNode &node) |
| ノードを追加する.
追加するノードは親ノードのインデックスと,depthの指定が適切にされている必要がある.
これらが適切にされていない場合,アサーションに引っかかる.
また,あらかじめ確保したノード数を超えて追加しようとするとアサーションに引っかかる.
この条件下では一番最初に追加されるノードは必ず根ノード(親を持たず,深さ0)になる,
|
|
constexpr void | Reset () |
| グラフをリセットする.
|
|
std::vector< float > | GetCoMVerticalTrajectory (const int index) const |
| 指定したノードの重心の上下移動軌跡を返す.
|
|
RobotStateNode 構造体をノードとする木構造のグラフのクラス.
論文でいうところの歩容パターングラフ.
gait_pattern_graph_tree.h の 23 行目に定義があります。
◆ GaitPatternGraphTree() [1/2]
designlab::GaitPatternGraphTree::GaitPatternGraphTree |
( |
| ) |
|
|
delete |
◆ GaitPatternGraphTree() [2/2]
designlab::GaitPatternGraphTree::GaitPatternGraphTree |
( |
const int |
graph_max_size | ) |
|
|
inlineexplicit |
◆ AddNode()
void designlab::GaitPatternGraphTree::AddNode |
( |
const RobotStateNode & |
node | ) |
|
|
inline |
ノードを追加する.
追加するノードは親ノードのインデックスと,depthの指定が適切にされている必要がある.
これらが適切にされていない場合,アサーションに引っかかる.
また,あらかじめ確保したノード数を超えて追加しようとするとアサーションに引っかかる.
この条件下では一番最初に追加されるノードは必ず根ノード(親を持たず,深さ0)になる,
- 引数
-
gait_pattern_graph_tree.h の 107 行目に定義があります。
◆ GetCoMVerticalTrajectory()
std::vector< float > designlab::GaitPatternGraphTree::GetCoMVerticalTrajectory |
( |
const int |
index | ) |
const |
|
inline |
指定したノードの重心の上下移動軌跡を返す.
- 引数
-
[in] | index | 参照したいノードのインデックス. 最大ノード数を超える数を指定するとアサーションに引っかかる. |
- 戻り値
- 指定したノードの重心の上下移動軌跡.
gait_pattern_graph_tree.h の 130 行目に定義があります。
◆ GetGraphSize()
constexpr int designlab::GaitPatternGraphTree::GetGraphSize |
( |
| ) |
const |
|
inlineconstexpr |
◆ GetNode()
const RobotStateNode & designlab::GaitPatternGraphTree::GetNode |
( |
const int |
index | ) |
const |
|
inline |
グラフのノードの参照を返す.
- 引数
-
[in] | index | 参照したいノードのインデックス. 最大ノード数を超える数を指定するとアサーションに引っかかる. |
- 戻り値
- インデックスで指定したノードの参照.
gait_pattern_graph_tree.h の 80 行目に定義があります。
◆ GetParentNode()
const RobotStateNode & designlab::GaitPatternGraphTree::GetParentNode |
( |
const int |
index, |
|
|
const int |
depth |
|
) |
| const |
指定したノードの親ノードの参照を返す.depthは親ノードの深さを指定する.
- 引数
-
[in] | index | 参照したいノードのインデックス. 最大ノード数を超える数を指定するとアサーションに引っかかる. |
[in] | depth | 親ノードの深さ. |
- 戻り値
- インデックスで指定したノードの親ノードの参照.
gait_pattern_graph_tree.cpp の 14 行目に定義があります。
◆ GetParentNodeIndex()
const int designlab::GaitPatternGraphTree::GetParentNodeIndex |
( |
const int |
index, |
|
|
const int |
depth |
|
) |
| const |
指定したノードの親ノードの参照を返す.depthは親ノードの深さを指定する.
- 引数
-
[in] | index | 参照したいノードのインデックス. 最大ノード数を超える数を指定するとアサーションに引っかかる. |
[in] | depth | 親ノードの深さ. |
- 戻り値
- indexで指定したノードの親ノードのインデックス.
gait_pattern_graph_tree.cpp の 36 行目に定義があります。
◆ GetRootIndex()
constexpr int designlab::GaitPatternGraphTree::GetRootIndex |
( |
| ) |
const |
|
inlineconstexpr |
グラフの根ノードのインデックスを返す.
ノードがない場合を考慮していないため, HasRoot()で根ノードを持つかどうかを確認すること.
一番最初に追加されたノードは必ず根ノードになるため, 根ノードのインデックスは0で固定される.
- 戻り値
- グラフの根ノードのインデックス.
gait_pattern_graph_tree.h の 64 行目に定義があります。
◆ GetRootNode()
const RobotStateNode & designlab::GaitPatternGraphTree::GetRootNode |
( |
| ) |
const |
|
inline |
◆ HasRoot()
constexpr bool designlab::GaitPatternGraphTree::HasRoot |
( |
| ) |
const |
|
inlineconstexpr |
グラフが根ノードを持つかどうかを返す.
根ノードとは,親を持たないノードのこと.
一番最初に追加するノードは必ず根になるため, 根を持つかどうかはノードの総数が0でないかどうかで判定できる.
- 戻り値
-
true | グラフが根ノードを持つ. |
false | グラフが根ノードを持たない. |
gait_pattern_graph_tree.h の 53 行目に定義があります。
◆ IsEmpty()
constexpr bool designlab::GaitPatternGraphTree::IsEmpty |
( |
| ) |
const |
|
inlineconstexpr |
◆ Reset()
constexpr void designlab::GaitPatternGraphTree::Reset |
( |
| ) |
|
|
inlineconstexpr |
このクラス詳解は次のファイルから抽出されました: