VR-Engage  2.2
Loading...
Searching...
No Matches
sarRequestManager.h
Go to the documentation of this file.
1/******************************************************************************
2** Copyright (c) 2025 MAK Technologies
3** All rights reserved.
4******************************************************************************/
5
6//! \file sarRequestManager.h
7//! \brief Defines the SAR request manager for handling synthetic aperture radar imagery
8//! \ingroup sarClient
9
10#pragma once
11
13
14#include <vrvUtil/DtVirtualBaseClass.h>
15
17
18namespace makVrv
19{
20//! \brief Forward declaration of the display element class
21class DtDe;
22
23//! \brief Forward declaration of the simulation object entry class
24class DtSimObjectEntry;
25} // namespace makVrv
26
27//! \brief Forward declaration of the simulation message class
28class DtSimMessage;
29
30//! \brief Forward declaration of the sensor data interface class
31class DtIfSensorData;
32
33//! \brief Forward declaration of the zoomable graphics view class
35
36//! \brief Forward declaration of the Qt graphics pixmap item class
37class QGraphicsPixmapItem;
38
39//! \brief Manager for SAR image requests and responses
40//!
41//! The DtSarRequestManager handles requests for Synthetic Aperture Radar (SAR) imagery,
42//! processes the responses, and manages the display of SAR images. It maintains the
43//! state of the most recent SAR response and provides an interface for viewing
44//! the captured SAR images.
45class DT_DLL_sarClient DtSarRequestManager : public makVrv::DtVirtualBaseClass
46{
47public:
48 //! \brief Constructor
49 //! \param de Reference to the display element
50 DtSarRequestManager(makVrv::DtDe& de);
51
52 //! \brief Virtual destructor
53 virtual ~DtSarRequestManager() override;
54
55 //! \brief Returns the singleton instance of the DtSarRequestManager
56 //! \param de Reference to the display element
57 //! \return Reference to the singleton instance
58 //!
59 //! This method implements the singleton pattern, creating the instance if it doesn't exist
60 static DtSarRequestManager& instance(makVrv::DtDe& de);
61
62public:
63 //! \brief Handles SAR response messages
64 //! \param msg Pointer to the message containing the SAR response
65 //! \return Message processing result
66 //!
67 //! Processes SAR response messages from the RadarFx service, updates the display,
68 //! and caches the response filename
70
71 //! \brief Gets the filename of the most recent SAR response image
72 //! \return String containing the path to the most recent SAR image file
73 std::string lastResponseFilename();
74
75protected:
76 //! \brief Reference to the display element
77 makVrv::DtDe& myDe;
78
79 //! \brief Filename of the most recently received SAR image
81
82 //! \brief Widget used to display SAR images with zoom capability
84
85 //! \brief Pixmap item used to render the SAR image in the graphics view
86 QGraphicsPixmapItem* mySarResponsePixmap;
87};
makVrv::DtDe & myDe
Reference to the display element.
Definition sarRequestManager.h:77
DtSarRequestManager(makVrv::DtDe &de)
Constructor.
std::string lastResponseFilename()
Gets the filename of the most recent SAR response image.
virtual ~DtSarRequestManager() override
Virtual destructor.
DtZoomGraphicsView * mySarResponseWidget
Widget used to display SAR images with zoom capability.
Definition sarRequestManager.h:83
static DtSarRequestManager & instance(makVrv::DtDe &de)
Returns the singleton instance of the DtSarRequestManager.
std::string myLastResponseFilename
Filename of the most recently received SAR image.
Definition sarRequestManager.h:80
virtual makVre::DtVreMessageResult handleSarResponse(makVre::DtVreMessage *msg)
Handles SAR response messages.
QGraphicsPixmapItem * mySarResponsePixmap
Pixmap item used to render the SAR image in the graphics view.
Definition sarRequestManager.h:86
Zoomable graphics view for displaying SAR response images.
Definition zoomGraphicsView.h:22
Abstract base class for all VREngage messages.
Definition vreMessage.h:50
DtVreMessageResult
Enumeration of possible message handling results.
Definition vreMessage.h:33
Definition appLauncherComponent.h:28
Defines DLL export macros for the SAR client plugin.
#define DT_DLL_sarClient
Definition sarClientPlugin.h:19
makVrv::DtDe * de()
Gets the display element pointer used by the plugin.
Defines the base class for all VREngage messages.