Class AbstractInterface
Defined in File interface.hpp
Inheritance Relationships
Derived Type
public slam_mer::interface::InterfaceRerun(Class InterfaceRerun)
Class Documentation
-
class AbstractInterface
Abstract base class for visualization backends.
Owns common worker loops and shared wiring between SLAM state producers and concrete visualization sinks.
Subclassed by slam_mer::interface::InterfaceRerun
Public Functions
-
AbstractInterface() = default
Construct the base interface object.
-
virtual ~AbstractInterface() = default
Destroy the interface object.
-
void initiate(PointersVisualization pointers_, const double queryMapLogFrequency_ = 10.0, const double queryCameraLogFrequency_ = 10.0)
Initialize data bindings and start interface worker threads.
- Parameters:
pointers_ – Collection of shared queues/functions used to fetch map, keyframe, and debug data from the SLAM pipeline.
queryMapLogFrequency_ – Target frequency (Hz) of the map logging loop (points/cells/cloud updates).
queryCameraLogFrequency_ – Target frequency (Hz) of the camera and diagnostics logging loop.
-
virtual bool stop_interface()
Stop worker threads and release shared interface resources.
- Returns:
truewhen shutdown completed.
Protected Functions
-
void log_points()
Synchronize sparse map-point buffers from SLAM to interface state.
-
void log_cells()
Synchronize map-cell buffers from SLAM to interface state.
-
void __map_loop(std::stop_token token_)
Thread body that publishes map-layer visuals at a fixed rate.
- Parameters:
token_ – Cooperative stop token used to terminate the loop.
-
void __camera_loop(std::stop_token token_)
Thread body that publishes camera/images/diagnostics at a fixed rate.
- Parameters:
token_ – Cooperative stop token used to terminate the loop.
-
void __internal_update_loop(std::stop_token token_)
Thread body that refreshes interface-side caches from shared queues.
- Parameters:
token_ – Cooperative stop token used to terminate the loop.
Protected Attributes
-
std::jthread _mapLogThread
Updating threads.
-
std::jthread _cameraLogThread
Lunch the rerun log loop for the camera in a separate thread.
-
std::jthread _updateDataThread
Updating threads.
Private Functions
-
virtual void __log_messages() = 0
Emit queued textual messages to the backend.
-
virtual void __log_images() = 0
Emit latest image/depth/debug frames to the backend.
-
virtual void __log_dense_point_cloud() = 0
Emit dense point cloud data to the backend.
-
virtual void __log_points() = 0
Emit sparse map points to the backend.
-
virtual void __log_cells() = 0
Emit voxel/cell primitives to the backend.
-
virtual void __log_camera_location() = 0
Emit camera transform/state to the backend.
-
virtual void __log_histogram_counts() = 0
Emit localization histogram metrics to the backend.
-
virtual void __log_keyframe_criteria() = 0
Emit keyframe-creation criteria metrics to the backend.
-
virtual void __log_covisibility() = 0
Emit covisibility graph edges to the backend.
-
AbstractInterface() = default