VR-Engage  2.2
Loading...
Searching...
No Matches
makVre::DtPlayerStationApp Class Reference

Detailed Description

DtPlayerStationApp serves as the main coordinator for the VR-Engage application. It manages player stations, component factories, state transitions, and provides access to various application-wide services. This class is typically instantiated once per application instance and accessible via the static instance() method.

#include <playerStationApp.h>

Classes

struct  DeferredFunc
 

Public Member Functions

 DtPlayerStationApp (makVrv::DtDe &de)
 
virtual ~DtPlayerStationApp ()
 
virtual void initialize ()
 
virtual void tick (double dt)
 
virtual void shutdown ()
 
virtual void quit ()
 
virtual std::string engageStationName ()
 
virtual unsigned long engageStationId ()
 
virtual makVrv::DtDe & de ()
 
virtual DtInitializerinitializer ()
 
virtual DtInitTable startupConfig ()
 
virtual DtInitTable findInitTable (const std::string &name)
 
virtual DtPlayerCreationPaletteplayerCreationPalette ()
 
virtual DtChooseRolePanelgetChoosePlayerPanel ()
 
virtual DtSensorLibrary sensorLibrary () const
 
virtual bool isDragging ()
 
virtual void setIsDragging (bool dragging)
 
virtual DtComponentFactorycomponentFactory ()
 
virtual DtConnectorFactoryconnectorFactory ()
 
virtual DtInputDeviceFactoryinputDeviceFactory ()
 
virtual DtPlayerStationcreatePlayerStation ()
 
virtual DtPlayerStationcreatePlayerStation (const DtEntityIdentifier &id, const std::string &station, const std::string &displayLayout)
 
virtual bool destroyPlayerStation ()
 
virtual bool destroyPlayerStation (const DtEntityIdentifier &)
 
virtual bool destroyPlayerStation (const DtEntityIdentifier &, const std::string &stationName)
 
virtual DtPlayerStationfindPlayerStation (const DtEntityIdentifier &, const std::string &stationName)
 
virtual DtPlayerStationfindPlayer ()
 
virtual DtPlayerStationfindPlayerAt (int index)
 
virtual DtPlayerStationfindPlayer (const DtEntityIdentifier &)
 
virtual DtPlayerStationfindPlayer (makVrv::DtElementID)
 
virtual std::list< DtPlayerStation * > & players ()
 
virtual void clearPlayers ()
 
virtual void setAttachEntity (DtEntityIdentifier const &entityId)
 
virtual DtEntityIdentifier getAttachEntity ()
 
virtual void detatchObserverIfAttachedTo (makVrv::DtElementID)
 
virtual void centerObserverOnTerrain ()
 
virtual void observerLookAt (const std::vector< DtEntityIdentifier > &)
 
virtual void observerLookAt (const DtEntityIdentifier &)
 
virtual void observerFollow (const DtEntityIdentifier &)
 
virtual void observerDetach ()
 
virtual bool observerHasDefault (std::string *outName=NULL)
 
virtual void observerReset ()
 
virtual void resetView ()
 
virtual std::string observerName () const
 
virtual DtVreStatusListenerstatusListener () const
 
virtual void setPlayerStationName (const std::string &playerType)
 
virtual void setPlayerStationDisplayLayout (const std::string &displayLayout)
 
virtual std::string const & getPlayerStationName () const
 
virtual std::string const & getPlayerStationDisplayLayout () const
 
virtual void run ()
 
virtual void pause ()
 
virtual void rewind ()
 
virtual void setPlayFullScreen (bool fullscreen)
 
virtual bool getPlayFullScreen ()
 
virtual void setFullScreen (bool fullscreen)
 
virtual bool isFullScreen ()
 
virtual bool setAppMode (const std::string &mode, bool changeMenus=true, bool isInitialSet=false)
 
virtual std::string const & getAppMode () const
 
virtual void toggleAppMode ()
 
virtual void updateMenus (const std::string &appMode)
 
virtual void setAdminModeEnabled (bool enabled)
 
virtual bool isAdminModeEnabled ()
 
virtual bool virtualRealityAvailable ()
 
virtual bool isVRVControlsEnabled ()
 
virtual bool isChooseRolePanel3D ()
 
virtual DtPlayerStationStateManagerstateManager ()
 
virtual DtVreInputManagerinputManager ()
 
virtual DtChatCommandsManagerchatCommandManager ()
 
bool isTypeAllowed (DtEntityType entityType)
 
virtual bool setPlayStateObserverMode ()
 
virtual bool setNonPlayStateObserverMode (enum DtDimensionality dimensionality)
 
virtual DtVreObserverModeMappervreObserverModeMapper () const
 
virtual DtVreSensorModeMappervreSensorModeMapper () const
 
virtual DtPlayerStationTempNotificationtempNotification ()
 
int incrementActiveHudTexture (int textureID)
 
int decrementActiveHudTexture (int textureID)
 
int getActiveHudTextureCount (int textureID)
 
virtual std::string applicationName ()
 
virtual bool isMenuBarVisible () const
 
bool isImguiVisible ()
 
DtAttributeHandle appAttributeStore ()
 
const DtAttributeHandle appAttributeStore () const
 
void deferFunction (std::function< void()> &f, int delayInTicks=0)
 
void deferFunction (std::function< void()> &f, double delayInSeconds)
 
virtual bool isSpectator ()
 
virtual void setSpectator (bool value)
 
virtual bool fixedRoleMode ()
 
virtual void setFixedRole (bool on=true)
 

Static Public Member Functions

static DtPlayerStationAppinstance ()
 
static bool isCombinedMode ()
 
static bool isAirEnabled (bool b=false)
 
static bool isAirOnly ()
 
static bool isGroundEnabled (bool b=false)
 
static bool isGroundOnly ()
 
static bool isSensorEnabled (bool b=false)
 
static bool isSensorOnly ()
 

Public Attributes

boost::signalslib::signal< void()> signal_menuBarVisibilityChanged
 

Protected Member Functions

virtual makVrv::DtObserver * setObserverMode (const std::string &name)
 
virtual std::string pluginPath () const
 
virtual bool loadVreDll (const std::string &filename)
 
virtual void loadPlugins ()
 
virtual void findMainRenderChannel ()
 
virtual void updateStatusPublisher ()
 
void initStatusPublisher ()
 
void initStatusListener ()
 
void initVirtualReality ()
 
void initMinionMonitor ()
 
DtVreMessageResult minionModeBossMonitor (DtVreMessage *message)
 
DtVreMessageResult handleSubscribeToBoss (DtVreMessage *message)
 
DtVreMessageResult handleUnsubscribeFromBoss (DtVreMessage *message)
 
DtVreMessageResult handleSessionSmsListMessage (DtVreMessage *message)
 

Protected Attributes

DtPlayerStationTempNotificationmyTempNotification
 
std::shared_ptr< DtChatCommandsManagermyChatCommandManager
 
std::list< DtPlayerStation * > myPlayers
 
bool myMenuBarVisible
 
bool myPlayFullScreen
 
bool myAmSpectator
 
DtEntityIdentifier myOwnEntityId
 
DtMutex myResourceMutex
 
makVrv::DtDe & myDe
 
std::string myPlayerStationName
 
std::string myPlayerStationDisplayLayout
 
bool myDebugMode
 
DtPlayerCreationPalette myPlayerCreationPalette
 
DtChooseRolePanelmyChoosePlayerPanel
 
bool myFixedRoleMode
 
bool myIsDragging
 
bool myEnableVRVControls
 
bool myUse3DChooseRolePanel
 
DtSensorLibrary mySensorLibrary
 
DtVreStatusPublishermyStatusPublisher
 
DtVreStatusListenermyStatusListener
 
std::string myObserverName
 
std::map< int, int > myActiveHudTextureLookup
 
DtAttributeHandleType< DtPlayerStationApp * > myAppStore
 
std::list< DeferredFuncmyDeferredFunList
 
DtInitializermyInitializer
 
DtInitTable myStartupConfig
 
DtInitTable myMinionConfig
 
DtEntityResolvermyEntityResolver
 
DtInstrumentPanelManagermyInstrumentPanelManager
 
makVrv::DtSignalConnectionManager myConnections
 
DtPlayerStationStateManagermyStateManager
 
DtVreInputManagermyInputManager
 
DtPlayerStationAppInputLogicmyInputLogic
 
DtComponentFactory myComponentFactory
 
DtConnectorFactory myConnectorFactory
 
DtInputDeviceFactorymyInputDeviceFactory
 
std::string myAppMode
 
std::string myOldAppMode
 
bool myAdminModeEnabled
 
std::string myNonPlayStateObserverMode2D
 
std::string myNonPlayStateObserverMode3D
 
std::string myPlayStateObserverMode
 
DtVreObserverModeMappermyVreObserverModeMapper
 
DtVreSensorModeMappermyVreSensorModeMapper
 

Static Protected Attributes

static DtPlayerStationApptheApp
 

Constructor & Destructor Documentation

◆ DtPlayerStationApp()

makVre::DtPlayerStationApp::DtPlayerStationApp ( makVrv::DtDe & de)

Constructor.

Parameters
deReference to the VR-Vantage display engine

Initializes the application with a reference to the display engine. Creates the component factories and prepares the application for initialization.

References de().

Referenced by instance().

◆ ~DtPlayerStationApp()

virtual makVre::DtPlayerStationApp::~DtPlayerStationApp ( )
virtual

Virtual destructor.

Cleans up resources and performs final shutdown operations.

Member Function Documentation

◆ instance()

static DtPlayerStationApp * makVre::DtPlayerStationApp::instance ( )
static

Gets the singleton instance of this class.

Returns
Pointer to the application instance, or NULL if not yet created

Provides global access to the application instance. Returns NULL if the application has not yet been created. This is the preferred way to access the application instance from anywhere in the codebase.

References DtPlayerStationApp().

Referenced by headingAngleTo().

◆ initialize()

virtual void makVre::DtPlayerStationApp::initialize ( )
virtual

Initializes the application.

Reads configuration data from playerStation.lua and initializes all application subsystems, including the component factories, state manager, input manager, and default player stations if configured. This must be called before the application can be used.

◆ tick()

virtual void makVre::DtPlayerStationApp::tick ( double dt)
virtual

Updates the application state.

Parameters
dtTime in seconds since the previous tick

This method should be called periodically (typically once per frame) to update the application state. It calls tick() on the top-level objects maintained by this class, including the player creation palette, state manager, input manager, and all active player stations. It also processes any deferred functions that are ready to execute.

◆ shutdown()

virtual void makVre::DtPlayerStationApp::shutdown ( )
virtual

Shuts down the application.

Calls shutdown on all top-level objects maintained by the application, destroys all player stations, and releases resources. This should be called before the application is destroyed to ensure clean termination.

◆ quit()

virtual void makVre::DtPlayerStationApp::quit ( )
virtual

Initiates application termination.

Called when the user closes the application main window. Sends a QCloseEvent which is handled at the VR-Vantage level, which eventually results in shutdown() being called. This provides a clean way to exit the application.

◆ engageStationName()

virtual std::string makVre::DtPlayerStationApp::engageStationName ( )
virtual

Gets the name of the currently active VR-Engage station.

Returns
String containing the name of the active station

Returns the name of the currently active VR-Engage station, as published by the DtVreStatusPublisher. Station names are defined in the player role files, such as "Pilot", "Human", "LAV Driver", etc.

◆ engageStationId()

virtual unsigned long makVre::DtPlayerStationApp::engageStationId ( )
virtual

Gets the unique identifier for this VR-Engage application instance.

Returns
Unique integer ID for this application instance

Returns a unique identifier for this VR-Engage application instance, as published by the DtVreStatusPublisher. The ID is based on a hash of the initial station name and the process ID, ensuring uniqueness across multiple running instances.

◆ de()

virtual makVrv::DtDe & makVre::DtPlayerStationApp::de ( )
virtual

Gets a reference to the VR-Vantage display engine.

Returns
Reference to the display engine

Provides access to the VR-Vantage display engine, which is valid over the lifetime of the application. The display engine is used for rendering and managing the visual components of the application.

Referenced by DtPlayerStationApp().

◆ initializer()

virtual DtInitializer & makVre::DtPlayerStationApp::initializer ( )
virtual

Gets the application initializer.

Returns
Reference to the initializer instance

The initializer is responsible for loading the Lua configuration files used to initialize the application. It holds the configuration data defined in appData\scripts\playerStation.lua, which is used throughout the application to configure components, connectors, and application behavior.

◆ startupConfig()

virtual DtInitTable makVre::DtPlayerStationApp::startupConfig ( )
virtual

Gets the startup configuration data.

Returns
Table of startup configuration data

Returns the configuration data for the startupConfiguration table in playerStation.lua. This includes settings such as default observer modes, window positions, and initial application state.

◆ findInitTable()

virtual DtInitTable makVre::DtPlayerStationApp::findInitTable ( const std::string & name)
virtual

Finds a named initialization table.

Parameters
nameName of the table to find
Returns
The initialization table with the given name, or an empty table if not found

Looks up a table data member corresponding to a Lua table entry in playerStation.lua. This provides access to specific configuration sections without having to navigate through the entire configuration hierarchy.

◆ playerCreationPalette()

virtual DtPlayerCreationPalette & makVre::DtPlayerStationApp::playerCreationPalette ( )
virtual

Gets the player creation palette.

Returns
Reference to the player creation palette

Returns the palette of VR-Engagable entities that can be created. The palette contains information about available player roles and their configurations. This reference is valid for the lifetime of the application.

◆ getChoosePlayerPanel()

virtual DtChooseRolePanel * makVre::DtPlayerStationApp::getChoosePlayerPanel ( )
virtual

Gets the role selection panel.

Returns
Pointer to the choose role panel

Returns the window containing the creation palette and controls for configuring player roles. This panel is used to select and configure new player stations.

◆ sensorLibrary()

virtual DtSensorLibrary makVre::DtPlayerStationApp::sensorLibrary ( ) const
virtual

Gets the current sensor library.

Returns
The sensor library currently in use (CAMERA_FX or SENSOR_FX)

Returns the sensor library currently in use for the application, which determines how visual effects like night vision and thermal imaging are rendered.

◆ isDragging()

virtual bool makVre::DtPlayerStationApp::isDragging ( )
virtual

Checks if the application window is being dragged.

Returns
True if the window is being dragged, false otherwise

Determines whether the application window is currently being dragged in the display, which may affect input handling and rendering.

◆ setIsDragging()

virtual void makVre::DtPlayerStationApp::setIsDragging ( bool dragging)
virtual

Sets the dragging state of the application window.

Parameters
draggingTrue to indicate dragging is active, false otherwise

Updates the internal state that tracks whether the application window is currently being dragged in the display.

◆ componentFactory()

virtual DtComponentFactory & makVre::DtPlayerStationApp::componentFactory ( )
virtual

Gets the component factory.

Returns
Reference to the component factory

Returns the factory for creating DtComponent class objects. Components are the building blocks that make up a player role, providing specific functionality such as movement, weapons, and sensors.

◆ connectorFactory()

virtual DtConnectorFactory & makVre::DtPlayerStationApp::connectorFactory ( )
virtual

Gets the connector factory.

Returns
Reference to the connector factory

Returns the factory for creating DtConnector class objects. Connectors handle communication between the application and external systems or simulation entities.

◆ inputDeviceFactory()

virtual DtInputDeviceFactory * makVre::DtPlayerStationApp::inputDeviceFactory ( )
virtual

Gets the input device factory.

Returns
Pointer to the input device factory

Returns the factory for creating DtInputDevice class objects. Input devices handle user interaction through various peripherals like keyboards, mice, joysticks, and other specialized hardware.

◆ createPlayerStation() [1/2]

virtual DtPlayerStation * makVre::DtPlayerStationApp::createPlayerStation ( )
virtual

Creates a new player station with default settings.

Returns
Pointer to the newly created player station

Factory function that returns a new instance of a DtPlayerStation with default settings. The created station is owned by the application and will be destroyed when the application shuts down.

◆ createPlayerStation() [2/2]

virtual DtPlayerStation * makVre::DtPlayerStationApp::createPlayerStation ( const DtEntityIdentifier & id,
const std::string & station,
const std::string & displayLayout )
virtual

Creates a new player station with specific settings.

Parameters
idThe SISO entity identifier of the entity to be created
stationThe name of the station to create
displayLayoutThe name of the display layout to use
Returns
Pointer to the newly created player station

Factory function that returns a new instance of a DtPlayerStation with the specified entity ID, station type, and display layout. The created station is owned by the application and will be destroyed when the application shuts down.

◆ destroyPlayerStation() [1/3]

virtual bool makVre::DtPlayerStationApp::destroyPlayerStation ( )
virtual

Destroys all player stations.

Returns
True if any player stations were destroyed, false otherwise

Removes and destroys all active player stations, freeing their resources.

◆ destroyPlayerStation() [2/3]

virtual bool makVre::DtPlayerStationApp::destroyPlayerStation ( const DtEntityIdentifier & )
virtual

Destroys a specific player station by entity identifier.

Parameters
entityIdThe entity identifier of the player station to destroy
Returns
True if the player station was found and destroyed, false otherwise

Removes and destroys a player station with the specified entity identifier.

◆ destroyPlayerStation() [3/3]

virtual bool makVre::DtPlayerStationApp::destroyPlayerStation ( const DtEntityIdentifier & ,
const std::string & stationName )
virtual

Destroys a specific player station by entity identifier and station name.

Parameters
entityIdThe entity identifier of the player station to destroy
stationNameThe name of the station to destroy
Returns
True if the player station was found and destroyed, false otherwise

Removes and destroys a player station matching both the specified entity identifier and station name.

◆ findPlayerStation()

virtual DtPlayerStation * makVre::DtPlayerStationApp::findPlayerStation ( const DtEntityIdentifier & ,
const std::string & stationName )
virtual

Finds a player station by entity identifier and station name.

Parameters
entityIdThe entity identifier to search for
stationNameThe station name to search for
Returns
Pointer to the found player station, or NULL if not found

Searches for a player station that matches both the specified entity identifier and station name.

◆ findPlayer() [1/3]

virtual DtPlayerStation * makVre::DtPlayerStationApp::findPlayer ( )
virtual

Finds the first player station in the list.

Returns
Pointer to the first player station, or NULL if none exist

Returns the first player station in the player list. Used as a convenience method when the application only has a single player station.

◆ findPlayerAt()

virtual DtPlayerStation * makVre::DtPlayerStationApp::findPlayerAt ( int index)
virtual

Finds a player station at a specific index.

Parameters
indexThe index in the player list
Returns
Pointer to the player station at the specified index, or NULL if index is out of range

Returns the player station at the specified index in the player list.

◆ findPlayer() [2/3]

virtual DtPlayerStation * makVre::DtPlayerStationApp::findPlayer ( const DtEntityIdentifier & )
virtual

Finds a player station by entity identifier.

Parameters
entityIdThe entity identifier to search for
Returns
Pointer to the found player station, or NULL if not found

Searches for a player station with the specified entity identifier.

◆ findPlayer() [3/3]

virtual DtPlayerStation * makVre::DtPlayerStationApp::findPlayer ( makVrv::DtElementID )
virtual

Finds a player station by element ID.

Parameters
elementIdThe VR-Vantage element ID to search for
Returns
Pointer to the found player station, or NULL if not found

Searches for a player station with the specified VR-Vantage element ID.

◆ players()

virtual std::list< DtPlayerStation * > & makVre::DtPlayerStationApp::players ( )
virtual

Gets the list of all player stations.

Returns
Reference to the list of player stations

Returns a reference to the internal list of all active player stations. This list is valid for the duration of the application.

◆ clearPlayers()

virtual void makVre::DtPlayerStationApp::clearPlayers ( )
virtual

Removes all player stations from the list without destroying them.

Clears the internal player stations list without destroying the player station objects. This is typically used during cleanup operations.

◆ setAttachEntity()

