VR-Engage  2.2
Loading...
Searching...
No Matches
vreRadarObjectSensorDescriptor.h
Go to the documentation of this file.
1/*******************************************************************************
2** Copyright (c) 2025 MAK Technologies
3** All rights reserved.
4*******************************************************************************/
5
6//! \file vreRadarObjectSensorDescriptor.h
7//! \ingroup vreVrfobjparam
8//! \brief Radar object sensor descriptor for VREngage
9//!
10//! This file defines the DtVreRadarObjectSensorDescriptor class, which configures
11//! radar object sensor components in VREngage. It extends the base radar object sensor
12//! descriptor to add configuration for radar state and entity labeling.
13
14#pragma once
15
17#include <vrfobjparam/radarObjectSensorDescriptor.h>
18
20#include <vrfutil/rwTemplatedMap.h>
21
22namespace makVre
23{
24//! \brief Type identifier string for the radar object sensor descriptor
25const char DtVreRadarObjectSensorDescriptorType[] = "vre-radar-object-sensor-descriptor";
26
27//! \brief Type definition for a map of entity types to label strings
28using DtEntityLabelMap = DtRwTemplatedMapPtr<DtRwEntityType, DtRwString>;
29
30//! \brief Radar object sensor descriptor for VREngage
31//!
32//! This class extends the base radar object sensor descriptor to add configuration for
33//! radar state and entity labeling. It provides additional information needed to
34//! publish a representative emitter system and customize entity display labels in
35//! the radar interface.
36class VREVRFOBJPARAM_DLL DtVreRadarObjectSensorDescriptor : public DtRadarObjectSensorDescriptor
37{
38private:
39 //! \brief Default constructor (not implemented)
40 //!
41 //! Default constructor is private and not implemented to prevent
42 //! creation of instances without proper initialization.
44
45public:
46 //! \brief Constructor with component name
47 //! \param name The name of this component
48 //! \param parentRegistry Parent registry for reader/writer functionality (optional)
49 //!
50 //! Creates a new radar object sensor descriptor with the specified name.
51 DtVreRadarObjectSensorDescriptor(const DtString& name, DtReaderWriterRegistry* parentRegistry = 0);
52
53 //! \brief Copy constructor
54 //! \param orig The source descriptor to copy from
55 //! \param parentRegistry Parent registry for reader/writer functionality (optional)
56 //!
57 //! Creates a new radar object sensor descriptor as a copy of the provided original.
59 const DtVreRadarObjectSensorDescriptor& orig, DtReaderWriterRegistry* parentRegistry = 0);
60
61 //! \brief Assignment operator
62 //! \param orig The source descriptor to copy from
63 //! \return Reference to this descriptor after assignment
64 //!
65 //! Assigns the contents of the provided descriptor to this one.
67
68 //! \brief Virtual destructor
69 //!
70 //! Cleans up resources used by the descriptor.
72
73 //! \brief Gets the type identifier for this descriptor
74 //! \return String identifying this descriptor type
75 //!
76 //! Returns a unique type identifier string for this descriptor type.
77 //! Will return DtVreRadarObjectSensorDescriptorType.
78 virtual DtString type() const override;
79
80 //! \brief Creates a clone of this descriptor
81 //! \param parentRegistry Parent registry for reader/writer functionality (optional)
82 //! \return Pointer to a new descriptor that is a clone of this one
83 //!
84 //! Creates a new radar object sensor descriptor as a deep copy of this one.
85 virtual DtComponentDescriptor* clone(DtReaderWriterRegistry* parentRegistry = 0) const override;
86
87 //! \brief Factory function to create a new instance of this descriptor
88 //! \return Pointer to a newly created descriptor
89 //!
90 //! Static factory function used by the descriptor creation system to instantiate
91 //! new instances of this descriptor type.
92 static DtComponentDescriptor* creator();
93
94 //! \brief Gets the initial radar state
95 //! \return Reference to the initial radar state information
96 //!
97 //! Returns the initial state configuration for the radar system when it is first
98 //! initialized. This includes operating modes, ranges, and other radar parameters.
100
101 //! \brief Gets the entity label map
102 //! \return Reference to the entity label map
103 //!
104 //! Returns the map of entity types to label strings. This mapping is used to
105 //! customize how different entity types are labeled in the radar interface.
106 virtual const DtEntityLabelMap& entityLabels() const;
107
108protected:
109 //! \brief Initial radar state information
110 //!
111 //! Stores the initial state configuration for the radar system when it is first
112 //! initialized. This includes operating modes, ranges, and other radar parameters.
114
115 //! \brief Entity label mapping
116 //!
117 //! Stores the mapping of entity types to label strings. This mapping is used to
118 //! customize how different entity types are labeled in the radar interface.
120};
121} // namespace makVre
Radar state information class for radar system configurations.
Definition rwRadarStateInfo.h:32
DtVreRadarObjectSensorDescriptor()
Default constructor (not implemented)
DtVreRadarObjectSensorDescriptor(const DtVreRadarObjectSensorDescriptor &orig, DtReaderWriterRegistry *parentRegistry=0)
Copy constructor.
DtVreRadarObjectSensorDescriptor & operator=(const DtVreRadarObjectSensorDescriptor &orig)
Assignment operator.
DtRwRadarStateInfo myInitialRadarState
Initial radar state information.
Definition vreRadarObjectSensorDescriptor.h:113
DtVreRadarObjectSensorDescriptor(const DtString &name, DtReaderWriterRegistry *parentRegistry=0)
Constructor with component name.
static DtComponentDescriptor * creator()
Factory function to create a new instance of this descriptor.
virtual DtComponentDescriptor * clone(DtReaderWriterRegistry *parentRegistry=0) const override
Creates a clone of this descriptor.
virtual DtString type() const override
Gets the type identifier for this descriptor.
const DtRwRadarStateInfo & initialRadarState() const
Gets the initial radar state.
DtEntityLabelMap myEntityLabelMap
Entity label mapping.
Definition vreRadarObjectSensorDescriptor.h:119
virtual ~DtVreRadarObjectSensorDescriptor() override
Virtual destructor.
virtual const DtEntityLabelMap & entityLabels() const
Gets the entity label map.
Export macros for the VREngage Object Parameter library.
#define VREVRFOBJPARAM_DLL
Platform-specific DLL export/import declaration.
Definition export.h:27
Include export definitions for this library.
Definition glsVreMessageUtil.h:49
DtRwTemplatedMapPtr< DtRwEntityType, DtRwString > DtEntityLabelMap
Type definition for a map of entity types to label strings.
Definition vreRadarObjectSensorDescriptor.h:28
const char DtVreRadarObjectSensorDescriptorType[]
Type identifier string for the radar object sensor descriptor.
Definition vreRadarObjectSensorDescriptor.h:25
Defines radar state information structure.