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 の 21 行目に定義があります。
◆ 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 の 101 行目に定義があります。
◆ GetCoMVerticalTrajectory()
| std::vector< float > designlab::GaitPatternGraphTree::GetCoMVerticalTrajectory |
( |
const int |
index | ) |
const |
|
inline |
指定したノードの重心の上下移動軌跡を返す.
- 引数
-
| [in] | index | 参照したいノードのインデックス. 最大ノード数を超える数を指定するとアサーションに引っかかる. |
- 戻り値
- 指定したノードの重心の上下移動軌跡.
gait_pattern_graph_tree.h の 123 行目に定義があります。
◆ 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 の 68 行目に定義があります。
◆ GetParentNode()
| const RobotStateNode & designlab::GaitPatternGraphTree::GetParentNode |
( |
const int |
index, |
|
|
const int |
depth |
|
) |
| const |
指定したノードの親ノードの参照を返す.depthは親ノードの深さを指定する.
- 引数
-
| [in] | index | 参照したいノードのインデックス. 最大ノード数を超える数を指定するとアサーションに引っかかる. |
| [in] | depth | 親ノードの深さ. |
- 戻り値
- インデックスで指定したノードの親ノードの参照.
gait_pattern_graph_tree.cpp の 12 行目に定義があります。
◆ GetParentNodeIndex()
| const int designlab::GaitPatternGraphTree::GetParentNodeIndex |
( |
const int |
index, |
|
|
const int |
depth |
|
) |
| const |
指定したノードの親ノードの参照を返す.depthは親ノードの深さを指定する.
- 引数
-
| [in] | index | 参照したいノードのインデックス. 最大ノード数を超える数を指定するとアサーションに引っかかる. |
| [in] | depth | 親ノードの深さ. |
- 戻り値
- indexで指定したノードの親ノードのインデックス.
gait_pattern_graph_tree.cpp の 32 行目に定義があります。
◆ GetRootIndex()
| constexpr int designlab::GaitPatternGraphTree::GetRootIndex |
( |
| ) |
const |
|
inlineconstexpr |
グラフの根ノードのインデックスを返す.
ノードがない場合を考慮していないため, HasRoot()で根ノードを持つかどうかを確認すること.
一番最初に追加されたノードは必ず根ノードになるため, 根ノードのインデックスは0で固定される.
- 戻り値
- グラフの根ノードのインデックス.
gait_pattern_graph_tree.h の 56 行目に定義があります。
◆ GetRootNode()
| const RobotStateNode & designlab::GaitPatternGraphTree::GetRootNode |
( |
| ) |
const |
|
inline |
◆ HasRoot()
| constexpr bool designlab::GaitPatternGraphTree::HasRoot |
( |
| ) |
const |
|
inlineconstexpr |
グラフが根ノードを持つかどうかを返す.
根ノードとは,親を持たないノードのこと.
一番最初に追加するノードは必ず根になるため, 根を持つかどうかはノードの総数が0でないかどうかで判定できる.
- 戻り値
-
| true | グラフが根ノードを持つ. |
| false | グラフが根ノードを持たない. |
gait_pattern_graph_tree.h の 48 行目に定義があります。
◆ IsEmpty()
| constexpr bool designlab::GaitPatternGraphTree::IsEmpty |
( |
| ) |
const |
|
inlineconstexpr |
◆ Reset()
| constexpr void designlab::GaitPatternGraphTree::Reset |
( |
| ) |
|
|
inlineconstexpr |
このクラス詳解は次のファイルから抽出されました: