VR-Engage  2.2
Loading...
Searching...
No Matches
vortexArtPartDescriptor.h
Go to the documentation of this file.
1/*******************************************************************************
2** Copyright (c) 2025 MAK Technologies
3** All rights reserved.
4*******************************************************************************/
5
6//! \file vortexArtPartDescriptor.h
7//! \brief Defines DtVortexSimArtPartDescriptor for articulated part simulation in Vortex
8//! \ingroup vreVrfVortexObjparam
9
10#pragma once
11
13#include <vrfobjparam/simArtPartDescriptor.h>
14#include <readerWriter/rwString.h>
15
16namespace makVre
17{
18//! \brief Type identifier string for the DtVortexSimArtPartDescriptor class
19const char DtVortexSimArtPartDescriptorType[] = "DtVortexSimArtPartDescriptor";
20
21//! \brief Articulated part descriptor for Vortex physics simulation
22//!
23//! DtVortexSimArtPartDescriptor extends the base simulation articulated part descriptor
24//! with Vortex-specific naming information. This allows articulated parts to be correctly
25//! mapped to their corresponding parts in the Vortex physics simulation.
26class VREVRFVORTEXOBJPARAM_DLL DtVortexSimArtPartDescriptor : public DtSimArtPartDescriptor
27{
28public:
29 //! \brief Default constructor
30 //!
31 //! Creates an empty descriptor with default values
33
34 //! \brief Constructor with part name and registry
35 //! \param partName Name of the articulated part
36 //! \param parentRegistry Optional parent registry for reader/writer operations
37 DtVortexSimArtPartDescriptor(const DtString& partName, DtReaderWriterRegistry* parentRegistry = NULL);
38
39 //! \brief Constructor with symbol part name and registry
40 //! \param partName Symbol string name of the articulated part
41 //! \param parentRegistry Optional parent registry for reader/writer operations
42 DtVortexSimArtPartDescriptor(const DtSymbolString& partName, DtReaderWriterRegistry* parentRegistry = NULL);
43
44 //! \brief Copy constructor with new part name
45 //! \param partName New name for the copied articulated part
46 //! \param orig Original descriptor to copy from
47 //! \param parentRegistry Optional parent registry for reader/writer operations
48 DtVortexSimArtPartDescriptor(const DtString& partName, const DtVortexSimArtPartDescriptor& orig,
49 DtReaderWriterRegistry* parentRegistry = NULL);
50
51 //! \brief Copy constructor with new symbol part name
52 //! \param partName New symbol string name for the copied articulated part
53 //! \param orig Original descriptor to copy from
54 //! \param parentRegistry Optional parent registry for reader/writer operations
55 DtVortexSimArtPartDescriptor(const DtSymbolString& partName, const DtVortexSimArtPartDescriptor& orig,
56 DtReaderWriterRegistry* parentRegistry = NULL);
57
58 //! \brief Assignment operator
59 //! \param orig Original descriptor to copy from
60 //! \return Reference to this descriptor after assignment
62
63 //! \brief Virtual destructor
65
66 //! \brief Creates a clone of this descriptor with a new part name
67 //! \param partName New name for the cloned articulated part
68 //! \param parentRegistry Optional parent registry for reader/writer operations
69 //! \return Pointer to a new descriptor that is a copy of this one
70 virtual DtVortexSimArtPartDescriptor* clone(const DtString& partName,
71 DtReaderWriterRegistry* parentRegistry = NULL) const override;
72
73 //! \brief Creates a clone of this descriptor with a new symbol part name
74 //! \param partName New symbol string name for the cloned articulated part
75 //! \param parentRegistry Optional parent registry for reader/writer operations
76 //! \return Pointer to a new descriptor that is a copy of this one
77 virtual DtVortexSimArtPartDescriptor* clone(const DtSymbolString& partName,
78 DtReaderWriterRegistry* parentRegistry = NULL) const override;
79
80
81 //! \brief Sets the Vortex-specific part name
82 //! \param partType The part name used within the Vortex physics simulation
83 virtual void setVortexPartName(const std::string& partType);
84
85 //! \brief Gets the Vortex-specific part name
86 //! \return The part name used within the Vortex physics simulation
87 virtual std::string vortexPartName() const;
88
89 //! \brief Gets the type identifier for reader/writer operations
90 //! \return Type identifier string
91 virtual const char* readerWriterType() const override;
92
93 //! \brief Gets the XML type identifier for serialization
94 //! \return XML type identifier string used when archiving to an XML stream
95 static const char* theXmlType();
96
97 //! \brief Gets the XML type identifier for this instance
98 //! \return XML type identifier string
99 virtual const char* xmlType() const override { return theXmlType(); }
100
101protected:
102 //! \brief The Vortex-specific part name used in the physics simulation
104};
105} // namespace makVre
DtVortexSimArtPartDescriptor()
Default constructor.
virtual void setVortexPartName(const std::string &partType)
Sets the Vortex-specific part name.
virtual ~DtVortexSimArtPartDescriptor() override
Virtual destructor.
virtual const char * readerWriterType() const override
Gets the type identifier for reader/writer operations.
DtVortexSimArtPartDescriptor(const DtString &partName, DtReaderWriterRegistry *parentRegistry=NULL)
Constructor with part name and registry.
virtual DtVortexSimArtPartDescriptor * clone(const DtString &partName, DtReaderWriterRegistry *parentRegistry=NULL) const override
Creates a clone of this descriptor with a new part name.
DtVortexSimArtPartDescriptor(const DtSymbolString &partName, DtReaderWriterRegistry *parentRegistry=NULL)
Constructor with symbol part name and registry.
virtual const char * xmlType() const override
Gets the XML type identifier for this instance.
Definition vortexArtPartDescriptor.h:99
DtVortexSimArtPartDescriptor(const DtString &partName, const DtVortexSimArtPartDescriptor &orig, DtReaderWriterRegistry *parentRegistry=NULL)
Copy constructor with new part name.
static const char * theXmlType()
Gets the XML type identifier for serialization.
virtual DtVortexSimArtPartDescriptor * clone(const DtSymbolString &partName, DtReaderWriterRegistry *parentRegistry=NULL) const override
Creates a clone of this descriptor with a new symbol part name.
DtVortexSimArtPartDescriptor & operator=(const DtVortexSimArtPartDescriptor &orig)
Assignment operator.
virtual std::string vortexPartName() const
Gets the Vortex-specific part name.
DtRwString myVortexPartName
The Vortex-specific part name used in the physics simulation.
Definition vortexArtPartDescriptor.h:103
DtVortexSimArtPartDescriptor(const DtSymbolString &partName, const DtVortexSimArtPartDescriptor &orig, DtReaderWriterRegistry *parentRegistry=NULL)
Copy constructor with new symbol part name.
Defines export macros for the vreVrfVortexObjparam library.
#define VREVRFVORTEXOBJPARAM_DLL
Definition export.h:19
Include export definitions for this library.
Definition glsVreMessageUtil.h:49
const char DtVortexSimArtPartDescriptorType[]
Type identifier string for the DtVortexSimArtPartDescriptor class.
Definition vortexArtPartDescriptor.h:19