Dynamic Neural Field Composer 0.0.0
A C++20 library and interactive application for building and simulating Dynamic Neural Field (DNF) architectures.
Loading...
Searching...
No Matches
static_layout.h
Go to the documentation of this file.
1#pragma once
2
3#include <memory>
4#include <chrono>
5
6#include <imgui-platform-kit/user_interface_window.h>
7
15#include "tools/utils.h"
21
23{
24 class StaticLayoutWindow final : public imgui_kit::UserInterfaceWindow
25 {
26 private:
27 std::shared_ptr<Simulation> simulation;
28 std::shared_ptr<Visualization> visualization;
29
30 std::unique_ptr<ControlBarWindow> controlBarWindow;
31 std::unique_ptr<SimulationWindow> simulationWindow;
32 std::unique_ptr<ElementWindow> elementWindow;
33 std::unique_ptr<NodeGraphWindow> nodeGraphWindow;
34 std::unique_ptr<PlotsWindow> plotsWindow;
35 std::unique_ptr<StatusBarWindow> statusBarWindow;
36 std::unique_ptr<LogWindow> logWindow;
37 std::unique_ptr<HelpWindow> helpWindow;
38
39 public:
40 StaticLayoutWindow(const std::shared_ptr<Simulation>& simulation,
41 const std::shared_ptr<Visualization>& visualization);
42
47
48 void render() override;
49 ~StaticLayoutWindow() override = default;
50
51 private:
52 void renderWindows() const;
53 void drawPanels() const;
54 void drawPanelControlBar (ImVec2 pos, ImVec2 size) const;
55 void drawPanelSimulation (ImVec2 pos, ImVec2 size) const;
56 void drawPanelElement (ImVec2 pos, ImVec2 size) const;
57 void drawPanelNodeGraph (ImVec2 pos, ImVec2 size) const;
58 void drawPanelStatusBar (ImVec2 pos, ImVec2 size) const;
59 };
60}
StaticLayoutWindow(StaticLayoutWindow &&)=delete
StaticLayoutWindow & operator=(StaticLayoutWindow &&)=delete
void render() override
Definition static_layout.cpp:56
StaticLayoutWindow(const StaticLayoutWindow &)=delete
StaticLayoutWindow & operator=(const StaticLayoutWindow &)=delete
Definition control_bar_window.h:10