VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | Friends
makVrv::DtDriver Class Referenceabstract

The DtDriver is an abstract class. Developers derive from this to create logic that "directs" things in the VRV framework.

Examples
Inheritance diagram for makVrv::DtDriver:
Inheritance graph
[legend]

Public Member Functions

 DtDriver (DtAgentManager &agentManager, const std::string &instanceName)
 
virtual ~DtDriver ()
 
virtual void realizeConfiguration (const DtConfiguration &configuration)
 
virtual DtConfiguration createConfiguration (bool saveAllParameters=false) const
 
DtAgentManageragentManager ()
 
virtual DtAgentManagerInterfacesceneInterface ()
 
bool started () const
 
virtual const std::string & className () const =0
 
virtual const std::string & instanceName () const
 
virtual bool autoStart () const
 
virtual void setAutoStart (bool autoStart)
 
virtual bool isWindowDependent () const
 
virtual void setIsWindowDependent (bool dep)
 
virtual void setIsUserControllable (bool)
 
virtual bool isUserControllable () const
 
virtual void setIsPersistent (bool per)
 
virtual bool isPersistent () const
 
virtual bool isOnDriverSelectionList () const
 
virtual void setOnDriverSelectionList (bool)
 
bool objectFromAgentManager (const DtUniqueID &id) const
 

Protected Member Functions

void applyChangesAndDelete (DtElementChanges *changes)
 
void reportElementCreated (DtElementID id, DtElementID parentId, DtElementEntry::ElementType type)
 
void reportElementAttribute (DtElementID id, DtElementAttribute *attribute)
 
void reportElementDestroyed (DtElementID id)
 
void start ()
 
void stop ()
 
bool tick ()
 
virtual bool onStart ()=0
 
virtual bool onStop ()=0
 
virtual bool onTick ()=0
 
virtual void slot_displayEngineAdded (const DtDeRecord &igRecord)
 
virtual void setInstanceName (const std::string &name)
 
virtual void installAccessories ()
 
virtual void uninstallAccessories ()
 

Protected Attributes

DtAgentManagermyAgentManager
 
bool myStartedFlag
 
std::string myName
 
DtConfiguration myConfiguration
 
bool myPersistentFlag
 
bool myUserControllableFlag
 
bool myRequestStateDiffPendingFlag
 
DtElementChanges myChanges
 

Static Protected Attributes

static const std::string theOnDriverSelectionList
 

Friends

class DtDriverManager
 

Constructor & Destructor Documentation

makVrv::DtDriver::DtDriver ( DtAgentManager agentManager,
const std::string &  instanceName 
)

CTOR.

virtual makVrv::DtDriver::~DtDriver ( )
virtual

DTOR.

Member Function Documentation

virtual void makVrv::DtDriver::realizeConfiguration ( const DtConfiguration configuration)
virtual
virtual DtConfiguration makVrv::DtDriver::createConfiguration ( bool  saveAllParameters = false) const
virtual

Create a configuration for the driver.

Note
Usage of the saveAllParameters paramete is implementation dependent. Defaults to false to allow drivers to filter out unchanged options.

Reimplemented in makVrv::DtCigiDriver, makVrv::DtDisDriver, makVrv::DtHla1516eDriver, makVrv::DtHla4Driver, and makVrv::DtHla13Driver.

DtAgentManager& makVrv::DtDriver::agentManager ( )

Get the master scene for this host. Do not create drivers using this agentManager, use the sceneInterface as it may replaced the implementation of the sceneInterface.

virtual DtAgentManagerInterface& makVrv::DtDriver::sceneInterface ( )
virtual

Get the scene manager interface for creating agents.

Reimplemented in makVrv::DtCigiDriver.

bool makVrv::DtDriver::started ( ) const
inline

Get this driver's active state.

virtual const std::string& makVrv::DtDriver::className ( ) const
pure virtual

Get this driver's class name.

