VR-Engage  2.2
Loading...
Searching...
No Matches
setRadarSettings.h
Go to the documentation of this file.
1/*******************************************************************************
2** Copyright (c) 2025 MAK Technologies
3** All rights reserved.
4*******************************************************************************/
5
6//! \file setRadarSettings.h
7//! \ingroup vreVrfMessages
8//! \brief Defines a request message for configuring radar settings
9//!
10//! This file contains the DtSetRadarSettingsRequest class which allows runtime
11//! modification of radar system configuration parameters such as radar mode,
12//! antenna properties, and target designations.
13
14#pragma once
15
16#include "export.h"
17
18#include <vrftasks/setDataRequest.h>
19#include <vlpi/netStructs.h>
20#include <readerWriter/rwReal.h>
21
22//! \brief Request message for configuring radar settings
23//!
24//! The DtSetRadarSettingsRequest class is used to set radar configuration properties
25//! including mode, antenna parameters, and target designations. This allows runtime
26//! control over radar system behavior and performance characteristics.
27
28//! \brief Menu item identifier for radar setting operations
29const char DtSetRadarSettingsMenuItemIdName[] = "DtSetRadarSettingsMenuItem";
30
31class VRFMESSAGES_DLL DtSetRadarSettingsRequest : public DtSetDataRequest
32{
33public:
34 //! \brief Default constructor
35 //!
36 //! Initializes an empty radar settings request.
38
39 //! \brief Constructor with write name
40 //! \param writeName The name to identify this request
41 //! \param parentRegistry Optional reader-writer registry for serialization
42 //!
43 //! If you have a request 'put' itself, the writeName will preface it.
44 DtSetRadarSettingsRequest(const DtString& writeName, DtReaderWriterRegistry* parentRegistry = 0);
45
46 //! \brief Copy constructor with new name
47 //! \param writeName The name to identify this request
48 //! \param orig The radar settings request to copy from
49 //! \param parentRegistry Optional reader-writer registry for serialization
50 //!
51 //! Creates a new radar settings request by copying an existing one.
53 const DtString& writeName, const DtSetRadarSettingsRequest& orig, DtReaderWriterRegistry* parentRegistry = 0);
54
55 //! \brief Assignment operator
56 //! \param orig The radar settings request to copy from
57 //! \return Reference to this object after assignment
58 //!
59 //! Copies the contents of another radar settings request into this one.
61
62 //! \brief Virtual destructor
63 virtual ~DtSetRadarSettingsRequest() override;
64
65 //! \brief Gets the request message type
66 //! \return The message type identifier
67 //!
68 //! Returns DtSetRadarSettingsType as defined in vreVrfMessageTypes.h.
69 virtual const DtSetMessageType& type() const override;
70
71 //! \brief Creates a copy of this request
72 //! \param name The name to assign to the new request
73 //! \param parentRegistry Optional reader-writer registry for serialization
74 //! \return Pointer to the newly created request
75 //!
76 //! Creates a dynamically allocated copy of this request with a new name.
77 virtual DtSetDataRequest* clone(const DtString& name, DtReaderWriterRegistry* parentRegistry = 0) const override;
78
79 //! \brief Gets a readable string representation of this request
80 //! \return String representation of the request
81 //!
82 //! Returns a human-readable representation of the request contents.
83 virtual DtString stringRep() const override;
84
85 //! \brief Gets the radar mode
86 //! \return The radar mode string
87 //!
88 //! Returns the operational mode of the radar (e.g., "Search", "Track").
89 virtual DtString mode() const;
90
91 //! \brief Checks if a radar mode is specified
92 //! \return True if mode is specified, false otherwise
93 virtual bool modeSpecified() const;
94
95 //! \brief Sets the radar mode
96 //! \param value The mode string to set
97 virtual void setMode(const DtString& value);
98
99 //! \brief Gets the radar submode
100 //! \return The radar submode string
101 //!
102 //! Returns the operational submode within the current radar mode.
103 virtual DtString submode() const;
104
105 //! \brief Checks if a radar submode is specified
106 //! \return True if submode is specified, false otherwise
107 virtual bool submodeSpecified() const;
108
109 //! \brief Sets the radar submode
110 //! \param value The submode string to set
111 virtual void setSubmode(const DtString& value);
112
113 //! \brief Gets the antenna center azimuth
114 //! \return The center azimuth angle in degrees
115 //!
116 //! Returns the center azimuth angle for the radar's scan pattern.
117 virtual double antennaCenterAzimuth() const;
118
119 //! \brief Checks if an antenna center azimuth is specified
120 //! \return True if center azimuth is specified, false otherwise
121 virtual bool antennaCenterAzimuthSpecified() const;
122
123 //! \brief Sets the antenna center azimuth
124 //! \param value The center azimuth angle in degrees
125 virtual void setAntennaCenterAzimuth(double value);
126
127 //! \brief Gets the antenna center elevation
128 //! \return The center elevation angle in degrees
129 //!
130 //! Returns the center elevation angle for the radar's scan pattern.
131 virtual double antennaCenterElevation() const;
132
133 //! \brief Checks if an antenna center elevation is specified
134 //! \return True if center elevation is specified, false otherwise
136
137 //! \brief Sets the antenna center elevation
138 //! \param value The center elevation angle in degrees
139 virtual void setAntennaCenterElevation(double value);
140
141 //! \brief Gets the antenna gate size
142 //! \return The gate size in degrees
143 //!
144 //! Returns the angular size of the radar's detection gate.
145 virtual double antennaGateSize() const;
146
147 //! \brief Checks if an antenna gate size is specified
148 //! \return True if gate size is specified, false otherwise
149 virtual bool antennaGateSizeSpecified() const;
150
151 //! \brief Sets the antenna gate size
152 //! \param value The gate size in degrees
153 virtual void setAntennaGateSize(double value);
154
155 //! \brief Gets the number of scan bars
156 //! \return The number of scan bars
157 //!
158 //! Returns the number of horizontal scan bars in the radar's scan pattern.
159 virtual int barCount() const;
160
161 //! \brief Checks if a bar count is specified
162 //! \return True if bar count is specified, false otherwise
163 virtual bool barCountSpecified() const;
164
165 //! \brief Sets the number of scan bars
166 //! \param value The number of scan bars
167 virtual void setBarCount(int value);
168
169 //! \brief Gets the list of designated target track IDs
170 //! \return Vector of track IDs for designated targets
171 //!
172 //! Returns the track IDs of targets that should be designated by the radar.
173 virtual std::vector<int> designatedTargetTrackIds() const;
174
175 //! \brief Checks if designated target track IDs are specified
176 //! \return True if target track IDs are specified, false otherwise
178
179 //! \brief Sets the list of designated target track IDs
180 //! \param value Vector of track IDs to designate
181 virtual void setDesignatedTargetTrackIds(const std::vector<int>& value);
182
183 //! \brief Gets the network representation size
184 //! \return Size in bytes of the network representation
185 //!
186 //! Returns the size of the full network representation padded to an 8-byte boundary.
187 virtual int netRepSize() const override;
188
189 //! \brief Deserializes the request from a network buffer
190 //! \param contentBuffer Pointer to the network buffer
191 //! \param contentSize Size of the buffer in bytes
192 //! \return True if deserialization was successful
193 //!
194 //! Fills in the request from the provided network buffer.
195 virtual bool setFromNet(const char* contentBuffer, unsigned contentSize) override;
196
197 //! \brief Serializes the request for network transmission
198 //! \return True if serialization was successful
199 //!
200 //! Fills in the network buffer (created by base class setDataRequest) with
201 //! the set data request contents.
202 virtual bool setToNet() override;
203
204 //! \brief Static creator function for factory registration
205 //! \return Pointer to a new instance of DtSetRadarSettingsRequest
206 //!
207 //! This static function is used for registration with the message factory.
208 static DtSetDataRequest* creator();
209
210protected:
211 //! \brief Operational mode of the radar (e.g., "Search", "Track")
212 DtRwString myMode;
213
214 //! \brief Operational submode within the current mode
215 DtRwString mySubmode;
216
217 //! \brief Center azimuth angle of the radar scan pattern (degrees)
219
220 //! \brief Center elevation angle of the radar scan pattern (degrees)
222
223 //! \brief Angular size of the radar detection gate (degrees)
225
226 //! \brief Number of horizontal scan bars in the radar scan pattern
227 DtRwInt myBarCount;
228
229 //! \brief List of track IDs for targets to designate
231};
virtual ~DtSetRadarSettingsRequest() override
Virtual destructor.
virtual bool antennaGateSizeSpecified() const
Checks if an antenna gate size is specified.
DtRwReal myAntennaGateSize
Angular size of the radar detection gate (degrees)
Definition setRadarSettings.h:224
virtual void setAntennaCenterAzimuth(double value)
Sets the antenna center azimuth.
DtRwReal myAntennaCenterElevation
Center elevation angle of the radar scan pattern (degrees)
Definition setRadarSettings.h:221
virtual bool barCountSpecified() const
Checks if a bar count is specified.
virtual void setAntennaCenterElevation(double value)
Sets the antenna center elevation.
virtual DtString mode() const
Gets the radar mode.
virtual int barCount() const
Gets the number of scan bars.
virtual DtString stringRep() const override
Gets a readable string representation of this request.
virtual double antennaGateSize() const
Gets the antenna gate size.
virtual double antennaCenterAzimuth() const
Gets the antenna center azimuth.
virtual bool setToNet() override
Serializes the request for network transmission.
virtual bool setFromNet(const char *contentBuffer, unsigned contentSize) override
Deserializes the request from a network buffer.
DtRwReal myAntennaCenterAzimth
Center azimuth angle of the radar scan pattern (degrees)
Definition setRadarSettings.h:218
virtual bool submodeSpecified() const
Checks if a radar submode is specified.
DtSetRadarSettingsRequest()
Default constructor.
DtSetRadarSettingsRequest(const DtString &writeName, DtReaderWriterRegistry *parentRegistry=0)
Constructor with write name.
const DtSetRadarSettingsRequest & operator=(const DtSetRadarSettingsRequest &orig)
Assignment operator.
virtual void setAntennaGateSize(double value)
Sets the antenna gate size.
virtual bool designatedTargetTrackIdsSpecified() const
Checks if designated target track IDs are specified.
virtual bool antennaCenterElevationSpecified() const
Checks if an antenna center elevation is specified.
DtRwIntegerList myDesignatedTargetTrackIds
List of track IDs for targets to designate.
Definition setRadarSettings.h:230
virtual void setSubmode(const DtString &value)
Sets the radar submode.
DtRwString myMode
Operational mode of the radar (e.g., "Search", "Track")
Definition setRadarSettings.h:212
virtual std::vector< int > designatedTargetTrackIds() const
Gets the list of designated target track IDs.
virtual bool modeSpecified() const
Checks if a radar mode is specified.
virtual void setBarCount(int value)
Sets the number of scan bars.
virtual void setMode(const DtString &value)
Sets the radar mode.
DtRwString mySubmode
Operational submode within the current mode.
Definition setRadarSettings.h:215
virtual const DtSetMessageType & type() const override
Gets the request message type.
virtual int netRepSize() const override
Gets the network representation size.
virtual bool antennaCenterAzimuthSpecified() const
Checks if an antenna center azimuth is specified.
static DtSetDataRequest * creator()
Static creator function for factory registration.
virtual DtString submode() const
Gets the radar submode.
virtual DtSetDataRequest * clone(const DtString &name, DtReaderWriterRegistry *parentRegistry=0) const override
Creates a copy of this request.
virtual double antennaCenterElevation() const
Gets the antenna center elevation.
DtRwInt myBarCount
Number of horizontal scan bars in the radar scan pattern.
Definition setRadarSettings.h:227
virtual void setDesignatedTargetTrackIds(const std::vector< int > &value)
Sets the list of designated target track IDs.
DtSetRadarSettingsRequest(const DtString &writeName, const DtSetRadarSettingsRequest &orig, DtReaderWriterRegistry *parentRegistry=0)
Copy constructor with new name.
Export/import macros for the VRF Messages library.
#define VRFMESSAGES_DLL
Definition export.h:23
const char DtSetRadarSettingsMenuItemIdName[]
Request message for configuring radar settings.
Definition setRadarSettings.h:29