GaitGeneration by Graph Search
読み取り中…
検索中…
一致する文字列を見つけられません
graphic_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_GRAPHIC_MAIN_GRAPH_VIEWER_H_
9#define DESIGNLAB_GRAPHIC_MAIN_GRAPH_VIEWER_H_
10
11#include <memory>
12#include <vector>
13
15#include "dxlib_gui_updater.h"
18#include "graphic_data_broker.h"
23#include "mouse.h"
24
25
26namespace designlab
27{
28
32{
33public:
35 const std::shared_ptr<const GraphicDataBroker>& broker_ptr,
36 const std::shared_ptr<const IHexapodCoordinateConverter>& converter_ptr,
37 const std::shared_ptr<const IHexapodJointCalculator>& calculator_ptr,
38 const std::shared_ptr<const IHexapodPostureValidator>& checker_ptr,
39 const std::shared_ptr<const ApplicationSettingRecord>& setting_ptr);
40
42
43 bool Update() override;
44
45 void Draw() const override;
46
47private:
48 const std::shared_ptr<const GraphicDataBroker> broker_ptr_;
49 const std::shared_ptr<Mouse> mouse_ptr_;
50
51 const std::unique_ptr<GraphViewerGUIController> gui_controller_ptr_;
52
53 Dxlib3dRendererGroup renderer_group_;
54 DxlibGuiUpdater gui_updater_;
55 DxlibNodeSetterGroup node_setter_group_;
56
57 std::vector<RobotStateNode> graph_;
58 size_t display_node_index_{ 0 };
59
60 int graph_update_count_{ 0 };
61};
62
63} // namespace designlab
64
65
66#endif // DESIGNLAB_GRAPHIC_MAIN_GRAPH_VIEWER_H_
dxlib_renderer の draw 関数を呼ぶためのクラス.
クリック判定を行うクラス.
DxLibでノードの設定を行うクラスをまとめるクラス.
GraphViewerの画面を表示するクラス.
bool Update() override
描画画面の更新を行う.純粋仮想関数のため, 継承先では必ず override する必要がある.
void Draw() const override
描画を行う. ここでは描画系の処理のみを行い内部のデータを 更新しないため const を付けている.
GraphicMainのインターフェース.