Implemented in makVrv::DtIntervisibilityDriver, makVrv::DtVirtualRealityDriver, makVrv::DtInputDriver, makVrv::DtWindowObjectsDriver, makVrv::exampleSymbolFacade::DtExampleSymbolDriver, makVrv::DtVrlinkDriver, makVrv::exampleSymbolFacade3::DtExampleSymbolDriver, makVrv::DtCigiDriver, makVrv::exampleSymbolFacade5::DtExampleSymbolDriver, makVrv::exampleSymbolFacade4::DtExampleSymbolDriver, makVrv::DtSceneDriver, DtGimbalDriver, ForestDriver, makVrv::exampleSymbolFacade2::DtExampleSymbolDriver, makVrv::exampleTacticalGraphics::DtExampleTacticalGraphicsDriver, makVrv::exampleSymbolFacade1::DtExampleSymbolDriver, DtExampleThreadedDriver, makVrv::DtWindowObjectHudDriver, DtExampleEffectsDriver, DtExampleCommLinesDriver, DtExampleTrackHistoryDriver, makVrv::DtExampleProjectile, makVrf::DtDebugDrawRendererDriver, makVrv::tutorialDistributedSimulation5::DistributedSimulationDriver, makVrv::vrvExampleCloudDriver::DtCloudDriver, makVrv::DtGlStudioDriver, makVrv::tutorialDistributedSimulation3B::DistributedSimulationDriver, makVrv::tutorialDistributedSimulation3D::DistributedSimulationDriver, makVrv::tutorialDistributedSimulation2B::DistributedSimulationDriver, DtExampleDriver, makVrv::tutorialDistributedSimulation4B::DistributedSimulationDriver, DtExampleDriver, makVrv::tutorialDistributedSimulation3A::DistributedSimulationDriver, makVrv::tutorialDistributedSimulation4C::DistributedSimulationDriver, makVrv::DtUnknownDriver, makVrv::tutorialDistributedSimulation3C::DistributedSimulationDriver, makVrv::tutorialDistributedSimulation4A::DistributedSimulationDriver, DtDistributedDrawDriver, makVrv::tutorialDistributedSimulation1::DistributedSimulationDriver, and makVrv::tutorialDistributedSimulation2A::DistributedSimulationDriver.

virtual const std::string& makVrv::DtDriver::instanceName ( ) const
virtual

Get this driver's instance name.

virtual bool makVrv::DtDriver::autoStart ( ) const
virtual

Get whether this driver is set to automatically start if it is persistent.

Reimplemented in makVrv::DtIntervisibilityDriver.

virtual void makVrv::DtDriver::setAutoStart ( bool  autoStart)
virtual

Set whether this driver automatically starts if it is persistent.

virtual bool makVrv::DtDriver::isWindowDependent ( ) const
virtual

Get whether this driver is set to automatically start when the first window is created and stop when the last window is destroyed.

virtual void makVrv::DtDriver::setIsWindowDependent ( bool  dep)
virtual

Set whether this driver is set to automatically start when the first window is created and stop when the last window is destroyed.

virtual void makVrv::DtDriver::setIsUserControllable ( bool  )
virtual

Set whether this driver can be started and stopped by the user.

virtual bool makVrv::DtDriver::isUserControllable ( ) const
virtual

Get whether this driver can be started and stopped by the user.

Reimplemented in makVrv::DtUnknownDriver.

virtual void makVrv::DtDriver::setIsPersistent ( bool  per)
virtual

Set if the driver is persistent and should be saved between runs.

virtual bool makVrv::DtDriver::isPersistent ( ) const
virtual

Get if the driver is persistent and should be saved between runs.

virtual bool makVrv::DtDriver::isOnDriverSelectionList ( ) const
virtual

Returns whether or not this driver is to be automatically started/stopped from the driver selection list.

virtual void makVrv::DtDriver::setOnDriverSelectionList ( bool  )
virtual

Sets whether or not this item is on the driver selection list. Will be saved to record if state is different.

bool makVrv::DtDriver::objectFromAgentManager ( const DtUniqueID id) const

check to see if the object was created using this driver's agent manager.

void makVrv::DtDriver::applyChangesAndDelete ( DtElementChanges changes)
protected

Function for apply changes from a changes object and deleting it. This function is useful for queuing from an external thread as a means of passing changes from a secondary thread back to the main thread.

void makVrv::DtDriver::reportElementCreated ( DtElementID  id,
DtElementID  parentId,
DtElementEntry::ElementType  type 
)
protected

Report an element created.

void makVrv::DtDriver::reportElementAttribute ( DtElementID  id,
DtElementAttribute attribute 
)
protected

Report an element attribute changed.

Note
The attribute passed in should not be used again.
void makVrv::DtDriver::reportElementDestroyed ( DtElementID  id)
protected

Report an element destroyed.

void makVrv::DtDriver::start ( )
protected

Start the driver. Called by the Master Scene. Calls installAccessories().

void makVrv::DtDriver::stop ( )
protected

Stop the driver. Called by the Master Scene. Calls uninstallAccessories().

bool makVrv::DtDriver::tick ( )
protected

Tick the host driver. Called by the Master Scene.

