VR-Engage  2.2
Loading...
Searching...
No Matches
rfxImageMessage.h
Go to the documentation of this file.
1// ******************************************************************************
2// ** Copyright (c) 2025 MAK Technologies
3// ** All rights reserved.
4// ******************************************************************************
5
6//! \file rfxImageMessage.h
7//! \brief Defines common base classes and types for all radar image messages
8//! \ingroup vreRadarFxShared
9//!
10//! This file contains common enumerations, structures, and base classes used by
11//! all radar image request and response messages such as SAR, ISAR, and MMW.
12
13#pragma once
14
15#include "export.h"
16#include "rfxMessage.h"
17
18#include <matrix/vlVector.h>
19#include <matrix/vlTaitBryan.h>
20
21#include <string>
22
23namespace makRadarFx
24{
25//! \brief Image format enumeration for radar images
26//!
27//! Defines the supported output formats for radar images generated by the server
29{
30 RAW, //!< Raw uncompressed image data
31 BMP, //!< Windows Bitmap format
32 JPG, //!< JPEG compressed format
33 PNG, //!< PNG compressed format
34 NITF, //!< National Imagery Transmission Format
35 RAW_RG, //!< Raw Range/Doppler image data
36 GTIF //!< GeoTIFF format
37};
38
39//! \brief Image orientation enumeration
40//!
41//! Defines how the radar image should be oriented
43{
44 NORTH_UP, //!< Image is oriented with north at the top
45 TRACK_UP //!< Image is oriented with the platform track direction at the top
46};
47
48//! \brief Image delivery method enumeration
49//!
50//! Defines how the image data should be returned to the client
52{
53 STREAM = 0x1, //!< Return image data directly in the response message
54 FILESYSTEM = 0x2 //!< Save image to a file and return the file path
55};
56
57//! \brief Image data type enumeration
58//!
59//! Defines the pixel data type used in raw image formats
61{
62 BYTE, //!< 8-bit unsigned integer
63 SHORT, //!< 16-bit signed integer
64 FLOAT //!< 32-bit floating point
65};
66
67//! \brief Image dimensions structure
68//!
69//! Defines the width and height of a radar image in pixels
71{
72 //! \brief Default constructor
73 //!
74 //! Initializes with default size of 512x512 pixels
76 {
77 x = 512;
78 y = 512;
79 }
80
81 //! \brief Constructor with specific dimensions
82 //! \param imgX Image width in pixels
83 //! \param imgY Image height in pixels
84 DtImageSize(int imgX, int imgY)
85 {
86 x = imgX;
87 y = imgY;
88 }
89
90 //! \brief Image width in pixels
91 int x;
92
93 //! \brief Image height in pixels
94 int y;
95};
96
97//! \brief Base class for all radar image requests
98//!
99//! This abstract base class defines the common interface for all radar image
100//! request messages. Specific radar image types (SAR, ISAR, MMW) derive from
101//! this class and add their specific parameters.
103{
104public:
105 //! \brief Default constructor
106 //!
107 //! Initializes a new base image request message
109
110 //! \brief Virtual destructor
112};
113
114
115//! \brief Error codes for radar image responses
116//!
117//! Defines the possible error conditions that can occur when generating radar images
119{
120 IMAGE_NO_ERROR, //!< No error, image was generated successfully
121 FAILED_RENDER, //!< Failed to render the image
122 FAILED_FILESAVE, //!< Failed to save the image to file (when using FILESYSTEM return method)
123 FAILED_ENTITY_LOOKUP, //!< Failed to find the specified entity
124 FAILED_OTHER //!< Other unspecified error
125};
126
127//! \brief Warning codes for radar image responses
128//!
129//! Defines the possible warning conditions that can occur when generating radar images
131{
132 NO_WARNING, //!< No warnings
133 WARNING_TERRAIN_TIMEOUT //!< Terrain data loading timed out, partial data used
134};
135
136//! \brief Base class for all radar image responses
137//!
138//! This abstract base class defines the common interface for all radar image
139//! response messages. Specific radar image types (SAR, ISAR, MMW) derive from
140//! this class and add their specific data.
141//!
142//! Image responses typically contain the image data, file path (if saved to disk),
143//! error and warning codes, and metadata about the image.
145{
146public:
147 //! \brief Default constructor
148 //!
149 //! Initializes a new base image response message
151
152 //! \brief Virtual destructor
154};
155} // namespace makRadarFx
DtBaseMessage()
Default constructor.
virtual ~DtImageRequest()
Virtual destructor.
DtImageRequest()
Default constructor.
DtImageResponse()
Default constructor.
virtual ~DtImageResponse()
Virtual destructor.
Defines export macros for the RadarFx Shared library.
#define RFX_DLL_SHARED
Export/import macro for non-Windows platforms (empty)
Definition export.h:25
Definition radarFxConnectorDriver.h:21
DtImageRotation
Image orientation enumeration.
Definition rfxImageMessage.h:43
@ TRACK_UP
Image is oriented with the platform track direction at the top.
Definition rfxImageMessage.h:45
@ NORTH_UP
Image is oriented with north at the top.
Definition rfxImageMessage.h:44
DtImageFormat
Image format enumeration for radar images.
Definition rfxImageMessage.h:29
@ NITF
National Imagery Transmission Format.
Definition rfxImageMessage.h:34
@ JPG
JPEG compressed format.
Definition rfxImageMessage.h:32
@ GTIF
GeoTIFF format.
Definition rfxImageMessage.h:36
@ RAW
Raw uncompressed image data.
Definition rfxImageMessage.h:30
@ PNG
PNG compressed format.
Definition rfxImageMessage.h:33
@ BMP
Windows Bitmap format.
Definition rfxImageMessage.h:31
@ RAW_RG
Raw Range/Doppler image data.
Definition rfxImageMessage.h:35
DtImageReturnMethod
Image delivery method enumeration.
Definition rfxImageMessage.h:52
@ STREAM
Return image data directly in the response message.
Definition rfxImageMessage.h:53
@ FILESYSTEM
Save image to a file and return the file path.
Definition rfxImageMessage.h:54
DtImageError
Error codes for radar image responses.
Definition rfxImageMessage.h:119
@ FAILED_RENDER
Failed to render the image.
Definition rfxImageMessage.h:121
@ IMAGE_NO_ERROR
No error, image was generated successfully.
Definition rfxImageMessage.h:120
@ FAILED_ENTITY_LOOKUP
Failed to find the specified entity.
Definition rfxImageMessage.h:123
@ FAILED_OTHER
Other unspecified error.
Definition rfxImageMessage.h:124
@ FAILED_FILESAVE
Failed to save the image to file (when using FILESYSTEM return method)
Definition rfxImageMessage.h:122
DtImageDataType
Image data type enumeration.
Definition rfxImageMessage.h:61
@ FLOAT
32-bit floating point
Definition rfxImageMessage.h:64
@ BYTE
8-bit unsigned integer
Definition rfxImageMessage.h:62
@ SHORT
16-bit signed integer
Definition rfxImageMessage.h:63
DtImageWarning
Warning codes for radar image responses.
Definition rfxImageMessage.h:131
@ NO_WARNING
No warnings.
Definition rfxImageMessage.h:132
@ WARNING_TERRAIN_TIMEOUT
Terrain data loading timed out, partial data used.
Definition rfxImageMessage.h:133
Defines the base message class for RadarFX client-server communication.
DtImageSize()
Default constructor.
Definition rfxImageMessage.h:75
int y
Image height in pixels.
Definition rfxImageMessage.h:94
DtImageSize(int imgX, int imgY)
Constructor with specific dimensions.
Definition rfxImageMessage.h:84
int x
Image width in pixels.
Definition rfxImageMessage.h:91