11#ifndef VISUALIZATIONHANDLER_H
12#define VISUALIZATIONHANDLER_H
14#include "../handlers/LiDARHandler.h"
15#include "../interfaces/AutonomyThread.hpp"
16#include "../util/GeospatialOperations.hpp"
17#include "../util/handlers/SimpleWebServer.h"
103 std::vector<char>
OnRequestMap(
const std::string& szQuery);
115 std::string
Base64Encode(
const std::vector<char>& vData);
130 std::unique_ptr<SimpleWebServer> m_pWebServer;
136 std::vector<DisplayPoint> m_vPathHistory;
137 std::mutex m_muPathMutex;
139 std::vector<DisplayPoint> m_vPlannedPath;
140 std::mutex m_muPlannedPathMutex;
142 std::vector<DisplayWaypoint> m_vWaypoints;
143 std::mutex m_muWaypointMutex;
145 std::vector<DisplayWaypoint> m_vGoalBeacons;
146 std::mutex m_muGoalBeaconMutex;
148 std::vector<DisplayDetection> m_vDetections;
149 std::mutex m_muDetectionMutex;
Interface class used to easily multithread a child class.
Definition AutonomyThread.hpp:40
The VisualizationHandler class manages persistent world state and hosts a 3D web server for interacti...
Definition VisualizationHandler.h:35
void UpdatePathHistory(const geoops::UTMCoordinate &stRoverUTM)
Update the path history with the current rover position.
Definition VisualizationHandler.cpp:233
std::vector< char > OnRequestMap(const std::string &szQuery)
Handles map data requests from the web server.
Definition VisualizationHandler.cpp:842
std::vector< char > OnRequestDetections(const std::string &szQuery)
Handles detection requests from the web server.
Definition VisualizationHandler.cpp:706
void SaveVisualization(const std::string &szFilename)
Save the current visualization to a single HTML file with embedded assets.
Definition VisualizationHandler.cpp:143
std::vector< char > OnRequestLibThree(const std::string &szQuery)
Serves the local three.min.js file.
Definition VisualizationHandler.cpp:953
std::string GetEmbeddedHtml()
Gets the embedded HTML for the visualization page.
Definition VisualizationHandler.cpp:1076
std::string Base64Encode(const std::vector< char > &vData)
Encodes binary data to a Base64 string.
Definition VisualizationHandler.cpp:1004
~VisualizationHandler()
Destroy the Visualization Handler:: Visualization Handler object.
Definition VisualizationHandler.cpp:70
void PooledLinearCode() override
The pooled linear code for the VisualizationHandler. This is not used.
Definition VisualizationHandler.cpp:133
void UpdateGoalBeacons(const geoops::UTMCoordinate &stRoverUTM)
Updates the persistent goal beacons for visualization.
Definition VisualizationHandler.cpp:476
std::vector< char > OnRequestPlannedPath(const std::string &szQuery)
Handles planned path requests from the web server.
Definition VisualizationHandler.cpp:611
void UpdateWaypoints()
Updates the waypoints from the waypoint handler.
Definition VisualizationHandler.cpp:311
void ThreadedContinuousCode() override
The main continuous code for the VisualizationHandler.
Definition VisualizationHandler.cpp:83
std::vector< char > OnRequestDetectionList(const std::string &szQuery)
Handles detection list requests from the web server.
Definition VisualizationHandler.cpp:746
void UpdatePlannedPath()
Updates the planned path from the waypoint handler.
Definition VisualizationHandler.cpp:274
std::vector< char > LoadFileToBuffer(const std::string &szPath)
Helper to load a file into a byte buffer.
Definition VisualizationHandler.cpp:983
std::vector< char > OnRequestWaypoints(const std::string &szQuery)
Handles waypoint requests from the web server.
Definition VisualizationHandler.cpp:648
void UpdateDetections()
Updates the persistent detections for visualization.
Definition VisualizationHandler.cpp:356
std::vector< char > OnRequestTelemetry(const std::string &szQuery)
Handles telemetry requests from the web server.
Definition VisualizationHandler.cpp:534
std::vector< char > OnRequestLibOrbit(const std::string &szQuery)
Serves the local OrbitControls.js file.
Definition VisualizationHandler.cpp:968
std::string GenerateStaticHtml(const std::vector< LiDARHandler::PointRow > &vLidar)
Generates a static HTML page with embedded LiDAR data and embedded dependencies.
Definition VisualizationHandler.cpp:2060
Struct representing a persistent detection for visualization.
Definition VisualizationHandler.h:86
Struct representing a single point in the path history.
Definition VisualizationHandler.h:57
Struct representing a waypoint or goal beacon for visualization.
Definition VisualizationHandler.h:72
This struct stores/contains information about a UTM coordinate.
Definition GeospatialOperations.hpp:211