virtual void makVre::DtPlayerStationApp::setAttachEntity ( DtEntityIdentifier const & entityId)
virtual

Sets the entity to which the observer is attached.

Parameters
entityIdThe entity identifier to attach to

Updates the entity to which the primary observer is attached. When attached, the observer will follow this entity's movements.

◆ getAttachEntity()

virtual DtEntityIdentifier makVre::DtPlayerStationApp::getAttachEntity ( )
virtual

Gets the entity to which the observer is currently attached.

Returns
The entity identifier of the attached entity

Returns the identifier of the entity to which the primary observer is currently attached. Returns an invalid identifier if the observer is not attached to any entity.

◆ detatchObserverIfAttachedTo()

virtual void makVre::DtPlayerStationApp::detatchObserverIfAttachedTo ( makVrv::DtElementID )
virtual

Detaches the observer if it is attached to the specified element.

Parameters
elementIdThe element ID to check

If the observer is attached to the given element ID, this method detaches it, allowing free movement of the observer. This is typically called when an entity is about to be removed from the simulation.

◆ centerObserverOnTerrain()

virtual void makVre::DtPlayerStationApp::centerObserverOnTerrain ( )
virtual

Centers the observer on the terrain.

Positions the primary observer over the center of the terrain at a predefined height. This is typically used to get a broad overview of the simulation area.

◆ observerLookAt() [1/2]

virtual void makVre::DtPlayerStationApp::observerLookAt ( const std::vector< DtEntityIdentifier > & )
virtual

Makes the observer look at multiple entities.

Parameters
entityIdsVector of entity identifiers to look at

Positions and orients the primary observer to view all of the specified entities. The observer will be positioned to keep all entities in view.

◆ observerLookAt() [2/2]

virtual void makVre::DtPlayerStationApp::observerLookAt ( const DtEntityIdentifier & )
virtual

Makes the observer look at a single entity.

Parameters
entityIdEntity identifier to look at

Positions and orients the primary observer to view the specified entity. The observer's position is adjusted to provide a good view of the entity.

◆ observerFollow()

virtual void makVre::DtPlayerStationApp::observerFollow ( const DtEntityIdentifier & )
virtual

Makes the observer follow an entity.

Parameters
entityIdEntity identifier to follow

Attaches the primary observer to the specified entity, causing it to follow the entity's movements while maintaining a fixed relative position.

◆ observerDetach()

virtual void makVre::DtPlayerStationApp::observerDetach ( )
virtual

Detaches the observer from any entity it may be following.

Releases the primary observer from attachment to any entity, allowing it to be moved independently.

◆ observerHasDefault()

virtual bool makVre::DtPlayerStationApp::observerHasDefault ( std::string * outName = NULL)
virtual

Checks if the observer has a default position.

Parameters
outNameOptional parameter to receive the name of the default position
Returns
True if a default position exists, false otherwise

Determines whether a default position has been defined for the primary observer. If outName is provided, it will be filled with the name of the default position.

◆ observerReset()

virtual void makVre::DtPlayerStationApp::observerReset ( )
virtual

Resets the observer to its default position.

Returns the primary observer to its default position and orientation. If no default has been set, this may place the observer at a predefined location.

◆ resetView()

virtual void makVre::DtPlayerStationApp::resetView ( )
virtual

Resets the view in the Choose Role panel.

If the Choose Role Panel is visible, calls slot_onResetViewClicked() to reset the view to its default state. This is typically used to return to the initial view when selecting a role.

◆ observerName()

virtual std::string makVre::DtPlayerStationApp::observerName ( ) const
virtual

Gets the name of the application-level observer.

Returns
String containing the name of the primary observer

Returns the name of the application-level observer, which is typically "Observer 1". This is the primary observer used for the main view in the application.

◆ statusListener()

virtual DtVreStatusListener * makVre::DtPlayerStationApp::statusListener ( ) const
virtual

Gets the status listener.

Returns
Pointer to the status listener

Returns the status listener, which monitors status messages from all VR-Engage player stations and maintains a list of active stations and the entities they are engaged with.

◆ setPlayerStationName()

virtual void makVre::DtPlayerStationApp::setPlayerStationName ( const std::string & playerType)
virtual

Sets the current player station type name.

Parameters
playerTypeThe name of the player station type

Sets the type name for the current player station, such as "Pilot", "Human", "Vehicle Driver", etc. This name is used to identify the station type in the UI and in status messages.

◆ setPlayerStationDisplayLayout()

virtual void makVre::DtPlayerStationApp::setPlayerStationDisplayLayout ( const std::string & displayLayout)
virtual

Sets the display layout for the current player station.

Parameters
displayLayoutThe name of the display layout to use

Sets the display layout for the current player station. The display layout defines how the UI is arranged, including panels, controls, and views.

◆ getPlayerStationName()

virtual std::string const & makVre::DtPlayerStationApp::getPlayerStationName ( ) const
virtual

Gets the current player station type name.

Returns
Constant reference to the player station type name string

Returns the type name of the current player station, such as "Pilot", "Human", "Vehicle Driver", etc.

◆ getPlayerStationDisplayLayout()

virtual std::string const & makVre::DtPlayerStationApp::getPlayerStationDisplayLayout ( ) const
virtual

Gets the current player station display layout.

Returns
Constant reference to the display layout name string

Returns the name of the display layout currently in use by the player station.

◆ run()

virtual void makVre::DtPlayerStationApp::run ( )
virtual

Runs the simulation.

Starts or resumes the simulation from its current state. This method sends messages to connected systems to synchronize the simulation state.

◆ pause()

virtual void makVre::DtPlayerStationApp::pause ( )
virtual

Pauses the simulation.

Pauses the simulation, freezing all simulation time and dynamics updates while maintaining the current state. This method sends messages to connected systems to synchronize the pause state.

◆ rewind()

virtual void makVre::DtPlayerStationApp::rewind ( )
virtual

Rewinds the simulation.

Rewinds the simulation to its initial state. This is typically used in recorded or scenario playback modes to restart from the beginning. This method sends messages to connected systems to synchronize the rewind.

◆ setPlayFullScreen()

virtual void makVre::DtPlayerStationApp::setPlayFullScreen ( bool fullscreen)
virtual

Sets the play fullscreen mode.

Parameters
fullscreenTrue to enable fullscreen mode, false to disable it

Controls whether the application should use the full screen when in play mode. This affects how the application displays when transitioning to engaged state.

◆ getPlayFullScreen()

virtual bool makVre::DtPlayerStationApp::getPlayFullScreen ( )
virtual

Gets the play fullscreen mode setting.

Returns
True if play fullscreen mode is enabled, false otherwise

Returns whether the application is configured to use the full screen when in play mode.

◆ setFullScreen()

