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"
100 std::vector<char>
OnRequestMap(
const std::string& szQuery);
111 std::string
Base64Encode(
const std::vector<char>& vData);
126 std::unique_ptr<SimpleWebServer> m_pWebServer;
132 std::vector<DisplayPoint> m_vPathHistory;
133 std::mutex m_muPathMutex;
135 std::vector<DisplayPoint> m_vPlannedPath;
136 std::mutex m_muPlannedPathMutex;
138 std::vector<DisplayWaypoint> m_vWaypoints;
139 std::mutex m_muWaypointMutex;
141 std::vector<DisplayWaypoint> m_vGoalBeacons;
142 std::mutex m_muGoalBeaconMutex;
144 std::vector<DisplayDetection> m_vDetections;
145 std::mutex m_muDetectionMutex;
Interface class used to easily multithread a child class.
Definition AutonomyThread.hpp:38
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:227
std::vector< char > OnRequestMap(const std::string &szQuery)
Handles map data requests from the web server.
Definition VisualizationHandler.cpp:733
std::vector< char > OnRequestDetections(const std::string &szQuery)
Handles detection requests from the web server.
Definition VisualizationHandler.cpp:693
void SaveVisualization(const std::string &szFilename)
Save the current visualization to a single HTML file with embedded assets.
Definition VisualizationHandler.cpp:137
std::vector< char > OnRequestLibThree(const std::string &szQuery)
Serves the local three.min.js file.
Definition VisualizationHandler.cpp:844
std::string GetEmbeddedHtml()
Gets the embedded HTML for the visualization page.
Definition VisualizationHandler.cpp:967
std::string Base64Encode(const std::vector< char > &vData)
Encodes binary data to a Base64 string.
Definition VisualizationHandler.cpp:895
~VisualizationHandler()
Destroy the Visualization Handler:: Visualization Handler object.
Definition VisualizationHandler.cpp:64
void PooledLinearCode() override
The pooled linear code for the VisualizationHandler. This is not used.
Definition VisualizationHandler.cpp:127
void UpdateGoalBeacons(const geoops::UTMCoordinate &stRoverUTM)
Updates the persistent goal beacons for visualization.
Definition VisualizationHandler.cpp:463
std::vector< char > OnRequestPlannedPath(const std::string &szQuery)
Handles planned path requests from the web server.
Definition VisualizationHandler.cpp:598
void UpdateWaypoints()
Updates the waypoints from the waypoint handler.
Definition VisualizationHandler.cpp:305
void ThreadedContinuousCode() override
The main continuous code for the VisualizationHandler.
Definition VisualizationHandler.cpp:77
void UpdatePlannedPath()
Updates the planned path from the waypoint handler.
Definition VisualizationHandler.cpp:268
std::vector< char > LoadFileToBuffer(const std::string &szPath)
Helper to load a file into a byte buffer.
Definition VisualizationHandler.cpp:874
std::vector< char > OnRequestWaypoints(const std::string &szQuery)
Handles waypoint requests from the web server.
Definition VisualizationHandler.cpp:635
void UpdateDetections()
Updates the persistent detections for visualization.
Definition VisualizationHandler.cpp:350
std::vector< char > OnRequestTelemetry(const std::string &szQuery)
Handles telemetry requests from the web server.
Definition VisualizationHandler.cpp:521
std::vector< char > OnRequestLibOrbit(const std::string &szQuery)
Serves the local OrbitControls.js file.
Definition VisualizationHandler.cpp:859
std::string GenerateStaticHtml(const std::vector< LiDARHandler::PointRow > &vLidar)
Generates a static HTML page with embedded LiDAR data and embedded dependencies.
Definition VisualizationHandler.cpp:1707
Struct representing a persistent detection for visualization.
Definition VisualizationHandler.h:84
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:71
This struct stores/contains information about a UTM coordinate.
Definition GeospatialOperations.hpp:211