Return values
trueif tick succeeded.
falseif the host must be stopped.
virtual bool makVrv::DtDriver::onStart ( )
protectedpure virtual

Start the host output. Create all objects for an existing host connection.

Return values
trueif start succeeded
falseotherwise.

Implemented in makVrv::DtIntervisibilityDriver, makVrv::DtVrlinkDriver, makVrv::DtCigiDriver, makVrv::DtWindowObjectsDriver, makVrv::DtVirtualRealityDriver, DtExampleThreadedDriver, makVrv::exampleSymbolFacade::DtExampleSymbolDriver, DtGimbalDriver, makVrv::DtInputDriver, makVrv::exampleSymbolFacade3::DtExampleSymbolDriver, makVrf::vrfLegion::DtVrfLegionDriver, makVrv::exampleSymbolFacade5::DtExampleSymbolDriver, makVrv::exampleSymbolFacade4::DtExampleSymbolDriver, makVrv::DtGlStudioDriver, makVrv::exampleSymbolFacade2::DtExampleSymbolDriver, makVrv::exampleTacticalGraphics::DtExampleTacticalGraphicsDriver, makVrv::exampleSymbolFacade1::DtExampleSymbolDriver, makVrv::DtWindowObjectHudDriver, DtExampleEffectsDriver, DtExampleCommLinesDriver, makVrv::DtExampleProjectile, DtExampleTrackHistoryDriver, makVrv::tutorialDistributedSimulation5::DistributedSimulationDriver, makVrv::DtSceneDriver, makVrv::tutorialDistributedSimulation2B::DistributedSimulationDriver, DtDistributedDrawDriver, ForestDriver, makVrf::DtDebugDrawRendererDriver, makVrv::vrvExampleCloudDriver::DtCloudDriver, makVrv::tutorialDistributedSimulation3B::DistributedSimulationDriver, makVrv::DtLegionDriver, makVrv::tutorialDistributedSimulation3D::DistributedSimulationDriver, makVrv::DtUnknownDriver, makVrv::tutorialDistributedSimulation4B::DistributedSimulationDriver, DtExampleDriver, makVrv::tutorialDistributedSimulation3A::DistributedSimulationDriver, makVrv::tutorialDistributedSimulation4C::DistributedSimulationDriver, DtExampleDriver, makVrv::tutorialDistributedSimulation3C::DistributedSimulationDriver, makVrv::tutorialDistributedSimulation4A::DistributedSimulationDriver, makVrv::tutorialDistributedSimulation1::DistributedSimulationDriver, and makVrv::tutorialDistributedSimulation2A::DistributedSimulationDriver.

virtual bool makVrv::DtDriver::onStop ( )
protectedpure virtual

Stop the host output. All scene object created by the host should be destroyed.

Return values
trueif stop succeeded.
falseotherwise.

Implemented in makVrv::DtIntervisibilityDriver, makVrv::DtVrlinkDriver, makVrv::DtCigiDriver, makVrv::DtWindowObjectsDriver, makVrv::DtVirtualRealityDriver, DtExampleThreadedDriver, DtGimbalDriver, makVrv::exampleSymbolFacade::DtExampleSymbolDriver, makVrv::exampleSymbolFacade3::DtExampleSymbolDriver, makVrv::DtInputDriver, makVrv::exampleSymbolFacade5::DtExampleSymbolDriver, makVrv::exampleSymbolFacade4::DtExampleSymbolDriver, makVrv::DtGlStudioDriver, makVrv::exampleSymbolFacade2::DtExampleSymbolDriver, makVrv::exampleTacticalGraphics::DtExampleTacticalGraphicsDriver, makVrv::exampleSymbolFacade1::DtExampleSymbolDriver, makVrv::DtWindowObjectHudDriver, DtExampleEffectsDriver, DtExampleCommLinesDriver, makVrv::DtExampleProjectile, DtExampleTrackHistoryDriver, makVrv::tutorialDistributedSimulation5::DistributedSimulationDriver, makVrv::DtSceneDriver, makVrv::tutorialDistributedSimulation2B::DistributedSimulationDriver, ForestDriver, DtDistributedDrawDriver, makVrv::vrvExampleCloudDriver::DtCloudDriver, makVrf::DtDebugDrawRendererDriver, makVrv::tutorialDistributedSimulation3B::DistributedSimulationDriver, makVrv::DtUnknownDriver, makVrv::tutorialDistributedSimulation3D::DistributedSimulationDriver, makVrv::DtLegionDriver, DtExampleDriver, makVrv::tutorialDistributedSimulation4B::DistributedSimulationDriver, DtExampleDriver, makVrv::tutorialDistributedSimulation3A::DistributedSimulationDriver, makVrv::tutorialDistributedSimulation4C::DistributedSimulationDriver, makVrv::tutorialDistributedSimulation3C::DistributedSimulationDriver, makVrv::tutorialDistributedSimulation4A::DistributedSimulationDriver, makVrv::tutorialDistributedSimulation1::DistributedSimulationDriver, and makVrv::tutorialDistributedSimulation2A::DistributedSimulationDriver.

