VR-Engage  2.2
Loading...
Searching...
No Matches
vreRlParameters.h
Go to the documentation of this file.
1/*******************************************************************************
2** Copyright (c) 2025 MAK Technologies
3** All rights reserved.
4*******************************************************************************/
5
6//! \file vreRlParameters.h
7//! \ingroup vreVrfRtdobjparam
8//! \brief Rotary-wing parameters for VREngage
9//!
10//! This file defines the DtVreRlParameters class, which contains the configuration
11//! parameters for rotary-wing aircraft (helicopters) in VREngage. It includes settings
12//! for control response, aircraft limits, and simulation fidelity.
13
14#pragma once
16
19#include <vrfobjparam/rotaryWingEntityParameters.h>
20#pragma warning(pop)
21
22 class DtString;
23class DtReaderWriterRegistry;
24
25namespace RlCgfVrf
26{
27//! \brief Type string for VREngage rotary-wing parameters
28//!
29//! Constant used to identify this parameter type in the simulation system.
30const char TS_Parameter[] = "rotorlib-cgf-vr-engage-param";
31//! \brief Rotary-wing parameters for VREngage
32//!
33//! This class contains the configuration parameters for rotary-wing aircraft
34//! (helicopters) in VREngage. It extends the base rotary-wing entity parameters with
35//! VREngage-specific settings for control response, aircraft limits, and
36//! simulation fidelity options.
37class RTD_VRF_BACKEND_OBJPARAM_DLL DtVreRlParameters : public DtRotaryWingEntityParameters
38{
39public:
40 //! \brief Constructor
41 //! \param name The name of the parameters
42 //! \param parentRegistry Parent registry for reader/writer functionality
43 //! \param env Environment for parameter values
44 //! \param objectNode Node containing parameter values
45 //!
46 //! Initializes a new rotary-wing parameters object with values from the provided environment.
47 DtVreRlParameters(const DtString& name = DtString::nullString(), DtReaderWriterRegistry* parentRegistry = NULL,
48 DtEnvironmentSP env = DtEnvironmentSP(), DtEnvValueSP* objectNode = NULL);
49
50 //! \brief Copy constructor
51 //! \param orig The source parameters to copy from
52 //! \param name The name for the new parameters
53 //! \param parentRegistry Parent registry for reader/writer functionality
54 //!
55 //! Creates a new parameters object as a copy of the provided original parameters.
56 DtVreRlParameters(const DtVreRlParameters& orig, const DtString& name, DtReaderWriterRegistry* parentRegistry);
57
58 //! \brief Virtual destructor
59 //!
60 //! Cleans up resources used by the parameters object.
61 virtual ~DtVreRlParameters() override;
62
63 //! \brief Assignment operator
64 //! \param orig The source parameters to copy from
65 //! \return Reference to this parameters object after assignment
66 //!
67 //! Assigns the contents of the provided parameters to this parameters object.
69
70 //! \brief Assignment operator from base class
71 //! \param orig The source base parameters to copy from
72 //! \return Reference to this parameters object after assignment
73 //!
74 //! Assigns the contents of the provided base parameters to this parameters object.
75 const DtVreRlParameters& operator=(const DtRotaryWingEntityParameters& orig);
76 //! \brief Creates a clone of these parameters
77 //! \param name The name for the cloned parameters
78 //! \param parentRegistry Parent registry for reader/writer functionality
79 //! \return Pointer to a new parameters object that is a clone of this one
80 //!
81 //! Creates a new parameters object as a deep copy of this parameters object.
82 virtual DtVrfObjectParameters* clone(const DtString& name = DtString::nullString(),
83 DtReaderWriterRegistry* parentRegistry = 0) const override;
84
85 //! \brief Gets the parameters type
86 //! \return The type string for these parameters
87 //!
88 //! Returns TS_Parameter as the parameters type identifier.
89 virtual DtString type() const override;
90
91 //! \brief Creator function for this parameter type
92 //! \param env Environment for parameter values
93 //! \param root Root node containing parameter values
94 //! \return Pointer to a new parameters object of this type
95 //!
96 //! Static factory function used for parameter creation with environment support.
97 static DtVrfObjectParameters* creator(DtEnvironmentSP env, DtEnvValueSP* root);
98
99 //! \brief Gets the rotorcraft dynamics parameter file path
100 //! \return The file path to the rotorcraft dynamics parameters
101 //!
102 //! Returns the path to the file containing detailed rotorcraft dynamics parameters.
104
105 //! \brief Gets the altitude offset
106 //! \return The altitude offset value
107 //!
108 //! Returns the altitude offset applied to the helicopter's position.
109 DtReal getAltitudeOffset() const;
110
111 //! \brief Gets the on-ground tolerance value
112 //! \return The on-ground tolerance value
113 //!
114 //! Returns the tolerance value used to determine if the helicopter is on the ground.
115 //! This affects landing behavior and ground effect simulation.
116 DtReal getOnGroundTolerance() const;
117
118 //! \brief Gets whether high-fidelity terrain queries are enabled
119 //! \return True if high-fidelity terrain queries are enabled, false otherwise
120 //!
121 //! Returns whether high-fidelity terrain queries are enabled for this helicopter.
123
124 //! \brief Gets the maximum altitude limit
125 //! \return Reference to the maximum altitude value
126 //!
127 //! Returns the maximum altitude limit for the helicopter.
128 const DtRwReal& getMaxAltitude() const { return myMaxAltitude; }
129
130 //! \brief Gets the maximum speed limit
131 //! \return Reference to the maximum speed value
132 //!
133 //! Returns the maximum speed limit for the helicopter.
134 const DtRwReal& getMaxSpeed() const { return myMaxSpeed; }
135
136 //! \brief Inherits values from another parameters object
137 //! \param benefactor The parameters object to inherit from
138 //! \return True if values were successfully inherited, false otherwise
139 //!
140 //! Inherits values from another parameters object, if it is of a compatible type.
141 virtual bool inheritValues(const DtVrfObjectParameters* benefactor) override;
142
143 //! \brief Inherits values from another parameters object of the same type
144 //! \param pars The parameters object to inherit from
145 //!
146 //! Inherits values from another parameters object of the same type.
148
149protected:
150 //! \brief Initial desired speed value
151 //!
152 //! The initial desired speed for the helicopter upon activation.
154
155 //! \brief Initial desired altitude value
156 //!
157 //! The initial desired altitude for the helicopter upon activation.
159
160 //! \brief Altitude offset value
161 //!
162 //! Offset applied to the helicopter's altitude.
164
165 //! \brief On-ground tolerance value
166 //!
167 //! Tolerance value used to determine if the helicopter is on the ground.
168 //! This affects landing behavior and ground effect simulation.
170
171 //! \brief Flag for high-fidelity terrain queries
172 //!
173 //! When true, high-fidelity terrain queries are used for this helicopter.
175
176private:
177 //! \brief File path to the rotorcraft dynamics parameters
178 //!
179 //! Path to the file containing detailed rotorcraft dynamics parameters.
181};
182
183} // namespace RlCgfVrf
Compiler warning configuration for external includes.
DtRwReal myOnGroundTolerance
On-ground tolerance value.
Definition vreRlParameters.h:169
virtual DtVrfObjectParameters * clone(const DtString &name=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const override
Creates a clone of these parameters.
DtRwString myRotorcraftParameterFile
File path to the rotorcraft dynamics parameters.
Definition vreRlParameters.h:180
DtRwReal myInitialDesiredAltitude
Initial desired altitude value.
Definition vreRlParameters.h:158
virtual void inheritValuesFromThisType(const DtVreRlParameters *pars)
Inherits values from another parameters object of the same type.
DtRwReal myInitialDesiredSpeed
Initial desired speed value.
Definition vreRlParameters.h:153
const DtRwReal & getMaxAltitude() const
Gets the maximum altitude limit.
Definition vreRlParameters.h:128
DtBoolean getHighFidelityTerrainQueries() const
Gets whether high-fidelity terrain queries are enabled.
DtVreRlParameters(const DtVreRlParameters &orig, const DtString &name, DtReaderWriterRegistry *parentRegistry)
Copy constructor.
virtual DtString type() const override
Gets the parameters type.
virtual bool inheritValues(const DtVrfObjectParameters *benefactor) override
Inherits values from another parameters object.
DtReal getAltitudeOffset() const
Gets the altitude offset.
DtRwBoolean myHighFidelityTerrainQueries
Flag for high-fidelity terrain queries.
Definition vreRlParameters.h:174
static DtVrfObjectParameters * creator(DtEnvironmentSP env, DtEnvValueSP *root)
Creator function for this parameter type.
DtVreRlParameters(const DtString &name=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=NULL, DtEnvironmentSP env=DtEnvironmentSP(), DtEnvValueSP *objectNode=NULL)
Constructor.
DtString getVhSimpleRotorcraftParameterFile() const
Gets the rotorcraft dynamics parameter file path.
const DtRwReal & getMaxSpeed() const
Gets the maximum speed limit.
Definition vreRlParameters.h:134
const DtVreRlParameters & operator=(const DtRotaryWingEntityParameters &orig)
Assignment operator from base class.
DtReal getOnGroundTolerance() const
Gets the on-ground tolerance value.
virtual ~DtVreRlParameters() override
Virtual destructor.
DtRwReal myAltitudeOffset
Altitude offset value.
Definition vreRlParameters.h:163
const DtVreRlParameters & operator=(const DtVreRlParameters &orig)
Assignment operator.
Export macros for the VREngage RTD object parameter library.
#define RTD_VRF_BACKEND_OBJPARAM_DLL
Platform-specific DLL export/import declaration.
Definition export.h:27
Definition vreRlActuator.h:40
const char TS_Parameter[]
Type string for VREngage rotary-wing parameters.
Definition vreRlParameters.h:30
RTDVRFConfigWarnsForExternalIncludes() class DtString