VR-Engage  2.2
Loading...
Searching...
No Matches
vortexConfigurationDescriptor.h
Go to the documentation of this file.
1/*******************************************************************************
2** Copyright (c) 2025 MAK Technologies
3** All rights reserved.
4*******************************************************************************/
5
6//! \file vortexConfigurationDescriptor.h
7//! \brief Defines DtVortexConfigurationDescriptor for managing Vortex physics configuration parameters
8//! \ingroup vreVrfVortexObjparam
9
10#pragma once
11
14
15namespace makVre
16{
17//! \brief Type identifier string for the DtVortexConfigurationDescriptor class
18const char DtVortexConfigurationDescriptorType[] = "DtVortexConfigurationDescriptor";
19
20//! \brief Descriptor for Vortex physics engine configurations
21//!
22//! DtVortexConfigurationDescriptor manages a collection of configuration parameters
23//! for the Vortex physics engine. It stores a name for the configuration and a list
24//! of configuration elements that define specific physics parameters. This class supports
25//! serialization to and from XML and provides debugging options for parameters.
27{
28protected:
29 //! \brief Protected default constructor
30 //!
31 //! Creates an empty configuration descriptor
33
34public:
35 //! \brief Constructor with configuration name and registry
36 //! \param name Name of the configuration descriptor
37 //! \param parentRegistry Optional parent registry for reader/writer operations
38 DtVortexConfigurationDescriptor(const DtString& name, DtReaderWriterRegistry* parentRegistry = 0);
39
40 //! \brief Constructor with symbol configuration name and registry
41 //! \param name Symbol string name of the configuration descriptor
42 //! \param parentRegistry Optional parent registry for reader/writer operations
43 DtVortexConfigurationDescriptor(const DtSymbolString& name, DtReaderWriterRegistry* parentRegistry = 0);
44
45 //! \brief Copy constructor
46 //! \param orig Original configuration descriptor to copy from
47 //! \param parentRegistry Optional parent registry for reader/writer operations
49 const DtVortexConfigurationDescriptor& orig, DtReaderWriterRegistry* parentRegistry = 0);
50
51 //! \brief Assignment operator
52 //! \param orig Original configuration descriptor to copy from
53 //! \return Reference to this configuration descriptor after assignment
55
56 //! \brief Virtual destructor
58
59 //! \brief Sets the name of the Vortex configuration
60 //! \param ConfigurationName The name to set for this configuration
61 virtual void setVortexConfigurationName(const std::string& ConfigurationName);
62
63 //! \brief Gets the name of the Vortex configuration
64 //! \return The name of this configuration
65 virtual std::string vortexConfigurationName() const;
66
67 //! \brief Sets the list of configuration elements
68 //! \param list The list of configuration elements to set
70
71 //! \brief Gets the list of configuration elements
72 //! \return Constant reference to the list of configuration elements
74
75 //! \brief Enables or disables debug mode for parameters
76 //! \param enable True to enable debug mode, false to disable
77 virtual void setDebugParameters(const bool enable);
78
79 //! \brief Checks if debug mode is enabled for parameters
80 //! \return True if debug mode is enabled, false otherwise
81 virtual const bool debugParameters() const;
82
83 //! \brief Gets the type identifier for reader/writer operations
84 //! \return Type identifier string
85 virtual const char* readerWriterType() const override;
86
87 //! \brief Gets the XML type identifier for serialization
88 //! \return XML type identifier string used when archiving to an XML stream
89 static const char* theXmlType();
90
91 //! \brief Gets the XML type identifier for this instance
92 //! \return XML type identifier string
93 virtual const char* xmlType() const override { return theXmlType(); }
94
95protected:
96 //! \brief The name of this Vortex configuration
98
99 //! \brief Flag indicating if debug mode is enabled for parameters
100 DtRwBoolean myDebugParameters;
101
102 //! \brief List of configuration elements defining specific physics parameters
104};
105} // namespace makVre
virtual const char * readerWriterType() const override
Gets the type identifier for reader/writer operations.
virtual const DtVortexConfigurationElementList & configurationList() const
Gets the list of configuration elements.
DtVortexConfigurationDescriptor(const DtVortexConfigurationDescriptor &orig, DtReaderWriterRegistry *parentRegistry=0)
Copy constructor.
DtVortexConfigurationDescriptor()
Protected default constructor.
DtVortexConfigurationDescriptor(const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=0)
Constructor with symbol configuration name and registry.
virtual void setDebugParameters(const bool enable)
Enables or disables debug mode for parameters.
virtual const bool debugParameters() const
Checks if debug mode is enabled for parameters.
DtRwString myConfigurationName
The name of this Vortex configuration.
Definition vortexConfigurationDescriptor.h:97
virtual const char * xmlType() const override
Gets the XML type identifier for this instance.
Definition vortexConfigurationDescriptor.h:93
DtRwBoolean myDebugParameters
Flag indicating if debug mode is enabled for parameters.
Definition vortexConfigurationDescriptor.h:100
virtual void setConfigurationList(const DtVortexConfigurationElementList &list)
Sets the list of configuration elements.
DtVortexConfigurationDescriptor & operator=(const DtVortexConfigurationDescriptor &orig)
Assignment operator.
static const char * theXmlType()
Gets the XML type identifier for serialization.
DtVortexConfigurationElementList myConfigList
List of configuration elements defining specific physics parameters.
Definition vortexConfigurationDescriptor.h:103
DtVortexConfigurationDescriptor(const DtString &name, DtReaderWriterRegistry *parentRegistry=0)
Constructor with configuration name and registry.
virtual std::string vortexConfigurationName() const
Gets the name of the Vortex configuration.
virtual ~DtVortexConfigurationDescriptor() override
Virtual destructor.
virtual void setVortexConfigurationName(const std::string &ConfigurationName)
Sets the name of the Vortex configuration.
Defines export macros for the vreVrfVortexObjparam library.
#define VREVRFVORTEXOBJPARAM_DLL
Definition export.h:19
Include export definitions for this library.
Definition glsVreMessageUtil.h:49
DtRwTemplatedListPtr< DtVortexConfigurationElementDescriptor, true > DtVortexConfigurationElementList
Type definition for a list of Vortex configuration element descriptors.
Definition vortexConfigurationElementDescriptor.h:195
const char DtVortexConfigurationDescriptorType[]
Type identifier string for the DtVortexConfigurationDescriptor class.
Definition vortexConfigurationDescriptor.h:18
Defines DtVortexConfigurationElementDescriptor for individual Vortex physics configuration parameters...