virtual bool makVrv::DtDriver::onTick ( )
protectedpure virtual

Tick.

Return values
trueif tick succeeded.
falseotherwise.

Implemented in makVrv::DtIntervisibilityDriver, makVrv::DtVrlinkDriver, makVrv::DtCigiDriver, makVrv::DtWindowObjectsDriver, makVrv::DtVirtualRealityDriver, DtGimbalDriver, DtExampleThreadedDriver, makVrv::exampleSymbolFacade::DtExampleSymbolDriver, makVrv::exampleSymbolFacade3::DtExampleSymbolDriver, makVrv::exampleSymbolFacade5::DtExampleSymbolDriver, makVrv::DtInputDriver, makVrv::exampleSymbolFacade4::DtExampleSymbolDriver, makVrf::vrfLegion::DtVrfLegionDriver, makVrv::DtGlStudioDriver, makVrv::exampleSymbolFacade2::DtExampleSymbolDriver, makVrv::exampleTacticalGraphics::DtExampleTacticalGraphicsDriver, makVrv::exampleSymbolFacade1::DtExampleSymbolDriver, makVrv::DtWindowObjectHudDriver, DtExampleEffectsDriver, DtExampleCommLinesDriver, makVrv::DtExampleProjectile, DtExampleTrackHistoryDriver, DtDistributedDrawDriver, makVrv::tutorialDistributedSimulation5::DistributedSimulationDriver, makVrv::DtSceneDriver, makVrv::tutorialDistributedSimulation2B::DistributedSimulationDriver, ForestDriver, makVrv::vrvExampleCloudDriver::DtCloudDriver, makVrv::tutorialDistributedSimulation3B::DistributedSimulationDriver, makVrv::DtUnknownDriver, makVrv::tutorialDistributedSimulation3D::DistributedSimulationDriver, makVrf::DtDebugDrawRendererDriver, DtExampleDriver, DtExampleDriver, makVrv::tutorialDistributedSimulation4B::DistributedSimulationDriver, makVrv::tutorialDistributedSimulation3A::DistributedSimulationDriver, makVrv::tutorialDistributedSimulation4C::DistributedSimulationDriver, makVrv::tutorialDistributedSimulation3C::DistributedSimulationDriver, makVrv::DtLegionDriver, makVrv::tutorialDistributedSimulation4A::DistributedSimulationDriver, makVrv::tutorialDistributedSimulation1::DistributedSimulationDriver, and makVrv::tutorialDistributedSimulation2A::DistributedSimulationDriver.

virtual void makVrv::DtDriver::slot_displayEngineAdded ( const DtDeRecord igRecord)
protectedvirtual
virtual void makVrv::DtDriver::setInstanceName ( const std::string &  name)
protectedvirtual

set the Instance name.

Note
Only called by the sim driver manager. Renaming is treated as destroying and adding the same driver with a different name.
virtual void makVrv::DtDriver::installAccessories ( )
protectedvirtual

Installs accessories on this driver. The compatible and enabled accessories in the DtDriverManager's accessory map are installed on this driver.

virtual void makVrv::DtDriver::uninstallAccessories ( )
protectedvirtual

Removes accessories from this driver. The compatible and enabled accessories in the DtDriverManager's accessory map are removed from this driver.

Friends And Related Function Documentation

friend class DtDriverManager
friend

Member Data Documentation

const std::string makVrv::DtDriver::theOnDriverSelectionList
staticprotected
DtAgentManager& makVrv::DtDriver::myAgentManager
protected
bool makVrv::DtDriver::myStartedFlag
protected
std::string makVrv::DtDriver::myName
protected
DtConfiguration makVrv::DtDriver::myConfiguration
protected
bool makVrv::DtDriver::myPersistentFlag
protected
bool makVrv::DtDriver::myUserControllableFlag
protected
bool makVrv::DtDriver::myRequestStateDiffPendingFlag
protected
DtElementChanges makVrv::DtDriver::myChanges
protected

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

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)