GaitGeneration by Graph Search
読み取り中…
検索中…
一致する文字列を見つけられません
system_main_graph_viewer.h
[詳解]
1
3
4// Copyright(c) 2023-2025 Design Engineering Laboratory, Saitama University
5// Released under the MIT license
6// https://opensource.org/licenses/mit-license.php
7
8#ifndef DESIGNLAB_SYSTEM_MAIN_GRAPH_VIEWER_H_
9#define DESIGNLAB_SYSTEM_MAIN_GRAPH_VIEWER_H_
10
11#include <memory>
12#include <vector>
13
15#include "graph_tree_creator.h"
16#include "graphic_data_broker.h"
19#include "map_state.h"
20#include "stopwatch.h"
21
22namespace designlab {
23
30class SystemMainGraphViewer final : public ISystemMain {
31 public:
33 std::unique_ptr<GraphTreeCreator>&& graph_tree_creator,
34 std::unique_ptr<IMapCreator>&& map_creator,
35 const std::shared_ptr<GraphicDataBroker>& broker_ptr,
36 const std::shared_ptr<const ApplicationSettingRecord>& setting_ptr);
37
38 void Main() override;
39
40 private:
44 void CreateGraph(const RobotStateNode parent,
45 std::vector<RobotStateNode>* graph);
46
50 void OutputGraphStatus(const std::vector<RobotStateNode>& graph) const;
51
56 RobotStateNode SelectNodeByInput(
57 const std::vector<RobotStateNode>& graph) const;
58
59 const std::unique_ptr<GraphTreeCreator> graph_tree_creator_ptr_;
60
61 const std::unique_ptr<IMapCreator> map_creator_ptr_;
62
63 const std::shared_ptr<GraphicDataBroker> broker_ptr_;
64
65 const std::shared_ptr<const ApplicationSettingRecord> setting_ptr_;
66
67 MapState map_state_;
68
69 Stopwatch stopwatch_;
70};
71
72} // namespace designlab
73
74#endif // DESIGNLAB_SYSTEM_MAIN_GRAPH_VIEWER_H_
プログラムの面の処理のインターフェース.
マップを表すクラス.
Definition map_state.h:29
時間計測用のクラス.
Definition stopwatch.h:29
グラフを表示するシステムのメインクラス.
void Main() override
主要な処理を行う関数.
グラフ構造のためのノード(頂点).