VR-Engage  2.2
Loading...
Searching...
No Matches
vreLadderClimbingActuatorDescriptor.h
Go to the documentation of this file.
1/*******************************************************************************
2** Copyright (c) 2025 MAK Technologies
3** All rights reserved.
4*******************************************************************************/
5
6//! \file vreLadderClimbingActuatorDescriptor.h
7//! \ingroup vreVrfobjparam
8//! \brief Ladder climbing actuator descriptor for VREngage
9//!
10//! This file defines the DtLadderClimbingActuatorDescriptor class, which configures
11//! ladder climbing actuator components in VREngage. It extends the base actuator
12//! component descriptor to add ladder climbing speed parameters.
13
14#pragma once
15
17
18#include <vrfobjparam/actuatorComponentDescriptor.h>
19
20
21namespace makVre
22{
23//! \brief Type identifier string for the ladder climbing actuator descriptor
24const char DtLadderClimbingActuatorDescriptorType[] = "vre-ladder-climbing-actuator-descriptor";
25
26//! \brief Ladder climbing actuator descriptor for VREngage
27//!
28//! This class defines a descriptor for ladder climbing actuator components in VREngage.
29//! It extends the base actuator component descriptor to add configuration for
30//! ladder climbing speed, which affects how quickly human entities can climb ladders
31//! in VREngage simulations.
32class VREVRFOBJPARAM_DLL DtLadderClimbingActuatorDescriptor : public DtActuatorComponentDescriptor
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 ladder climbing actuator descriptor with the specified name.
40 DtLadderClimbingActuatorDescriptor(const DtString& name, DtReaderWriterRegistry* parentRegistry = NULL);
41
42 //! \brief Constructor with component name as symbol string
43 //! \param name The name of this component as a symbol string
44 //! \param parentRegistry Parent registry for reader/writer functionality (optional)
45 //!
46 //! Creates a new ladder climbing actuator descriptor with the specified name.
47 DtLadderClimbingActuatorDescriptor(const DtSymbolString& name, DtReaderWriterRegistry* parentRegistry = NULL);
48
49 //! \brief Copy constructor
50 //! \param orig The source descriptor to copy from
51 //! \param parentRegistry Parent registry for reader/writer functionality (optional)
52 //!
53 //! Creates a new ladder climbing actuator descriptor as a copy of the provided original.
55 const DtLadderClimbingActuatorDescriptor& orig, DtReaderWriterRegistry* parentRegistry = NULL);
56
57 //! \brief Assignment operator
58 //! \param orig The source descriptor to copy from
59 //! \return Reference to this descriptor after assignment
60 //!
61 //! Assigns the contents of the provided descriptor to this one.
63
64 //! \brief Virtual destructor
65 //!
66 //! Cleans up resources used by the descriptor.
68
69 //! \brief Gets the type identifier for this descriptor
70 //! \return String identifying this descriptor type
71 //!
72 //! Returns a unique type identifier string for this descriptor type.
73 //! Will return DtLadderClimbingActuatorDescriptorType.
74 virtual DtString type() const override;
75
76 //! \brief Creates a clone of this descriptor
77 //! \param parentRegistry Parent registry for reader/writer functionality (optional)
78 //! \return Pointer to a new descriptor that is a clone of this one
79 //!
80 //! Creates a new ladder climbing actuator descriptor as a deep copy of this one.
81 virtual DtComponentDescriptor* clone(DtReaderWriterRegistry* parentRegistry = NULL) const override;
82
83 //! \brief Gets the ladder climbing speed
84 //! \return The ladder climbing speed in meters per second
85 //!
86 //! Returns the maximum speed at which entities can climb ladders.
87 virtual DtReal ladderClimbingSpeed() const;
88
89 //! \brief Sets the ladder climbing speed
90 //! \param speed The ladder climbing speed in meters per second
91 //!
92 //! Sets the maximum speed at which entities can climb ladders.
93 virtual void setLadderClimbingSpeed(DtReal speed);
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
102public:
103 //! \brief Default ladder climbing speed
104 //!
105 //! The default value for ladder climbing speed is 0.4 meters per second.
107
108protected:
109 //! \brief Default constructor (not implemented)
110 //!
111 //! Default constructor is protected and not implemented to prevent
112 //! creation of instances without proper initialization.
114
115protected:
116 //! \brief Maximum ladder climbing speed
117 //!
118 //! The maximum speed at which entities can climb ladders.
119 //! Parameter name: "ladder-climbing-speed"
120 //! Default value: 0.4 meters per second
122};
123} // namespace makVre
virtual ~DtLadderClimbingActuatorDescriptor() override
Virtual destructor.
static DtComponentDescriptor * creator()
Factory function to create a new instance of this descriptor.
virtual DtComponentDescriptor * clone(DtReaderWriterRegistry *parentRegistry=NULL) const override
Creates a clone of this descriptor.
virtual DtReal ladderClimbingSpeed() const
Gets the ladder climbing speed.
static double theDefaultLadderClimbingSpeed
Default ladder climbing speed.
Definition vreLadderClimbingActuatorDescriptor.h:106
DtLadderClimbingActuatorDescriptor(const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL)
Constructor with component name.
DtLadderClimbingActuatorDescriptor()
Default constructor (not implemented)
virtual DtString type() const override
Gets the type identifier for this descriptor.
DtRwReal myLadderClimbingSpeed
Maximum ladder climbing speed.
Definition vreLadderClimbingActuatorDescriptor.h:121
DtLadderClimbingActuatorDescriptor(const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL)
Constructor with component name as symbol string.
DtLadderClimbingActuatorDescriptor & operator=(const DtLadderClimbingActuatorDescriptor &orig)
Assignment operator.
virtual void setLadderClimbingSpeed(DtReal speed)
Sets the ladder climbing speed.
DtLadderClimbingActuatorDescriptor(const DtLadderClimbingActuatorDescriptor &orig, DtReaderWriterRegistry *parentRegistry=NULL)
Copy constructor.
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 DtLadderClimbingActuatorDescriptorType[]
Type identifier string for the ladder climbing actuator descriptor.
Definition vreLadderClimbingActuatorDescriptor.h:24