VR-Engage  2.2
Loading...
Searching...
No Matches
vreParachuteActuatorDescriptor.h
Go to the documentation of this file.
1/*******************************************************************************
2** Copyright (c) 2025 MAK Technologies
3** All rights reserved.
4*******************************************************************************/
5
6//! \file vreParachuteActuatorDescriptor.h
7//! \ingroup vreVrfobjparam
8//! \brief Parachute actuator descriptor for VREngage
9//!
10//! This file defines the DtVreParachuteActuatorDescriptor class, which configures
11//! parachute actuator components in VREngage. It extends the base parachute actuator
12//! descriptor to add oxygen consumption parameters based on altitude.
13
14#pragma once
16#include <vrfobjparam/parachuteActuatorDescriptor.h>
17
18class DtReaderWriterRegistry;
19
20namespace makVre
21{
22//! \brief Type identifier string for the parachute actuator descriptor
23const char DtVreParachuteActuatorDescriptorType[] = "vre-parachute-actuator-descriptor";
24
25//! \brief Parachute actuator descriptor for VREngage
26//!
27//! This class defines a descriptor for parachute actuator components in VREngage.
28//! It extends the base parachute actuator descriptor to add configuration for
29//! oxygen consumption during high-altitude parachute operations. The descriptor
30//! specifies both the rate of oxygen consumption and the altitude threshold at
31//! which oxygen begins to be consumed.
32class VREVRFOBJPARAM_DLL DtVreParachuteActuatorDescriptor : public DtParachuteActuatorDescriptor
33{
34public:
35 //! \brief Constructor with component name
36 //! \param name The name of this component
37 //! \param parentRegistry Parent registry for reader/writer functionality (optional)
38 //!
39 //! Creates a new parachute actuator descriptor with the specified name.
40 DtVreParachuteActuatorDescriptor(const DtString& name, DtReaderWriterRegistry* parentRegistry = 0);
41
42 //! \brief Copy constructor
43 //! \param orig The source descriptor to copy from
44 //! \param parentRegistry Parent registry for reader/writer functionality (optional)
45 //!
46 //! Creates a new parachute actuator descriptor as a copy of the provided original.
48 const DtVreParachuteActuatorDescriptor& orig, DtReaderWriterRegistry* parentRegistry = 0);
49
50 //! \brief Assignment operator
51 //! \param orig The source descriptor to copy from
52 //! \return Reference to this descriptor after assignment
53 //!
54 //! Assigns the contents of the provided descriptor to this one.
56
57 //! \brief Creates a clone of this descriptor
58 //! \param parentRegistry Parent registry for reader/writer functionality (optional)
59 //! \return Pointer to a new descriptor that is a clone of this one
60 //!
61 //! Creates a new parachute actuator descriptor as a deep copy of this one.
62 virtual DtComponentDescriptor* clone(DtReaderWriterRegistry* parentRegistry = 0) const override;
63
64 //! \brief Virtual destructor
65 //!
66 //! Cleans up resources used by the descriptor.
68
69 //! \brief Sets the oxygen consumption rate
70 //! \param val The oxygen consumption rate in units per minute
71 //!
72 //! Sets the rate at which oxygen is consumed when operating above the
73 //! oxygen use altitude threshold.
74 virtual void setOxygenUsePerMinute(double val);
75
76 //! \brief Gets the oxygen consumption rate
77 //! \return The oxygen consumption rate in units per minute
78 //!
79 //! Returns the rate at which oxygen is consumed when operating above the
80 //! oxygen use altitude threshold.
81 virtual double oxygenUsePerMinute() const;
82
83 //! \brief Sets the oxygen use altitude threshold
84 //! \param val The altitude threshold in meters
85 //!
86 //! Sets the altitude threshold above which oxygen begins to be consumed.
87 virtual void setOxygenUseAltitude(double val);
88
89 //! \brief Gets the oxygen use altitude threshold
90 //! \return The altitude threshold in meters
91 //!
92 //! Returns the altitude threshold above which oxygen begins to be consumed.
93 virtual double oxygenUseAltitude() const;
94
95 //! \brief Factory function to create a new instance of this descriptor
96 //! \return Pointer to a newly created descriptor
97 //!
98 //! Static factory function used by the descriptor creation system to instantiate
99 //! new instances of this descriptor type.
100 static DtComponentDescriptor* creator();
101
102protected:
103 //! \brief Oxygen consumption rate in units per minute
104 //!
105 //! The rate at which oxygen is consumed when operating above the
106 //! oxygen use altitude threshold.
108
109 //! \brief Oxygen use altitude threshold in meters
110 //!
111 //! The altitude threshold above which oxygen begins to be consumed.
113};
114
115} // namespace makVre
virtual double oxygenUsePerMinute() const
Gets the oxygen consumption rate.
DtRwReal myOxygenUsePerMinute
Oxygen consumption rate in units per minute.
Definition vreParachuteActuatorDescriptor.h:107
virtual void setOxygenUsePerMinute(double val)
Sets the oxygen consumption rate.
virtual void setOxygenUseAltitude(double val)
Sets the oxygen use altitude threshold.
DtVreParachuteActuatorDescriptor(const DtVreParachuteActuatorDescriptor &orig, DtReaderWriterRegistry *parentRegistry=0)
Copy constructor.
DtVreParachuteActuatorDescriptor & operator=(const DtVreParachuteActuatorDescriptor &orig)
Assignment operator.
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 ~DtVreParachuteActuatorDescriptor() override
Virtual destructor.
virtual double oxygenUseAltitude() const
Gets the oxygen use altitude threshold.
DtVreParachuteActuatorDescriptor(const DtString &name, DtReaderWriterRegistry *parentRegistry=0)
Constructor with component name.
DtRwReal myOxygenUseAltitude
Oxygen use altitude threshold in meters.
Definition vreParachuteActuatorDescriptor.h:112
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
const char DtVreParachuteActuatorDescriptorType[]
Type identifier string for the parachute actuator descriptor.
Definition vreParachuteActuatorDescriptor.h:23