VR-Engage  2.2
Loading...
Searching...
No Matches
DtFpsFirstPersonUpdaterClasses.hpp
Go to the documentation of this file.
1/******************************************************************************
2** Copyright (c) 2025 MAK Technologies
3** All rights reserved.
4******************************************************************************/
5
6//! \file DtFpsFirstPersonUpdaterClasses.hpp
7//! \brief Defines implementation classes for the first-person model updater in FPS mode
8//! \ingroup vreHumanFrontend
9
10#pragma once
11
12#include "export.h"
13
14// *** Generated Code - Do Not Edit! ***
15// *** Created by dcgen ***
16
17
20
21namespace makVre
22{
23
24//! \brief Implementation of the agent class for DtFpsFirstPersonUpdater
25//!
26//! DtFpsFirstPersonUpdaterAgentImplementation provides the concrete implementation
27//! of the DtFpsFirstPersonUpdaterAgent interface. It forwards method calls to the
28//! actual DtFpsFirstPersonUpdater object and handles distributed operation.
30{
31public:
32 //! \brief Default constructor
34
35 //! \brief Virtual destructor
37 //! \brief Sets the pitch of the first-person model
38 //! \param pitch Pitch angle in degrees
39 //!
40 //! Controls the pitch rotation of the first-person model, relative to the
41 //! parent entity's SceneObject orientation.
42 virtual void setModelPitch(float pitch) override;
43
44 //! \brief Sets the heading of the first-person model
45 //! \param heading Heading angle in degrees
46 //!
47 //! Controls the heading rotation of the first-person model, relative to the
48 //! parent entity's SceneObject orientation.
49 virtual void setModelHeading(float heading) override;
50
51 //! \brief Sets the axis used for pitch rotation
52 //! \param axis Character representing the axis ('X', 'Y', or 'Z')
53 //!
54 //! Configuration parameter that controls which axis is used by setModelPitch.
55 //! Default is 'Y'.
56 virtual void setPitchAxis(char axis) override;
57
58 //! \brief Sets the base rotation for the first-person model
59 //! \param yawPitchRoll Vector containing yaw, pitch, and roll values in degrees
60 //!
61 //! Configuration parameter that sets a base rotation for the first-person model.
62 //! Values from setModelPitch and setModelHeading are added to this base rotation.
63 //! Value is relative to the parent entity's SceneObject. Default is (0,0,0).
64 virtual void setBaseRotation(DtVector yawPitchRoll) override;
65
66 //! \brief Sets the pivot joint for model rotation
67 //! \param jointName Name of the skeletal joint to use as pivot
68 //!
69 //! Configuration parameter that specifies the name of the skeletal joint in the
70 //! first-person model around which the model should be rotated. Default is "cervical".
71 virtual void setPivotJoint(std::string jointName) override;
72
73
74protected:
75 //! \brief Finds the controlled object as DtSceneObjectMimicUpdater
76 //! \return Pointer to the controlled updater object as DtSceneObjectMimicUpdater
78
79 //! \brief Implementation of the abstract method to find the controlled object
80 //! \return Pointer to the controlled DtFpsFirstPersonUpdater object
82
83};
84
85}
86
87// *** Generated Code - Do Not Edit! ***
88// *** Created by dcgen ***
89
90
92
93namespace makVre
94{
95
96//! \brief Class definition for the DtFpsFirstPersonUpdater
97//!
98//! DtFpsFirstPersonUpdaterClassDefinition defines the function IDs and agent
99//! interactions for the DtFpsFirstPersonUpdater class. It establishes the
100//! interface between the agent system and the actual updater object.
101class HUMAN_DLL DtFpsFirstPersonUpdaterClassDefinition : public makVrv::DtInheritedAgentDefinition<DtSceneObjectMimicUpdaterClassDefinition,DtFpsFirstPersonUpdater>
102{
103public:
104 //! \brief Constructor
105 //! \param className Name of the class being defined, defaults to "DtFpsFirstPersonUpdater"
106 //!
107 //! All function pointers are bound in the constructor.
108 DtFpsFirstPersonUpdaterClassDefinition(const std::string& className = "DtFpsFirstPersonUpdater");
109
110 //! \brief Virtual destructor
112
113 //! \brief Unique function IDs used to store the state functions in a message
114 //!
115 //! These IDs identify the different functions that can be invoked on this class
116 //! through the agent system. They are used for message serialization and routing.
118 {
119 //! \brief ID for the setModelPitch function
121
122 //! \brief ID for the setModelHeading function
124
125 //! \brief ID for the setPitchAxis function
127
128 //! \brief ID for the setBaseRotation function
130
131 //! \brief ID for the setPivotJoint function
133
134 //! \brief Marks the end of the function IDs for this class
136 };
137
138};
139
140}
141
142// *** Generated Code - Do Not Edit! ***
143// *** Created by dcgen ***
144
145#include <vrvCore/DtAgentCreator.h>
146#include <vrvCore/DtAgentFactory.h>
147
148namespace makVre
149{
150
152
153//! \brief Creator class for DtFpsFirstPersonUpdater agents
154//!
155//! DtFpsFirstPersonUpdaterClassesCreator handles the creation of agents and
156//! resolvers for DtFpsFirstPersonUpdater objects. It registers itself with
157//! the agent factory system to enable dynamic creation of these objects.
158class HUMAN_DLL DtFpsFirstPersonUpdaterClassesCreator : public makVrv::DtAgentCreator
159{
160public:
161 //! \brief Default constructor
163
164 //! \brief Virtual destructor
166
167 //! \brief Static factory method to create a new creator instance
168 //! \return Pointer to a newly created DtAgentCreator instance
169 static makVrv::DtAgentCreator* create();
170
171 //! \brief Creates an agent object for the DtFpsFirstPersonUpdater class
172 //! \param sceneInterface Reference to the agent manager interface
173 //! \return Pointer to the newly created agent
174 virtual makVrv::DtAgent* createAgent(makVrv::DtAgentManagerInterface& sceneInterface) override;
175
176 //! \brief Creates an updater resolver for the DtFpsFirstPersonUpdater class
177 //! \param de Reference to the display element
178 //! \param id Unique identifier for the new resolver
179 //! \return Pointer to the newly created agent update resolver interface
180 virtual makVrv::DtAgentUpdateResolverInterface* createResolver(makVrv::DtDe& de, makVrv::DtUniqueID id) override;
181
182protected:
183 //! \brief Pointer to the class definition for DtFpsFirstPersonUpdater
185
186 //! \brief Static flag indicating if this creator is registered with the factory
187 static bool theRegisteredFlag;
188
189 //! \brief Static auto-unregistrar to handle cleanup when the module is unloaded
190 static makVrv::DtAgentFactory::DtAutoUnregistrar theAutoUnregistrar;
191};
192
193}
194
Defines DtFpsFirstPersonUpdater for managing first-person model view in FPS mode.
Defines DtFpsFirstPersonUpdaterAgent for remote control of first-person model updaters.
Implementations of agent and factory classes for the DtSceneObjectMimicUpdater.
DtFpsFirstPersonUpdaterAgent()
Default constructor.
virtual DtFpsFirstPersonUpdater * findObjectAsDtFpsFirstPersonUpdater() override
Implementation of the abstract method to find the controlled object.
virtual void setModelPitch(float pitch) override
Sets the pitch of the first-person model.
virtual void setPitchAxis(char axis) override
Sets the axis used for pitch rotation.
virtual void setBaseRotation(DtVector yawPitchRoll) override
Sets the base rotation for the first-person model.
virtual void setModelHeading(float heading) override
Sets the heading of the first-person model.
virtual ~DtFpsFirstPersonUpdaterAgentImplementation() override
Virtual destructor.
virtual void setPivotJoint(std::string jointName) override
Sets the pivot joint for model rotation.
virtual DtSceneObjectMimicUpdater * findObjectAsDtSceneObjectMimicUpdater() override
Finds the controlled object as DtSceneObjectMimicUpdater.
DtFpsFirstPersonUpdaterAgentImplementation()
Default constructor.
Class definition for the DtFpsFirstPersonUpdater.
Definition DtFpsFirstPersonUpdaterClasses.hpp:102
DtFpsFirstPersonUpdaterClassDefinition(const std::string &className="DtFpsFirstPersonUpdater")
Constructor.
FunctionIds
Unique function IDs used to store the state functions in a message.
Definition DtFpsFirstPersonUpdaterClasses.hpp:118
@ function_setModelPitch
ID for the setModelPitch function.
Definition DtFpsFirstPersonUpdaterClasses.hpp:120
@ function_setPitchAxis
ID for the setPitchAxis function.
Definition DtFpsFirstPersonUpdaterClasses.hpp:126
@ end_FunctionIds
Marks the end of the function IDs for this class.
Definition DtFpsFirstPersonUpdaterClasses.hpp:135
@ function_setPivotJoint
ID for the setPivotJoint function.
Definition DtFpsFirstPersonUpdaterClasses.hpp:132
@ function_setModelHeading
ID for the setModelHeading function.
Definition DtFpsFirstPersonUpdaterClasses.hpp:123
@ function_setBaseRotation
ID for the setBaseRotation function.
Definition DtFpsFirstPersonUpdaterClasses.hpp:129
virtual ~DtFpsFirstPersonUpdaterClassDefinition() override
Virtual destructor.
static makVrv::DtAgentCreator * create()
Static factory method to create a new creator instance.
virtual makVrv::DtAgent * createAgent(makVrv::DtAgentManagerInterface &sceneInterface) override
Creates an agent object for the DtFpsFirstPersonUpdater class.
DtFpsFirstPersonUpdaterClassesCreator()
Default constructor.
virtual makVrv::DtAgentUpdateResolverInterface * createResolver(makVrv::DtDe &de, makVrv::DtUniqueID id) override
Creates an updater resolver for the DtFpsFirstPersonUpdater class.
static bool theRegisteredFlag
Static flag indicating if this creator is registered with the factory.
Definition DtFpsFirstPersonUpdaterClasses.hpp:187
DtFpsFirstPersonUpdaterClassDefinition * myDefinition
Pointer to the class definition for DtFpsFirstPersonUpdater.
Definition DtFpsFirstPersonUpdaterClasses.hpp:184
virtual ~DtFpsFirstPersonUpdaterClassesCreator() override
Virtual destructor.
static makVrv::DtAgentFactory::DtAutoUnregistrar theAutoUnregistrar
Static auto-unregistrar to handle cleanup when the module is unloaded.
Definition DtFpsFirstPersonUpdaterClasses.hpp:190
Updater for first-person model control in FPS mode.
Definition DtFpsFirstPersonUpdater.h:29
DtSceneObjectMimicUpdaterAgentImplementation()
Constructor for the DtSceneObjectMimicUpdaterAgentImplementation.
@ end_FunctionIds
Marker for the end of the function ID enumeration.
Definition DtSceneObjectMimicUpdaterClasses.hpp:109
Scene object updater that mimics the position and orientation of another scene object.
Definition DtSceneObjectMimicUpdater.h:52
Defines export macros for the Human Frontend library.
#define HUMAN_DLL
Definition export.h:19
Include export definitions for this library.
Definition glsVreMessageUtil.h:49
makVrv::DtDe * de()
Gets the display element pointer used by the plugin.