virtual void makVre::DtPlayerStationApp::setFullScreen ( bool fullscreen)
virtual

Sets the application's fullscreen state.

Parameters
fullscreenTrue to enable fullscreen mode, false to disable it

Immediately changes the application between fullscreen and windowed mode. This affects the current display mode regardless of application state.

◆ isFullScreen()

virtual bool makVre::DtPlayerStationApp::isFullScreen ( )
virtual

Checks if the application is currently in fullscreen mode.

Returns
True if the application is fullscreen, false if it's windowed

Returns whether the application is currently displayed in fullscreen mode.

◆ setAppMode()

virtual bool makVre::DtPlayerStationApp::setAppMode ( const std::string & mode,
bool changeMenus = true,
bool isInitialSet = false )
virtual

Sets the current mode of the application.

Parameters
modeThe application mode to set (e.g., "Admin", "Player")
changeMenusWhether to update the menus based on the new mode (default: true)
isInitialSetWhether this is the initial setting of the mode (default: false)
Returns
True if the mode was successfully set, false otherwise

Changes the current application mode, which affects available features and UI elements. Different modes provide different access levels and functionality.

◆ getAppMode()

virtual std::string const & makVre::DtPlayerStationApp::getAppMode ( ) const
virtual

Gets the current application mode.

Returns
Constant reference to the current application mode string

Returns the current operating mode of the application, such as "Admin" or "Player".

◆ toggleAppMode()

virtual void makVre::DtPlayerStationApp::toggleAppMode ( )
virtual

Toggles between available application modes.

Switches the application between available modes, typically toggling between "Admin" and "Player" modes. This affects the available features and UI elements.

◆ updateMenus()

virtual void makVre::DtPlayerStationApp::updateMenus ( const std::string & appMode)
virtual

Updates the application menus based on the specified mode.

Parameters
appModeThe application mode to update menus for

Updates the application menu structure and visibility based on the specified application mode. Different modes have different menu options available.

◆ setAdminModeEnabled()

virtual void makVre::DtPlayerStationApp::setAdminModeEnabled ( bool enabled)
virtual

Enables or disables admin mode.

Parameters
enabledTrue to enable admin mode, false to disable it

Controls whether administrative features are available in the application. Admin mode provides access to additional configuration and debug options.

◆ isAdminModeEnabled()

virtual bool makVre::DtPlayerStationApp::isAdminModeEnabled ( )
virtual

Checks if admin mode is enabled.

Returns
True if admin mode is enabled, false otherwise

Determines whether the application currently has administrative features enabled.

◆ isSpectator()

virtual bool makVre::DtPlayerStationApp::isSpectator ( )
virtual

Spectator mode functions.

Checks if spectator mode is active

Returns
True if spectator mode is enabled, false otherwise

Determines whether the application is in spectator mode, which blocks all input except view controls, allowing passive observation only.

◆ setSpectator()

virtual void makVre::DtPlayerStationApp::setSpectator ( bool value)
virtual

Sets spectator mode state.

Parameters
valueTrue to enable spectator mode, false to disable it

Enables or disables spectator mode, which blocks all input except view controls when enabled, allowing passive observation only.

◆ fixedRoleMode()

virtual bool makVre::DtPlayerStationApp::fixedRoleMode ( )
virtual

Role mode functions.

Checks if fixed role mode is enabled

Returns
True if fixed role mode is enabled, false otherwise

Determines whether the application is in fixed role mode, which restricts the user to a predetermined role rather than allowing role selection.

◆ setFixedRole()

virtual void makVre::DtPlayerStationApp::setFixedRole ( bool on = true)
virtual

Sets the fixed role mode state.

Parameters
onTrue to enable fixed role mode, false to disable it

Controls whether the application uses a fixed, predetermined role rather than allowing the user to select from available roles.

◆ virtualRealityAvailable()

virtual bool makVre::DtPlayerStationApp::virtualRealityAvailable ( )
virtual

Checks if VR support is available.

Returns
True if virtual reality is available, false otherwise

Determines whether VR hardware and software support is available in the current runtime environment.

◆ isVRVControlsEnabled()

virtual bool makVre::DtPlayerStationApp::isVRVControlsEnabled ( )
virtual

Checks if VRV controls are enabled.

Returns
True if VRV controls are enabled, false otherwise

Determines whether VR-Vantage specific controls are currently enabled in the application interface.

◆ isChooseRolePanel3D()

virtual bool makVre::DtPlayerStationApp::isChooseRolePanel3D ( )
virtual

Checks if the 3D role selection panel is enabled.

Returns
True if the 3D panel is enabled, false if using 2D panel

Determines whether the application is using a 3D or 2D version of the role selection panel interface.

◆ stateManager()

virtual DtPlayerStationStateManager & makVre::DtPlayerStationApp::stateManager ( )
virtual

Gets the application state manager.

Returns
Reference to the state manager

Provides access to the state manager, which controls application state transitions and maintains the state stack.

◆ inputManager()

virtual DtVreInputManager & makVre::DtPlayerStationApp::inputManager ( )
virtual

Gets the input manager.

Returns
Reference to the input manager

Provides access to the input manager, which handles user input from various devices and dispatches input events.

◆ chatCommandManager()

virtual DtChatCommandsManager & makVre::DtPlayerStationApp::chatCommandManager ( )
virtual

Gets the chat command manager.

Returns
Reference to the chat command manager

Provides access to the chat command manager, which handles processing and execution of text commands in the chat interface.

◆ isTypeAllowed()

bool makVre::DtPlayerStationApp::isTypeAllowed ( DtEntityType entityType)

Checks if an entity type is allowed.

Parameters
entityTypeThe entity type to check
Returns
True if the entity type is allowed, false otherwise

Determines whether the specified entity type is allowed to be created or used in the current application configuration.

◆ setPlayStateObserverMode()

virtual bool makVre::DtPlayerStationApp::setPlayStateObserverMode ( )
virtual

Sets the observer mode for play state.

Returns
True if the observer mode was set successfully, false otherwise

Configures the observer mode that will be used when in the play state, based on the current sensor library configuration.

◆ setNonPlayStateObserverMode()

virtual bool makVre::DtPlayerStationApp::setNonPlayStateObserverMode ( enum DtDimensionality dimensionality)
virtual

Sets the observer mode for non-play states.

Parameters
dimensionalitySpecifies whether to use 2D or 3D mode
Returns
True if the observer mode was set successfully, false otherwise

Configures the observer mode that will be used when in non-play states (such as role selection), based on the specified dimensionality and the current sensor library configuration.

◆ vreObserverModeMapper()

virtual DtVreObserverModeMapper * makVre::DtPlayerStationApp::vreObserverModeMapper ( ) const
virtual

Gets the observer mode mapper.

Returns
Pointer to the observer mode mapper

