VR-Engage  2.2
Loading...
Searching...
No Matches
makVre::DtSceneObjectMimicUpdaterAgent Class Referenceabstract

Detailed Description

This agent provides an interface to control a DtSceneObjectMimicUpdater, which allows one scene object to follow another's position and orientation with an optional offset. It is commonly used for attaching objects to others in a scene, such as weapons to characters or interior models to vehicles.

#include <DtSceneObjectMimicUpdaterAgent.hpp>

Inheritance diagram for makVre::DtSceneObjectMimicUpdaterAgent:
[legend]

Public Member Functions

 DtSceneObjectMimicUpdaterAgent ()
 
virtual ~DtSceneObjectMimicUpdaterAgent ()
 
DtSceneObjectMimicUpdaterfindObject ()
 
const DtSceneObjectMimicUpdaterfindObject () const
 
virtual void setParentSceneObject (makVrv::DtUniqueID id)=0
 
virtual void setModelOffset (const DtVector &offset)=0
 

Static Public Member Functions

static DtSceneObjectMimicUpdaterAgentcreate (makVrv::DtAgentManagerInterface &sceneInterface, bool bDistribute=true)
 

Protected Member Functions

virtual DtSceneObjectMimicUpdaterfindObjectAsDtSceneObjectMimicUpdater ()=0
 

Constructor & Destructor Documentation

◆ DtSceneObjectMimicUpdaterAgent()

makVre::DtSceneObjectMimicUpdaterAgent::DtSceneObjectMimicUpdaterAgent ( )

Constructor for the DtSceneObjectMimicUpdaterAgent.

Referenced by create().

◆ ~DtSceneObjectMimicUpdaterAgent()

virtual makVre::DtSceneObjectMimicUpdaterAgent::~DtSceneObjectMimicUpdaterAgent ( )
virtual

Destructor for the DtSceneObjectMimicUpdaterAgent.

Member Function Documentation

◆ create()

static DtSceneObjectMimicUpdaterAgent * makVre::DtSceneObjectMimicUpdaterAgent::create ( makVrv::DtAgentManagerInterface & sceneInterface,
bool bDistribute = true )
static

Static helper method to create an instance of this agent.

Parameters
sceneInterfaceThe agent manager interface to register with
bDistributeFlag indicating if the agent should be distributed in networked scenarios
Returns
Pointer to the newly created agent instance

References DtSceneObjectMimicUpdaterAgent().

◆ findObject() [1/2]

DtSceneObjectMimicUpdater * makVre::DtSceneObjectMimicUpdaterAgent::findObject ( )

Attempt to find the actual object the agent is controlling.

Returns
Pointer to the controlled DtSceneObjectMimicUpdater instance or nullptr if not found
Warning
Any modifications to the actual object will NOT work when using distributed rendering

◆ findObject() [2/2]

const DtSceneObjectMimicUpdater * makVre::DtSceneObjectMimicUpdaterAgent::findObject ( ) const

Const version of findObject()

Returns
Const pointer to the controlled DtSceneObjectMimicUpdater instance or nullptr if not found

◆ setParentSceneObject()

virtual void makVre::DtSceneObjectMimicUpdaterAgent::setParentSceneObject ( makVrv::DtUniqueID id)
pure virtual

Sets the parent scene object that this mimic updater will follow.

Parameters
idUnique ID of the parent scene object to mimic

The mimic updater will track the specified scene object, following its position and orientation with the configured offset

Implemented in makVre::DtSceneObjectMimicUpdaterAgentImplementation.

◆ setModelOffset()

virtual void makVre::DtSceneObjectMimicUpdaterAgent::setModelOffset ( const DtVector & offset)
pure virtual

Sets the position offset from the parent scene object.

Parameters
offsetVector specifying the local-space offset from the parent scene object

This offset is applied in the parent object's local space, then transformed to world space when positioning the mimic object

Implemented in makVre::DtSceneObjectMimicUpdaterAgentImplementation.

◆ findObjectAsDtSceneObjectMimicUpdater()

virtual DtSceneObjectMimicUpdater * makVre::DtSceneObjectMimicUpdaterAgent::findObjectAsDtSceneObjectMimicUpdater ( )
protectedpure virtual

Internal method to find and cast the object to DtSceneObjectMimicUpdater.

Returns
Pointer to the controlled DtSceneObjectMimicUpdater or nullptr if not found

This method is implemented by derived agent classes to properly locate and cast the object being controlled

Implemented in makVre::DtFpsFirstPersonUpdaterAgentImplementation, and makVre::DtSceneObjectMimicUpdaterAgentImplementation.


The documentation for this class was generated from the following file: