VR-Engage  2.2
Loading...
Searching...
No Matches
DtFpsFirstPersonUpdaterAgent.hpp
Go to the documentation of this file.
1/******************************************************************************
2** Copyright (c) 2025 MAK Technologies
3** All rights reserved.
4******************************************************************************/
5
6//! \file DtFpsFirstPersonUpdaterAgent.hpp
7//! \brief Defines DtFpsFirstPersonUpdaterAgent for remote control of first-person model updaters
8//! \ingroup vreHumanFrontend
9
10#pragma once
11
12#include "export.h"
13// *** Generated Code - Do Not Edit! ***
14// *** Created by dcgen ***
15
16
18
19namespace makVre
20{
21//! \brief Forward declaration of the first-person updater class
23
24//! \brief Agent class for remote control of DtFpsFirstPersonUpdater objects
25//!
26//! DtFpsFirstPersonUpdaterAgent provides a distributed interface for controlling
27//! DtFpsFirstPersonUpdater objects. It enables remote control of first-person model
28//! orientation and configuration across distributed rendering systems. This agent
29//! forwards calls to the actual updater object, handling distribution when needed.
31{
32public:
33 //! \brief Default constructor
35
36 //! \brief Static helper method to create an instance of this agent
37 //! \param sceneInterface Reference to the agent manager interface
38 //! \param bDistribute Flag indicating whether to distribute this agent
39 //! \return Pointer to a newly created agent instance
40 static DtFpsFirstPersonUpdaterAgent* create(makVrv::DtAgentManagerInterface& sceneInterface, bool bDistribute = true);
41
42 //! \brief Virtual destructor
44
45 //! \brief Finds the actual updater object this agent is controlling
46 //! \return Pointer to the controlled DtFpsFirstPersonUpdater object
47 //! \warning Any direct modifications to the actual object will NOT work when
48 //! using distributed rendering
50
51 //! \brief Finds the actual updater object this agent is controlling (const version)
52 //! \return Const pointer to the controlled DtFpsFirstPersonUpdater object
53 //! \warning Any direct modifications to the actual object will NOT work when
54 //! using distributed rendering
56
57 //! \brief Sets the pitch of the first-person model
58 //! \param pitch Pitch angle in degrees
59 //!
60 //! Controls the pitch rotation of the first-person model, relative to the
61 //! parent entity's SceneObject orientation.
62 virtual void setModelPitch(float pitch) = 0;
63
64 //! \brief Sets the heading of the first-person model
65 //! \param heading Heading angle in degrees
66 //!
67 //! Controls the heading rotation of the first-person model, relative to the
68 //! parent entity's SceneObject orientation.
69 virtual void setModelHeading(float heading) = 0;
70
71 //! \brief Sets the axis used for pitch rotation
72 //! \param axis Character representing the axis ('X', 'Y', or 'Z')
73 //!
74 //! Configuration parameter that controls which axis is used by setModelPitch.
75 //! Default is 'Y'.
76 virtual void setPitchAxis(char axis) = 0;
77
78 //! \brief Sets the base rotation for the first-person model
79 //! \param yawPitchRoll Vector containing yaw, pitch, and roll values in degrees
80 //!
81 //! Configuration parameter that sets a base rotation for the first-person model.
82 //! Values from setModelPitch and setModelHeading are added to this base rotation.
83 //! Value is relative to the parent entity's SceneObject. Default is (0,0,0).
84 virtual void setBaseRotation(DtVector yawPitchRoll) = 0;
85
86 //! \brief Sets the pivot joint for model rotation
87 //! \param jointName Name of the skeletal joint to use as pivot
88 //!
89 //! Configuration parameter that specifies the name of the skeletal joint in the
90 //! first-person model around which the model should be rotated. Default is "cervical".
91 virtual void setPivotJoint(std::string jointName) = 0;
92
93
94protected:
95 //! \brief Implementation method to find the controlled object as DtFpsFirstPersonUpdater
96 //! \return Pointer to the controlled DtFpsFirstPersonUpdater object
98};
99
100}
101
Agent interface for the DtSceneObjectMimicUpdater that enables one scene object to mimic another.
const DtFpsFirstPersonUpdater * findObject() const
Finds the actual updater object this agent is controlling (const version)
DtFpsFirstPersonUpdaterAgent()
Default constructor.
static DtFpsFirstPersonUpdaterAgent * create(makVrv::DtAgentManagerInterface &sceneInterface, bool bDistribute=true)
Static helper method to create an instance of this agent.
virtual ~DtFpsFirstPersonUpdaterAgent() override
Virtual destructor.
virtual void setModelPitch(float pitch)=0
Sets the pitch of the first-person model.
virtual void setPivotJoint(std::string jointName)=0
Sets the pivot joint for model rotation.
DtFpsFirstPersonUpdater * findObject()
Finds the actual updater object this agent is controlling.
virtual DtFpsFirstPersonUpdater * findObjectAsDtFpsFirstPersonUpdater()=0
Implementation method to find the controlled object as DtFpsFirstPersonUpdater.
virtual void setPitchAxis(char axis)=0
Sets the axis used for pitch rotation.
virtual void setModelHeading(float heading)=0
Sets the heading of the first-person model.
virtual void setBaseRotation(DtVector yawPitchRoll)=0
Sets the base rotation for the first-person model.
Updater for first-person model control in FPS mode.
Definition DtFpsFirstPersonUpdater.h:29
DtSceneObjectMimicUpdaterAgent()
Constructor for the DtSceneObjectMimicUpdaterAgent.
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