Returns the utility class used to map generic VR-Engage observer mode names to concrete VR-Vantage observer mode names, based on the current sensor library. The mappings used by this class are defined in vreObserverModeMapper in playerStation.lua.

◆ vreSensorModeMapper()

virtual DtVreSensorModeMapper * makVre::DtPlayerStationApp::vreSensorModeMapper ( ) const
virtual

Gets the sensor mode mapper.

Returns
Pointer to the sensor mode mapper

Returns the utility class used to map generic VR-Engage sensor mode names to concrete VR-Vantage sensor mode names, based on the current sensor library. The mappings used by this class are defined in vreSensorModeMapper in playerStation.lua.

◆ tempNotification()

virtual DtPlayerStationTempNotification * makVre::DtPlayerStationApp::tempNotification ( )
inlinevirtual

Gets the temporary notification handler.

Returns
Pointer to the temporary notification handler

Returns the handler for showing temporary notifications in the UI.

References myTempNotification.

◆ incrementActiveHudTexture()

int makVre::DtPlayerStationApp::incrementActiveHudTexture ( int textureID)

Increments the active HUD texture count.

Parameters
textureIDID of the texture to increment
Returns
Current count after incrementing

Increases the reference count for a HUD texture and returns the new count.

◆ decrementActiveHudTexture()

int makVre::DtPlayerStationApp::decrementActiveHudTexture ( int textureID)

Decrements the active HUD texture count.

Parameters
textureIDID of the texture to decrement
Returns
Current count after decrementing

Decreases the reference count for a HUD texture and returns the new count.

◆ getActiveHudTextureCount()

int makVre::DtPlayerStationApp::getActiveHudTextureCount ( int textureID)

Gets the current HUD texture count.

Parameters
textureIDID of the texture to query
Returns
Current reference count for the texture

Returns the current reference count for a specific HUD texture ID.

◆ isAirEnabled()

static bool makVre::DtPlayerStationApp::isAirEnabled ( bool b = false)
static

Air mode functions.

Checks if air mode is enabled

Parameters
bOptional parameter to check alternate state
Returns
True if air mode is enabled, false otherwise

◆ isAirOnly()

static bool makVre::DtPlayerStationApp::isAirOnly ( )
static

Checks if air-only mode is active.

Returns
True if only air mode is enabled, false otherwise

◆ isGroundEnabled()

static bool makVre::DtPlayerStationApp::isGroundEnabled ( bool b = false)
static

Ground mode functions.

Checks if ground mode is enabled

Parameters
bOptional parameter to check alternate state
Returns
True if ground mode is enabled, false otherwise

◆ isGroundOnly()

static bool makVre::DtPlayerStationApp::isGroundOnly ( )
static

Checks if ground-only mode is active.

Returns
True if only ground mode is enabled, false otherwise

◆ isSensorEnabled()

static bool makVre::DtPlayerStationApp::isSensorEnabled ( bool b = false)
static

Sensor mode functions.

Checks if sensor mode is enabled

Parameters
bOptional parameter to check alternate state
Returns
True if sensor mode is enabled, false otherwise

◆ isSensorOnly()

static bool makVre::DtPlayerStationApp::isSensorOnly ( )
static

Checks if sensor-only mode is active.

Returns
True if only sensor mode is enabled, false otherwise

◆ isCombinedMode()

static bool makVre::DtPlayerStationApp::isCombinedMode ( )
static

Checks if combined mode is active.

Returns
True if combined mode is active, false otherwise

Determines whether the application is in combined mode, which allows multiple role types simultaneously.

◆ applicationName()

virtual std::string makVre::DtPlayerStationApp::applicationName ( )
virtual

Gets the application name.

Returns
String containing the application name

Returns the application name, used by the network forwarder to identify this application for RequestSubscribeMessage events.

◆ isMenuBarVisible()

virtual bool makVre::DtPlayerStationApp::isMenuBarVisible ( ) const
virtual

Checks if the menu bar is visible.

Returns
True if the menu bar is visible, false otherwise

Determines whether the application menu bar is currently visible.

◆ isImguiVisible()

bool makVre::DtPlayerStationApp::isImguiVisible ( )

Checks if ImGui is visible.

Returns
True if ImGui is visible, false otherwise

Determines whether ImGui debug interface is currently visible.

◆ appAttributeStore() [1/2]

DtAttributeHandle makVre::DtPlayerStationApp::appAttributeStore ( )

Gets the application attribute store.

Returns
Handle to the application attribute store

Provides access to the application's attribute store, which contains shared application data.

◆ appAttributeStore() [2/2]

const DtAttributeHandle makVre::DtPlayerStationApp::appAttributeStore ( ) const

Gets the application attribute store (const version)

Returns
Const handle to the application attribute store

◆ deferFunction() [1/2]

void makVre::DtPlayerStationApp::deferFunction ( std::function< void()> & f,
int delayInTicks = 0 )

Defers a function to be executed after a number of ticks.

Parameters
fFunction to execute
delayInTicksNumber of ticks to wait before execution (default: 0)

Schedules a function to be executed after the specified number of ticks.

◆ deferFunction() [2/2]

void makVre::DtPlayerStationApp::deferFunction ( std::function< void()> & f,
double delayInSeconds )

Defers a function to be executed after a time delay.

Parameters
fFunction to execute
delayInSecondsSeconds to wait before execution

Schedules a function to be executed after the specified time delay in seconds.

◆ setObserverMode()

virtual makVrv::DtObserver * makVre::DtPlayerStationApp::setObserverMode ( const std::string & name)
protectedvirtual

Sets the observer mode for the primary observer.

Parameters
nameName of the observer mode to set
Returns
Pointer to the observer, or NULL if not found

Sets the observer mode for "Observer 1", the main application observer.

◆ pluginPath()

virtual std::string makVre::DtPlayerStationApp::pluginPath ( ) const
protectedvirtual

Gets the path to the plugin directory.

Returns
String containing the plugin directory path

Returns the full path to the directory containing VR-Engage plugins. Plugins are loaded from this directory during application initialization.

◆ loadVreDll()

virtual bool makVre::DtPlayerStationApp::loadVreDll ( const std::string & filename)
protectedvirtual

Loads a VR-Engage DLL plugin.

Parameters
filenameName of the DLL file to load
Returns
True if the DLL was loaded successfully, false otherwise

Attempts to load a plugin DLL and initialize it by calling its entry point function. The initialization function is expected to have the signature defined by InitPlayerStationDllFunction.

◆ loadPlugins()

virtual void makVre::DtPlayerStationApp::loadPlugins ( )
protectedvirtual

Loads all plugins in the plugin directory.

Scans the plugin directory for DLL files and attempts to load each one as a VR-Engage plugin. Successfully loaded plugins will be initialized during this process.

◆ findMainRenderChannel()

virtual void makVre::DtPlayerStationApp::findMainRenderChannel ( )
protectedvirtual

Finds the main rendering channel.

Locates and stores a reference to the main rendering channel used by the application. The main rendering channel is responsible for the primary visualization window.

◆ updateStatusPublisher()

virtual void makVre::DtPlayerStationApp::updateStatusPublisher ( )
protectedvirtual

Updates the status publisher with current state.

Updates the status publisher with the current application state, including active player stations and their entities. This information is broadcast to other components in the distributed simulation.

◆ initStatusPublisher()

void makVre::DtPlayerStationApp::initStatusPublisher ( )
protected

Initializes the status publisher.

Creates and configures the status publisher, which is responsible for broadcasting the state of the VR-Engage application and its player stations to other components in the distributed simulation.

◆ initStatusListener()

void makVre::DtPlayerStationApp::initStatusListener ( )
protected

Initializes the status listener.

Creates and configures the status listener, which monitors status messages from other VR-Engage instances and maintains a list of active stations and the entities they are engaged with.

◆ initVirtualReality()

void makVre::DtPlayerStationApp::initVirtualReality ( )
protected

Initializes virtual reality support.

Sets up the virtual reality subsystem if VR hardware is available. This includes initializing the VR drivers and configuring the display settings for VR mode.

◆ initMinionMonitor()

void makVre::DtPlayerStationApp::initMinionMonitor ( )
protected

Initializes the minion monitor.

Sets up the monitoring system for minion mode operation. In minion mode, this instance of VR-Engage follows the state of a "boss" instance and automatically synchronizes with its actions.

◆ minionModeBossMonitor()

DtVreMessageResult makVre::DtPlayerStationApp::minionModeBossMonitor ( DtVreMessage * message)
protected

Monitors the status of the boss station in minion mode.

Parameters
messageThe status message to process
Returns
Message result indicating how the message was handled

If this station is configured to run in minion mode, this function is registered as a handler of VreStatusMessage messages to monitor the status of the boss station and match whatever entity the boss station is engaged with.

◆ handleSubscribeToBoss()

DtVreMessageResult makVre::DtPlayerStationApp::handleSubscribeToBoss ( DtVreMessage * message)
protected

Requests the boss station to forward messages.

Parameters
messageThe subscription request message
Returns
Message result indicating how the message was handled

If this station is in minion mode, requests the boss station to forward messages of the specified type to this station.

◆ handleUnsubscribeFromBoss()

DtVreMessageResult makVre::DtPlayerStationApp::handleUnsubscribeFromBoss ( DtVreMessage * message)
protected

Requests the boss station to stop forwarding messages.

Parameters
messageThe unsubscription request message
Returns
Message result indicating how the message was handled

If this station is in minion mode, requests the boss station to stop forwarding messages of the specified type to this station.

◆ handleSessionSmsListMessage()

DtVreMessageResult makVre::DtPlayerStationApp::handleSessionSmsListMessage ( DtVreMessage * message)
protected

Handles session SMS list messages.

Parameters
messageThe session SMS list message
Returns
Message result indicating how the message was handled

Processes messages containing the list of simulation model sets (SMS) available in the current session.

Member Data Documentation

◆ signal_menuBarVisibilityChanged

boost::signalslib::signal<void()> makVre::DtPlayerStationApp::signal_menuBarVisibilityChanged

Signal for menu bar visibility changes.

◆ theApp

DtPlayerStationApp* makVre::DtPlayerStationApp::theApp
staticprotected

Single instance of the application.

Static pointer to the singleton instance of the application. Used by the static instance() method to provide global access to the application.

◆ myTempNotification

DtPlayerStationTempNotification* makVre::DtPlayerStationApp::myTempNotification
protected

Temporary notification handler.

Referenced by tempNotification().

◆ myInitializer

DtInitializer* makVre::DtPlayerStationApp::myInitializer
protected

Initializers and configuration.

Lua configuration initializer

Responsible for loading and parsing Lua configuration files.

◆ myStartupConfig

DtInitTable makVre::DtPlayerStationApp::myStartupConfig
protected

Startup configuration table.

Contains the startup configuration data from playerStation.lua.

◆ myMinionConfig

DtInitTable makVre::DtPlayerStationApp::myMinionConfig
protected

Minion mode configuration table.

Contains configuration data for minion mode operation.

◆ myEntityResolver

DtEntityResolver* makVre::DtPlayerStationApp::myEntityResolver
protected

Entity resolver.

Resolves entity identifiers to entity instances.

◆ myInstrumentPanelManager

DtInstrumentPanelManager* makVre::DtPlayerStationApp::myInstrumentPanelManager
protected

Application managers.

Instrument panel manager

Manages the creation and arrangement of instrument panels in the UI.

◆ myConnections

makVrv::DtSignalConnectionManager makVre::DtPlayerStationApp::myConnections
protected

Signal connection manager.

Manages signal connections between components in the application.

◆ myStateManager

DtPlayerStationStateManager* makVre::DtPlayerStationApp::myStateManager
protected

State manager.

Manages application state transitions and maintains the state stack.

◆ myInputManager

DtVreInputManager* makVre::DtPlayerStationApp::myInputManager
protected

Input manager.

Handles user input from various devices and dispatches input events.

◆ myInputLogic

DtPlayerStationAppInputLogic* makVre::DtPlayerStationApp::myInputLogic
protected

Input logic handler.

Implements application-specific input handling logic.

◆ myComponentFactory

DtComponentFactory makVre::DtPlayerStationApp::myComponentFactory
protected

Factory objects.

Component factory

Creates player component instances based on registered component classes.

◆ myConnectorFactory

DtConnectorFactory makVre::DtPlayerStationApp::myConnectorFactory
protected

Connector factory.

Creates connector instances based on registered connector classes.

◆ myInputDeviceFactory

DtInputDeviceFactory* makVre::DtPlayerStationApp::myInputDeviceFactory
protected

Input device factory.

Creates input device instances based on registered device classes.

◆ myChatCommandManager

std::shared_ptr<DtChatCommandsManager> makVre::DtPlayerStationApp::myChatCommandManager
protected

Chat commands manager.

Manages the processing and execution of text commands in the chat interface.

◆ myPlayers

std::list<DtPlayerStation*> makVre::DtPlayerStationApp::myPlayers
protected

List of active player stations.

Contains pointers to all active player stations managed by the application. This list is used for managing embarkation and assumptions are made that this list represents an embarkation stack.

◆ myMenuBarVisible

bool makVre::DtPlayerStationApp::myMenuBarVisible
protected

Menu bar visibility state.

Tracks whether the application menu bar is currently visible.

◆ myPlayFullScreen

bool makVre::DtPlayerStationApp::myPlayFullScreen
protected

Full screen mode state for play mode.

Controls whether the application uses the full screen when in play mode.

◆ myAmSpectator

bool makVre::DtPlayerStationApp::myAmSpectator
protected

Spectator mode state.

When true, blocks all input except view controls. Spectator mode allows passive observation of the simulation without player interaction.

◆ myOwnEntityId

DtEntityIdentifier makVre::DtPlayerStationApp::myOwnEntityId
protected

Entity identifier for the owned entity.

The identifier for the application's primary entity. The application is allowed to create only one own entity.

◆ myResourceMutex

DtMutex makVre::DtPlayerStationApp::myResourceMutex
protected

Resource mutex.

Protects shared resources from concurrent access.

◆ myDe

makVrv::DtDe& makVre::DtPlayerStationApp::myDe
protected

Reference to the VR-Vantage display engine.

Provides access to the rendering engine and window management.

◆ myPlayerStationName

std::string makVre::DtPlayerStationApp::myPlayerStationName
protected

Current player station type name.

The type name of the current player station, such as "Pilot" or "Vehicle Driver".

◆ myPlayerStationDisplayLayout

std::string makVre::DtPlayerStationApp::myPlayerStationDisplayLayout
protected

Current display layout name.

The name of the display layout currently in use by the player station.

◆ myAppMode

std::string makVre::DtPlayerStationApp::myAppMode
protected

Admin mode variables.

Current application mode

The current operating mode of the application, such as "Admin" or "Player".

◆ myOldAppMode

std::string makVre::DtPlayerStationApp::myOldAppMode
protected

Previous application mode.

Stores the previous application mode, used when toggling between modes.

◆ myAdminModeEnabled

bool makVre::DtPlayerStationApp::myAdminModeEnabled
protected

Admin mode enabled state.

Controls whether administrative features are available in the application.

◆ myDebugMode

bool makVre::DtPlayerStationApp::myDebugMode
protected

Debug mode state.

When true, enables additional debug output and functionality.

◆ myPlayerCreationPalette

DtPlayerCreationPalette makVre::DtPlayerStationApp::myPlayerCreationPalette
protected

Player creation palette.

Contains information about available player roles and their configurations. Used for the role selection interface.

◆ myChoosePlayerPanel

DtChooseRolePanel* makVre::DtPlayerStationApp::myChoosePlayerPanel
protected

Role selection panel.

Panel used for selecting and configuring player roles.

◆ myFixedRoleMode

bool makVre::DtPlayerStationApp::myFixedRoleMode
protected

Fixed role mode state.

When true, the application uses a predetermined role rather than allowing the user to select from available roles.

◆ myIsDragging

bool makVre::DtPlayerStationApp::myIsDragging
protected

Window dragging state.

Tracks whether the application window is currently being dragged.

◆ myEnableVRVControls

bool makVre::DtPlayerStationApp::myEnableVRVControls
protected

VR-Vantage controls state.

Controls whether VR-Vantage specific controls are enabled in the interface.

◆ myUse3DChooseRolePanel

bool makVre::DtPlayerStationApp::myUse3DChooseRolePanel
protected

3D role panel state

When true, uses a 3D version of the role selection panel interface. When false, uses a 2D panel.

◆ mySensorLibrary

DtSensorLibrary makVre::DtPlayerStationApp::mySensorLibrary
protected

Current sensor library in use.

The sensor library currently in use for the application (CAMERA_FX or SENSOR_FX). Default is CAMERA_FX. Specify –enableSensorFX on the command line to switch to use SENSOR_FX instead. This determines how visual effects like night vision and thermal imaging are rendered.

◆ myStatusPublisher

DtVreStatusPublisher* makVre::DtPlayerStationApp::myStatusPublisher
protected

Status publisher.

Broadcasts the state of the VR-Engage application and its player stations to other components in the distributed simulation.

◆ myStatusListener

DtVreStatusListener* makVre::DtPlayerStationApp::myStatusListener
protected

Status listener.

Monitors status messages from other VR-Engage instances and maintains a list of active stations and the entities they are engaged with.

◆ myNonPlayStateObserverMode2D

std::string makVre::DtPlayerStationApp::myNonPlayStateObserverMode2D
protected

Observer modes for different states.

Observer mode for 2D non-play states

Observer mode to use while in the choosing role state when using 2D view.

◆ myNonPlayStateObserverMode3D

std::string makVre::DtPlayerStationApp::myNonPlayStateObserverMode3D
protected

Observer mode for 3D non-play states.

Observer mode to use while in the choosing role state when using 3D view.

◆ myPlayStateObserverMode

std::string makVre::DtPlayerStationApp::myPlayStateObserverMode
protected

Observer mode for play state.

Observer mode to use while in the play state (always 3D).

◆ myVreObserverModeMapper

DtVreObserverModeMapper* makVre::DtPlayerStationApp::myVreObserverModeMapper
protected

Observer and sensor mode mappers.

Observer mode mapper

Utility class that maps a given key string representing a generic VR-Vantage Observer mode name (not specific to a camera FX or sensor FX library) to the specific VR-Vantage observer mode name appropriate for the sensor library currently loaded in the application. The key string is used in VR-Engage as a way to represent an observer mode in a sensor-library independent manner. Note that the use of the key string is only appropriate for use within the VR-Engage API. It must be translated into a real VR-Vantage observer mode name by this utility class any time it is used in the VR-Vantage API.

◆ myVreSensorModeMapper

DtVreSensorModeMapper* makVre::DtPlayerStationApp::myVreSensorModeMapper
protected

Sensor mode mapper.

Utility class that maps a given key string representing generic VR-Vantage Sensor mode name. It is similar in purpose and function to myVreObserverModeMapper, except that instead of a generic mapping of observer mode names, it provides a generic mapping of sensor mode names, between a VR-Engage generic key string and concrete VR-Vantage sensor mode names.

◆ myObserverName

std::string makVre::DtPlayerStationApp::myObserverName
protected

Application-level observer name.

Observer name for application-level observer (as opposed to any secondary additional observers that get created for particular roles). By default the observer name is "Observer 1".

◆ myActiveHudTextureLookup

std::map<int, int> makVre::DtPlayerStationApp::myActiveHudTextureLookup
protected

HUD texture reference count map.

Tracking map for how many HUDs are drawing each offscreen texture. Used to manage the lifecycle of shared textures.

◆ myAppStore

DtAttributeHandleType<DtPlayerStationApp*> makVre::DtPlayerStationApp::myAppStore
protected

Application instance attribute store.

Stores a handle to the application instance in the attribute store, allowing it to be accessed from various parts of the application.

◆ myDeferredFunList

std::list<DeferredFunc> makVre::DtPlayerStationApp::myDeferredFunList
protected

List of deferred functions.

Contains functions that are scheduled to be executed after a delay.


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