EchoMap 2026-07-25 6d3977c
An experimental cross-platform digital signal processing application for sound-source localisation.
Loading...
Searching...
No Matches
SensorGeometryPanel.hpp
Go to the documentation of this file.
1
7
8#ifndef ECHOMAP_SENSORGEOMETRYPANEL_HPP
9#define ECHOMAP_SENSORGEOMETRYPANEL_HPP
10
11#include <implot3d.h>
12#include <sigc++/scoped_connection.h>
13
14#include <string>
15
16#include "IProjectPanel.hpp"
17
18namespace echomap
19{
20
21class EchoMap;
22class Project;
24
29{
30public:
37 explicit SensorGeometryPanel(
38 EchoMap* app,
39 const Project* initial_project = nullptr
40 );
41
42 [[nodiscard]] const char* get_imgui_name() const noexcept override;
43
44 void draw() noexcept override;
45
46 void change_active_project(const Project* new_project) override;
47
48 static const char* get_imgui_stable_name() noexcept;
49
50private:
51 void recache_sensor_colours() noexcept;
52 void draw_geometry_summary() noexcept;
53 void draw_geometry_plot() const noexcept;
54
55 std::string panel_name;
56
57 std::vector<ImU32> sensor_colours;
58 ImPlot3DSpec plotting_spec_3d;
59 const Project* active_project = nullptr;
60 EchoMap* app;
62};
63
64} // namespace echomap
65
66#endif // ECHOMAP_SENSORGEOMETRYPANEL_HPP
IProjectPanel specification.
The EchoMap maintains state for the application including WebGPU and Dear ImGui context,...
Definition EchoMap.hpp:35
An IPanel which can receive updates to the application-wide active Project.
SensorGeometryPanel(EchoMap *app, const Project *initial_project=nullptr)
Create a new SensorGeometryPanel to plot and control Sensor information.
const char * get_imgui_name() const noexcept override
Retrieves the name of the IPanel for Dear ImGui API functions.
void change_active_project(const Project *new_project) override
Updates the active Project being described by the IPanel.
void draw() noexcept override
Draw the panel to the active rendering context.
Manages channels for WorkerResult message routing.
The main EchoMap outermost namespace for all non-exported symbols.