EchoMap
2026-07-25 6d3977c
An experimental cross-platform digital signal processing application for sound-source localisation.
Toggle main menu visibility
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
18
namespace
echomap
19
{
20
21
class
EchoMap
;
22
class
Project
;
23
class
WorkerResultDespatcher
;
24
28
class
SensorGeometryPanel
final :
public
IProjectPanel
29
{
30
public
:
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
50
private
:
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;
61
std::vector<sigc::scoped_connection>
connections;
62
};
63
64
}
// namespace echomap
65
66
#endif
// ECHOMAP_SENSORGEOMETRYPANEL_HPP
IProjectPanel.hpp
IProjectPanel specification.
std::string
echomap::EchoMap
The EchoMap maintains state for the application including WebGPU and Dear ImGui context,...
Definition
EchoMap.hpp:35
echomap::IProjectPanel
An IPanel which can receive updates to the application-wide active Project.
Definition
IProjectPanel.hpp:24
echomap::Project
Definition
Project.hpp:26
echomap::SensorGeometryPanel::SensorGeometryPanel
SensorGeometryPanel(EchoMap *app, const Project *initial_project=nullptr)
Create a new SensorGeometryPanel to plot and control Sensor information.
Definition
SensorGeometryPanel.cpp:19
echomap::SensorGeometryPanel::get_imgui_name
const char * get_imgui_name() const noexcept override
Retrieves the name of the IPanel for Dear ImGui API functions.
Definition
SensorGeometryPanel.cpp:29
echomap::SensorGeometryPanel::change_active_project
void change_active_project(const Project *new_project) override
Updates the active Project being described by the IPanel.
Definition
SensorGeometryPanel.cpp:51
echomap::SensorGeometryPanel::draw
void draw() noexcept override
Draw the panel to the active rendering context.
Definition
SensorGeometryPanel.cpp:34
echomap::WorkerResultDespatcher
Manages channels for WorkerResult message routing.
Definition
WorkerResultDespatcher.hpp:27
echomap
The main EchoMap outermost namespace for all non-exported symbols.
Definition
ActionController.hpp:20
string
std::vector
src
panels
SensorGeometryPanel.hpp
Generated by
1.17.0